Chair of
Multimedia Communications and Signal Processing
Prof. Dr.-Ing. André Kaup
The content of the English page is outdated, please use the updated German version of our page at the moment:

Massive Multichannel Acoustic Echo Cancellation Using Graphics Processing Units

Supervisor:Dr.-Ing. Martin Schneider
Faculty:Prof. Dr.-Ing. Walter Kellermann
Student:Florian Schuh
Info:State-of-the-art reproduction techniques like wave field synthesis typically utilize several ten to several hundred loudspeakers to provide a spatially detailed reproduction of an acoustic scene. In combination with microphone arrays for spatial recording, those systems may be building blocks of high quality

telepresence systems and provide an immersive experience to the user. In such a scenario, an acoustic echo cancellation (AEC) is used to suppress the loudspeaker echos in the microphone signals sent to the far-end party, so that the far-end party is not disturbed by hearing its own signal. While AEC can be

implemented with low cost for SISO systems, its computational demands remain challenging for such a large number of loudspeaker channels.

Recently, the use of graphic processing units (GPUs) became popular in digital audio processing, since they can provide a multiple of the processing power of a standard CPU. This property makes them an obvious choice for the implementation of an AEC for the considered scenario.

The goal of this thesis is to implement the Generalized Frequency-Domain Adaptive Filtering Algorithm on a GPU. For this, the CUDA framework by Nvidia should be used. The performance of the resulting implementation is to be evaluated. This involves an assessment of this approach for realtime processing and investigation of the consequences when the numerical precision of the GPU is limited to single precision. The implementation should use the Jack Audio Connection Kit (JACK) for data input and output. If the resulting delay for a block size typically used by JACK is too large for a reliable realtime operation, a Matlab interface may be implemented as a non-realtime instead using JACK.
TypeDiploma Thesis