IBM - CVUT Student Research Projects Echo cancelation Jaromír Škorpil Tomáš Uko
IBM - CVUT Student Research Projects 2 About project Echo cancelation = adaptive algorithm for reducing noise in signal Where is used: – Telephony - removing(reducing) of sounds in background in conversation. –Sound systems – Microphone – Reproductor back-coupling
Types of echo Hybrid (electric) – caused by not perfect el. parts Acustic - for example back-coupling between microphone and reproductor IBM - CVUT Student Research Projects 3
How does it work? Uses: –Adaptive filters controlled by adaptive algorithm –More parts – see next image IBM - CVUT Student Research Projects 4
Parts - image IBM - CVUT Student Research Projects 5
Parts – text FESD - Far End Speech Detector - analyzes input signal and tries to determine, if sample is speech at far end NESD - Near End Speech Detector - analyzes input signal and tries to determine, if sample is speech at near end CU - Control Unit NLP - Non Linear Processor - Unit, which amplifies signal, so it is easier to filter noise NR - Noise Reduction Unit AGC - Automatic Gain Control - keeps output level in defined interval Adaptive filter – object of this work (together with CU) IBM - CVUT Student Research Projects 6
Implementation – adaptive filter Time domain (faster) Using NLMS (Normalized Least Mean Squares) algorithm Where –i is the sample number –a k is the k-th coefficient of the filter –N is the number of filter coefficients –b is the adaptation step, which controls the convergence time and adaptation quality –e is the residual echo error signal –y is the far-end talker signal –σ 2 is the reference signal power IBM - CVUT Student Research Projects 7
Main problems Double talk Implementation of DMA Implementation of SIMD IBM - CVUT Student Research Projects 8
Actual implementation IBM - CVUT Student Research Projects 9
Implementation results Working code Test program uses DMA transfers SIMD Instrunction (under development) IBM - CVUT Student Research Projects 10