Multiple Iteration of Weight Updates for Least Mean Square Adaptive Filter in Active Noise Control Application

The method of least mean square (LMS) is the commonly used algorithm in Adaptive filter due to its simplicity and robustness in implementation. In Active Noise Control application, a filtered reference signal is used prior to LMS algorithm to overcome the constraint on stability and convergence performance of the system due to the existence of the auxiliary path. This is known as Filtered-X LMS algorithm. In conventional Filtered-X LMS algorithm, each filter weight is updated once on every audio sample. This paper proposes the improved version of Filtered-X LMS algorithm with the use of multiple iteration of filter weight on every sample of audio signal. The proposed work uses field programmable gate arrays to realize real-time simulation on hardware for the noise signal of 500 Hz. Results from the real-time hardware simulations have shown much faster error convergence and better adaptation performance for different selections of learning constant μ, as compared with the conventional method.


Introduction
The least mean square (LMS) can be considered as the most applied algorithm for linear adaptive filter particularly in active noise control (ANC) application that required real-time processing for a successful and efficient hardware implementation [1]- [3]. The use of specialized digital signal processor (DSP) chip and with the capability of handling numerous floating point operations manage to address the real-time processing issue in narrowband attenuation of ANC headset [4]- [5], and in broadband attenuation for duct application [6] based on least mean square (LMS) algorithm. However, the performance of signal convergence in terms of the speed of filter adaptation and the excess of mean square error (MSE) is usually overlooked, which can be critical in a time time-varying environment [2], [3]. Research being carried out to improve the error convergence time of LMS-based algorithm however increased the algorithm complexity [7]- [9] and consequently, implementations are mostly evaluated successfully in a purely simulated domain [10]- [12].
The conventional digital signal processor (DSP) evaluates a signal in a sequential behaviour, where each updates on the filter weight might require several instruction cycles to complete. As a result, heavy processing for complicated LMS-based algorithm will require more instruction cycles and will invoke additional time delay to ANC system. Therefore, in general the error signal will converge much slower. To overcome this, an analysis on the LMS convergence behaviour has been carried out using field programmable gate arrays (FPGA) on ANC system for duct application [13]. It is known that FPGA has the capability of processing a signal in a parallel manner hence allowing a complete computation of weight updates within a few clock cycles. The experimental work by the author [13] also further verify the theoretical principle established from previous studies [14]- [17], that are initially based on simplifying assumptions.
In this paper, motivated by the idea presented in [13] we utilize the FPGA advantage to achieve real-time and faster convergence of error signal for LMS-based algorithm. A real-time hardware simulation is carried out to implement the modified Filtered-X LMS algorithm namely MFxLMS. Performance of the system is then compared with the conventional Filtered-X LMS algorithm also by the same hardware structure. The paper is organized as follows: Section 2 describes briefly on theory and underlying principle of LMS-based adaptive filter used, followed by our proposed modified version. In section 3, the implementation of the modified LMS-based algorithm on FPGA is described and in section 4, the real-time hardware simulation of ANC based on MFxLMS algorithm is briefly presented. The results obtained are then briefly discussed in section 5 and finally, section 6 presents the conclusion of the findings. approximation, the calculation of adaptive filter weight has resulted in the simplification that is expressed as: w(n + 1) = w(n) + P x(n)e(n) (1) where w(n) = [w 0 (n), w 1 (n), …, w L-1( n)] T are the weight updates or adaptive filter coefficients vectors for L-length filter, x(n) = [x(n), x(n -1),…, x(n -L + 1)] T correspond to the reference signal vectors, e(n) is the error signal at sampling time n and μ is the learning constant.
Our implementation uses the structure of finite impulse response (FIR), a stable digital filter that has a usual canonical form of tapped-delay input as a basic element to realize the designated adaptive filter. The LMS algorithm updates the FIR filter weight to produce the output signal, y(n) that can be expressed as an arithmetic sum of products: where y(n) is the adaptive filter output at time n, x(nk) is the tapped-delay input reference signal and w k (n) for k = 0,1,…,N-1 are the N-tap FIR filter coefficients. In ANC system, the residual error signal is acquired from a sensor (usually microphone) that is also corresponding to the difference between the primary noise, d(n) and the adaptive filter output , y(n) which is expressed as: In general, numerical calculation for updating the filter weights utilizing conventional DSP chip is performed one time in every sample of audio signal that is expressed as [1]: where the error signal e(n) is multiplied with each tapped-delay input of reference signal x(nk) alongside with learning constant μ before being summed up with the previous weights.
However, if we could allow the weight updates to be calculated more than once within each sample of audio signal [20], then logically we can expect faster adaptation of weight updates, hence faster convergence of error signal. In this method, the calculation of error signal, e(n) from (3) has become: where j is the number of repeated calculation (iteration) of error within every sample of audio signal. Thus, by repeating the calculation of the error signal, the computation of filter weight can now be modified to:

FPGA Implementation
The FIR-based LMS adaptive filter is designed using conventional multiplier and accumulator and is implemented onto the Altera Cyclone II FPGA chip embedded on a development platform. The development platform is also featuring with a real-time audio coding and decoding (codec) that can facilitate analogue and digital conversion (DAC) of analogue audio signal at 48 kHz sampling rate along with a simple anti-aliasing and reconstruction filter. Therefore, additional design of analogue audio interface circuitry with FPGA chip is thus avoided. In digital domain, the audio signal is further down-sampled to 8 kHz to increase the number of maximum iteration possible for weight updates on every sample of audio signal. This will not affect the ANC system, since the noise frequency of interest for practical ANC application is well below 1 kHz range [2], [3]. The computation of weight updates is carried out iteratively within each sample of audio signal as depicted by the flow chart in Fig. 1.

