Real-time Blind Source Separation: A Feasibility Study using CUDA

Studenteropgave: Kandidatspeciale og HD afgangsprojekt

  • Søren Reinholt Søndergaard
  • Martin Brinch Sørensen
In many signal processing applications it is of interest to separate a number of mixed signals. Often the knowledge of the sources and the mixing model is very limited making the separation ''blind''. This report focuses on the feasibility of implementing a real time Blind Source Separation (BSS) of speech signals using higher order statistics (HOS) on an NVIDIA GPU. Intially a two input two output (TITO) model is presented and the BSS problem is reduced to an estimation of the filters in this model. A method for estimating the filters based on HOS is presented and subsequent simulations show that a signal to interference ratio of 10 dB is obtainable. Following the simulations the complexity of the method is examined and it is shown that the trispectra estimates used to estimate the filters are the most complex. Using the initial complexity and assuming that the NVIDIA GPU can be utilized fully, it is calculated that the BSS method needs to run 130 times faster to execute in real time. As a consequence the trispectra estimates are examined further to lower their complexity. By taking advantage of how the trispectra estimates are used in the BSS method, it is possible to reduce the complexity by a factor of 263. Part of the method is then implemented using the CUDA programming language. Following an optimization of the implementation an execution time is measured and it is estimated that a filter update rate of 1.19 times per second is achievable. The conclusion is that the achievable update rate is not sufficient for a real time execution on the platform with the current implementation, as an update rate of 25 times per second is the target.
Antal sider201
Udgivende institutionAalborg University, Institute for Electronic Systems
ID: 17642140