A Time-Efﬁcient Method for Determining an Optimal Scaling Factor and the Encoder Resolution in the Multichannel FXECAP-L Algorithm with Evolving Order for Active Noise Control

: Afﬁne projection (AP) algorithms have demonstrated faster convergence speed than conventional least mean square (LMS) algorithms, thus providing an attractive solution in the active noise control (ANC) ﬁeld. However, the AP algorithms demand high computational cost, restricting their practical use in real-time ANC applications. Recently, a multichannel ﬁltered-x error-coded afﬁne projection-like (FXECAP-L) algorithm with evolving order has been proposed to reduce the computational burden by maintaining the convergence speed of AP algorithms. In order to obtain an efﬁcient and robust FXECAP-L algorithm with evolving order, the scaling factor and encoder resolution need to be adjusted manually, which is a time-consuming and costly effort that must be carried out by expert designers. To reduce these costs and efforts, we introduce, for the ﬁrst time, a strategy for automatic adjustment of the scaling factor and encoder resolution that beneﬁts the rapid development of practical ANC applications. To demonstrate its practical use, we applied the proposed strategy for controlling the noise in an acoustic duct. The practical results demonstrate the automatic adjustment of the FXECAP-L algorithm which maintains high convergence speed at the expense of a small compromise in terms of processing time.


Introduction
Active noise control (ANC) systems have been intensively studied in recent years [1,2].These systems commonly use adaptive filters to cancel a primary noise by means of a cancelling noise.One of the most popular adaptive algorithms is the affine projection (AP) algorithm [3] that has been widely used for computing ANC systems since AP algorithms present faster convergence speed compared with least mean square (LMS) algorithms.However, AP algorithms demand high computational power to process a large number of input vectors L (called projection order) to update the weight vector.Nevertheless, the use of a high projection order increases the convergence speed.A challenging task is to find an optimal projection order whilst maintaining fast convergence speed.
Some authors have proposed techniques to minimize the computational complexity of the AP algorithms applied to ANC systems [4,5].However, many of them have some restrictions rendering their use unfeasible in practical applications.Recently, Avalos et al. [6] introduced a new variant of the AP algorithms based on an affine projection-like-I (APL-I) algorithm.The authors proposed a strategy to update the filter coefficients only when the estimation error is higher than a pre-determined threshold and it uses a method to adjust the projection order dynamically.Their results demonstrate that the filtered-x error-coded affine projection-like FXECAP-L algorithm with evolving order reduces the computational burden and maintains the high-speed convergence.This potentially allows the use of this algorithm in ANC systems, requiring lower computational power compared with AP algorithms whilst maintaining high convergence speed.However, the scaling factor and the encoder resolution of the algorithm need to be adjusted manually, which represents a great effort for the designers, in order for it to be used in practical applications.
In particular, several authors have employed the FXLMS algorithm in ANC systems for acoustic ducts due to its low computational cost [7][8][9].However, in these ANC systems, fast convergence and stability are vital.Therefore, the use of the APL-I algorithm could improve these factors.In addition, the development of APL-I algorithms with automatic adjustment is still a big challenge [10,11].In this paper, we present, for the first time, a strategy to automatically adjust the scaling factor and the encoder resolution of the FXECAP-L algorithm with evolving order.The proposed strategy to automatically adjust the scaling factor is based on the estimation of the mean squared value of the error vector.Meanwhile, the automatic adjustment of the encoder resolution was solved using the instantaneous value of the steady-state mean square error.We intend to provide an adaptive algorithm that can be used in practical ANC applications, such as automotive, appliance, industrial and transportation applications.Here, we prove its practicality by developing an ANC system for controlling the noise in an acoustic duct.Our results demonstrate that the automatic scaling factor and encoder resolution have helped us to rapidly develop a particular ANC application.