Learning constant
Due to the fixed-point data representation on FPGA, a truncation process during calculation is unavoidable especially to match the size of data at the end terminal. The truncation process also has the implication of dividing the data by the factor of 2 besides giving the effect of quantization and rounding errors. When this is implemented in the path of filter weight updates, due to this division effect, it will implicitly infers a multiplication with a learning constant, μ with the factor of reciprocal of 2 as the function of truncation size: where B is a positive integer represent the size of the least significant bit that is truncated. Based on the requirement for stability and convergence of error signal established in the previous studies [1]- [3], the value of learning constant is bounded in a limited region: where N is the filter length and P x is the expectation of reference signal power. With the use of 64-taps filter length and the value of reference signal power set to be greater than one unit in average (P x > 1), we obtained the practical bound of learning constant in our design, that is: The size of learning constant is 16-bit. After multiplying with the reference signal, x(n) and the error signal, e(n) of 24-bit, the accumulated size due to the fixed-point calculation is 64-bit in total. Since the size of the filter weight is set to 33-bit in size, then a total of 31bit of least significant value has to be truncated. Due to this effect, we obtained the maximum inherent practical bound of the learning constant as: The maximum inherent practical bound of the learning constant is found to be within the range of the requirement as in equation (9). Thus, we can guarantee stability of the adaptation process since we can never exceed the maximum value. The choosing and selection of learning constant, μ can be made manually in between experiments by using digital switches. To simplify and to make a uniform selection (in logarithmic sense) within the range of the bounded value given in equation (10), a total number of 16 differences selection of learning constant value is used.  Fig. 2 shows the block diagram of MFxLMS implemented on FPGA environment. The conventional Filtered-X LMS system also uses the same structure except the sub-block on Modified LMS-Based Adaptive Filter is replaced by Conventional LMS-Based Adaptive Filter. In Actual ANC system, the transfer function of sub-block on Auxiliary path Model need to adapt with the transfer function of sub-block on Auxiliary path by means of adaptive algorithm and need to be continuously modeled when the system is operated.

Real-time hardware simulation
In order to conduct the experiment systematically, first the transfer function of sub-block Auxiliary path is fixed to two different types (pure samples delay and impulse response of all-pass filter) and the transfer function of sub-block Auxiliary path Model is made to follow exactly as the Auxiliary path. Secondly, the transfer function of sub-block on plant is also fixed to two different types (pure samples delay and impulse response of band-pass filter). By setting up to this configuration, there will be four differences alternative combination of Plant and Auxiliary path. In this sense, the four different combinations will gives more intuitive insight on the comparison of performance between both methods. Finally, a single 500 Hz frequency signal is used as the reference noise signal to consider the simple and basic noise for the experiment.

Results
The output of the results on the real-time hardware simulation is basically the analogue audio signal converted by the on-board audio codec embedded on the development platform. This audio signal is reconstructed based on the DAC circuitry that is sampled at 48 kHz sampling rate. This audio signal can be either the error signal e(n), adaptive filter output y(n) or the primary noise signal d(n). This analogue audio signal is then captured and represented in computer terminal (PC) using Matlab for further analysis and graph presentation.  Fig. 4 shown two distinctive results on the experiments for MFxLMS and Conventional Filtered-X LMS for ANC system with the transfer function of Plant and Auxiliary path that is just pure samples delay. It is shown in Fig. 3 that when the learning constant is set to the lowest value which is μ = 0.0001 x 10 -10 and when MFxLMS algorithm is applied to the ANC system, the error signal converge to its minimum value after 1600K of audio samples. This result indicates the filter weight on the adaptive filter has adapted successfully with the transfer function of the Plant. However, when the conventional Filtered-X LMS algorithm is applied, the error signal seems to require much more time (hence more audio sample) before it is expected to converge to its minimum value. In Fig. 4, it is shown that when the learning constant is set to the highest value which is μ = 4.66 x 10 -10 and the ANC system applying the method of MFxLMS, the error signal converges to its minimum value only after 100 audio samples. Again this result indicates the filter weight on the Plant has been adapted successfully whereas for conventional Filtered-X LMS method, it will require more than 1500 samples of audio signal before the adaptive filter could adapt successfully with the transfer function of the Plant.     Fig. 6 on the other hand show the results on the experiments for MFxLMS and Conventional Filtered-X LMS for ANC system when the transfer function of Plant is set to the impulse response of band-pass filter while the Auxiliary path is set to just pure samples delay. It is shown from the result that in general the MFxLMS algorithm performs much better in term of faster adaptation of filter weights. Similarly, Fig. 7 and Fig. 8 as well as Fig. 9 and Fig. 10 show the distinctive results on the comparison of error convergence performance between the method of MFxLMS and Convention Filtered-X LMS algorithm.

Conclusion
Based on the results in section 5, it is concluded that the new modified method on LMS-based adaptive algorithm that is implemented on ANC system namely MFxLMS, has shown superior performance in terms of faster adaptation of filter weights as compared to the conventional method, Filtered-X LMS.