100 likes | 247 Views
Echo cancellation on Cell Broadband Engine. Jaromír Škorpil (skorpj1@fel.cvut.cz) Tomáš Uko (ukot1@fel.cvut.cz). Goal of project. To i mplement Echo cancellation on Cell Broadband Engine with using of parallerism which this architecture offers. Motivation.
E N D
IBM - CVUT Student Research Projects Echo cancellation on Cell Broadband Engine Jaromír Škorpil (skorpj1@fel.cvut.cz) Tomáš Uko (ukot1@fel.cvut.cz)
Goal of project • To implement Echo cancellation on Cell Broadband Engine with using of parallerism which this architecture offers
Motivation • Echo cancellation has many applications • Telecommunications - removing(reducing) of sounds in background during conversation • Hands-free car phone systems • Standard phone in speakerphone or hands-free mode • … • Sound systems - Microphone – Reproductor back-coupling • CELL implementation offers possibility to compute more acoustic channels in parallel IBM - CVUT Student Research Projects 3
Acustic echo IBM - CVUT Student Research Projects 4
Structure of AEC IBM - CVUT Student Research Projects 5
Main problems we had to solve • Double talk detection • SIMD implementation of adaptive filter on SPU • Implementation of DMA transfers for maximal data throughtput • Obtain test data IBM - CVUT Student Research Projects 6
Implementation IBM - CVUT Student Research Projects 7
Benefits of SIMD implementation of adaptive filter • 4 samples processed by single instruction in parallel IBM - CVUT Student Research Projects 8
Project results • Working and tested SIMDized code of AEC for CELL SPU including DMA based data transfers • 60 seconds sample -> takes 2,6 seconds to compute (measured on Playstation 3) • NonSIMDized code working on CELL P(S)PU and other x86 platforms • 60 seconds sample -> takes 8,9 seconds to compute (measured on Playstation 3) IBM - CVUT Student Research Projects 9
Future improvements • Direct connection with Soundcard • Real-time AEC • processing of multiple independent audio channels in parallel on multiple SPU (modification of PPU code is only necessary, SPU code remains the same) IBM - CVUT Student Research Projects 10