Multichannel Filtered-X Error-Coded Affine Projection-Like Algorithm with Evolving Order
The FXECAP-L algorithm with evolving order was introduced by Avalos et al. [6].This algorithm aims at reducing the computational cost by employing two techniques.The first technique is linked to the update of the filter coefficients based on the estimation error, i.e., there is an update process when the error is higher than a pre-determined threshold.The second technique is based on the calculation of projection order in each iteration [6].The block diagram of a multichannel ANC system using the FXECAP-L algorithm is shown in Figure 1.The blocks P and S represent the primary and secondary paths, respectively, K is the number of error sensors, J the number of actuators, x i (n) the ith reference signal obtained from I reference sensors and y j (n) is the adaptive filter output given by The reference signal is defined as t and the adaptive filter coefficients as w ji (n) = w j,i,1 (n) w j,i,2 (n) . . .w j,i,N t , where N is the length of the adaptive filter.In practice, the desired signal d(n) is unavailable, and thus the error signal vector e(n) is estimated using an approximation.Therefore, the estimation is obtained using past samples of the error signals and is expressed as , where L is the projection order.To compensate the effects caused by the secondary paths s kj (n), the reference signal x i (n) is filtered using the following expression: where ŝkj is a fixed FIR filter of length M that models s kj (n) and v i (n) = To calculate the coefficient update equation, the filtered-x signals are arranged in a matrix t .Thus, the filter update equation for the FXECAP-L algorithm is expressed as follows: where the error is encoded using C[e k (n)] = round(e k (n)/Res), and the resolution is obtained as follows: Here, e max denotes the maximum probable error and b is the number of bits used to encode the error.The step size µ ijk can be calculated using the following expression: where s f is a scaling factor used to compensate for the mismatch between ŝkj (n) and s kj (n).Commonly, the value of s f can be defined in the interval [0, 1] and the designer can choose it by trial and error.The ECAP-L algorithm reduces the computational burden by updating the filter coefficients when the error signal is larger than a pre-established threshold.Such a threshold is determined by the error magnitude; in this way, when the error signal is small, the coefficients are not updated.The update threshold is defined as follows: As mentioned in [6], when the error is encoded with a lower number of bits, the convergence speed is slower.However, using a large number of bits increases the convergence speed, but the update threshold is not reached, and thus the algorithm updates its coefficients in almost all the iterations.
The FXECAP-L algorithm dynamically calculates the projection order using a strategy based on the instantaneous residual error power at each error sensor.The rule of variation of the projection order is defined as where L ij is the projection order used in each iteration; L max is the maximum projection order; θ ij (n) and η ij (n) are thresholds derived from the steady-state mean square error of the algorithm, and can be expressed as and where σ 2 v is the variance of a noise signal.

Time-Efficient Method to Determine an Optimal Scaling Factor and the Encoder Resolution
The most critical parameters of the existing FXECAP-L algorithm are the scaling factor and the encoder resolution since the convergence can be affected by the designer choosing a wrong value.To date, there is no established method to determine either the number of bits that are used to encode the error or scaling factor in ANC applications.The following section presents a new time-efficient method to dynamically adjust such parameters in order to optimize the designing time.

Dynamic Adjustment of the Number of Bits for the Encoder Resolution
Rodriguez et al. [12] proposed a method to adjust the encoder resolution of the ECAP-L algorithm for acoustic echo cancellation applications.Nevertheless, this variant has not been applied for active noise control, for which the adaptive configuration is very different.To adjust the number of bits for the encoder in each iteration, the instantaneous value of the steady-state mean square error (see [6]) was used.Thus, the number of bits is adjusted as follows: where b ij is the number of bits for each adaptive filter and b max is the maximum number of bits.In this way, at the beginning of the process, a large number of bits is used to encode the error, and thus the algorithm provides a fast convergence speed.After that, the number of bits is reduced as long as the residual error power is less than θ ij (n).Therefore, this mechanism guarantees a low computational cost since the FXECAP-L algorithm is not updated during all the iterations.The resolution of the encoder must be calculated in each iteration because the number of bits changes over the time, yielding a resolution Res ij (n) for each adaptive filter.

