Real-time Adaptive Concepts in Acoustics
Real-time Adaptive Concepts in Acoustics Blind Signal Separation and Multichannel Echo Cancellation by Daniel W.E. Schobben, Ph. D. Philips Research Laboratories SPRINGER-SCIENCE+BUSINESS MEDIA, B.V.
A C.I.P. Catalogue record for this book is available from the Library of Congress. ISBN 978-94-010-3857-7 ISBN 978-94-010-0812-9 (ebook) DOI 10.1007/978-94-010-0812-9 Additional material to this book can be downloaded from http://extras.springer.com Printed on acid-free paper AII Rights Reserved 2001 Springer Science+Business Media Dordrecht Originally published by Kluwer Academic Publishers in 2001 No part of the material protected by this copyright notice may be reproduced or utilized in any form or by any means, electronic or mechanical, including photocopying, recording or by any information storage and retrieval system, without written permission from the copyright owner.
Contents List of Figures Preface ix Xl Part I Background and Introduction 1. INTRODUCTION 1.1 Motivation 1.2 Transparent Communication 1.3 Multichannel Signal Processing Concepts 1.4 Applications 1.5 Acoustics and Speech 1.6 Outline 1.7 Notation 2. ARRAY PROCESSING TECHNIQUES 2.1 Beamforming 2.2 Blind Deconvolution 2.3 Detection of Multiple Signals 2.4 Inverse Room Acoustics 2.5 Noise Cancellation 3. EFFICIENT FILTERING USING FFTS 3.1 FIR Filters 3.2 Block Based FIR Filters 3.3 Low Delay Frequency Domain FIR Filters 3.4 Conclusions 3 3 4 6 8 9 11 13 15 15 20 21 22 26 29 30 32 36 44 v
VI REAL-TIME ADAPTIVE CONCEPTS IN ACOUSTICS Part II Acoustic Echo Cancellation 4. AN EFFICIENT ADAPTIVE FILTER IMPLEMENTATION 47 4.1 An Introduction to Adaptive Filters 47 4.2 Time Domain Adaptive Filters 49 4.3 Block Frequency Domain Adaptive Filter 51 4.4 Efficient Computation of the FFTs 54 4.5 Efficient Computation of the Update Part 56 4.6 Conclusions 57 5. EFFICIENT MULTICHANNEL RLS 59 5.1 Introduction 59 5.2 Filter Part 61 5.3 Multichannel RLS Update 62 5.4 Inverting the Covariation Matrix 65 5.5 Algorithm Overview 65 5.6 Computational Complexity 66 5.7 Experiments 67 Part III Blind Signal Separation 6. BLIND SIGNAL SEPARATION, AN OVERVIEW 6.1 Overview of Existing Methods 6.2 Indeterminacies 6.3 Frequency Domain Approaches 6.4 Discussion 7. A BLIND SIGNAL SEPARATION ALGORITHM 7.1 Introduction 7.2 Optimization Criterion 7.3 Frequency Domain Approach 7.4 Convolution Constraint 7.5 Time-Frequency Compliance 7.6 Normalization 7.7 Algorithm Overview 7.8 Implementation Details 7.9 Experiments 7.10 Computational Complexity 7.11 Conclusions 8. JOINT BLIND SIGNAL SEPARATION AND ECHO CANCELLATION 8.1 Introduction 8.2 Derivation 75 75 80 83 86 87 87 88 91 93 94 96 97 98 98 103 105 107 107 109
Contents VB 8.3 Algorithm Overview 111 8.4 Experiments 112 8.5 Conclusions 113 9. BLIND SIGNAL SEPARATION ALGORITHM EVALUATION 115 9.1 Introduction 115 9.2 On the Difficulty of Blind Signal Separation 116 9.3 Recording Setups and Performance Measures 118 9.4 Data Sets 121 10. CONCLUSIONS 125 10.1 Main Contributions 125 10.2 Open Issues 126 10.3 Suggestions for Future Research 126 Appendices 129 A Efficient Beamforming 129 Al Introduction 129 A2 Linear Sensor Array Beamforming 129 A3 Interpolation Beamforming 131 A4 Polyphase Decomposition 131 AS Comparison of Computational Complexity 132 A6 Example of Computational Complexity 133 A7 Conclusions 133 B. Indeterminacies of Convolutive BSS based on Decorrelation 137 B.1 Convolutive BSS Indeterminacies 137 B.2 Rank of the Source Correlation Matrix 138 B.3 Real World Data Considerations 139 C. Computational Complexity of CoBliSS 141 C.1 Fast Fourier Transforms 141 C.2 Correlation Update 141 C.3 Weight Update 142 C.4 Filtering 142 C.5 Normalization 142 D. Efficient computation of windowed FFTs 145 D.1 Efficient Computation of Windowed (I)FFTs 145 D.2 Efficient Recursive FFTs of Overlapping Data 146 E. Contents of the Compact Disc 149 F. Glossary 151 References 153 Index 159
List of Figures 1.1 Teleconferencing setup 5 2.1 Side-lobe canceler 18 2.2 Beam-pattern of the main beam in a 5 element array 19 2.3 Beam-patterns of the 4 auxiliary beams in a 5 element array 20 2.4 Single-channel blind deconvolution 20 2.5 Blind deconvolution system 23 2.6 Conventional adaptive filter (top) and filtered-x equivalence (bottom) 27 3.1 Relation between processing delay and processor load 32 3.2 Example illustrating the overlap-add method for one data segment 33 3.3 Matlab routine explaining overlap-add 34 3.4 Example illustrating the overlap-add method for an infinite length signal 35 3.5 FIR filter implemented using the overlap-save method in the frequency domain 37 3.6 Segmented FIR filter implemented using the overlapsave method in the frequency domain 38 3.7 Matlab routine explaining overlap-save 39 3.8 Example illustrating the overlap-save method for one data segment 39 3.9 Example illustrating the overlap-save method for an infinite length signal 40 3.10 Relative MIPS loss when segmenting a filter in 2P parts 41 3.11 Matlab program for greedy filter structure optimization 44 4.1 Signal estimation and system identification 48 4.2 Acoustic echo canceler 48 4.3 Block frequency domain adaptive filter 54 4.4 BFDAF update part 55 IX
x REAL-TIME ADAPTIVE CONCEPTS IN ACOUSTICS 4.5 Equivalent of BFDAF update part 57 5.1 Multichannel acoustic echo cancellation 61 5.2 Acoustic impulse responses from the sound sources to the microphone 69 5.3 Microphone signal (top) and residual signal (bottom) after stereo echo cancellation 69 5.4 Power of the microphone signal and the residual signal after stereo echo cancellation 70 5.5 Microphone signal (top) and residual signal (bottom) using two independent echo cancelers 70 5.6 Power of the microphone signal and the residual signal using two independent echo cancelers 71 6.1 Cascaded mixing/unmixing of two sources 77 7.1 Cascaded mixingiunmixing system 88 7.2 The instantaneously mixed signals Xl and X2, the source signals 81 and 82 and the recovered signals, 0.0-0.25 seconds 100 7.3 The instantaneously mixed signals Xl and X2, the source signals 81 and 82 and the recovered signals, 0.9-1.0 seconds 101 7.4 Recording setup 102 7.5 Overall complexity of the CoBliSS algorithm as a function of the number of microphones J and the transform size M, with is = 44.1kHz 104 7.6 Overall complexity ('*') and the complexity due to the FFTs ('+') of the CoBliSS algorithm as a function of the number of microphones J and the transform size M, with is = 44.1kHz 105 8.1 Echo cancellation followed by blind signal separation 108 8.2 Mixing, unmixing and control system 109 A.1 Wave front incident to a linear array 130 A.2 Data interpolation 130 A.3 Interpolation beamformer 133 A.4 Beamformer equivalent 134 A.5 Interpolation filter (a), polyphase decomposed filter (b), polyphase equivalent (c) and compacted polyphase equivalent (d) 134 A.6 Beam-pointing patterns for all synchronous directions for a 7 sensor array that is interpolated 20 times 135
Preface This book deals with two topics; blind signal separation and multichannel acoustic echo cancellation. Both have received a lot of interest in literature lately. For multichannel echo cancellation this interest is mainly technology driven by the mass introduction of multichannel audio communication systems and speech recognition systems. Pioneering work on blind signal separation for audio applications has been published less than a decade ago. The topic has been booming ever since for the obvious reasons explained below. Blind Signal Separation The problem that is solved by blind signal separation is a magical one. This is especially true for acoustical applications where microphones for example pickup a mixture of various speech signals which are contaminated by room acoustics. The goal is to retrieve the independent speech signals without having knowledge of either (properties ot) the speech signals or the acoustical transfer functions. The numerous applications that can be based on this technology include voice control and teleconferencing. In 1995 the paper by Bell and Sejnowski, 1995a was published which gave both a theoretical background and reported promising results when working on real-world audio signals. This is one of the early publications that motivated many researchers to join the quest for the holy grail that is called blind signal separation. Echo Cancellation Echo cancellation is a well known technique that was developed about three decades ago. Its application can be found in any product that has both a microphone and a loudspeaker, the purpose of the echo canceler being to cancel the contribution of the loudspeaker signal to the microphone signal. It has been widely used in many consumer products over the last decade now that this tech- Xl
xii REAL-TIME ADAPTIVE CONCEPTS IN ACOUSTICS nology has become economic to implement. Just when most aspects of echo cancellation have been studied intensively a new problem arises with the introduction of multichannel sound systems; that of multichannel echo cancellation. DANIEL SCHOBBEN