# Efficient implementation of adaptive FIR filters for active noise control applications

OData: XML JSON What's this?The active noise control is a quite promisi method to reduce acoustic noise in the low frequency range. The implementation of adaptive filters is not trivial and very high complexity with high convergence rate, large number of taps and high sampling rate, required by active noise control applications. Several signal processors are able to run an adaptive FIR filter with few thousands of coefficients and few kilohertz sampling rate in real-time. Some tasks require the use of filters with more taps or higher sampling frequency, in this case the basic equations are not useful for implementation in their original form, therefore, we may need to do the necessary convolution in the frequency domain. The method is based on the fast Fourier transform (FFT) algorithm, as for large number of taps the convolution requires less operations than that in the time domain. This capability is used in the OLA (overlap and add) algorithms, however, they introduce a significant delay of the output, due to the data collection of the transformation. In general, this delay is not tolerated in many applications of adaptive filters, so in my work I have been looking for a solution to this problem.

There are a number of frequency-domain calculation methods for FIR filters published in the literature, which are designed to reduce the latency between the input and the output. Based on the known methods I introduce one that is able to eliminate this latency by a smart calculation of the convolution both in the time and the frequency. The method I have chosen provides filtering results even in the data collection period, thanks to the time domain convolution and partial results of the previous OLA's blocks. Besides the latency can be eliminated entirely, the calculation is still faster than other time domain filtering methods, where such delay does not occur.

I have implemented this algorithm in MATLAB environment and on an Analog Devices Sharc (ADSP-21364) DSP. After that I have embedded it to an adaptive FIR filter application. To this end first I have implemented an FBLMS (Fast Block LMS) algorithm, which can perform the adaptation in the frequency domain. Then I have integrated this module and the smart OLA filtering method into an active noise control procedure. Finally, I made noise control measurements for white and impulsive noise to introduce the necessity of adaptive FIR filters with large number of taps and high sampling rate.