Automatic Scaling Factor
The time-efficient method that is used to automatically adjust the scaling factor is based on the estimation of an auxiliary error vector ijk (n) [13].For the FXECAP-L algorithm, the auxiliary vector is defined as ijk Thus, the algorithm for the coefficient update can be rewritten as In this way, the proposed automatic scaling factor can be expressed as where Res max is the initial value of the encoder resolution, p ijk (n) is an estimation of ijk (n) that is obtained as p ijk (n) = αp ijk (n − 1) + (1 − α) ijk (n) with a smoothing factor (0 < α < 1) and R is a parameter related to the projection order and is approximated by L ij /SNR, where SNR is the signal-to-noise ratio.The proposed time-efficient method uses Res max (see Equation ( 12)) to guarantee the stability of the filter while another method uses a maximum step-size parameter.Therefore, the proposed time-efficient method establishes that the variation of s f (see Equation ( 12)) does not depend on the value of s f max in order to avoid the divergence of the algorithm.Hence, the convergence is achieved by regularizing the step size µ ijk by means of the resolution.The proposed time-efficient method to compute the step size µ ijk is as follows: Using the previous time-efficient method, the proposed algorithm requires (3N + 1)I JK multiplications more than the existing FXECAP-L algorithm with an evolving order at each iteration.Therefore, it is clear that this strategy contributes little to the overall computational complexity.Here, the computational complexity is defined in terms in the number of additions and multiplications per iteration.As can be observed in Table 1, the proposed method requires 1204 and 3218 more multiplications than the conventional FXECAP-L algorithm and the filtered-x affine projection-like-I (FXAPL-I) algorithm, respectively, by considering a typical case (M = 128, N = 100, L = 5, I = 1 and J = K = 2).On the other hand, the conventional FXECAP-L and FXAPL-I algorithms demand 800 and 2400 fewer additions, respectively, compared with the proposed method, as shown in Table 2.However, the computational cost of the proposed method decreases when the steady-state is reached, while the computational cost of the FXAPL-I algorithm is always constant.

Simulation Results
We evaluate the performance of the proposed algorithm by considering a 1:2:2 multichannel ANC system.The tap length of the primary path, the secondary path, and the adaptive filter was of 256, 128 and 100 coefficients, respectively.These values were defined previously by considering a typical case (M = 128, N = 100, L = 5, I = 1 and J = K = 2).Therefore, the computational cost of the proposed algorithm is defined in Tables 1 and 2. The impulse response of the acoustics paths was obtained from [14].In order to evaluate the behavior of the proposal, we performed 50 independent trials each with 50,000 iterations.Furthermore, to test the tracking capabilities, we caused an abrupt change to the impulse response of the acoustic primary path at the middle of the iterations.As the reference signal, we used white Gaussian noise with unit variance and we also added white Gaussian noise to the error microphones with SNR 30 dB. Figure 2 shows a comparison of the mean square error (MSE) at the error microphone 1, for the filtered-x affine projection-like-I (FXAPL-I) algorithm, the conventional FXECAP-L algorithm and the proposed algorithm.For this experiment, the projection order was L = 5 for all the algorithms and the error was encoded with b = 6 bits in the FXECAP-L algorithm and the proposed algorithm.The scaling factor for the FXAPL-I algorithm and the FXECAP-L algorithm was s f = 0.008, and s f = 0.015, respectively.As can be observed from Figure 2, the convergence speed for all the algorithms is almost identical.Figure 3 shows the number of bits that are used to encode the error of the proposed algorithm.As can be seen, the number of bits decreases as the process advances.This allows the algorithm to stay within the update threshold, avoiding the computation of the algorithm in each iteration.In this way, the average number of updates performed by the proposed algorithm was 19,966 (39.93%), while the FXECAP-L algorithm updated its coefficients 49,610 times (99.2%).Figure 4 shows the number of input vectors for the proposed algorithm.As can be seen, the proposed strategy does not affect the evolving behavior; therefore, the computational burden is reduced.

