<<

Twelfth International Congress on Sound and Vibration

PREVENTING NOISE AMPLIFICATION THROUGH ANTI-NOISE BAND LIMITING IN MULTI-CHANNEL ACTIVE NOISE CONTROL SYSTEMS

Paulo Lopes

ISCTE Rua Alves Redol n. 9, 1000-029 Lisboa, Portugal [email protected]

Abstract In active noise control systems sound waves with phase opposite to the unwanted noise are used to interfere destructively with the noise, generating quite zones, where the noise level is lower. Since most systems use point sensors like microphones to sense the noise field the quiet zone generated by system can be small. Outside the quite zones amplification of the noise may happen. In narrow band active noise control systems the dimension of the quite zone around each error sensor will be proportional to the wavelength of the noise being cancelled. In broadband active noise control systems several error sensors per anti-noise source are used (two as a rule of thumb) in order to achieve wider cancellations regions, but the fact still remains that the size of the quiet zone will be proportional to the wavelength of the noise. Actually using two microphones per anti-noise source makes the controller adapt in to a band limiting filter in order to prevent the generation of anti-noise with that are amplified inside the quite zone. In this paper, techniques to band limit the anti-noise are studied that do not need the extra number of error sensors. This extends previous work for the single channel case to the multi-channel case with several reference, error sensors and anti-noise sources. This can’t be done by simpling placing a filter in the cancellation path, or using the anti- or reconstruction filters, unless you use a very sharp filter with long delay and a leakage factor. Instead several structures based on the MFx-LMS algorithm are presented that accomplish this task. The proposed structures also give some insight into the limitations of broadband active noise control systems due to the delay required to the band limiting action. 1. INTRODUCTION

Active noise control (ANC) system generate sound waves with opposite phase to the noise (anti-noise) that interfere destructively with it, reducing the noise level [1, 2] in a given zone, namely the quiet zone. A feedforward active noise control systems are represented in figure 1 and 2. The reference sensors measures the noise signals, xi(t), at some points so that it can be used to predict the noise signal at the error sensors. This signal is sampled and digitally processed by a digital signal processor (DSP), which implements the ANC controller. The ANC controller produces the anti-noise signal, y j(t). This signal is then fed to the anti-noise transducers and travels throw the physical medium, usually air, to the error sensors. The error sensors measures the errors signals, ek(t), which are used to adapt parameters of the ANC controller. The path travelled by the anti-noise signal, from the transducers to the error sensors is the cancellation or secondary path, S( f ). The path travelled by the noise signal from the reference sensor to the error sensor is the primary path, P(F). In order to achieve wider quite zones many active noise control systems are multichannel, with several reference sensors, anti-noise transducers and error sensors. The systems represented in figures 1 and 2 have N reference sensors, P anti-noise sources and M error sensors.

P( f ) P( f )

S ( f ) S ( f )

P ¢ A ( f ) P A § ( f )

an alo g an al o g £ R( f ) A ( f ) R( f ) A ¨ ( f )

x ¡ ( n )

x ¦ ( n ) © e ¤ ( n ) e ( n ) digital - y ( n ) ˆ W ( f ) W ( f ) S ( f )

y¥ ( n ) di g i t al

M - M ˆ ˆ d© ( n )

S ( f ) L M S S ( f ) W ( f ) ¡

x ’ ( n ) ¦ z ¡ ( n ) z ( n )

Fig. 1. FX-LMS Algoritm for feedforward Fig. 2. MFX-LMS Algoritm for feedforward Active Noise Control. Active Noise Control.

The best know ANC algorithm is the FX-LMS algorithm [3, 4] as represented in figure 1. It should be noted that the cancellation path estimate, Sˆ( f ) includes the anti- aliasing and reconstruction filter. This algorithm can be modified to form the Modified FX-LMS (MFX-LMS) [5–8]. In the MFx-LMS the anti-noise signal is subtracted from the error signal ek(n), resulting in dk(n), which is then used as a desired signal to the LMS algorithm. The effect of the cancellation path is actually removed, as along as the estimate is accurate. This allows the use of more sophisticated adaptive filtering algorithms such as the RLS or the Kalman filter [7]. It will also allow the implementation of the anti-noise band limiting action as introduced in this paper. 2. TENSOR FORMULATION OF THE ANC SYSTEM

The multichannel active noise control algorithms were implemented using tensor arith- metic which gives a formulation similar to the single channel case. Also this allows the algorithms to be written in a high level language such as c++, suitable for reuse in many digital signal processors (DSP). The tensor arithmetic operations can be con- verted into matrix and vector operation (by joining indexes) which can be imple- mented in assembly language in a given DSP. This allows one to achieve the per- formance of assembly language with the portability and ease of programming of c++. However this is not easily ported to order recursive algorithms such as the LSL.

