Soundproofing materials used for damping acoustical noises tend to lose their efficacy in the low frequency range. This drawback can be aided by utilizing active noise control (ANC) systems that rely on the phenomenon of destructive interference, thus are capable of cancelling noise in a certain spatial domain by emitting anti-noise via loudspeakers.
Even though algorithms have been known for cancelling stochastic noise in highly reverberant spaces, the computational demand emerging from operating high-order adaptive filters made them impractical for real-life applications in the past. General purpose programming of graphics processing units (GP-GPU) has recently gained popularity and as a result, computational capacity of more than a magnitude higher than previously applied devices provided became widely available.
Utilization of GPUs in real-time control loops (e.g. an ANC system) requires careful design as the GPU generally resides in a personal computer, therefore the delays and jitter introduced by the operating system cannot be neglected. Hence, I had to modify the noise cancelling algorithm in a way that it can take the formerly mentioned fact into account and also fits to the architecture of the graphics processing unit. This led to separation of the task into a time-critical part with low computational cost and a less time-critical part with high computational cost.
After addressing the questions related to feasibility, I designed the ANC system including the necessary external hardware components. The central unit of the system is based on a Zynq-7020 System-on-Chip equipped developer board which forms a bridge between the PC and the other external components and handles communication-related and signal processing tasks. ANC requires large number of reference signals which can be efficiently addressed by means of MEMS microphones mounted on modules that connect to the system via a linear bus. Besides these, the system also has 8-8 analog inputs and outputs.
Following electronic circuit realization and testing, I conducted acoustical measurements in order to prove the functionality of the system in a real-life application. Using 6 reference signals and 8192-tap filters, the system was able the achive 19.5 dB of noise reduction with the FeLMS algorithm. The results are consistent with the outcome of a former experiment that took place in the same room but utilized a different ANC system. I also had a chance to verify the performance of the built system with a simulation based on acoustic field modeling. Both of these serve as indirect proofs of proper operation.
The built system proves that GPUs are suitable for using in real-time ANC systems but in order to exploit all of its benefits, more sophisticated algorithms have to be implemented which are expected to yield faster convergence as well as higher noise suppression.