Experimental Verification
Once the control algorithm used in the multichannel ANC system was verified by simulations, we performed 1:1:1 ANC experiments in a wooden duct to validate it.The aim of this experiment was to show how the inclusion of the automatic scaling factor reduces the time required to develop real-time practical ANC applications since the manual setting of this factor is very time consuming.In addition, the proposed automatic adjustment of the scaling factor allows an easy adaptation of the control algorithm when abrupt changes in the reference signal occur.As a consequence, real-time analysis can be performed.The length and width of the duct are 1.21 m and 0.09 m, respectively, as shown in Figure 5.
In addition, the experimental set-up involves analogue low-pass filters, microphones, speakers, an audio power amplifier and a DSK board TMSC3206713, as shown in Figure 6.In general, we use analog low-pass filters to eliminate signals with high frequencies obtained from the microphones (#1 and #2).Here, the error microphone (#1) and reference microphone (#2) were employed to measure the residual error signal and reference signal, respectively.On the other hand, the noise source loudspeaker (#1) and the cancelling loudspeaker (#2) were used to generate a primary disturbance signal and anti-noise signal, respectively.Here, we used an audio power amplifier along with a loudspeaker (#2) to generate the anti-noise signal.The control algorithm was implemented in the DSK TM320C6713 from Texas Instruments (TI).In general terms, the error signal was measured by means of a microphone (#1), and then filtered by a low-pass filter.The resulting analog signal was converted to a digital signal to be processed by the DSK TM320C6713 board.Once the control algorithm generated the anti-noise signal, the DSK TM320C6713 board sent the analog signal to the power amplifier to ensure the acoustic cancellation via loudspeaker (#2).In this experiment, the transfer function of the secondary path was estimated offline using an LMS algorithm with 128 coefficients.Using this strategy, we can easily obtain the acoustic characteristics between the microphone (#1) and loudspeaker (#2).On the other hand, we considered two types of reference signal, a single-tonal input of 500 Hz and a multi-tonal input of 600, 750 and 900 Hz, in order to evaluate the ANC system in the acoustic duct.In addition, the variance of the noise and SNR were obtained by means of acoustic sensors.
Case 1: Single-tone as a reference signal Figure 7 shows a comparison between the FXECAP-L algorithm, the FXAPL-I algorithm and the proposed algorithm in terms of the power spectrum of the error signal at the microphone (#1).In all algorithms, the projection order was L = 5 and the error was encoded with b = 10 bits.As can be observed from Figure 7, all algorithms can effectively attenuate noise.However, the automatic adjustment of the scaling factor has allowed the ANC system to be rapidly developed.In addition, the average number of updates performed by the proposed algorithm and the conventional FXECAP-L algorithm were 52,164 (48.07%) and 78,131 (72%), respectively.For simplicity, Figure 8 shows only how the projection order changes over time to reduce the computational complexity of the proposed algorithm.Here, the proposed algorithm and the conventional FXECAP-L algorithm exhibit similar behavior.
Case 2: Multi-tone as a reference signal In this case, we compared the FXECAP-L algorithm, the FXAPL-I algorithm and the proposed algorithm.Figure 9 shows how the proposed algorithm performs the noise cancellation of a multi-tone signal.All of the algorithms effectively cancel multi-tone signals.However, the proposed algorithm and the conventional FXECAP-L algorithm require 51.18% (95,302) and 81% (150,829) fewer updates when compared with the FXAPL-I algorithm.As in the previous case, Figure 10 shows only the dynamic adjustment of the projection order of the proposed algorithm.

Conclusions
In this paper, we have presented a strategy to automatically adjust the value of the scaling factor and the encoder resolution for the multichannel FXECAP-L with evolving order.The simulation results confirm that the proposed algorithm maintains the high convergence speed and the computational savings of the original version.Furthermore, the number of updates is greatly reduced.In addition, the proposed ANC algorithm has been used in an acoustic duct to demonstrate its potential practical use.Therefore, we intend to provide a useful tool for the development of practical real-time active noise control (ANC) applications.This could potentially be valuable to the ANC engineering communities.

Figure 1 .
Figure 1.Block diagram of the FXECAP-L algorithm for active noise control.

Figure 2 .
Figure 2. Comparison of the MSE curves for the FXAPL-I, FXECAP-L and the proposed algorithm.

Figure 3 .
Figure 3. Number of bits used to encode the error in the proposed algorithm.

Figure 4 .
Figure 4. Number of input vectors of the proposed algorithm.

Figure 5 .
Figure 5. Acoustic duct used in ANC experiments.

Figure 6 .
Figure 6.Experimental set-up for active noise reduction in a duct.

Figure 7 .
Figure 7. Power spectrum of the error signal at microphone (#1) considering a single-tone as a reference signal.

Figure 8 .
Figure 8. Zoomed view of the number of input vectors for case 1.

Figure 9 .
Figure 9. Power spectrum of the error signal at microphone (#1) considering a multi-tone as a reference signal.

Figure 10 .
Figure 10.Zoomed view of the number of input vectors for case 2.