Given two tensor of order p and q, {Ai1,...,ip } and {B j1,..., jq } with dimensions

{n1,...,np} and {m1,...,mq}. As a shortcut assume Zi1,...,ip = {Zi1,...,ip }. Define the generalized tensor product as,

np−r+1,...,np,m1,...,mr

Ci1,...,ip−r, jr,..., jq = Ai1,...,ip •r B j1,..., jq = ∑ Ai1,...,ip B j1,..., jq (1) ip−r+1,...,ip, j1,..., jr=1 which represents a sum over the last r and the first r indices of A and B. By default r is taken to be one. The resulting tensor will have order given by p + q − 2r and dimensions {n ,...,n ,m ,...,m }. Define also the transpose of a tensor CT as 1 p−r r q i1,...,ip Cip,...,i1 . Let i represent the reference number, j the anti-noise source number and k the error sensor number. Define the tensors, xl,i(n) = xi(n − l) where xi(n) is the i reference signal; Sl, j,k = S j,k(l) where S j,k(l) is the impulse response of the cancellation path from the j anti-noise source and the k error sensor; Wl,i, j = Wi, j(l) where Wi, j(l) is the impulse response of the controller filter which relates the i reference and the j anti-noise source. Given this, the multichannel FX-LMS (normalized) algorithm can be described as, 0 T ˆ 0 0 xi, j,k(n) = xl,i(n) • Sl, j,k xl,i, j,k(n) = xi, j,k(n − l) (2)

02 µ = α/ ∑ x l,i, j,k(n) (3) Ãl,i, j,k ! 0 wl,i, j(n) = λwl,i, j(n − 1) + µxl,i, j,k(n) • ek(n) (4) T y j(n) = xl,i(n) •2 wl,i, j(n) (5) and the modified FX-LMS by replacing equation 4 by T ˆ dk(n) = ek(n) − yl, j(n) •2 Sl, j,k (6) 0T αk(n) = dk(n) − x l,i, j,k(n) •3 wl,i, j(n) (7) 0 wl,i, j(n) = λwl,i, j(n − 1) + µxl,i, j,k(n) • αk(n) (8)

3. BLOCK IMPLEMENTATION THE ANC SYSTEM

The active noise control systems described in this paper were implemented in c++ using a class library of digital signal processing blocks developed by the author. Each block implements a digital signal processing function like a FIR filter or the LMS algorithm. Although this is not usually exactly the way blocks are implemented, any given block can be described in state space by,

Y(n) = H(X(n),u(n)) (9) X(n + 1) = F(X(n),u(n)) (10)

This two equations are implemented in the system by two function of the block, clock tick() and calc output() respectively. The state of the system is X(n), u(n) is the input of the system and Y(n) is the output of the system. The call to calc output() must always be preceded to the call to clock tick() since in some blocks (like buffers) the output of the block is actually the state, or some part of it, so updating the state invalidates the output of the block. The calculated output of the block is always stored in the block it self. The blocks are created and stored in a vector of blocks. When simulating the system, the output of all the blocks are calculated, as in equation 9, by the order that they were stored. If there are blocks that the output depends directly (without delay) of the input, then there should be some care in selecting the order the blocks are stored. Namely, the blocks that have as input other blocks should be stored after the input blocks. If the blocks are stored when they are created this is guaranteed, since for a block to be created it must know its inputs, and so the input blocks must be created first. In general circular paths can only exist if the output of at least one block in the path dose not depend directly on the input. After calculating the outputs, the state of the blocks must be updated, as in equation 10. Since state update of the block depends on it’s input some care must be taken to guarantee that the input of the blocks are valid when updating the state. Actually this is guaranteed if the state update calculations are made in reverser order of the output calculations, which is the reverse of the order in which they are stored. If the state update dose not invalidate the output of the block, then it can be done at the same time as the output calculation.

4. LIMITING THE ANTI-NOISE

In active noise control system a controller is adapted in order to minimize the sound pressure in a number of sensor locations. This will result in noise reduction in the so called quiet zone of the system. The dimension of the quiet zone is related to the wavelength of the noise in consideration, namely for narrow band single channel active noise control systems it has a radios of about one tenth of the wavelength, λ/10. For multichannel systems is possible to increases this to the upper theoretical limit due to the sampling theorem of a radios of λ/4 per channel (anti-noise source and error sensor combinations). For broadband active noise control system the quiet zone dimensions around each error sensor will be limited by the greatest frequency in the anti-noise signal. When using several error sensors and anti-noise sources to increase the quiet zone dimensions the, the distance in between sensors must be smaller than the quiet zone radios per sensor so that there is no noise amplification in between sensors. Usually this is accomplished by the use of several error sensors per anti- noise source, two as a rule of thumb, so that if one anti-noise source is able to achieve noise reduction in two sensors then it should be creating a fairly large quiet zone. Actually, this results in limiting the anti-noise signal frequency. So, in this paper some techniques to limit the anti-noise signal frequency are proposed. The first idea that comes to mind is to place a filter at the input of the anti-noise source. This can be the reconstruction filter. However, the controller will try to invert this filter. The use of a sharp transition band and a leakage factor (which is equivalent to add white noise, zi(n), at the input of LMS algorithm, as represented in figure 2) can prevent this. Namely, for the single channel case, the optimal controller, ignoring causality constrains is given by,

∗ Sdx0 ( f ) P( f )Sxx( f )S ( f ) W( f ) = = 2 (11) Sx0x0 ( f ) |S( f )| Sxx( f ) + Szz( f ) where Sxy( f ) is the cross power spectral density between the signal x(n) and y(n), namely the discrete time of the cross-correlation function, r(l) = E[x[n]y[l − n]], and S( f ) is the cancellation path transfer function. However sharp filters have long delays, which is undesirable in active noise control systems. Better is to use some of the structures presented in the paper. One technic that works is to use the modified filtered-X configuration to change the desired signals (which corresponds to the desired anti-noise signals) to a band limited version of the originals. This is presented in the figure 3. In this configuration the band limiting action will be implemented by the controller. It will adapt into a band limiting filter which removes the high frequency components of the anti-noise signal. It is possible to remove this extra burden from the controller, reducing the

P( f ) P( f )

u ( t ) P

A  ( f ) S ( f ) S ( f ) P A ( f ) an alo g an alo g

R( f )

R( f ) A ( f ) A  ( f )

x ( n ) 

x ( n ) y ( n )  N - e ( n ) e ( n ) ˆ F( f ) W ( f ) S ( f ) F( f ) - ˆ digital S ( f ) digital

y ( n )

  ˆ −ω S ( f ) W ( f ) e M M

d ( n )  - −ω  - ˆ W ( f )

S ( f ) W ( f ) F( f ) e F( f )  z ( n ) z ( n )

Fig. 3. Block diagram of the proposed algo- Fig. 4. Block diagram of the proposed algo- rithm, with the filtered desired signal (con- rithm, with the filtered desired signal and mod- figuration I). ification to the cancellation path (configuration II). order required for it, by using a separate filter to implement the band limiting action. This is represented in figure 4. It in fact correspond to modifying the secondary path by adding an extra band-limiting filter. This has de disadvantage that the band limiting filter is fixed, namely it has a predefined attenuation and delay. In the configuration of figure 3 it is possible to design the filter, F( f ), to have a big attenuation, and the controller will adapt to the actual physical plant producing a higher delay and attenuation filter when possible and a lower attenuation filter when a high delay filter is not tolerable. A combination of the two techniques is also possible. Splitting the F( f ) filter into A1( f )R( f ) and rearranging, namely exchanging A1( f ) with W( f ) and lowering the sample rate (note that now Sˆ( f ) includes R( f )) results in configuration in figure 5. This configuration allows complexity reduction due to lower sampling rate, however now A1( f ) and R( f ) are anti-aliasing and reconstruction fil- ters and must have a high attenuation and greater delay. Note that this configuration is equal to the original MFX but with compensation of the anti-aliasing and reconstruc- tion filters transfer functions.

P ( f )

A  ( f ) S ( f ) an alo g R( f )

A  ( f )

y" ( n ) P x ! ( n ) ˆ e ( n ) S( f )

e # ( n )  e ( n ) − ω  e W ( f ) - e ( n ) digital

- M ˆ S ( f ) W ( f ) A  ( f ) R( f )

M

z ! ( n )

Fig. 5. Block diagram of the proposed algorithm with smooth, band-limiting, anti-noise and reconstruction filters and lowered sampling rate (configuration III).

The bandlimiting filter, F( f ) should be flat in the pass-band, and have a constant group delay, and should be designed using a number of criteria [9]. It is easily imple- mented using linear phase FIR filters [10]. This can de designed using methods like the Kaiser window or the Parks-McClellan algorithm. For this last algorithm one has a delay of −10 log(δ1 δ2) − 13 DF = . (12) 29.2∆ f In order to be possible to implement the system without the implicit use of predic- tors (in broadband systems it is difficult to make a big time lag prediction) one must have [9], dP > dS + dA + dR + DF + Ta, where we have the delay of the primary and secondary path, the delay of the anti-aliasing, reconstruction and anti-noise band lim- iting filter and the sampling time. If we chose a high sampling frequency, so that dA, dR and Ta are small compared to DF then this is simply dP > dS + DF .

5. SIMULATION RESULTS

The algorithm proposed in figures 3 to 5 were all validated throw numerical simula- tions and to sensitivity to secondary path modelling errors. They all proved to work as expected. The secondary paths were first modelled off-line in a classic system -15 80 FXLMS error signal 0 With ANC 0 FXLMS error signal 1 With ANC 1 -20 70 Without ANC 0 Without ANC 1 -25 60

-30 50 -35 40

Squared Error Signal (dB) -40 Sound Pressure Level (dB) 30 -45 2 3 4 5 6 7 8 9 10 11 0 200 400 600 800 1000 Time (s) Frequency (Hz)

Fig. 6. Convergence curve and noise level with and without ANC for configuration I.

-22 80 -24 FXLMS error signal 0 With ANC 0 FXLMS error signal 1 With ANC 1 -26 70 Without ANC 0 Without ANC 1 -28 60 -30 -32 50 -34

-36 40 -38 Squared Error Signal (dB) Sound Pressure Level (dB) -40 30 -42 2 3 4 5 6 7 8 9 10 11 0 200 400 600 800 1000 Time (s) Frequency (Hz)

Fig. 7. Convergence curve and noise level with and without ANC for configuration II. identification scenario [1]. The simulation results are presented in figures 6, 7 and 8. The DSP sampling frequency was of 4kHz for configuration I and II, and of 1kHz for configuration III. The reference signal was modelled as white noise. The secondary path and primary path were modelled as pure delay, which corresponded to fractional values of the DSP sampling time. In order to simulate this delays the analog sec- tion was simulated in discrete time, but at a higher sampling rate. The anti-aliasing, reconstruction and band limiting filters were FIR filters projected using a Hamming windows which gives 53dB attenuation (a rather high value) at the stop band and a ripple of 10−5. The band limiting filter add a transition band from 400Hz to 500Hz. The anti-aliasing and reconstruction filters had a larger transition band from 400Hz to fS/2Hz. The step of the LMS algorithm was normalized [1] and α was set to 0.3.

6. CONCLUSION

In broadband active noise control system, limiting the anti-noise frequency of active noise control systems prevents noise amplification inside the quite zone, without the use of several error signals per anti-noise source. In the paper, technics to do this in -15 80 FXLMS error signal 0 With ANC 0 FXLMS error signal 1 With ANC 1 70 Without ANC 0 -20 Without ANC 1 60

-25 50

-30 40 Squared Error Signal (dB) Sound Pressure Level (dB) 30 -35 10 15 20 25 30 35 40 0 200 400 600 800 1000 Time (s) Frequency (Hz)

Fig. 8. Convergence curve and noise level with and without ANC for configuration III. The lobe in the 100Hz to 200Hz can be eliminated by increasing the convergence time to more than 100 seconds. multichannel systems are presented. They all work as expected. This technics allow an insight into the limitations of broadband active noise control systems.

7. REFERENCES

[1] Sen M. Kuo and Dennis R. Morgan, Active Noise Control Systems, Algorithms and DSP implementations, John Wiley and Sons, Inc., 1996. [2] Stephen Elliott, Signal Processing for Active Control, Academic Press, 2001. [3] D. R. Morgan, “An analysis of multiple correaltion cancellation loops with a filter in the auxiliary path,” IEEE Transactions on Acoustics, Speech, and Signal Processing, Agosto 1980. [4] Bernard Widrow, Adaptive Signal Processing, Prentice-Hall, Inc., 1985. [5] Martin Bouchard and Stephan Quednau, “Multichannel recursive-least-squares algo- rithms and fast-transversal-filter algorithms for active noise control ans sound reproduc- tion systems,” IEEE Transactions on Speech and Audio Processing, vol. 8, pp. 606–618, Setembro 2001. [6] Stuart J. Flockton, “Fast adaption algorithms in active noise control,” Second Conference on Recent Advances in Active Control of Sound and Vibration, Abril 1993. [7] Paulo A. C. Lopes and Moises´ S. Piedade, “A kalman filter approach to active noise control,” in EUSIPCO 2000 Proceedings, Tampere, Finland, Setembro 2000. [8] Paulo A. C. Lopes and Moises´ S. Piedade, “The behavior of the modified fx-lms algo- rithm with secondary path modeling errors,” Signal Processing Letters, vol. 11, no. 2, pp. 148–151, February 2004. [9] Paulo A. C. Lopes, “Limiting the anti-noise frequency of active noise control systems to prevent regions of noise amplification,” in Eleventh International Congress on Sound and Vibration, St. Peterburg, Russia, July 2004. [10] Alan V. Oppenhein and Ronald W. Schafer, Discrite-Time Signal Processing, Academic Press, 1999.