Aalborg University .fr

derstanding of basic acoustical measurement principles and acquaint the student with the use of acoustic ...... 2.1.1 Secondary Path Effects and Solutions.
1MB taille 49 téléchargements 306 vues
Aalborg University International Master in Acoustics 1999

Title:

Active Noise Control in a Car

Project period:

01-02-1999 to 31-05-1999

Project group:

99gr860

Group members: Jon Palle Hansen Thomas Jensen Christophe Kefeder Kittiphong Meesawat

Abstract:

Jesper Ramløse

This report documents the implementation of an Active Noise Control system in a car. An ANC system measures the noise and uses a secondary noise source to generate noise with the opposite sign. Analyses of measurements from a car have been made and literature studied. From the analysis and studies several models for implementation were found. The different models were simulated in a Matlab program and the most effective model with a single secondary speaker, a reference and an error microphone was found to be a hybrid model.

Supervisor: Dorte Hammershøi

Number of copies: Pages: Enclosures:

8 172 3

The chosen hybrid model was implemented on a Texas Instruments TMS320C542 DSP. Most parts of the imple8 tested and found to be functioning propmented system were erly, but the system as a whole did not work, because of problems with the normalised LMS algorithm.

Page Fejl! Ukendt argument for parameter.

Aalborg Universitet International Master i Akustik 1999

Titel:

Active Noise Control in a Car

Projektperiode:

01-02-1999 til 31-05-1999

Projektgruppe:

99gr860

Gruppemedlemmer: Jon Palle Hansen Thomas Jensen Christophe Kefeder Kittiphong Meesawat

Synopsis:

Jesper Ramløse

Denne rapport dokumenterer implementationen af et aktivt støjreduktionssystem i en bil (ANC). Et ANC-system måler støjen og anvender en sekunder kilde til at generere støj med modsat fortegn.

Vejleder: Dorte Hammershøi

Analyse af målinger fra en bil samt litteraturstudier gav anledning til adskillige løsningsmodeller. De forskellige modeller blev simuleret i et Matlab-program og med en enkelt sekundær højttaler, en reference- og en fejlmikrofon viste hybridmodellen sig som den mest effektive.

Oplag:

Den valgte hybridmodel blev implementeret på en Texas Instruments TMS320C542 DSP. De fleste delkomponenter i det implementerede blev testet og fundet til at virke efter hensigten. Det samlede system virkede dog ikke pga. problemer med den normaliserede LMS-algoritme.

8

Sider:

172

Bilag:

3

Page Fejl! Ukendt argument for parameter.

Aalborg Université Mastère International d´Acoustique 1999

Titre:

Active Noise Control in a Car

Période du Projet:

du 01-02-1999 au 31-05-1999

Groupe de Projet:

99gr860

Membres du groupe: Jon Palle Hansen Thomas Jensen Christophe Kefeder

Résumé:

Kittiphong Meesawat

Ce rapport présente la mise en œuvre d'un système de contrôle actif du bruit dans une voiture. Un tel système mesure le bruit et utilise une source secondaire de bruit pour générer un bruit d’amplitude opposée.

Jesper Ramløse

Des analyses sur les mesures de bruit d'une voiture ont été effectuées et la littérature sur le sujet étudiée.

Superviseur:

De ces analyses et ces études ont été révélées plusieurs de modèles de réalisation. Ces différents modèles ont été simulés sous Matlab et le plus efficace d’entre eux fut le modèle hybride avec un unique haut-parleur pour source secondaire, un microphone de référence et un microphone d'erreur.

Dorte Hammershøi

Nombre de copies: Pages: Pieces jointes:

8 172 3

Ce modèle hybride a été ensuite implémenté sur un DSP de la marque Texas Instruments, le TMS320C542. La plupart des parties du système implementé ont été testées et fonctionnent correctement.

Page Fejl! Ukendt argument for parameter.

Preface This report is written by a group of students from the Institute of Electronic Systems at Aalborg University. The report is written at the 8th term of the International Master of Science in Acoustics in the interval 01 February to 31 May 1999. The theme of the 8th term of the International Master of Science Programme in Acoustics is “Digital signal processing applied to signals of acoustic origin”. The purpose of the term is “To acquaint the student with theories and methods related to the use of advanced digital signal processing on signals of acoustic origin. To provide the student with understanding of basic acoustical measurement principles and acquaint the student with the use of acoustic transducers.” The report is both based on the theme and made to fulfil the purpose of the 8th term. Relevant readers of the report are people with a general interest in the topic. It is assumed that the reader has a basic theoretical knowledge at the level of 8th term of Acoustics at Aalborg University. The group would like to thank “Center for PersonKommunikation” at Aalborg University for the use of a car for measurements.

Reading instructions References to literature are shown as a three letters abbreviation based on the name of the author. The abbreviation is placed in brackets eventually followed by a number indicating the relevant page of interest. An example is [KIN, 205], which is a reference to: Kinsler et al., Fundamentals of Acoustics, page 205. Complete references are placed in chapter 9. All numbers are decimals unless noted. A hexadecimal number will for example be written as 1234h. Some definitions are placed in appendix F.

Aalborg, 31 May 1999.

Jon Palle Hansen

Christophe Kefeder

Thomas Jensen

Kittiphong Meesawat

Jesper Ramløse

Page Fejl! Ukendt argument for parameter.

Contents 1.

INTRODUCTION........................................................................................................................................1 1.1 NOISE SOURCES .............................................................................................................................................1 1.2 HOW CAN NOISE BE REDUCED? .....................................................................................................................2 1.3 EVALUATION OF SOLUTIONS..........................................................................................................................2 1.4 INITIATING PROBLEM .....................................................................................................................................3

2.

ACTIVE NOISE CONTROL......................................................................................................................5 2.1 BROADBAND FEEDFORWARD ACTIVE NOISE CONTROL .................................................................................5 2.2 NARROWBAND FEEDFORWARD ACTIVE NOISE CONTROL............................................................................14 2.3 FEEDBACK ACTIVE NOISE CONTROL ...........................................................................................................16 2.4 HYBRID ACTIVE NOISE CONTROL................................................................................................................20 2.5 SUMMARY....................................................................................................................................................22

3.

ANALYSIS..................................................................................................................................................25 3.1 LOCAL CONTROL .........................................................................................................................................25 3.2 NOISE MEASUREMENTS ...............................................................................................................................33 3.3 NOISE RECORDING .......................................................................................................................................34 3.4 IR MEASUREMENTS......................................................................................................................................37 3.5 A-WEIGHT FILTER ........................................................................................................................................40 3.6 MATLAB SIMULATIONS ................................................................................................................................51 3.7 SUMMARY....................................................................................................................................................58

4.

SYSTEM DESCRIPTION.........................................................................................................................61

5.

HARDWARE..............................................................................................................................................63 5.1 CHOICE OF DSP ...........................................................................................................................................63 5.2 DSP CONFIGURATION..................................................................................................................................63 5.3 CODEC .........................................................................................................................................................64 5.4 SERIAL CONNECTION ...................................................................................................................................65 5.5 INPUT CIRCUITS............................................................................................................................................66 5.6 OUTPUT CIRCUIT ..........................................................................................................................................66 5.7 FREQUENCY RESPONSES ..............................................................................................................................67 5.8 SUMMARY....................................................................................................................................................69

6.

SOFTWARE ...............................................................................................................................................71 6.1 OVERVIEW ...................................................................................................................................................71 6.2 MEMORY .....................................................................................................................................................71 6.3 INTERRUPT SERVICE ROUTINE ......................................................................................................................72 6.4 ANC ROUTINE .............................................................................................................................................76

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

6.5 SUMMARY ................................................................................................................................................... 83 7.

DISCUSSION............................................................................................................................................. 85 7.1 FURTHER DECISIONS ................................................................................................................................... 85 7.2 EVALUATION ON DECISIONS ........................................................................................................................ 85 7.3 PROBLEMS................................................................................................................................................... 86 7.4 IMPROVEMENTS .......................................................................................................................................... 87

8.

CONCLUSION .......................................................................................................................................... 89

Appendices A.

ACOUSTICAL SOUND CONTROL ........................................................................................................ 3 A.1 ONE-DIMENSIONAL CASE ............................................................................................................................. 3

B.

GLOBAL.................................................................................................................................................... 11 B.1 GLOBAL CONTROL IN A LIGHTLY DAMPED ENCLOSURE ............................................................................ 11

C.

FOURIER SPECTROGRAM .................................................................................................................. 21 C.1 THEORETICAL ASPECTS .............................................................................................................................. 21 C.2 MATLAB IMPLEMENTATION ....................................................................................................................... 21

D.

MEASURING REPORT........................................................................................................................... 23 D.1 SPECIFICATIONS OF THE CAR ..................................................................................................................... 23 D.2 RECORDINGS .............................................................................................................................................. 23 D.3 TRANSFER FUNCTIONS ............................................................................................................................... 27

E.

TESTS......................................................................................................................................................... 33 E.1 ANALOGUE INPUT CIRCUITS ....................................................................................................................... 33 E.2 ANALOGUE OUTPUT CIRCUITS ................................................................................................................... 33 E.3 DIGITAL RECONSTRUCTION FILTER ............................................................................................................ 33 E.4 A-WEIGHT FILTER....................................................................................................................................... 33 E.5 NLMS ROUTINE ......................................................................................................................................... 34 E.6 MEASURING EQUIPMENT ............................................................................................................................ 34

F.

DEFINITIONS........................................................................................................................................... 35

Enclosures DSP CODE OVERVIEW SCHEMATIC

Page Fejl! Ukendt argument for parameter.

1. Introduction In this project the subject is noise control in cars. Noise can make you tired and makes transportation uncomfortable. A noisy car may not be comfortable and therefore minimising the noise level is a goal. This chapter introduces the problem of reducing/controlling noise in cars. It starts with a broad description of noise and sources in general and how the noise can be eliminated or reduced. The problem of noise control is then narrowed down in order to give a more specific definition of the problem. Noise is henceforth defined as unwanted sounds. It can be annoying or exhausting and should be reduced to a minimum. It is important to notice that the car will have a closed cabin, making the acoustical problem noise control in an enclosure.

1.1 Noise Sources There are several noise sources in a car. The most important are described in the following. •

Engine: the noise amplitude and frequency spectrum is dependent on engine speed and load. Noise from the engine is synchronised with the engine rotation. There is engine noise from vibrations of the engine and from the air intake and the exhaust pipe.



Wind: amplitude is dependent on car speed and wind speed/direction. Turbulence of the airflow makes the noise stochastic.



Tyres: amplitude and frequency spectrum is dependent on car velocity, road surface, if it is wet or dry and on the type of tyres used.



Suspension: road irregularities make the suspension move, which can cause noise.



Fan: it makes noise when turned on, which is when ventilation is wanted. It is mostly variable.



Transmission, depending on car speed and chosen gear.



Vibrating body and panels: these vibrations generate noise and the vibrations are induced by other noise sources. Light bodies will suffer more from this noise.



External noise: comes from outside the car, and is not generated by the car itself.

Some of these noise sources are repetitive, such as the engine and other periodically moving sources, while others are more stochastic, such as the airflow. Furthermore the car design has a lot of influence on the different noise sources. If a car is properly designed the level of noise from the different noise sources can be significantly reduced, i.e. wind, suspension and vibration.

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

1.2 How can Noise be Reduced? Different approaches to reduce the noise in cars are described in the following.

1.2.1 Removing the Noise Source The most efficient solution is to remove the noise source. In stead of removing the noise source one could reduce the amplitude of the generated noise. Altering engine design, making the body more sturdy and aerodynamic to reduce turbulence or use a different tyre design could reduce the noise generated.

1.2.2 Passive Noise Control A much-used method for reducing the noise level in the cabin is passive noise control, PNC. The approaches are to absorb sound, damp vibrations and insulate the cabin from air-borne noise. Sound absorption can be obtained by using panels of absorbing materials placed in strategic positions. They must be of some bulk in order to absorb more than the highest frequencies. Increasing the weight of the vibrating objects most effectively damps vibrations. Using composite materials with different resonance modes can also damp vibrations. Sound insulation can for example be obtained using rubber sealed doors and windows.

1.2.3 Active Noise Control Active noise control, ANC, uses the principle of destructive interference. It is obtained by inserting a device, which measures the amount of unwanted noise, and a secondary sound source, which transmits sound of opposite sign, giving rise to an efficient attenuation. Traditionally one or several microphones are used to measure the noise, but other measuring devices can also be used. A device can for example measure the engine rotation speed as the rotation speed has a strong correlation with noise. Depending on the quality of the ANC system one or several loudspeakers have to be used as secondary sound sources. Adjusting the output of the secondary source can regulate the amount of noise control. When using active noise control one can either try to achieve local control or global control. In local control the goal is to reduce the noise level at the ears even if it might increase the noise level at other places in the cabin. In global control the goal is to minimise the total acoustic potential energy in the cabin. If perfect sound cancellation is to be obtained the number of secondary sources has to be the same as the number of acoustic modes being excited in the cabin [KUO, 12]. As the number of acoustic modes increases with frequency, global control at high frequencies gets even more complicated.

1.3 Evaluation of Solutions As discussed previously, there are several approaches to remove noise in cars. The following will discuss the advantages and disadvantages of each of these approaches.

1.3.1 Removing the Noise Source Removing the noise source seems to be a perfect solution, but it is totally impossible to implement with the current technology. This is because the noise sources are the necessary units of the cars, such as engine, tires, exhaust pipe, etc. Moreover there are some noise sources which are difficult to identify.

Side Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

To reduce the amount of noise from its source is much more applicable. But it needs a high technology in many fields to accomplish the target, such as, engine design technology, aerodynamic design of the car chassis, material science for special type of tires, etc. Even though these fields of technology are being developed everyday, they are still far away from the satisfied criteria. By removing or reducing the amount of noise from the source you also have to make changes in an existing system, which can be difficult/expensive.

1.3.2 Passive Noise Control Passive noise control, PNC, is the most popular way to reduce the noise in cars according to the cost effectiveness and the fair efficiency of noise reduction. However, the passive elements used to absorb noise do not have a high efficiency of absorption at low frequencies, as the wavelengths are much longer than the thickness of the elements. Otherwise, a high amount of the passive elements is needed, and this increases the weight of the cars and the cost as well. The bulk of the absorbing material increases exponentially for a constant attenuation as the frequency of the noise decreases. It is therefore almost impossible to use passive noise control at frequencies below 500 Hz [TOK, 4], [KUO, 13]. Thus, the passive noise reduction is effective, but not for the low frequency range. Besides, modern cars already have a high amount of PNC and an improvement using PNC can be difficult to make.

1.3.3 Active Noise Control There are many commercial companies, which implement ANC to reduce noise level from their products, such as noise from air conditioner and noise from the exhaust pipe of a vehicle. The ANC works well in these applications where low frequency noise is dominant. Only a simple model of acoustics is needed and it does not require more computation power than the current technology can provide. In contrast, to reduce the noise level in a large enclosure, such as a passenger cabin in the vehicle, needs an extremely complex acoustic model and requires much computation power. Thus, it is not only the difficulty that is a problem, but also the cost of the components needed, such as a high performance DSP chip. These are the disadvantages. The advantages of ANC is the ability to attenuate noise at low frequencies, the flexibility of implementation and the capability to cancel out the noise instead of absorbing. Moreover the prices of high performance DSP’s are dropping.

1.4 Initiating problem This introduction has described the different approaches to reduce the noise in a car cabin. It was found that it is more or less impossible to remove the noise source. In addition PNC is effectively implemented in modern cars. ANC is at the moment only rarely used, even though it can give rise to efficient noise reduction in a frequency range, which is unrealistic by PNC. Hence it is chosen to implement the noise reduction by the use of ANC in the low frequency region. By the choice of ANC a selection on local or global control also has to be made. As the seats in a car is placed at fixed positions it seems too comprehensive to use global control. When using local control the noise level can increase at other positions. In a system using local control this problem must be taken care of within the system, if local control is to be implemented for several seats. In order not to make the project to complicated it is chosen to use local control on a single seat, ignoring correlation with noise control

Side Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

systems for other seats. It is also chosen to design the system for a specific car, as measurements from this car will be used during the design phase. The following initiating problem is found. To reduce the noise in a single car seat. The noise is to be reduced in a specific car by the use of a local ANC system without concerning an increase in noise at other locations.

Side Fejl! Ukendt argument for parameter.

2. Active Noise Control This chapter provides a general knowledge in various kinds of active noise control systems (ANC). The literature is based on “Active Noise Control Systems; Algorithms and DSP Implementations”; [KUO]. It gives not only the overview and basic concept of each kind of the systems but also some of the theoretical background behind it. Even though, there are many ANC algorithms derived and the number increases every day, the ANC systems, basically, can be categorised into 4 kinds, broadband feedforward, narrowband feedforward, feedback, and hybrid system. Broadband feedforward ANC is described in section 2.1. Section 2.2 and section 2.3 describes narrowband feedforward ANC and feedback ANC, respectively. Finally hybrid ANC is presented in section 2.4.

2.1 Broadband Feedforward Active Noise Control The basic concept of ANC is that the system provides a secondary noise, which is equal to the primary noise in amplitude but reverse in phase (to the sound field, which the primary noise represents). The secondary noise will cancel the primary noise at the acoustic summing junction. The remaining noise after cancellation is so called residual noise. Fig. 2.Fejl! Ukendt argument for parameter. illustrates an example of using broadband feedforward ANC system to reduce the noise level in an exhaust duct. A block diagram of a simple broadband feedforward ANC is illustrated in Fig. 2.Fejl! Ukendt argument for parameter.. Noise Source

Primary Noise Cancelling Loudspeaker Refference Microphone

x(n)

Error Microphone

y(n)

e(n)

ANC System

Fig. 2.Fejl! Ukendt argument for parameter.. A broadband feedforward ANC system.

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

x(n)

Unknown Plant P(z)

Digital Filter W(z)

d(n)

+

+

e(n)

y(n)

Fig. 2.Fejl! Ukendt argument for parameter.. A block diagram of a simple broadband feedforward ANC.

The system consists of an unknown acoustic plant, P(z), an adaptive filter, W(z), and an acoustic summing junction. The noise source provides noise, x(n), to both P(z) and W(z). The output of P(z) is the primary noise presented to the sound field. The output of W(z) is the secondary noise, which is going to cancel the primary noise in the sound field. The cancellation is performed at the acoustic-summing junction. The signal after the cancellation is residual noise, e(n). From Fig. 2.Fejl! Ukendt argument for parameter., the z-transform of the error signal is expressed as the following. E( z ) = X ( z ) ⋅ P ( z ) − X ( z ) ⋅ W ( z )

If the system converges to the optimum point, E(z)=0. So that, W O (z ) = P (z ) ,

where WO (z) represents the optimum filter coefficients. This means that the adaptive filter, W(z), tries to model the unknown acoustic plant, P(z). The adaptation is taking care by such a mechanism called adaptive algorithm. In the present, there are several algorithms to get to the optimum point such as LevinsonDurbin algorithm, steepest-descent algorithm, and least mean square algorithm (LMS). In this chapter, because of the simplicity constrains, real time operation constrains, and flexibility constrains, LMS algorithm is chosen. However, all analysis in this chapter can be used with other adaptive algorithm.

2.1.1 Secondary Path Effects and Solutions Practically the ANC system consists of many unknown parameters, which affect the performance of the system directly. One outstanding unknown parameter is the secondary path transfer function which mainly consists of electrical and acoustic transfer functions from the output of the filter, y(n) to the input of the adaptive algorithm, e(n). The effects of secondary path exist because the ANC system does not involve in only the electrical domain but also the acoustical domain. Therefore, a number of other transfer functions must be included [KUO, 58]. The section will discuss this topic in details including the solutions.

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

x(n) P´(z)

d(n) +

+

e(n) R(z)

-

S´(z) W(z)

y(n)

LMS

Fig. 2.Fejl! Ukendt argument for parameter.. Block diagram of a broadband feedforward ANC including secondary path transfer function.

Let’s consider the Fig. 2.Fejl! Ukendt argument for parameter.. It presents the transfer function from the output of the filter W(z) to the error microphone and consists of the transfer functions of various sources. For example, D/A converter, reconstruction filter, power amplifier, loudspeaker, acoustic path from the loudspeaker to the error microphone, error microphone, preamplifier, anti-aliasing filter, and A/D converter [KUO, 58]. Fig. 2.Fejl! Ukendt argument for parameter. depicts the block diagram of the feedforward ANC system including the secondary path transfer function. P’(z) represents the unknown acoustic plant, W(z) represents the digital adaptive filter. S’(z) is the transfer function from the output of the adaptive filter to the acoustic summing junction, which includes the D/A, speaker, etc. The transfer function from the acoustic summing junction to the input of the adaptive algorithm is denoted by R(z). R(z) includes the transfer function from the acoustic-summing junction, error microphone, preamplifier, etc. Secondary Path Effects From Fig. 2.Fejl! Ukendt argument for parameter., the secondary path transfer function S(z) consists of two cascaded transfer functions, S’(z) and R(z). S(z ) = R(z ) ⋅ S ' (z )

Similarly, the unknown acoustic plant P(z) is expressed as the following equation: P ( z ) = R(z ) ⋅ P ' (z ) ,

where P’(z) represents the acoustic transfer function from the point of the reference microphone to the acoustic summing-junction. From Fig. 2.Fejl! Ukendt argument for parameter., the z-transform of the residue error e(n) is expressed as: E( z ) = R( z )[ P ' ( z ) − S ' ( z )W ( z )]X ( z ) .

(1)

In the ideal case, after the system has converged, the residual error becomes zero, thus the optimal transfer function of the adaptive filter is: W O (z ) =

P ' (z ) . S ' (z )

Therefore, the adaptive filter also has to invert the secondary path transfer function S’(z). However, it is impossible to compensate for the inherent delay caused by S’(z) if the primary path P’(z) does not contain a delay of at least equal length. This is the overall limiting causality constraint in broadband feedforward

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

ANC system [KUO, 60]. Another fact from equation (1) is the instability of the system if S’(z) becomes zero at some specific frequencies. Because both transfer functions, P(z) and S(z), have R(z) in common, the block diagram in Fig. 2.Fejl! Ukendt argument for parameter. can be simplified to the block diagram in Fig. 2.Fejl! Ukendt argument for parameter., and equation (1) is then simplified to equation (2). There is no mathematical difference between these two block diagrams. E( z ) = [ P (z ) − S( z )W ( z )]X ( z ) x(n)

d(n) +

P(z)

+

(2) e(n)

-

S(z)

y(n)

W(z)

LMS

Fig. 2.Fejl! Ukendt argument for parameter.. Block diagram of the simplified system of the system in Fig. 2.Fejl! Ukendt argument for parameter..

The optimal transfer function of the adaptive filter W(z) is: W O (z ) =

P (z ) . S( z )

(3)

This means that the filter W(z) has to model P(z) and the inverse of S(z). This equation confirms that the performance of the ANC system depends highly on the secondary path transfer function. As mentioned above, if S(z) becomes zero at some specific frequencies, the ANC system can not maintain the stability of the system and is not able to reduce or cancel any amount of noise. Moreover, the existence of the secondary path, either depicted in Fig. 2.Fejl! Ukendt argument for parameter. or Fig. 2.Fejl! Ukendt argument for parameter., makes the situation different from a conventional adaptive system, such as described in section 2.1. Thus, the conventional Least-Mean-Square (LMS) algorithm for the adaptive filter is not suitable for the case, and needs to be modified in order to compensate for the effects caused by the secondary path transfer function. FXLMS Algorithm One approach to ensure the convergence of a system with the existence of a secondary path in the adaptive control is the Filtered-X Least Mean Square (FXLMS) algorithm derived by Widrow. The strategy is to filter the reference signal x(n) by the estimated transfer function of S(z), Sˆ( z ) . Fig. 2.Fejl! Ukendt argument for parameter. shows the block diagram of an ANC system using the FXLMS algorithm.

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

d(n)

x(n)

+

P(z)

y'(n) W(z)

y(n)

+

e(n)

S(z)

S(z)

e'(n)

x'(n) LMS

Fig. 2.Fejl! Ukendt argument for parameter.. Block diagram of an ANC system using the FXLMS algorithm.

By deriving mathematically in a similar way as for the conventional LMS algorithm using mean square error (MSE) strategy, the recursive equation for the optimal solution of the adaptive filter W(z) is expressed as: w ( n + 1) = w ( n ) + µ ⋅ x ' ( n ) ⋅ e( n ).

Where: ∧

x ' (n ) = s (n ) ∗ x (n ) ,

i.e. the filtered reference signal, and µ is the step size. The estimated or modelled secondary path transfer function Sˆ( z ) plays an important role in the convergence and stability of the system. Even the secondary path transfer function is slowly time-varying, but for the broadband ANC that deals with the random noise, a small error of estimation of S(z) is critical in the stability. There are two kinds of secondary path modelling methods: off-line modelling and on-line modelling. To accomplish the convergence and stability of the system, the on-line modelling method is preferred. However, the off-line modelling technique is provided for some simple systems. The maximum step size is another variable that ensures the system stability. The estimated maximum step size for the FXLMS algorithm was derived by Elliott and Nelson [KUO; 68] as:

µ max =

1 , Px ' ( L + ∆ )

where Px’ is the power of the filtered reference signal x’(n). L is the number of adaptive filter coefficients, and ∆ is the number of samples corresponding to the overall delay in the secondary path.

2.1.2 Feedback Path Effects and Solutions Another outstanding unknown parameter is the feedback path transfer function. The ANC theory discussed in the previous sections assumes that the reference signal, x(n), contains only the original noise. In practical, because the system is involved in the acoustic domain, the secondary noise provides the acoustic pressure downward to cancel the primary noise in the sound field and also upward to the reference microphone. Thus, the picked-up reference signal contains both the original noise and feedback signal driven from the secondary source. Feedback introduces poles in the response of the model and thus results in

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

potential instability, if the gain of this feedback loop becomes too large [KUO, 79]. This section will discuss feedback path effects and the solutions. Feedback Path Effects Fig. 2.Fejl! Ukendt argument for parameter. introduces a more realisable block diagram of an ANC system including both the secondary path transfer function and the feedback path transfer function from the secondary noise source to the reference microphone. In Fig. 2.Fejl! Ukendt argument for parameter., u(n) is noise from the noise source, and x(n) is the signal picked up by the reference microphone. F(z) is the feedback path transfer function from the output of adaptive filter W(z) to the reference microphone. For an acoustic ANC problem, F(z) includes the D/A converter, smoothing filter, power amplifier etc. [KUO, 80]. d(n)

u(n)

+

P(z)

+

+

y'(n)

+

e(n)

y(n)

+

F(z)

S(z)

x(n) W(z)

H(z)

x(n)

LMS

Fig. 2.Fejl! Ukendt argument for parameter.. Block diagram of broadband ANC including secondary and feedback path transfer functions.

The z-transfrom of the error signal, e(n), is express as following: E( z ) = P ( z )U ( z ) − S( z ) ⋅

W ( z )U ( z ) . 1 − W ( z )F ( z )

If the system archives the optimum point, ideally, E(z) = 0. Thus the optimum filter will be expressed as: W O (z ) =

P (z ) . S ( z ) + P ( z )F ( z )

(4)

Which totally differs from the solution in section 2.1 and 2.1.1. Next, consider the system in the dotted block, H(z). It can be expressed in term of a feedback system as: H(z ) =

W (z ) . 1 − W ( z )F ( z )

The ANC system will be unstable if the closed-loop transfer function, H(z), is unstable, and this can clearly occur if the coefficients of W(z) are large enough so that W(z)F(z)=1 [KUO, 82]. This situation can be prevented by properly restricting the magnitude of the coefficients. But this makes the system be unable to converge to the real optimum point.

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

Feedback Neutralisation One approach to solve the problem is feedback neutralisation, that tries to cancel that feedback signal from the secondary source to the reference microphone by using the estimated feedback path transfer function, Fˆ(z) , as depicted in Fig. 2.Fejl! Ukendt argument for parameter.. This estimated model of the feedback path is driven by the output of the adaptive filter. Its output subtracts the picked-up signal electronically in order to get the estimate reference instead of using the contaminated signal from the reference microphone. Thus the adaptive filter, W(z), might be able to model the acoustic unknown plant, P(z), by using FXLMS algorithm. The neutralised feedback transfer function can be modelled using either on-line or off-line modelling techniques. By the fact that the feedback-path transfer function can vary with time, the on-line modelling technique is preferred. Even though a trade-off exists. There might be some problems with the convergence of the system. Experiments have confirmed that simultaneous adaptive modelling of feedback path and the adaptive filter is problematic. With uncorrelated random noise as the reference signal, the algorithm converges and the effect of the acoustic feedback is properly removed by the modelled feedback transfer function. However, when the primary noise contains narrowband components, the modelled feedback transfer function does not converge properly [KUO, 85]. d(n)

u(n)

P(z)

+

Acoustical Domain Electrical Domain

+

+

+

+ y'(n)

+

-

F(z)

+

e(n)

S(z)

F(z)

x(n)

y(n) W(z)

S(z)

x'(n)

LMS

Fig. 2.Fejl! Ukendt argument for parameter.. Block diagram of a broadband ANC applying feedback neutralisation algorithm.

From Fig. 2.Fejl! Ukendt argument for parameter., the z-transform of the error signal E(z) is: E( z ) = P ( z )U ( z ) − S ( z )Y ( z ) 4 Y ( z ) = W ( z )[U ( z ) + F ( z )Y ( z ) − Fˆ 3 ( z )Y ( z )] .

Λ

If F ( z ) = F ( z ) , then E( z ) = [ P ( z ) − S ( z )W ( z )]U ( z ) .

The last equation leads to the optimum solution of the filter that does not differ from the solution in equation (3).

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

Filtered-U Recursive LMS Algorithm In the previous section the ANC system used an adaptive FIR filter to model the unknown acoustic plant. When considering the system that includes the feedback path, the ANC needs two filters; the first is to model the unknown acoustic plant and the second is to cancel the feedback contamination. The alternative solution is to consider the feedback path as a part of the unknown plant. Equation (4) shows that the overall unknown plant is expressed in form of an IIR filter. The adaptive FIR filter, W(z), with sufficient order with a small step size might be able to model the plant. Thus its convergence rate is slow and is not suitable for an ANC application. The other approach is to model the IIR unknown plant with an adaptive IIR filter. H(z) x(n)

+

+

y(n)

-

F(z)

W(z)

(a) H(z) x(n)

-

y(n)

+

A(z)

B(z)

(b) Fig. 2.Fejl! Ukendt argument for parameter.. The relationship between the feedback neutralisation algorithm and the adaptive IIR filter.

Fig. 2.Fejl! Ukendt argument for parameter. illustrates the relationship between the feedback neutralisation algorithm and the adaptive IIR filter. The transfer function of H(z) in Fig. 2.Fejl! Ukendt argument for parameter. (a) is expressed as: H (z ) =

W (z ) Λ

1 + W (z ) F (z )

This system can be expressed as an IIR filter by defining A( z ) = W ( z )

and Λ

B( z ) = − F ( z )W ( z ) .

Thus the system transfer function, H(z), can be re-written as:

Page Fejl! Ukendt argument for parameter.

.

Fejl! Ukendt argument for parameter.

H(z ) =

A( z ) . 1 − B( z )

This equation shows that the adaptive IIR filter solves the ANC problem that has an inherent feedback path. At this point, one obvious advantage of using a IIR filter is that the designer does not need to model the feedback path transfer function using neither on-line nor off-line modelling that might lead the system to the unstable condition if the modelling strategy is inefficient. Advantages and disadvantages of using an IIR filter in a broadband feedforward ANC system concluded by [KUO, 89] are listed at the end of this section. Feintuch, [KUO, 90] has derived a modified LMS algorithm for an adaptive IIR filter based on Widrow’s LMS method for FIR filter. This section shows the recursive equation for the coefficients of an adaptive IIR filter below. w ( n + 1) = w ( n ) + µ[ sˆ( n ) ∗ u ( n )]e( n ) = w ( n ) + µ ⋅ u ' ( n )e( n ) .

(5)

Where u’(n) is defined as: u ' ( n ) = sˆ( n ) ∗ u ( n )

which is the filtered version of the reference signal, u(n). Thus, this algorithm is called the “Filter-U recursive LMS algorithm”. It should be noted that the following variables are defined as: a ( n ) w( n ) =  , b ( n ) 

and  x(n )  u( n ) =  .  y( n − 1)

These definitions partition equation (5) into two vector equations for adaptive filter A(z) and B(z) as follows: a ( n + 1) = a ( n ) + µ ⋅ x ' ( n )e( n ), b( n + 1) = b( n ) + µ ⋅ ˆy ' ( n − 1)e( n ), x ' ( n ) = sˆ( n ) * x ( n ), ˆy ' ( n − 1) = sˆ( n ) * y( n − 1).

(6)

According to equation (6), a block diagram of the ANC system using the filtered-U recursive LMS algorithm is shown in Fig. 2.Fejl! Ukendt argument for parameter..

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

d(n)

u(n)

+

P(z)

-

+

e(n) y'(n)

S(z)

x(n)

A(z)

+

+

+

B(z)

S(z)

S(z)

x'(n)

LMS

LMS

y'(n)

e(n) Fig. 2.Fejl! Ukendt argument for parameter.. Block diagram of the broadband feedforward ANC system using the filtered-U recursive LMS algorithm.

According to [KUO, 89], the advantages of an adaptive IIR filter are: •

The poles of the IIR filter make the system achieve the same performance as the FIR filter but with a much lower order.



An IIR filter with sufficient order can exactly match poles as well as zeros of a physical system, whereas a FIR filter can give only rough approximations to poles. Therefore, an IIR filter can further minimise the mean square error of the adaptive filter, which is very important for ANC applications.

Based on these advantages it is very interesting to implement an adaptive IIR filter to every ANC application. However, the disadvantages of the adaptive IIR filter are: •

Adaptive IIR filters are not unconditionally stable because of the possibility that some poles of the filter will move outside of the unit circle during the adaptation process. Therefore, monitoring the stability of the filter in every step is necessary. Unfortunately, the monitoring process needs a lot of computation power and takes a lot of time.



The performance surface of the adaptive IIR filter is not quadratic. So, it is possible that the system will converge to a local minimum point.



The convergence rate of an adaptive IIR filter can be much slower than an adaptive FIR filter.

2.2 Narrowband Feedforward Active Noise Control The problem of feedback path effects can be eliminated by employing a non-acoustic sensor that is synchronised with the noise source to generate a reference signal that contains fundamental frequency and its harmonics of the primary noise. The disadvantage of this scheme is that it can cancel noise only in some specified frequencies. These are the fundamental frequency and its harmonics of the reference signal. This section provides a basic concept of narrowband feedforward ANC and concentrates in the waveform synthesis method that is one of the earliest techniques in this field.

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

2.2.1 Structure and Algorithm Basic diagram of a narrowband ANC system using waveform synthesis method is illustrated in Fig. 2.Fejl! Ukendt argument for parameter.. The waveform synthesiser produces a signal y(n) to drive a speaker as a secondary noise. The synthesiser itself is driven by the sync signal which is generated from a nonacoustic sensor and is adjusted by an adaptive unit. The adaptive unit, basically, is driven by the signal from the error sensor. However, it should be noted that in a modified algorithm, the reference signal, x(n), is also used to drive the adaptive unit as in a FXLMS algorithm. Noise Source

Primary Noise

Cancelling Loudspeaker Error Microphone

y(n) Sync Signal

e(n)

Waveform Synthesiser

Adaptive Unit

Fig. 2.Fejl! Ukendt argument for parameter.. A narrowband feedforward ANC system using waveform synthesis method.

The synchronisation pulse can be generated from a toothed wheel driven directly by the noise source engine as shown in Fig. 2.Fejl! Ukendt argument for parameter.. The circuit generates M pulses from one rotation of the engine, where M is the number of teeth of the wheel. Ideally the number of teeth equals to the number of samples per cycle of the output L. However, if these two numbers are not equal, the system needs a frequency multiplier to adjust the numbers. These pulses perform themselves as indexes to the waveform synthesiser weights, wl(n). The secondary signal is generated according to the following equation: y( n ) = w j ( n ) ( n ) .

Where j(n) can be interpreted as pointers to the weights and equal to: j ( n ) = n mod L .

Magnetic Pickup

Electronic Hardware

Synchronization

Toothed Wheel Fig. 2.Fejl! Ukendt argument for parameter.. An example of synchronisation pulse generator.

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

One simple technique, which can be applied to adjust the waveform synthesiser weights, is shown in the following equation. w l ( n ) + µ ⋅ e( n ), l = j ( n ) . wl (n ) =  w l ( n ), otherwise 

The error signal, e(n), does not correspond to the weights, wl(n) exactly at time n. There exists a time delay from the secondary output to the error microphone input. The former equation can be modified to: w l ( n ) + µ ⋅ e( n ), l = j ( n − ∆ ) , wl (n ) =  w l ( n ), otherwise 

where ∆ represents the amount of sample delay.

2.2.2 Other Approaches Other approaches of narrowband ANC have been developed: •

Adaptive Notch Filter,



Multiple Frequency Narrowband ANC



Narrowband Active Noise Equaliser.

These algorithms give very well performance over the frequency of interest. However, the disadvantage is that they can only cancel noise at frequencies, which are harmonics of the fundamental frequency detected by the sensor.

2.3 Feedback Active Noise Control In previous sections the feedforward ANC system needs at least two sensors for both reference signal and error signal. The existence of the reference sensor might introduce either the feedback path effect for acoustic sensor or difficulties of installation of a non-acoustic sensor. A feedback ANC system that uses only an error sensor, which eliminates the mentioned problems, is presented in this section.

2.3.1 Classical Feedback ANC Olson and May first introduced the feedback ANC system in 1953 [KUO, 188]. A single-channel acoustic feedback ANC system is depicted in Fig. 2.Fejl! Ukendt argument for parameter.. The system tries to create a quiet zone around the error microphone using the secondary source driven by the feedback controller. The controller should provide an overall gain greater than 1 and a 180 degrees phase shift. It should be noted that classical feedback ANC does not implement an adaptive algorithm. The controller W(ω) has a static characteristic which needs to be designed carefully.

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

Noise Source

Error Microphone

Primary Noise

e(n) Cancelling Loudspeaker

y(n)

Feedback controller

Performance Analysis

Fig. 2.Fejl! Ukendt argument for parameter.. A single channel acoustic feedback ANC system.

H(z) d(n) +

e(n)

+ -

y(n) S(z)

W(z)

Fig. 2.Fejl! Ukendt argument for parameter.. Block diagram of an ANC system using feedback control.

A block diagram of an ANC system using feedback control is illustrated in Fig. 2.Fejl! Ukendt argument for parameter.. Under steady-state conditions, the z-transform of the error signal, e(n), can be expressed as: E( z ) =

D( z ) . 1 + S ( z )W ( z )

(7)

Therefore, the closed-loop transfer function from the primary noise to the measured error signal is: H (z ) =

E( z ) 1 . = D( z ) 1 + S( z )W ( z )

Significant noise reduction can be achieved by designing the controller W(z) to have a large gain over the frequency band of interest [Kuo, 193]. However, the frequency response of the secondary path, S(z), is naturally not flat and is not free from phase shift. If phase shift of the open-loop transfer function, S(z)W(z), approaches to 180 degrees, the system can become unstable.

2.3.2 Adaptive Feedback ANC Eriksson and Allie in 1993 [KUO, 195] proposed a single channel adaptive feedback ANC system. The technique can be viewed as a feedforward ANC system that, in contrast, generates its own reference signal based on the filter output and the error signal. Fig. 2.Fejl! Ukendt argument for parameter. shows the block diagram of a simple adaptive feedback ANC system.

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

d(n)

+

e(n)

-

y(n)

x(n)

+

W(z)

S(z)

S(z)

x(n)=d(n)

+

Fig. 2.Fejl! Ukendt argument for parameter.. Block diagram of a simple adaptive feedback ANC system.

The basic idea is to estimate the primary noise d(n) and use it as a reference signal x(n). The z-transform of the primary noise is shown in the following equation. D( z ) = E( z ) + S ( z )Y ( z )

If the secondary path transfer function can be estimated as Sˆ( z ) , one can regenerate the estimated primary noise and consider it as a reference signal of the system. X ( z ) = Dˆ ( z ) = E( z ) + Sˆ( z )Y ( z )

By using this concept, one can apply the FXLMS algorithm to an adaptive feedback ANC system. An example of the system is depicted in Fig. 2.Fejl! Ukendt argument for parameter.. In this diagram, the estimated secondary path transfer function is also required to compensate the secondary path effect as well as to compute the reference signal. The analysis is the same as described in section 2.1.1. d(n)

+

W(z)

S(z)

e(n)

-

y(n)

x(n)

+

S(z)

S(z)

x'(n) LMS

+

d(n)

+

+

Fig. 2.Fejl! Ukendt argument for parameter.. Block diagram of an adaptive feedback ANC system using the FXLMS algorithm.

For the system in Fig. 2.Fejl! Ukendt argument for parameter., the z-transform of the error signal can be expressed as: E( z ) = D( z ) − S( z )Y ( z )

where: Y ( z ) = W ( z )[ E( z ) + Sˆ( z )Y ( z )] .

Thus, the output from the filter can be written in the following form:

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

Y (z ) =

W ( z )E( z ) Λ

1 − S ( z )W ( z )

E(z) can then be written as:  W ( z )E( z )  E( z ) = D( z ) − S( z ) ,  1 − Sˆ( z )W ( z )  . D( z ) 1 − Sˆ( z )W ( z ) E( z ) = 1 + S( z ) − Sˆ( z ) ⋅ W ( z )

[

[

]

]

If Sˆ( z ) = S ( z ) , the overall transfer function of the system is: H(z ) =

E( z ) = 1 − S ( z )W ( w ) . D( z )

Thus, under ideal conditions, ( Sˆ( z ) = S ( z )) , the adaptive feedback ANC system is transformed into a feedforward ANC system, as shown in Fig. 2.Fejl! Ukendt argument for parameter., [KUO, 199], as the acoustic plant does not exist in a feedback system. From the transformed system shown in Fig. 2.Fejl! Ukendt argument for parameter., if we assume that the step size is small and the secondary path transfer function is pure delay, the system can be rearranged as shown in Fig. 2.Fejl! Ukendt argument for parameter.. This system is then considered as an adaptive prediction system. The adaptive filter W(z) of the feedback ANC system acts as an adaptive predictor of the primary noise d(n) to minimise the residual noise e(n), so the performance of the adaptive feedback ANC system depends on the predictability of the primary noise d(n) [KUO, 198]. d(n)

+

z

e(n)

y(n)

x(n) -

+

W(z)

LMS

Fig. 2.Fejl! Ukendt argument for parameter.. Block diagram of an adaptive prediction system.

2.3.3 Feedback Waveform Synthesis Method The concept of adaptive feedback ANC can be applied to the narrowband ANC. The advantage of using a feedback scheme is that the ANC system does not required a non-acoustic sensor. In this scheme, the waveform synthesis method can be used to generate synchronous pulses to drive the adaptive filter W(z). Fig. 2.Fejl! Ukendt argument for parameter. illustrates a system of narrowband adaptive feedback ANC using the waveform synthesis method. The details of waveform synthesis method have been presented in 2.2.1.

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

Noise Source

Error Microphone

Primary Noise

y(n) W(z)

Sync Pulse

S(z)

Phase Locked Loop

+

Fig. 2.Fejl! Ukendt argument for parameter.. Block diagram of a narrowband adaptive feedback ANC using waveform synthesis method.

2.4 Hybrid Active Noise Control It has been described in section 2.1 and section 2.2 that feedforward ANC system is able to attenuate both broadband and narrowband noises. The condition is that the picked-up signal from the reference microphone, x(n), needs to have high coherence with the primary noise presented to the sound field d(n). The system can not cancel noise that does not provide a high enough degree of coherence with the reference signal. In contrast, the feedback ANC described in section 2.3 does not depend on the coherence of the picked-up signals, since the system needs only one sensor to measure the residual error, e(n). It then produces the reference signal by itself. However, it can attenuate the predictable components of the primary noise. A combination of the feedforward ANC and feedback ANC structures seems to be a good solution and is a so called hybrid ANC system. Fig. 2.Fejl! Ukendt argument for parameter. illustrates an acoustic ANC system that implements both feedforward and feedback controllers. The filter applied for the adaptive systems can be either a FIR filter using the FXLMS algorithm or a IIR filter using the filtered-U LMS algorithm as will be described in the following sections. Noise Source

Primary Noise Cancelling Loudspeaker Refference Microphone

Error Microphone

x(n) Feedforward ANC

y(n)

+

e(n) Feedback ANC

Fig. 2.Fejl! Ukendt argument for parameter.. An acoustic ANC system that implements both feedforward and feedback controllers.

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

2.4.1 Hybrid ANC with FIR Feedforward ANC The block diagram of a hybrid ANC system using the FIR filter is illustrated in Fig. 2.Fejl! Ukendt argument for parameter.. The system has two reference inputs, x(n) from the reference microphone for the feedforward ANC filter, W1(z), and dˆ( n ) , which is generated from the error signal by a feedback ANC algorithm for the second ANC filter, W2(z). The secondary noise, y(n), is the summation of the output from both the feedforward ANC and the feedback ANC. x(n)

d(n)

P(z)

+ -

e(n)

+ y'(n)

W1(z) S(z)

x'(n)

LMS1 LMS2

d´(n) S(z)

W2(z)

+

y(n)

S(z)

S(z)

d(n)

e(n)

+

Fig. 2.Fejl! Ukendt argument for parameter.. Block diagram of hybrid ANC system using FIR filter with FXLMS algorithm.

If the length of both FIR filters is L, the expression of the secondary signal, y(n), is y( n ) = w 1T ( n )x ( n ) + w 2 T ( n )dˆ( n )

where w 1( n ) = [w 10 ( n ) w 11( n ) ... w 1L −1( n )]T

and w 2( n ) = [w 2 0 ( n ) w 21( n ) ... w 2 L −1( n )]T .

The FXLMS algorithm for adaptive filters W1(z) and W2(z) can be expressed as: w 1( n + 1) = w 1( n ) + µx´( n )e( n ) ,

and w 2( n + 1) = w 2( n ) + µdˆ´( n )e( n ) ,

where x´(n) and dˆ( n ) are the filtered reference signal vectors, x´( n ) = sˆ( n ) ∗ x ( n ) ,

and

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

dˆ´( n ) = sˆ( n ) ∗ dˆ( n ) .

2.4.2 Hybrid ANC with IIR Feedforward ANC To complete the ANC system described in the previous section, the techniques for feedback path effects cancellation are needed. IIR filter using filtered-U recursive is one of those techniques and has been described in section 2.1.2. The block diagram of hybrid ANC system using the IIR filter with the filtered-U recursive LMS algorithm is depicted in Fig. 2.Fejl! Ukendt argument for parameter.. x(n)

+

P(z)

W1(z)

d(n)

+

S(z)

x'(n)

y'(n) y(n)

-

e(n)

S(z)

W3(z) LMS1 LMS2 S(z)

d´(n) S(z)

+

W2(z)

d(n)

LMS3

+

e(n)

Fig. 2.Fejl! Ukendt argument for parameter.. Block diagram of hybrid ANC system using IIR filter with the filtered-U recursive LMS algorithm.

W1(z) and W3(z) forms an IIR filter in the feedforward portion of the adaptive system while W2(z) is a FIR filter in the feedback portion of the adaptive system. All calculations have been described in previous sections. In both cases, the adaptation step size µ, can be either the same value for both feedforward and feedback mechanism or calculated separately. But, one should be aware of the system stability. It shall be noted that if the delay between the secondary source and the error sensor is small, the coherence between the primary and the reference signals will be higher. Thus the performance improvement from the use of the hybrid ANC system over the feedforward ANC system alone is relatively small [KUO, 210].

2.5 Summary ANC systems can be implemented by using either FIR or IIR filters. Use of a FIR filter ensures the system stability and the global convergence. But, in many cases, the filter should have a high order that might consume a lot of computation power. On the other hand, the ANC systems, which implement IIR filters need not to be high order filters. However, the costs are stability and convergence problems. The ANC systems using IIR filters might converge to the local minimum instead of global minimum. Feedforward

Feedback

Page Fejl! Ukendt argument for parameter.

Hybrid with FIR Hybrid with IIR

Fejl! Ukendt argument for parameter.

Filter Order

Moderate

Spectral capacity

Broadband narrowband

Plant noise

Not canceled

Noise field coher- Coherence only ence

High and Narrowband only Good cancellation

filter

filter

Moderate/low

Low

Broadband narrowband

and Broadband narrowband

Good cancellation

and

Good cancellation

Coherence or inco- Coherence or inco- Coherence or incoherence herence herence

Table. 2.Fejl! Ukendt argument for parameter.. Comparison of the behaviour of ANC systems [KUO, 212].

Table. 2.Fejl! Ukendt argument for parameter. compares the ANC systems based on criteria. To implement a system, there is a trade off. One should consider the requirements of the overall system in order to choose the scheme.

Page Fejl! Ukendt argument for parameter.

3. Analysis 3.1 Local Control This section is based on chapter 11 in [N&E] and describes the local control, where the noise is only reduced in part of the enclosure, a so-called zone of quiet. It is done by means of controlling the pressure at a single point (an error microphone), with a secondary source, and the zone of quiet surrounds the error microphone. The size and placement of the secondary source has a great influence on the amount of reduction and the size of the quiet zone. According to [F&F] there are three main parameters that define an application of active noise control: •

The Spatial Extent: size of the region to be controlled. Is it small or large compared to wavelength? The larger the region of control, the more difficult is the task.



The Spectral Extent: accounts for both the noise and the performance criterion. A broad band is more difficult to control than a narrow band.



Are the transfer functions from control actuators to control sensors those of a resonant system? The difficulty increases the more resonant the transfer function gets. One should use a sensor/actuator combination, which does not couple to structural dynamics (Panels and car body for instance).

Their view has restricted itself to linear time-invariant systems though. For more details about the principle behind control of sound see appendices A and B.

3.1.1 Optimum Secondary Source Strength With the sound field in an enclosure driven by a pure tone primary source of complex strength qp and a secondary source of strength qs placed at positions yp and ys respectively, the complex pressure at a given point x0 is given by:

(

)

p (x 0 ) = Z x 0 | y p q p + Z (x 0 | y s ) q s ,

where Z(x|y) is the complex acoustic transfer function between the points x and y. There are no causality restrictions, as the sound field is only excited with a constant single tone, and the optimum source strength qs0, which drives the pressure at x0 to zero is given by: qs 0 = −

(

Z x0 |yp

)q

Z (x 0 | y s )

p

.

Using a modal formulation expressed in appendix A it can be written as:

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.



∑ A ψ (x )ψ (y ) n

qs 0 = −

n

0

n

p

n =0 ∞

∑ A ψ (x )ψ (y ) n

n

0

n

qp,

s

n =0

where An are the complex mode resonance terms [N&E, 322], and ψn are the mode shape functions (see appendix A for a description of damped modes in enclosed fields). If the frequency is close to the natural frequency of a lightly damped acoustic mode and the modal overlap is very small, so that there is only one dominating mode at n=d the above expressions simplifies to: qs 0 ≈ −

ψ d (y p )

ψ d (ys )

qp .

In this case the optimum secondary source strength is not a function of the position of the error microphone, and global control is achieved. In cases where the modal overlap is high, and the distance between primary and secondary source is larger than a wavelength [N&E, 357] global control is not possible. If the sound field is diffuse, and the distance between the secondary source and the error microphone is large, the microphone picks up very little of the direct field. The statistical behaviour of the pressure close to the microphone (the zone of quiet) is determined by the statistical properties of the diffuse sound field.

3.1.2 Diffuse Field The sound field can be considered diffuse when the frequency exceeds fSch given by [N&E, 359]: f Sch = 2000 (T60 V ) ,

meaning that even with just a pure tone the sound field is diffuse. When the sound field is diffuse, the real part and the imaginary part of the complex pressure are statistically independent. It is assumed that the pressure at a given point consists of the sum of many plane waves whose modulus and phase are statistically independent of one another. Also the spatial cross-correlation R(∆x) defined by: R( ∆x ) = 〈 p ∗ ( x 1 ) p( x 2 )〉 ,

where denotes spatial averaging, and p(x1) and p(x2) are the complex acoustical pressures at positions x1 and x2. Assuming that the statistical properties are stationary and ergodic with respect to position R(∆x) is only a function of the modulus of the distance between the positions x1 and x2, so ∆x=|x2-x1|. For the nth plane wave propagating at an angle θn to the line joining the points x1 and x2 the complex pressures at these points are related by [N&E, 359]: p n ( x 2 ) = p n ( x 1 )e − jk∆x cosθ n .

Inserting this in the definition of R(∆x) and summing the pressures introduced by all the incoming plane waves yields:  1 R( ∆x ) = 〈  lim N →∞ N 

N

∑ n =1

 1 p n ∗  lim N →∞ N 

where pn is complex and given by: p n = p n e jφn ( x ) .

Page Fejl! Ukendt argument for parameter.

N

∑p e n

n =1

− jk∆x cosθ n

 〉 , 

Fejl! Ukendt argument for parameter.

Assuming that for dissimilar propagation directions the contributions to the products average to zero leads to the spatial cross-correlation: N

1 N →∞ N

∑p

R( ∆x ) = lim

n

2 − jk∆x cosθ n

e

n =1

According to [N&E, 359-360] assuming that contributions to the summation of |pn|2 are the same for all directions of propagation, the spatial correlation function becomes: R( ∆x ) = 〈| p( x )|2 〉 sinc k∆x .

Dividing this by the spatially averaged modulus squared pressure gives the normalised spatial correlation function:

ρ ( ∆x ) =

R( ∆x ) 2

〈 p( x ) 〉

sinc k∆x

By using a modal model as in appendix B and assuming that the damping ratio is constant, then above the Schroeder frequency fSch the space-averaged modulus squared pressure becomes [N&E, 361]: 2

〈 p( x ) 〉 =

ωρ 02 c 0 2 q( y ) . 8πVζ

Using a model for oblique modes [N&E, 319] and assuming an average absorption coefficient that falls linearly with frequency, this can be written as: 2

〈 p( x ) 〉 =

ω 2 ρ0 2 q( y ) . π Sα

According to [N&E, 361] the average power output of a monopole sound source in a diffuse sound field is the same as that in free field and is: 〈W 〉 =

ω 2 ρ0 2 q( y ) , 8π c 0

where is the space-averaged power. Now the space-averaged modulus squared pressure can be expressed as a function of the space-averaged source power output: 2

〈 p( x ) 〉 =

8ρ0c 0 〈W 〉 Sα

The transfer impedance between pressure at point x and the source strength at point y ,|Zr(x|y)|, is given by: 2

〈 Z r ( x| y ) 〉 =

ωρ 02 c 0 , 8πVζ

and is due to the “reverberant” field only. The real part of the transfer impedance seen by a point source in free field is given by: Z0 =

ω 2 ρ0 , 4π c 0

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

so the ratio between the transfer impedance due to the reverberant field and that due to the “direct” free field is: 2

〈 Z r ( x| y ) 〉

Z 02

=

2π c 03 . ω 3Vζ

In an enclosure whose response is dominated by oblique modes this can be written as: 2

〈 Zr ( x| y ) 〉 Z 02

2 = 3π

3

 f Sch   ,   f 

so at frequencies above the Schroeder frequency the ratio decreases with the cube of the excitation frequency. Zone of Quiet, with Large Distance between Secondary Source and Error Microphone Assuming a pure tone diffuse sound field and large distance between the secondary source and the error microphone, the pressure at a position ∆x from the error microphone x0, p(x0), can be decomposed into a perfectly correlated part and an uncorrelated part, which are spatially orthogonal [N&E, 362]: p( x 0 + ∆x ) = p c ( x 0 + ∆x ) + p u ( x 0 + ∆x ) .

When p(x0) is driven to zero, so is pc(x0+∆x). The pressure at x0+∆x in this case is due to the uncorrelated component only, and is given by:

[

]

〈 p (x 0 + ∆x ) 〉 = 〈 p (x ) 〉 1 − sinc 2 k∆x , 2

2

where is the space-averaged modulus squared error after control. In general if p(x0) is driven to zero then:

[

]

〈 p (x 0 + ∆x ) 〉 = 〈 p (x ) 〉 1 − ρ 2 (∆x ) 2

2

These expressions define the average zone of quiet when the pressure at the microphone is driven to zero. According to [E&N, 363-364] they have been verified by experiments in a reverberant chamber with a reverberation time of about 0.4 s, giving a Schroeder of about 330 Hz. The primary source was a loudspeaker driven at 572 Hz and placed remotely from both secondary source and error microphone. The results can be seen in Fig. 3.Fejl! Ukendt argument for parameter..

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

Fig. 3.Fejl! Ukendt argument for parameter.. The average squared pressure, divided by that of the primary field. (- - -) is the theoretical prediction.

These will certainly not be the conditions in the car though, so the results may not be directly applicable, but they show that there is an increase in the modulus-squared pressure when more than 0.1 wavelength away from the error microphone. The space-averaged modulus squared pressure is in this case given by: 2

[

]

〈 p (x 0 + ∆x ) 〉 = 3.8 〈 p p (x ) 〉 1 − sinc 2 k∆x . 2

An improvement can be obtained by using two error microphones and minimising the sum of the squared pressures. The results from this approach with various distances from the centre point of the axis joining the two microphones ∆x and various separations between the two microphones ∆r are shown in Fig 3.Fejl! Ukendt argument for parameter..

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

Fig 3.Fejl! Ukendt argument for parameter.. The average squared pressure, divided by that of the primary field with microphones ∆r distance apart.

The space-averaged squared sound pressure is lowered by the use of two error microphones and when increasing the microphone separation the size of the zone of quiet increases when defined by the distance where at least 3 dB reduction is accomplished. The zone of quiet splits up into two zones of approximately 3 dB reduction around the microphones separated by an increase between the microphones when the microphone separation exceeds half a wavelength.

3.1.3 Cancellation in the Near Field of Secondary Source When the secondary source is placed close to the error microphone the zone of quiet is almost deterministically controlled by the near-field characteristics of the secondary source, and the secondary source strength is much reduced and largely independent of the statistical properties of the sound field. Considering the transfer impedance between the secondary source and the error microphone to have two components, one due to reflected sound Zr(x0|ys), and one due to direct sound Zd(x0|ys), the optimum secondary source strength qs0 can be written as: qs 0 = −

Z( x 0 | y p ) q p Zd ( x 0 | y s ) + Zr ( x 0 | y s )

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

If the secondary source is close to the error microphone Zd(x0|ys) is relatively large, and qs0 becomes small even if Zr(x0|ys) should become small due to poor coupling between secondary source and error microphone. It should be avoided that qs0 becomes large, indicating that the secondary source should be placed close to the error microphone. If the pressure field at a small distance from x0 due to the primary source is pp(x0+∆x) and the reverberant field is ignored, it can be written as: p( x 0 + ∆x ) ≈ p p ( x 0 + ∆x ) + Z d ( x 0 + ∆x | y s ) q s 0 ,

and inserting this in the equation above with use of the relationship pp(x0)=Z(x0|yp)qp and again ignoring the reverberation field yields: p( x 0 + ∆x ) ≈ p p ( x 0 + ∆x ) −

Z d ( x 0 + ∆x | y s ) p p (x0 ) Zd ( x 0 | y s )

[N&E, 370-371] get to the following expression for ratio of the space-averaged modulus squared pressure to the space-averaged squared pressure due to the primary source alone: 2

2

〈 p( x 0 + ∆x ) 〉

ρ 0c c = k 2 ∆x 2 , zd (ys )

2

〈 p p (x0 ) 〉

with the assumption that only small distances from the error microphone are considered so that the normalised spatial correlation coefficient ρ(∆x) is taken as being unity; zd(ys) is the specific acoustic impedance of the pressure field due to the secondary source. With a point monopole source the specific acoustic impedance at the cancellation point is:  jkr0 z ( r0 ) = ρ 0 c 0   1 + jkr0

  , 

where r0=|x0-ys|. Inserting this the ratio becomes: 2

2

〈 p( r0 + ∆r ) 〉 2

〈 p p ( r0 ) 〉



(1 + k 2 r02

 ∆r  )  ,  r0 

and assuming that (kr0)21, then: 2

〈 p( r0 + ∆r ) 〉 2

〈 p p ( r0 ) 〉

≈ k 2 ∆r 2 < ε ,

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

and the extent of the zone of quiet is within: ∆rε =

2 ε ε = λ k π

[N&E, 372-374] describes the results of some practical experiments examining the zone of quiet in the near field of a piston like secondary source. Fig. 3.Fejl! Ukendt argument for parameter. shows results of an experiment where the error microphone was placed one tenth of a wavelength from the centre of a loudspeaker at 572 Hz. 3 different plots are shown, one for each of the following speaker cone radii: 10 mm (a), 55 mm (b) and 110 mm (c).

Fig. 3.Fejl! Ukendt argument for parameter.. The average squared pressure at various distances from the secondary source.

The x-axis is believed to represent the distance from the secondary source on axis, although it is labelled as the difference between error microphone and secondary source and the y-axis is assumed to represent the average squared pressure increase, although the opposite is labelled. The dashed lines show the theoretical responses. If this interpretation is correct, the error microphone is placed at x=0.1, where the reduction is of course the greatest, and the speaker is placed at x=0. It can be seen that the zone of quiet is increased with a larger loudspeaker cone. Fig. 3.Fejl! Ukendt argument for parameter. shows the effect on the axial extent of the 10 dB quiet zone when changing the axial distance between the error microphone, and the centre of a secondary piston source of 50 mm radius.

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

Fig. 3.Fejl! Ukendt argument for parameter.. The axial extent of the zone of quiet, within which the pressure has been reduced by 10 dB.

The x-axis represents the frequency in Hz and the y-axis represents the size of the 10 dB quiet zone in the axial direction. It can be seen that an increase in distance between error microphone and secondary source leads to an increase in the 10 dB zone of quiet at low frequencies, but approaches one tenth of a wavelength at higher frequencies. This indicates that the secondary source should be large, and that the distance between error microphone and secondary source should be large.

3.2 Noise Measurements This section describes how measurements of the noise inside the car cabin have been done, and how the measurements have been analysed.

3.2.1 Measuring Procedure In order to make suitable measurements, it is considered where to place the microphones during the measurements. They should be placed at positions that are candidates for microphone and speaker placement in the ANC system. Loudspeaker Placement By placing the loudspeaker at an anti-node, it requires a minimum of energy to cancel the acoustically mode. Normally the modes with the three lowest orders have common anti-nodes in the corner of the cabin [OSW, 488]. This means that placing the loudspeaker in the corner has fewer requirements for energy. One of the disadvantages of this placement is that the passenger might change the transfer function from the loudspeaker to the cancellation region when moving the seat or maybe just the legs if the loudspeaker is mounted at the bottom of the car cabin. Then a static transfer function cannot be used in the system, thus on-line calculation of the transfer function has to be implemented. This requires much more computation power. If the loudspeaker is mounted close to the ear e.g. in the headrest, it is also close to the cancellation region. Therefore the sound pressure from the loudspeaker should be less, than if there is a long distance

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

between the loudspeaker and the cancellation region. So putting the loudspeaker close to the ear is a good idea, because it requires less energy to reduce the noise in the cancellation region. This also means that the transfer function from the loudspeaker to the cancellation region is minimised, because the surroundings have relatively less influence, and in addition, if the loudspeaker is mounted in the headrest the transfer function is not so dependent on the position of the seat. One solution could be to make a system with more than one loudspeaker, which combines the advantages of the methods above. One in a corner, which should reduce low frequency noise and especially acoustically low order modes, and a smaller loudspeaker close to the ears, or maybe one for each ear, to reduce the higher frequency noise. However, this kind of system would be a multiple channel system, which is more complicated than a single channel system. Therefore it is decided not to make such a system in this project. Of course the most convenient way is to use the build-in loudspeakers in the car, because then no extra loudspeakers should be used. There are two build-in loudspeakers in the car. They are mounted in each side of the dashboard just above the knees of the passenger/driver. Unfortunately the quality of the buildin loudspeakers is not good, but some measurements and investigations concerning frequency range and maximum load have to be done, before it is possible to say if the loudspeakers are useful for this application. This not been done though, because of lack of time. Microphones The reference-microphone should be close to the noise source in order to pick up as much noise as possible. Thereby a less sensitive microphone can be used, which prevents feedback from the loudspeaker. Therefore it might be an advantage to put a microphone close to each noise source if possible. For example one close to the engine, another one close to the wing to pick up the noise from the tyres and one close to the window to pick up noise caused by the wind. The optimum placement of the error-microphone is as close to the ear as possible. The reason for this is to prevent changes in the transfer function from the error-microphone to the cancellation region.

3.3 Noise Recording The easiest way to analyse the noise within the car is to record it at several places and then analyse the recordings afterwards. In this case it was decided to do the recordings with an eight-track harddisk recorder. The microphones were placed as follows: •

One in the corner. This one also picks up the noise from the tyres.



One in the front end of the cabin for picking up engine noise.



One close to the window to pick up noise caused by the wind.



One at each ear.



One at the build-in loudspeaker.

The recordings were done with a person on the passenger seat in order to make the surroundings as realistic as possible. Microphones were put in this person’s ears in order to find out how the human ear affects the noise.

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

The noise was recorded with the car in different situations. These situations should represent a normal driving. The measuring report, appendix D, contains a list of the recordings with a short description of the situation, as well as other details about the measurements. It is important to make sure that the signals from the microphones not overload any of the following circuits. But it is also a good idea to amplify the signals as much as possible to make use of the dynamic range of the harddisk recorder and thereby get a better S/N-ratio. Thus a test drive with a lot of noise was done for adjusting the gain of each channel. In order to know where the noise is loudest it is necessary to take the gain of the amplifiers and the sensitivity of the microphones into account. Sending the same signal to all the microphones, i.e. with a calibrator, and then record the signal made it possible to normalise the measurements. Normalisation In the beginning of all recordings a 1 kHz calibration tone of 94 dB SPL was inserted. Based on this calibration signal the recordings were normalised to the same level. As some recordings were to be amplified and some to be attenuated all 8 recordings were converted from 16 bits to 32 bits in order not to loose information when scaling. The sound pressure level of the original calibration signal (94 dB SPL) corresponds to 28,19 dB below the maximum sample value (0 dB). This means that the maximum sample value is at 94 dB + 28,19 dB = 122,19 dB SPL.

3.3.2 Joint Time Frequency Analysis of Noise Measurements This kind of analysis has been made in order to estimate in one hand the frequency content of the signal, which has to be cancelled, and in the other the bandwidth of the system which has been designed. To reach this goal, a joint time frequency analysis (JTFA) program has been implemented using a short time Fourier algorithm. Its structure is presented in appendix C. A lot of measurements have been recorded but only the non-stationary (recordings from the car during acceleration) need a JTFA because a Fourier analysis would be sufficient otherwise. The reason for using an acceleration signal and JTFA has been chosen because the signal contains all information concerning the evolution of the noise in the car cabin according to the speed and the gear number. Otherwise numerous recordings would be needed at different speeds and gears, and it would be impossible to get any information on the transitional signal between each change of speed. The load of work would in this case be overwhelming. The following figure is one of these spectrograms showing acceleration from 2nd gear to 110 km/h in 5th gear.

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

Background noise between 2 rays

3rd ray corresponds to the 2nd harmonic of the fundamental

Fundamental directly from the engine Low frequency noise from tyre rotations Gear Number

2

3

4

5

Fig. 3.Fejl! Ukendt argument for parameter.. Spectrogram of acceleration from 2

nd

th

to 5 gear.

It can be seen from the figure that there are 4 types of noise in the car cabin. The first one is a very low frequency noise form 20 to 60 Hz, which might be due to the rotation of the tyres on the road (Fig. 3.Fejl! Ukendt argument for parameter. shows a zoom in the frequency domain from 20 to 160 Hz). The second type is the noise from the fundamental of the engine, which is directly correlated to the speed of the car. On the figure this type is represented as the clear dark line at the bottom. The engine itself generates another type of noise; all the harmonics of the engine’s fundamental tone. On the figure they are parallel to the fundamental tone. The last type is the background noise, which is due to the car penetration in the air. Its nature belongs to the white noise shape because it excites all the frequencies at about the same level.

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

Fundamental directly from the engine

Low frequency noise from tyre rotations which is not directly correlated with the noise from the engine

Gear Number

2

3

4

5

Fig. 3.Fejl! Ukendt argument for parameter.. Zoom in the range 20 to 60 Hz.

3.4 IR measurements This section contains a short description of the measuring procedure and a short analysis of some of the impulse responses measured in the car. A measurement report containing details about the measurements is found in appendix D.

3.4.1 Measuring procedure Impulse responses have been made with two different loudspeakers, a small VIFA speaker mounted in a ball shaped plastic cabinet, and a much larger ElectroVoice loudspeaker. Two different positions of the ElectroVoice were measured, close to the headrest and not so close. The Vifa was placed just above the passengers’ head. The MLLSA system was used, which uses Maximum Length Sequence to determine the impulse response as the cross-correlation between input and output. The car was in the garage at NOVI-2 during the measurements to decrease the background noise level. Unfortunately this gives a disadvantage from this, as it was possible to see components (though very weak) in some of the impulse response measurements, which could only be reflections from the garage boundaries. But it is assumed that these reflections are so delayed and weak that they have no significance. All measurements were carried out at least two, often three or four times, to verify that the measurements are reliable and repeatable. The measured impulse responses contain all information needed for time and/or frequency analysis.

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

3.4.2 Time domain analysis Fig. 3.Fejl! Ukendt argument for parameter. shows smoothed impulse responses from the ElectroVoice at both positions and from the Vifa, to the microphone placed at the left side of the headrest. The smoothing is a Moving Average of length 10. IR, with 3 different speaker set-ups and microphone at headrest left 0 EV not close EV close Vifa

-20

dB re 1 Pa/volt

-40

-60

-80

-100

-120

0

50

100

150

200 250 300 time in milliseconds

350

400

450

500

Fig. 3.Fejl! Ukendt argument for parameter.. Impulse response smoothed, for ElectroVoice close and not close and Vifa.

The figure shows that the Vifa speaker does not give as much acoustic output, at least at the chosen position, as the EV, as it reaches the noise floor much faster. The highest peak (direct sound) is not surprisingly created by the EV close to the headrest. Interestingly, after about 20ms there is approximately the same level from the EV in the two different positions. This is because the cabin is excited with the same amount of energy, and at this time the only contribution to the impulse response is due to reflections. The impulse responses from the ElectroVoice close to the microphone at headrest left, right and at the engine are shown in Fig. 3.Fejl! Ukendt argument for parameter..

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

IR, with EV close and microphone at headrest left, right and at engine 0 Headrest left Headrest right Engine

-10 -20

dB re 1 Pa/volt

-30 -40 -50 -60 -70 -80 -90 -100

0

50

100

150

200 250 300 time in milliseconds

350

400

450

500

Fig. 3.Fejl! Ukendt argument for parameter.. The IR's from the EV speaker close to headrest, with microphone at headrest left , right and at engine.

This shows that the direct sound comes much later to the engine as expected, but also it is very small in amplitude, compared to the IR’s at the headrest. These are much alike for the first 10 milliseconds, but then for the next 25 milliseconds the IR at headrest left is about 5-10 dB lower than at headrest right. Generally the amplitude of the IR at the engine microphone is slightly lower than at the headrest with this set-up.

3.4.3 Frequency domain analysis FFT of IR’s have been made giving the transfer functions. Fig. 3.Fejl! Ukendt argument for parameter. shows the frequency domain transfer functions of the IR’s shown in Fig. 3.Fejl! Ukendt argument for parameter.. The FFT length is 4096 and no smoothing has been applied.

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

Transfer functions from the 3 speaker set-ups to headrest left 0

-10

a P 1 er B d ni e d ut i n g a M

-20

-30

-40 EV not close EV close Vifa

-50

-60 2

10 Frequency in Hz

Fig. 3.Fejl! Ukendt argument for parameter.. The transfer functions from EV close and not close and from Vifa, to headrest left.

It is clear that the EV close gives the highest pressure at the microphone position, about 20 dB more than the Vifa at the same voltage. Both the Vifa and the EV close to the headrest have much smoother transfer functions than the EV when placed not so close to the headrest. The sharp dips for the EV not close suggest that there are modes, which the speaker cannot couple to effectively at this position. The curve forms have some common characteristics, which are probably due to natural modes in the cabin. The EV speaker close to the headrest and the Vifa speaker do in this situation have transfer functions which are quite alike, except for the magnitude. Therefore it is not possible to make a choice of speaker based on this alone. However as stated in section 3.1.3, a large cone size can increase the extent of the quiet zone, and therefore the EV is chosen for implementation of the ANC system.

3.5 A-weight filter The idea is to introduce some parameters related to the human physiology in the system. The goal of the ANC system is to improve the acoustical comfort for the listener in a car. Obviously, the only way to catch the sound at the listener’s position is to use the error microphone. The acoustical transfer function between the ear and error microphone, as well as the transfer function of the ear itself, also has to be included if the signal perceived by the listener is to be estimated correctly. In the following the ear’s transfer function and the acoustical transfer function between the ear and the error microphone is presented.

3.5.1 Theoretical aspect The human ear transforms resonant pressures into audible sensations, which have a limited sensitivity and are variable according to the frequency and the level of the sound. It perceives only the sounds whose frequencies are situated between 20 Hz and 20 kHz. It is more sensitive to mediums and trebles than bass. For example, if the ear perceives a sound of 40 dB at 1 kHz, it will have the same impression as if it hears

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

a sound of 55 dB at 100 Hz. For each audible sensation a curve connecting the frequency to a sound level that produce the same sensation can be made. Fletcher and Munson were researchers who in 1933 first measured and published a set of curves showing the human ear's frequency sensitivity versus loudness (Fig. 3.Fejl! Ukendt argument for parameter.). The curves are still used and they show the ear to be most sensitive to sounds in the 3 kHz to 4 kHz area. A range corresponding to ear canal resonances.

Fig. 3.Fejl! Ukendt argument for parameter.. The dBA curve published by Fletcher and Munson.

If you want to estimate the signal you hear, you therefore need to incorporate a filtering of the acoustic signals according to frequency. This filtering is devised to correspond to the varying sensitivity of the human ear over the audible frequency range. This filtering is called A-weighting. Sound pressure level values obtained using this weighting are referred to as A-weighted sound pressure levels and are signified by the identifier dBA. The dBA characteristic has originally been designed to mirror the 40-phon equal-loudness-level contour of the Fletcher-Munson data, which are shown in Table 3.Fejl! Ukendt argument for parameter.. Frequency (Hz) A weight (dB) Frequency (Hz)

10

12,5

16

20

25

31,5

40

50

63

80

100

125

-70,4 -63,4 -56,7 -50,5 -44,7 -39,4 -34,6 -30,2 -26,2 -22,5 -19,1 -16,1 200

250

315

400

500

630

800

1000

1250

1600

2000

A weight (dB)

-13,4 -10,9

-8,6

-6,6

-4,8

-3,2

-1,9

-0,8

0

0,6

1,0

1,2

Frequency (Hz)

2500

3150

4000

5000

6300

8000

10k 12,5k

16k

20k

1,3

1,2

1,0

0,5

-0,1

-1,1

-2,5

-6,6

-9,3

A weight (dB)

160

-4,3

Table 3.Fejl! Ukendt argument for parameter.. The dBA characteristic.

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

3.5.2 Design Methods The shape of the dBA filter has been found as the inverse of the coefficients in Table 3.Fejl! Ukendt argument for parameter. On Fig. 3.Fejl! Ukendt argument for parameter. the shape of the dBA filter is shown.

Fig. 3.Fejl! Ukendt argument for parameter.. Shape of the dBA filter.

The sound pressure level (SPL) is defined by: P  SPL = 20 ⋅ log  RMS  , with P0 = 20 µPa  P0 

The hypothesis is made that the instantaneous power can be expressed as: P ( t ) = PMAX ⋅ Sin( 2 ⋅ π ⋅ f 0 ⋅ t ) ,

obviously the RMS value of the instantaneous pressure equals to: PRMS =

PMAX 2

As the A-weighted SPL is to be calculated the weight corresponding to the frequency is found in the table. This number is then added to the SPL value as shown below: LA =

PMAX 2

+Wf

0

If W f is expressed with X f : 0

0

W f = 20 ⋅ log( X f ) , 0

0

the A-weighted SPL can be written as:

LA

 PMAX  2 ⋅ X f0 = 20 ⋅ log  P0  

Page Fejl! Ukendt argument for parameter.

    

Fejl! Ukendt argument for parameter.

According to these formulas, it is therefore possible to calculate the A-weighted SPL by two ways, summarised by the next figure: Signal

SPL calculator A-Weight filter

Correction factor

SPL calculator

A-SPL A-SPL

Fig. 3.Fejl! Ukendt argument for parameter.. The two ways of calculating the A-weighted SPL.

If the signal after A-weighted filtering has a magnitude equal to PMAX ⋅ X f , then it is possible to apply the 0

SPL in order to calculate the A-weighted SPL and these operations will obtain the same result which would have been performed by the previous method. Implementation of the dBA-filter in Matlab An implementation has been performed with Matlab using the coefficient table for quickly obtaining results for the analysis of the measurements. For this task, Fourier reciprocity has been used to synthesise this filter: F −1 [ F [signal (t ), ω ], t ] = signal ( t )

The recordings, which have been stored in a wave file, are now considered. The following diagram describes the implemented Matlab program: Wav file

Correction Coefficient

Read Wav-file

10^(W/20)

FFT f1----------fn

Size

fn+1-----f2n

Interpolation X1--------Xn 0------------0

Multiplication f1.x1--fn.xn 0------------0 invFFT Write Wav-file Wav file

Fig. 3.Fejl! Ukendt argument for parameter.. Diagram of the A-weight Matlab program.

This algorithm plays the role of a filter, which modifies the magnitude of the original signal contained in the wave file. Only the amplitude of the signal is changed by this algorithm and no phase information is lost. The following figure shows the same acceleration as used for Fig. 3.Fejl! Ukendt argument for parameter., but this time it is filtered by the A-Weight filter.

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

Fig. 3.Fejl! Ukendt argument for parameter.. Spectrogram filtered with A weight filter.

It can be noticed that the very low frequency noises have been removed. The Fast Fourier Transform uses a lot of computation power compared to a FIR filter. It is therefore not an optimum solution in a DSP architecture.

3.5.3 Implementation of dBA with a FIR filter When implementing the dBA filter on a DSP it has to be improved from the Matlab implementation as it is slow and not applicable in a DSP architecture. Therefore a method has to figure out how to transform the dBA-coefficients into an impulse response useful for a FIR-filter. This task has been accomplished by the use of Matlab and is described in the following. The aim is to determine a FIR filter whose frequency response follows the shape of the dBA-filter. Specification of the order of the filter and the magnitude of its impulse response has to be done. A method has to be found on how to design a FIR filter from a magnitude shape and then optimise the order of the filter in order to minimise the error between the theoretical dBA model and the DSP implementation. First of all, the correction factors have to be expressed in terms of an finite impulse response. To reach this goal, a method called “Least square linear-phase FIR filter design” available on Matlab’s toolbox “Digital Signal Prossesing”, is used. This method designs a linear-phase FIR filter that minimises the weighted, integrated squared error between an ideal piecewise linear function and the magnitude response of the filter over a set of desired frequency bands. The following figure describes how it is possible to design a dBA-filter with a FIR-filter using Matlab.

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

Sampling Frequency (Fs)

dBA Definition Frequencies < Fs/2

Division by 2

correction factors 10^(W/20)

Y

Division X/Y

X

Order

frequencies

Magnitudes

FIRLS Function Impulse Response of our FIR filter

Fig. 3.Fejl! Ukendt argument for parameter.. Description of Matlabs "Least square linear-phase FIR filter design".

The sampling frequency has been defined to 1 kHz, which means that the dBA is only defined between 0 and 500 Hz. The next step is to find the best order for the FIR filter. To accomplish this step a simulation has been performed with different orders and the estimated error between the original dBA and the FIR filter has been found. After the simulation a minimum error is found for an order of 27. The result of this simulation is shown on the figure below:

Fig. 3.Fejl! Ukendt argument for parameter.. Comparison of original dBA and DSP implementation.

An illustration of the impulse response has been plotted on the next figure:

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

Fig. 3.Fejl! Ukendt argument for parameter.. Impulse response for dBA filter.

The simulation has been performed with numbers having a resolution of 16 bits in order to simulate the quantisation errors, which takes place on a DSP. The dBA filter has been tested with a sweep function generated by Matlab. The procedure is described in the following figure: Impulse response of the dBA filter Sweep Generator 0-500Hz

Convolution Filter

Output

Fig. 3.Fejl! Ukendt argument for parameter.. Test of dBA filter in Matlab.

The output is plotted in the following figure:

Fig. 3.Fejl! Ukendt argument for parameter.. Output from the test of the dBA filter in Matlab.

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

3.5.4 Transfer Function Between the Ear and Error Microphone Here the aim is to find a theoretical approximation of the transfer function between the error microphone and the listener. For the rest of the calculation the listener is considered as a microphone. The calculation takes place without reverberation, the distance between the two microphones is small and two sources are used in order to compare the results. All the calculations have been performed with Mathcad. With a pulsating sphere The place of the microphones and the pulsating sphere is described by Fig. 3.Fejl! Ukendt argument for parameter.. Pulsating Sphere

R α d

Microphone 1

Microphone 2

Fig. 3.Fejl! Ukendt argument for parameter.. Configuration of the measuring system.

The pressure at any distance of this source r>a is given by: a p( r , t ) = ρ ⋅ c ⋅ U cos(θ ) ⋅ e j(2πft -k(r -a)+θ ) , r

where the radius of the sphere equals a, and the speed amplitude equals U and cot(θ ) = k ⋅ a

Rearranging the first formula and taking only the real part, it can be shown that:

p( r , t ) = 2 ρ ⋅ c ⋅ U

a r

(4π

π 2

(

f 2a 2 + c 2 f 2a 2

)

)

     2πftc − 2πfr + 2πfa + atan 1 c c      2πf a   ⋅ cos  c      

Thus, the value of the pressure at the microphone position is needed to find any transfer functions. For microphone 1:

p1( t ) = 2 ρ ⋅ c ⋅ U

a R

(4π

π 2

(

f 2a 2 + c 2 f 2a 2

)

)

     2πftc − 2πfR + 2πfa + atan  1 c c      2πf a   ⋅ cos  c      

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

and for microphone 2 : p 2( t ) = 2 ρ ⋅ c ⋅U

a d 2 − 2dR sin(α ) + R 2



π 4π 2 f 2 a 2 + c 2 f 2a 2

 2πftc − 2πf d 2 − 2dR sin(α ) + R 2 + 2πfa + atan  ⋅ cos c  

( )c  1 c 2πf a

 

A transfer function between microphone 2 and microphone 1 can be defined. The last one is now called H(f) defined by: H( f ) =

P 2( f ) P 1( f )

After some calculations it is found: H( f ) =

 − d 2 − 2dR sin(α ) + R 2 + R  R ⋅ exp 2 jπf   c d 2 − 2dR sin(α ) + R 2   1

It can be concluded that the module of H doesn’t depend on the frequency and is equal to: 1 2

2

R + d − 2dR cos(α )

⋅R

On the other hand, the phase depends on the frequency linearly and is equal to: 2πf

− R 2 + d 2 − 2dR cos(α ) + R c

So, this transfer function can be expressed just as a gain correction factor. With the continuous line source It is almost the same case, except the fact that it is possible to have an angle between the source and the alignment of the microphones. L

R

α Microphone 1

i d

Microphone 2

Fig. 3.Fejl! Ukendt argument for parameter.. Configuration of the measuring system.

The pressure at the first microphone is given by p1(t):

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

p1( t ) = ρ ⋅ c ⋅ U

(

f

a  1 c + 4 ftc − 4 fR  sin π c L cos( −α + i cos π  R c cos( −α + i ) 2 

)

The pressure at the second microphone is given by p2(t): c + 4 ftc − 4 f R 2 + d 2 − 2 dR cos( α )  f d − R cos( α ) a cos  12 π c  sin π c L sin atan R sin(α ) − i  p 2( t ) = ρcU d − R cos( α ) sin atan R sin(α ) − i R 2 + d 2 − 2dR cos(α )

[

( [ ] )] [ ( ) ]

The transfer function, H, is also defined and is after calculation given by: − R 2 +d 2 − 2 dR cos( α ) +R  exp 2ixf  sin x f L sin atan −d +R cos(α ) c c R sin( α )   H( f ) = −d +R cos(α ) 2 2 sin atan +i R + d − 2dR cos(α ) R sin(α )

[

( [

( [

] )

])]

R cos( −α + i ) sin x cf L cos( −α + i )

(

)

It can be seen that the modulus and phase depend on the frequency. There are singular values for: f =

c ⋅n , L cos(α − i )

n = 1, 2,3,

80

60

40

20 .log( module( f ) )

20

0

20

40 1

10

100 f

3

1 10

4 1 10

Fig. 3.Fejl! Ukendt argument for parameter.. Modulus of the transfer function

These singular values are just due to the linear source line model (it depends essentially on the length of the source). Then these values don’t have to be considered important because they are due to the model. If the singular values are removed, the two models give the same result. After removing these values the shape of the magnitude is comparable to the one from the first model. Therefore, it can be conclude from this short study that the transfer function between the error microphone and the human ear can be approximated as a constant gain in all the bands of frequencies with a phase, which varies linearly according to the frequency. In order to test this model, a Matlab calculation has been performed. The transfer function between headrest left and left ear from the recordings has calculated and plotted on the following figure:

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

Theoritical value 20 Hz

500 Hz

Fig. 3.Fejl! Ukendt argument for parameter. Pratical transfert function

It can be noticed that the hypothesis taken at the beginning have obviously some limitations in the low frequencies but nevertheless they give anyway a good approximation for the frequencies above 80-100 Hz. So, it has been concluded from this study that the transfer function between the error microphone and the ear would now be considered as a matter of gain.

3.5.5 Overview The goal of the ANC is to reduce the noise heard by the listener. This means the signal from the error microphone filtered by the A-weight filter. Fig. 3.Fejl! Ukendt argument for parameter. describes the changes, which occur when these notions are integrated in the overall system description. Signal which has to be cancel, before

Noise Source

Reference Microphone

Canceling Loudspeaker

ANC System

Error Microphone

Listener

Signal which has to be cancelled, now

Fig. 3.Fejl! Ukendt argument for parameter.. ANC system.

The A-weight filter is considered without changing the concept. The error signal has to be filtered by the A-weight filter and used as new error signal for the system. Fig. 3.Fejl! Ukendt argument for parameter. shows the change, which has to be made, and how to integrate the A-weight filter into the acoustical/electrical transfer functions:

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

Noise Source

Head

P(z)

A-Weight filter S(z)

ANC System Signal which has to be cancled

Fig. 3.Fejl! Ukendt argument for parameter.. Implementation of A-weight filter into the system.

P(z) is the acoustical transfer function between the position of the reference microphone and the position of the error microphone and S(z) the acoustical/electrical transfer function between the output of the system and the input of the system. These two transfer functions have to be include the A-weight filter and can now be expressed as: Pnew(z) = P(z) · Aweight(z) Snew(z )=S(z) · Aweight(z)

3.6 Matlab simulations The following describes the Matlab simulations made to assist the decision on which kind of ANC system to implement on the DSP. Under each point the principle of the Matlab program is explained followed by presentation of the results. In the end the results are summarised and some conclusions are made. The simulations should give a good idea of the response of the system under relevant conditions. The models must be detailed enough to reflect the real situations, in order to assist the choice of the system most suitable. In all models the Normalised LMS adaptive algorithm is used.

3.6.1 Type of ANC-system and adaptation constant ~ in the Normalised LMS algorithm determines the convergence rate and the The adaptation constant µ

value which the error converges to. The optimum compromise is the one that yields the lowest cost function J, which is defined as the sum of squared error samples. For the three different kinds of ANC systems, feedback, feed-forward and hybrid, all 32nd order filters, the cost function is shown in Fig. 3.Fejl! Ukendt argument for parameter.. The signal used is the acceleration measurement (recording no. 10) described in appendix D. The models are the simplest possible including only the reference signal from the engine, x (n ) , primary noise at the left headrest, d (n ) , finding the error signal e (n ) directly as e( n ) = d ( n ) − y( n ) where y(n) is the secondary noise generated by the system. This reflects a highly ideal-

ised situation, which is only used to show the potential of the adaptive algorithms with the given signal.

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

12 Feedback 10

8 n oti c n u Ft s o C

6

4

2

0

Feed-forward

0

Hybrid 0.2 0.4 0.6 0.8 Adaptation constant of Normalised LMS algorithm

1

Fig. 3.Fejl! Ukendt argument for parameter.. J as a function of the adaptation constant for the ANC system types: Feedback, Feedforward and Hybrid, all of order 32. The signal used is acceleration through the gears.

~ lies around 0.4 for the feedforIt is shown from Fig. 3.Fejl! Ukendt argument for parameter. that µ ~ is around 0.1, and for ward system, but the value is not critical. For the feedback system the optimum µ ~ approaches 1, J increases rapidly. The lowest value of J is the hybrid system it is around 0.21. When µ

reached with the hybrid system.

3.6.2 Type of ANC-system and order This simulation shows how well the three different kinds of ANC systems, feedback, feedforward and hybrid can perform on the signals measured in the chosen car, and they must be compared at various filter orders. The filter order was chosen to be the same in all filters in an ANC system to limit the number of simulations. The cost function is calculated at filter order 8 up to 128 in steps of 8. A low value of the cost function, J, corresponds to a good performance. In this simulation J is normalised with respect to the length of the signals, simply by dividing by the number of samples. The ANC system in this simulation is similar to the one in 3.6.1, and is performed on two different kinds of signals. The first simulation uses acceleration through the gears as signal (measurement no. 10 in appendix D), which is clearly nonstationary, giving algorithms with a fast convergence an advantage. The second simulation uses a signal measured at constant speed (measurement no. 8), and is therefore more stationary, giving algorithms that converge to the smallest error an advantage, even if they should have slow convergence rates. The adapta~ , is chosen based on the result in 3.6.1. It is 0.1 for the feedback system, 0.2 for the hytion constant, µ brid system, and 0.4 for the feed-forward system.

The adaptation constant is actually halved in the hybrid ANC system, because it determines the step size of two filters at the same time, and thereby double the power of the other two systems, but for ease of comparison this is not shown on the graph.

1

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

1.5

x 10

-4

Cost functions for the three ANC systems

1 J n oti c n uf st o C

Feed-forward

Feedback 0.5

0

Hybrid

0

20

40

60 80 Filter order

100

120

Fig. 3.Fejl! Ukendt argument for parameter.. J as a function of filter order for feedforward, feedback and hybrid ANC algorithms, during acceleration.

The result (Fig. 3.Fejl! Ukendt argument for parameter.) shows that the hybrid ANC system generally has the best performance on the acceleration signal from an order of 8 to an order of 128, with a minimum value of J at 24th order and up. Interestingly the cost function as a function of the filter order has a minimum for the feedback system, while the hybrid system has a rather constant J over 24th order, and in the feed-forward system J seems to continue falling with increasing order. For the more stationary signal the result is shown in Fig. 3.Fejl! Ukendt argument for parameter.. 8

x 10

-4

Cost functions for the three ANC systems

7 6

J n oti c n uf st o C

5 Feedforward 4 3 2 Feedback 1 0

Hybrid 0

20

40

60 80 Filter order

100

120

Fig. 3.Fejl! Ukendt argument for parameter.. J as a function of filter order for feedforward, feedback and hybrid ANC algorithms, at constant speed.

At this constant speed the normalised values of the cost function are somewhat larger, than at the acceleration signal, especially for the feed-forward system. One explanation to this could be that at a high con-

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

stant speed, the (periodic) engine noise is relatively small, compared to the (stochastic) wind noise. The feed-forward system uses the signal from the microphone placed at the engine as a reference signal, and if this signal is not highly correlated with the signal at from the error microphone, this system can not minimise the error signal very much. This is consistent with the small difference in value of the cost function between the feedback system and the hybrid system, as the feedback part of the hybrid system can only improve the performance very little in this situation. An another explanation could be that the simulation applied the adaptation constant determined from the simulation of the acceleration signal. Another interesting result is that in this situation an increasing order leads to an improvement in performance for all three kinds of systems, although for the feedback and the hybrid system the improvement is almost nonexisting above an order of 40.

3.6.3 Hybrid system This is basically the same simulation as in 3.6.1 and 3.6.2, but only performed on the 24th order hybrid system. The reason why the simulation is only run on the hybrid system is that this performs the best, and is the one that has been chosen to implement on the DSP. Fig. 3.Fejl! Ukendt argument for parameter. shows the error signal and the primary noise, meaning the signal at the error microphone without Active Noise Control, as a function of time, using acceleration signal (number 10). Primary noise before cancellation measured at headrest position left channel

0.4

0.2 e d uti pl m A

0

-0.2

-0.4

0

2000

4000

6000 Samples

8000

10000

12000

Expected residual noise after cancellation at headrest position left channel

0.4

0.2 e d u ti pl m A

0

-0.2

-0.4

0

2000

4000

6000 Samples

8000

10000

12000

Fig. 3.Fejl! Ukendt argument for parameter.. Signals measured at the headrest position before and after activating ANC system. Fig. 3.Fejl! Ukendt argument for parameter. illustrates the transfer function of the ANC system considering the primary noise as input and the error signal as output (measurement no. 8). It shows that the attenuation of the system can archive up to –30dB at frequency around 30 Hz. The system also can attenuate the noise at frequency around 15 – 20 Hz up to –25dB. It should be noted that the system ampli-

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

fies the noise at some frequencies. However, the amplification mostly occurs at the frequency ranges where the amplitude of noise is very low. 20

Gain of the ANC system

10

0

) B d( ni a G

-10

-20

-30

-40 1 10

10

2

Freqency(Hz)

Fig. 3.Fejl! Ukendt argument for parameter.. Transfer function of the ANC system considers primary noise as an input and error signal as an output.

3.6.4 16-bit precision and limited coefficients and tap power This simulation should show what the effect is of the limited precision and limited dynamics of the DSP. The simulation is identical to the one performed in 3.6.3, except that the limitations introduced by the implementation on a DSP are included. Multiplications are performed in double precision, so the 16-bit precision only affects the system whenever storing the result of multiplication. The 16-bit precision of the DSP is simulated by multiplying these results by 2 ( 16−1) , and round them to nearest integer and then multiply them by 2 −( 16−1) . To ensure that the filter coefficients, and the sum of tap input power keep within the range of ± 1 , a test is made in every loop setting them equal to the limit if they exceed it.

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

Tap Input Power of the filters in an hybrid ANC system

1.5

Feedforward ANC : Record No.10 (Accelleration) e d uti n g a m r e w o P

1

0.5

0

0

1000

2000

3000

4000

5000 Samples

6000

7000

8000

9000

10000

6000

7000

8000

9000

10000

1.5 Feedback ANC : Record No.10 (Accelleration) e d uti n g a m r e w o P

1

0.5

0

0

1000

2000

3000

4000

5000 Samples

Fig. 3.Fejl! Ukendt argument for parameter.. Tap power input of the ANC system applying the acceleretion noise.

Fig. 3.Fejl! Ukendt argument for parameter. shows the variations of tap input power of the ANC system in different situations. They insists that in some cases, tap input power can exceed the range of +1. The difference in noise reduction from the simulation without limitation to the simulation with limitation is shown in Fig. 3.Fejl! Ukendt argument for parameter.. 20

Gain of the ANC system without limitation

10 0 ) B d( ni a G

-10 -20 -30 -40 0 10

10

1

10

2

10

3

Freqency(Hz) 20

Gain of the ANC system with limitation of tap input power and coefficients

10 0 ) B d( ni a G

-10 -20 -30 -40 0 10

10

1

10

2

10

3

Freqency(Hz)

Fig. 3.Fejl! Ukendt argument for parameter.. Gain of the ANC system, with limitation and without limitation.

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

3.6.5 Including the secondary paths This simulation investigates the effect of the transmission paths from secondary source to the microphones. Including the secondary path to the model leads to unstable results that could not be plot. FXLMS algorithm introduces an approximate secondary path to compensate the effects from the real one. Thus a model including estimated secondary path is simulated. In practical, the approximation of the IR between the secondary source and the error microphone differs from the real one. Therefore in the simulation model there should be some difference between the IR in the ANC system, and the IR outside the ANC system. This can be done by using two different IR’s measured with identical set-ups under identical conditions (see 3.4 for more details on impulse responses). Fig. 3.Fejl! Ukendt argument for parameter. shows the simulation using FXLMS algorithm with two different secondary path transfer function, IR20_1PS.TIM and IR21_1PS.TIM (Appendix D) as the real secondary path and the estimated secondary path respectively. The results insists that one should be aware in order to estimate the secondary path transfer function otherwise system might have a stability problem. It should be noted that the limitation has been applied for stability constrains. However, as shown in Fig. 3.Fejl! Ukendt argument for parameter., its cost is the convergence rate. 20

Gain of the ANC system

10

0

) B d( ni a G

-10

-20

-30

-40 1 10

2

10 Freqency(Hz)

10

3

Fig. 3.Fejl! Ukendt argument for parameter.. Transfer function of hybrid ANC system using FXLMS algorithm with two different IR's.

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

Primary noise before cancellation

0.05

e d u ti pl m A

0

-0.05

0

1000

2000

4000

5000 Samples

6000

7000

8000

9000

10000

8000

9000

10000

Expected residual noise after cancellation

0.05

e d uti pl m A

3000

0

-0.05

0

1000

2000

3000

4000

5000 Samples

6000

7000

Fig. 3.Fejl! Ukendt argument for parameter.. Signals measured at the headrest position before and after activating ANC system.

3.6.6 Including the A-weight filter The simulation of the hybrid ANC system taking the perception of human ear in account has been done by including an A-weight filter into the system. The concept of implementing the A-weight filter is to let the system try to minimise the residual noise perceived by human ears. However, it is known that the system performance will decrease since the system does not get all information of the signal. Unfortunately, the simulation ends up with the unstable results and could not be presented here.

3.7 Summary The theory for obtaining local control to create a zone of quiet has been described, and it is concluded that having a large distance between secondary source and error microphone can cancel the noise at the error microphone even at relatively high frequencies, where the sound field is diffuse. The source strength required could become very large at frequencies where the coupling between loudspeaker and error microphone is poor. Placing the secondary source close to the error microphone can solve this problem, but the secondary source should not be placed to close if a reasonable zone of quiet is to be obtained. Analysis of the measurements shows that there is much low frequency content, which can be attenuated by implementation of A-weighting. The impulse responses measured have been analysed. It is hard from these measurements to determine which set-up of speaker and microphone is the best. However the frequency response for the EV speaker not close to the headrest, suggest that at this position it can not couple effectively to all modes, and therefore would not be the obvious choice. The Vifa and the EV close to the headrest seem equally well suited

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

set-ups, but as the EV is the largest speaker this is assumed to be able to create the largest quiet zone, and therefore this is chosen for implementation. The three different kinds of ANC systems have been simulated under ideal conditions using the measured car noise as input signal, and compared. Both acceleration and steady high speed have been used. The simulations show that the Hybrid ANC provides the most attenuation in both cases. Additional simulations performed on the hybrid system illustrate that the limitations introduced by implementing the ANC system onto a DSP do not lead to significant reduction in performance. A more realistic simulation has been done by including a secondary path from a measured IR to the system. The error between the real secondary path and the estimated secondary path has a very high significance to the stability and the convergence of the system. Finally, the implementation of an A-weight filter leads to instability.

Page Fejl! Ukendt argument for parameter.

4. System Description In this chapter the specific parameters of the system will be described. The chapter is intended to summarise some results from the analysis and other factors, which are used in the design phase.

4.1.1 Overall system •

Local control disregarding other locations



Upper frequency limit at 500 Hz



Sample frequency at 1 kHz



Electrovoice S200 speaker as secondary source



Brüel & Kjær 4165 microphones for reference and error signal

4.1.2 Adaptive system •

Normalised Least Mean Square algorithm with adaptation constant of size 0,1



Secondary path is implemented



A-weight filter is implemented



Modified hybrid ANC system using IIR feedforward ANC system with filtered-U normalised LMS algorithm

4.1.3 Digital Filters •

Adaptive filters implemented as FIR filters.



Adaptive filters of length 24



A-weight filter of size 27



Secondary path FIR filter of length 500

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

4.1.4 Overall Block Diagram Ear

+

P(z)

A-weight

S(z)

x(n) I/O

W1(z)

Reference

+ +

S(z)

Error

y(n) I/O

I/O

Speaker

e(n)

W2(z)

A-weight A-weight

LMS1

LMS2

+

A-weight

S(z)

W3(z) S(z)

A-weight

LMS3

Fig. 4.Fejl! Ukendt argument for parameter.. Block diagram of the overall system.

Page Fejl! Ukendt argument for parameter.

Brain

5. Hardware This chapter deals with the design of the hardware. It describes the analogue input- and output circuits, the DSP and the codec, which takes care of the A/D and D/A conversion. As the codec and the DSP board are using single supply (+5 V), it is decided to use single supply for the rest of the active components as well. The hardware schematic and an overview over the board with the analogue hardware are found in the enclosures.

5.1 Choice of DSP In the acoustics laboratory most of the DSP’s from Texas Instruments are available. The processing power needed depends on the sample rate and the amount of calculations per sample. As it is necessary to have a bandwidth up to only 4 - 500 Hz, the sample rate will not be higher than 1 kHz. Since this sample rate is very low, the requirements for computational power of the DSP are easy to reach. This speaks in favour of a low cost DSP. The TMS320C1x, TMS320C2x and TMS320C5x are DSP’s from the same generation and are more or less alike, except for differences in performance. Given that some of the group members have previously been working with the TMS320C26 it was chosen, for reason of interest and curiosity, to select the TMS320C542 as this DSP is of a newer generation.

5.1.1 DSP description The TMS320C542 is a fixed point 16 bit DSP, which has the following characteristics: •

10 kilowords of memory that can be configured as both data and program RAM.



Speed of 40 MIPS, which gives an execution time for a single instruction of 25 ns.



6 levels of instruction pibeline, which allows overlapping execution of instructions.



A buffered serial port (BSP) and a time-division multiplexed (TDM) serial port. Both serial ports can run as standard synchronous serial ports.

5.2 DSP Configuration As the DSP is placed on a Texas Instruments DSKplus DSP Starter Kit most of the configuration is already done.

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

5.2.1 Memory Initially the DSKplus board configures the memory as shown on Fig. 5.Fejl! Ukendt argument for parameter.. The program RAM is located on page 0 and the data RAM on page 1. It is possible to configure all the onboard memory as data RAM and then add external memory for program RAM, but as there is no need for additional RAM the standard configuration is used. This means that, see the figure below, OVLY=1 and the dual access RAM (DARAM) is used as both data and program RAM as shown by the dotted line. From 0h to 7Fh in program RAM is then reserved, as it is for memory-mapped registers in data RAM. On the figure, the size of the BSP RAM block is the maximum size of 800h. As there is no need for such a big serial port buffer most of this block can be used for program RAM. The HPI RAM block is used for communication with the debugger (HPI: Host Port Interface, 8 bit parallel interface). In the data RAM the scratch-pad RAM can be used as normal data RAM. The locations of the variables, buffers, coefficients etc. used in the program are shown in Fig. 6.Fejl! Ukendt argument for parameter. in the software chapter. Program 0000h 007Fh 0080h

Data

Reserved (OVLY =1)

Interrupts Communications kernel

On-chip DARAM 10k words (OVLY =1) 27FFh 2800h External

0080h 0100h 0180h

F7FFh F800h FF7Fh FF80h FFFFh

005Fh 0060h 007Fh 0080h

Program RAM BSP RAM block or program RAM Kernel buffer (10 kwords)

0800h

HPI RAM block

100Ah

Memory-mapped registers Scratch-pad RAM

On-chip DARAM (10k words)

1000h

1800h EFFFh F000h

0000h

27FFh 2800h

Program RAM Reserved on-chip ROM Reserved ROM (bootloader) Reserved ROM interrupts

27FFh External

Reserved memory

FFFFh

Fig. 5.Fejl! Ukendt argument for parameter.. Memory map of the DSKplus board.

5.2.2 Interrupts It is decided to use an interrupt service routine (ISR) to control the input and output. The reason for this is described in section 5.4. This ISR is made to run on a receive interrupt (BRINT), which both takes care of input and output. Additional interrupts are not needed, but the debugger included with the DSKplus board uses the HPINT interrupt. All other interrupts than BRINT and HPINT are masked in the interrupt mask register. The interrupt vectors are located in the file “vectors.asm”.

5.3 Codec The TMS320C542 comes on a DSKplus DSP starter kit, which has included a TCL320AC01. The TCL320AC01 is a 14 bit single channel A/D – D/A converter and is connected to the DSP’s TDM serial

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

port. In the system at least two inputs are needed, from the error and reference microphones, and therefore an additional A/D converter has to be implemented. An available converter in the laboratory is the Crystal CS4218. It is a 16 bit audio codec with integrated A/D and D/A converter. As this is a stereo codec it is chosen not to use the onboard converter. An oscillator circuit based on a 6,144 MHz crystal feeds the codec with a clock signal.

5.3.1 Codec description The Crystal CS4218 is a 16 bit stereo audio codec with the following characteristics. •

Delta-Sigma A/D – D/A converters using 64 times of oversampling.



Ability to multiplex inputs.



Build in anti-alias and reconstruction filters.



Adjustable sample rate from 4 to 50 kHz.

5.4 Serial connection A serial connection has to be established between the DSP and the codec. The DSP includes a buffered serial port (BSP) and a time-division multiplexed (TDM) serial port, which both can be configured to run as a standard synchronous serial port. The BSP has the capacity to read/write directly to a circular buffer in the internal memory independent of the CPU. Thus communication with the codec can be done without the use of an interrupts service routine. The TDM serial port is especially optimised for multiprocessing, but as this port is connected to the onboard converter the port has not been evaluated in detail as the codec can be connected to the BSP. Since the codec is to be connected to the BSP it has to be chosen whether the BSP shall operate in standard or autobuffering mode. As the input signal is to be filtered it is chosen to use an interrupt service routine as it can assure that data is processed at the correct time. It is chosen to use the ISR when the BSP is running in autobuffering mode. This is an advantage as a buffer of size 2 words can assure that the two input words are placed at the same memory address in the circular buffer every time. The word from the left channel is placed at the first word in the buffer and the word from the right channel is placed in the second word in the buffer. When the BSP is running in autobuffering mode the autobuffering unit transmits an interrupt whenever the first or second half-of-buffer is processed. This means that a buffer of size 2 results in an interrupt for every processed word. The ISR needs a counter to keep track of the number of samples. The ISR is described in detail in section 6.3.

5.4.1 Configuration It is decided to use the CS4218 as master and the DSP as slave for the serial connection. The transmission must run in word mode, but as the codec only sends a synchronisation signal for every second word, and the DSP expects a sync for every word, the easiest solution is to make the transmission run in continuous mode, where only the first synchronisation signal is used. By the use of the SPC (Serial Port Control) and SPCE (Serial Port Control Extension) registers the configuration of the BSP is done.

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

5.5 Input circuits The system has two input circuits. One for the reference signal and one for the error signal. The circuits are identical, so only one is described. The chosen codec can sample with frequencies (Fs) from 4 kHz to 50 kHz. It uses 64 x oversampling and contains a digital anti-alias filter with a cut-off frequency of approximately 0,4 · Fs. Therefore it is recommended to use a single pole RC filter as an external anti-alias filter. As only a sample rate of 1 kHz is needed it is decided to have a sample rate of 4 kHz and then downsample the input signal. This is done in order to get more computation time to calculate the output. The cheapest way of doing this is normally by use of an analogue anti-alias filter and then discard 3 out of 4 samples in the DSP instead of making a digital anti-alias filter. Therefore an 8th-order elliptic switch capacitor filter (MAX294) is implemented before the codec. The filter has fixed response and a clock signal controls the cut-off frequency by a ratio of 100:1. The clock signal is created with a timer (TS555) connected as an astable multivibrator with a theoretical clock frequency of 48 kHz, which gives the filter a cut-off frequency of 480 Hz. This is obviously to high, but chosen because the measurements show that a cut-off frequency of approximately 430 Hz is obtained. Thereby the signal is attenuated more than 35 dB at 500 Hz. A capacitor prevents DC offset on the input of the circuit and another capacitor prevents DC on the output to the codec. These capacitors cause a lower cut-off frequency at 18 Hz. The two frequency responses are shown on page 67. The plots have a reference level of 44 dB. One should notice that the frequency axes should be scaled with at factor of 0,1 so the range goes from 2 – 2000 Hz and not from 20 – 20 kHz! A description of the tests is in appendix E

5.6 Output circuit The codec contains the same kind of filter on the output as it does on the input. The purpose of this filter is to reconstruct the signal after the conversion from digital to analogue domain. Because the sample frequency is 4 kHz the filter has a cut-off at 1,6 kHz and a transition band up to 2,4 kHz. Therefore the signal is upsampled from 1 kHz to 4 kHz so no aliasing occurs. But in order to get a smoother output a second order lowpass filter is implemented after the codec. It is an active Butterworth filter based on a LM324 connected as a Sallen-Key filter. The components are calculated so a cut-off frequency at 750 Hz should be obtained, although the measurement shows a cut-off at 600 Hz and an attenuation of more than 15 dB at 1,6 kHz. As the codec does not use the same DC-offset as the LM324 it is necessary to place a capacitor on the output of the codec. Another capacitor is placed after the circuit to prevent DC-offset on the output. It can be seen on the measured frequency response that these capacitors give the circuit a lower cut-off frequency at approximately 18 Hz. The frequency response of the output circuit is shown on page 68.

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

5.7 Frequency responses

Fig. 5.Fejl! Ukendt argument for parameter.. Frequency response of reference input circuit. Notice that the frequency axis should be scaled by 0.1.

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

Fig. 5.Fejl! Ukendt argument for parameter.. Frequency response of error input circuit. Notice that the frequency axis should be scaled by 0.1.

Fig. 5.Fejl! Ukendt argument for parameter.. Frequency response of output circuit. Notice that the frequency axis should be scaled by 0.1.

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

5.8 Summary As DSP and converter the Texas Instruments TMS320C542 DSP and the Crystal CS4218 codec were chosen. The DSP is located on an evaluation board, which requires a minimum of configuration. The codec is implemented as described in the data sheet, but as its minimum sample rate is 4 kHz an analogue anti-aliasing filter has been implemented at the input. The hardware was tested and found to be working as expected.

Page Fejl! Ukendt argument for parameter.

6. Software This chapter describes the implemented DSP software. The chapter will give an overall description of the software and only go into details with some parts as a lot of comments have been placed in the source code.

6.1 Overview The program consists of two different parts, the main ANC routine and the interrupt service routine. This can be seen at Fig. 6.Fejl! Ukendt argument for parameter.. The main program resides in a loop, which runs the ANC part when new input data is available. In the ISR is a counter that runs between 0h and 7h. When this counter equals 2h the ISR has loaded both reference and error input and the ANC routine can run. An interrupt generated by the autobuffering unit can at any time interrupt the main program and the ISR will then process the input and output. Normal program execution continues after the ISR.

New data?

No

Yes

ANC routine

Fig. 6.Fejl! Ukendt argument for parameter.. The overall flow of the program.

6.2 Memory In section 5.2.1 the overall memory set-up was described. The internal memory of the DSP is configured as both program and data RAM. Consequently the memory map on Fig. 6.Fejl! Ukendt argument for parameter.. shows the whole memory map as one block.

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

0000h

0060h 0080h

Memory-mapped registers Variables (Scratch-pad RAM) Interrupts

0100h Communications kernel

Stack pointer 0FE8h

BSP RAM block

1000h

Kernel buffer

100Ah HPI RAM block

0180h Interrupt vector table

0500h

1800h

ANC routine (variables and parameters)

2000h

ANC routine (circular buffers)

Program 2260h Filter coefficients 2600h

Reconstruction filter (circular buffers)

Unused

Fig. 6.Fejl! Ukendt argument for parameter.. Memory map of the DSP’s internal memory configured as both data and program RAM.

6.3 Interrupt service routine The objective of the interrupt service routine is to take care of the input, output and a counter. Input has to be downsampled by a factor of 4 before delivering the data to the ANC routine. Vice versa the output from the ANC routine has to be upsampled and then low-pass filtered, before being transmitted to the codec. The ISR does not have to filter the input data as an analogue filter is already implemented. Besides taking care of the input and output of the system the ISR also needs to include a counter. This counter is used in the main program to determine when the ANC routine should run and it is in the ISR used to skip output every second time. The reason for skipping the output every second time is that the ISR runs two times per sample, because an interrupt is generated for every input word. The codec transmits a word for both reference and error input per sample. The ANC routine operates at a quarter of the sample rate of the codec. As the ISR is run two times per sample the ANC routine should only run one time for every eight times the ISR runs. The counter is thus set to run from 0h to 7h. Based on the counter it is decided in the main program if the ANC routine should run.

In Fejl! Ukendt argument for parameter. a block diagram of the ISR is shown. After interrupting the ISR disables all interrupts and pushes the registers etc. that it uses on the stack. Then the counter is incremented and reset to 0h if it reaches 8h. Then a test is made on whether the counter is odd or not. If so, the filter is skipped and the registers are reloaded from the stack before exiting the ISR.

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

Start

Push registers to stack Counter = Counter + 1 if(Counter == 8h) Counter = 0h

Counter odd?

No Input

Yes

Counter = 0h?

ANC output

No Yes Zero-pad

Reconstruction filter

Output

Pop registers from stack

End

Fig. 6.Fejl! Ukendt argument for parameter.. Flow of the interrupt service routine.

If the counter is not odd, the input and output is performed. At first the input is copied directly to the variables used by the ANC routine. A test is performed on whether the counter is zero or not. If so, the current value in the output variable from the ANC routine is used as input to a reconstruction filter. If the counter is not zero the filter is run with zero as input. Thereby the input to the reconstruction filter is zero-padded three out of four times. Remember that the filter only runs for even values of the counter, which runs from 0h to 7h! The reconstruction filter is implemented by the use of the DSP’s firs command and is described more in detail below. After the filter, data is output to the codec and registers are popped from the stack in order to continue the normal execution of the program.

6.3.1 Reconstruction filter The reconstruction filter is implemented as a symmetrical FIR filter of length 200. This filter has to run at a sample rate of 4 kHz and valuable processing can be saved by minimising the computational cost of this filter. The DSP has a command, firs, which is especially for implementation of a symmetrical FIR filter.

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

The command uses two pointers to multiply two input values to a coefficient at a time. As the filter is symmetrical, this corresponds to multiply input values to the impulse response from both sides at the same time, as illustrated on Fig. 6.Fejl! Ukendt argument for parameter.. The implementation of the firs command is based on an example in [TEX4, 4-5], but several modifications had to be made because of errors in the manual.

x(0)

x(-(N-1))

Fig. 6.Fejl! Ukendt argument for parameter.. Illustration of how the firs command uses two pointers to multiply the coefficients.

The firs command can be described by the following formula: y( n ) =

N / 2 −1

∑ h( k )[x ( n − k ) + x ( n − ( N − 1) + k ))],

n = 0,1, 2,... ,

k =0

where h(k) is the filter coefficients. The two pointers used by firs operate at two different circular buffers as illustrated on Fig. 6.Fejl! Ukendt argument for parameter. for a filter of size 8. 1. On the left side of the figure the two pointers both point at address 0h for their specific buffer. At first x(-4) is copied to the position of x(-8), the new input value is loaded at x(-4)’s position and AR3 is incremented. 2. The two values, which auxiliary registers AR2 and AR3 are now pointing at, are now added and stored in accumulator A, and the pointers are incremented as illustrated in the middle. 3. The filter is now ready to take advantage of the firs command. In a single cycle it multiplies the contents of accumulator A with the first coefficient and adds the result to accumulator B, adds the next input values, stores the result in accumulator A and increments the pointers as shown on the right. The firs command (alias no. 3) is then repeated (N/2 –1) times and it thereby only takes (N/2) cycles to process the filter, excluding the instructions used to start firs and instructions used to rearrange the pointers after firs has been run (N/2-1) times.

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

x(0)

x(-4) x(-3) x(-2) x(-1)

AR2

B

XXXXXX

B

0h

A

XXXXX

A

x(0)+x(-7)

x(-8) x(-7) x(-6) x(-5)

AR3

x(0) x(-1) x(-2) x(-3)

AR2

x(-4) x(-7) x(-6) x(-5)

B 0h+(x(0)+x(-7))·h(0) A x(0)

AR3

x(-1) x(-2) x(-3)

x(-1)+x(-6)

x(-4) AR2

x(-7) x(-6) x(-5)

AR3

Fig. 6.Fejl! Ukendt argument for parameter.. Operation of the two circular buffers and the accumulators during the filter.

The filter was tested with a pink noise source as input and a direct input to output copy in the main DSP program. On Fig. 6.Fejl! Ukendt argument for parameter. the output is shown without a reconstruction filter and it can be seen that there is a lot of frequency content above 500 Hz. The decay of the second order analogue smoothing filter on the output is easily seen. At Fig. 6.Fejl! Ukendt argument for parameter. the reconstruction filter is implemented and the noise floor is reached before 500 Hz. The slight drop at the low frequencies originates from the analogue filter as described in section 5.6. Details of the test are placed in appendix E.

Fig. 6.Fejl! Ukendt argument for parameter.. Output from upsampling with no reconstruction filter.

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

Fig. 6.Fejl! Ukendt argument for parameter.. Output after implementation of the reconstruction filter.

6.4 ANC routine A block diagram of the ANC routine is shown in Fig. 6.Fejl! Ukendt argument for parameter.. It consists of A-weight transfer functions (dBA filters), estimated secondary path transfer functions, adaptive filters, and Normalised LMS algorithm functions. W1(z) and LMS1 perform the FIR feed-forward ANC function. W2(z) and LMS2 contribute to the function of an adaptive IIR filter to the feed-forward ANC function. Finally, W3(z) and LMS3 are responsible for the FIR feedback ANC function.

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

Start

while not stop

e(n)

Receive e(n)

e(n)

x(n)

Receive x(n)

x(n)

e'(n) = dBA(n)*e(n) y'(n) = [S^(n)*dBA(n)]*y(n-1) x^(n) = y'(n)+e'(n) x^'(n) = [S^(n)*dBA(n)]*x'(n)

w3(n)

LMS3

y3(n)

W3(z) [FIR filter]

e'(n) x^'(n) w3(n) x^(n)

x'(n) = [S^(n)*dBA(n)]*x(n)

w1(n)

LMS1

y1(n)

W1(z) [FIR filter]

w2(n)

LMS2

y2(n)

W2(z) [FIR filter]

e'(n) x'(n) w1(n) x(n) e'(n) y(n-1) w2(n) y(n-1)

y(n) = y1(n)+y2(n)+y3(n)

Store y(n) for next loop

y(n)

Transmit y(n)

y(n)

Stop

Fig. 6.Fejl! Ukendt argument for parameter.. Block diagram of the ANC routine.

The structure resulting from the composition of these functions is the structure of a Hybrid ANC system. Estimated secondary path transfer functions, Sˆ , are provided in order to compensate for the secondary path effects by using the FXLMS algorithm. The dBA filters are applied to weight the signal that the ANC system will process, similarly to the perception of the human ear. Thus the ANC system does not take care of signals at frequencies which the human ear cannot detect. The sequence of execution can be seen from the signal flow graph of the system, which is illustrated in Fig. 6.Fejl! Ukendt argument for

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

parameter.. The figure shows that the system makes several calls to the same function. Even though there are many functions described above, those functions can be categorised into two categories; FIR filter, and LMS function. By implementing a call command, thus only two sub-routines are needed; FIR filter, and LMS function.

S

dBA

y(n-1)

x(n) e(n) Error

x'(n) dBA

SUM

S

dBA

y(n)

w3(n)

LMS3

y3(n) W3

z-1

SUM

SP

e'(n)

x'(n) Ref.

x(n)

S

dBA

y1(n)

w1(n) LMS1

W1

LMS2

W2

SUM

y(n-1)

y2(n)

w2(n)

Fig. 6.Fejl! Ukendt argument for parameter.. Signal flow graph of the system.

6.4.1 FIR Filter A block diagram of a general FIR filter is depicted in Fig. 6.Fejl! Ukendt argument for parameter.. x(n)

h0

+

h1

+

y(n)

z-1

-1

z

z-1 hn

Fig. 6.Fejl! Ukendt argument for parameter.. General FIR filter.

The mathematical expression of the general FIR filter is described by the following formula [OPP, 313]: y( n ) =

N −1

∑ h( k ) ⋅ x ( n − k ) , k =0

Page Fejl! Ukendt argument for parameter.

n = 0,1, 2,...

Fejl! Ukendt argument for parameter.

Where N is the order of the filter and h(k) is the impulse response of the filter. Since the firs command does not support the unsymmetrical FIR filter, a general FIR filter sub-routine is created. This sub-routine will be applied for any of the FIR filters that are implemented in the ANC routine including the dBA filter, even though it is symmetrical. The flowchart of the FIR filter sub-routine is illustrated in Fig. 6.Fejl! Ukendt argument for parameter., disregarding the mechanism of the ringbuffers. The FIR filter uses the variables of which a map is shown in Fig. 6.Fejl! Ukendt argument for parameter.. Start recieve input value Store in the circular Input buffer at the address given by current position Update Current position from the circular input buffer perform the convolution calculation input(n-Current) input(n-Current-1) ... input(n-1) input(n) input(n-order) ... input(n-current+2) input(n-Current+1)

Circular Input buffer

W0

X X

W1 ... W(current-top-1) W(current-top)

Σ

W(current-top+1) ... Worder-1 Worder

} }

First Loop

Second loop

Linear Coefficient buffer

store result at the address given by output End

Fig. 6.Fejl! Ukendt argument for parameter.. Flow in the general FIR routine.

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

Variable definition of filter Address Variable

Data Variable input (data) output (address) order (data) coeff (address) top (address) current (address)

top

input(n-Current)

top+1 ...

input(n-Current-1) ...

Current-1 Current

input(n-1) input(n)

Current+1 ...

input(n-order) ...

top+order-1 top+order

input(n-current+2) input(n-Current+1)

coeff

W0

coeff+1 ...

W1

coeff+current-top-1 coeff+current-top

W(current-top-1) W(current-top)

coeff+current-top+1 ...

W(current-top+1)

coeff+order-1 coeff+order

Worder-1 Worder

Fig. 6.Fejl! Ukendt argument for parameter.. Map of the variables used for the FIR filter routine.

The data in the top of the figure is at the same address for all filters, and is initialised by Filter_xx defintion (see Fig. 6.Fejl! Ukendt argument for parameter.). They define the addresses and size of the specific filter. The input buffer is defined in the middle, and at the bottom the buffer containing the coefficients is defined. At first, the filter is initialised by the initialisation routine called immediately before the filter itself (see Fig. 6.Fejl! Ukendt argument for parameter.). Start

Filter_xx definition

Call Filter

End

Fig. 6.Fejl! Ukendt argument for parameter.. The general FIR is loaded with its specific parameters before called.

This initialisation routine defines input, output and coefficients of the filter, as shown in Fig. 6.Fejl! Ukendt argument for parameter..

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

Filter_xx definition Copy to input data to be filtered by filter_xx

input (data)

output address for filter_xx order of filter_xx

output (address) order (data)

address of the coefficient for the filter_xx address of beggining of the input buffer

coeff (address) top (address)

address for the current position in the circular input buffer for filter_xx

current (address)

Fig. 6.Fejl! Ukendt argument for parameter.. Initialisation routine for FIR filter.

The initialisation includes resetting the variables and setting the current position to the top position of the buffer. Then the system receives input from the reference microphone and stores it in the current position of the buffer. In Fig. 6.Fejl! Ukendt argument for parameter. the output from the dBA filter is plotted when the system is feed by a pink noise source. For this plot only the up/downsampling, reconstruction and dBA filter is implemented. It can be seen that the figure is a very good approximation of the A-weight filter implemented in Matlab on Fig. 3.Fejl! Ukendt argument for parameter..

XX SPACE FOR A PHOTO COPY OF PLOT XX downscale to 50 %

Fig. 6.Fejl! Ukendt argument for parameter.. Output from dBA filter.

6.4.2 Normalised LMS routine The general NLMS routine runs like illustrated in Fig. 6.Fejl! Ukendt argument for parameter.. The algorithm is general, and for the actual NLMS algorithm to be used, the parameters that are specific to this algorithm have to be defined.

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

Start

NLMS_xx definition

Call NLMS

End

Fig. 6.Fejl! Ukendt argument for parameter.. General Normalised LMS is loaded with its specific parameters before called.

~, In the Normalised LMS algorithm the step size, µ , is determined by dividing the adaptation constant, µ 2

with the tap-input power, u . The filter tap updating is done in the following way [HAY, 437]: ~ µ u( n )e( n ) , 2 u

w( n + 1) = w ( n ) +

The reference input vector u has a length equal to the number of taps in the filter. Therefore, for long filters, u either u

2 2

can exceed unity when the input signal is powerful. The upper limit in the DSP is one, so will overflow or it can be limited to one. If overflowing u

clearly lead to instability, and if limiting u

2

2

will become negative, which will

the step size multiplied with e and u will be larger than

without limiting (for sufficiently powerful input signal), which can decrease performance. Instead it was 2 ~ by an appropriate constant α. The size of this constant is a comchosen to scale down both u and µ promise between avoiding the limit of unity, and preserving an acceptable precision. If the input power is very low, u

2

can become to small because of the truncation of significant bits. The tap-reference-input

power is calculated recursively according to the following formula: 2

2

u( n ) = u( n − 1) − u n2−k −1 + u n2 ,

where u n2−k −1 is the oldest value of the reference input buffer (vector), and u n2 is the newest value. The program flow is illustrated in Fig. 6.Fejl! Ukendt argument for parameter..

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

Start Add to power Read reference input and store in U_buffer

Store in Y Read error input

Square Divide by alpha

Multiply by adaption constant Divide by alpha

Store in Sqr_buffer Subtract oldest value in Sqr_buffeer

Store in X Division = X / Y

Yes

Yes Division = -1

Signbit = 1?

Division > 1?

No

No

Division = 1

Multiply by U_buffer Add to filter coefficients

End

Fig. 6.Fejl! Ukendt argument for parameter.. The program flow of the Normalised LMS algorithm.

First of all the new input sample is stored in the reference input buffer, and the square of this input sample is computed. Then it is multiplied by 1 α , and this squared input tap is stored in the input Sqr_buffer. Then the oldest value in this buffer is subtracted and added to the (previous) tap-input

power. The result is the updated value of the tap-input power, and this is stored. The newest error sample is multiplied by the adaptation constant. This result is then divided by the updated tap-power and the result is tested for overflow. If overflow has occurred the result is set to plus or minus 1 depending on the sign bits. Overflow or not, the result of the division is multiplied by the reference input vector (actually meaning each value in the buffer one at a time) and added to the coefficient vector. The resulting vector is the updated filter coefficients, and is stored in the appropriate buffer.

6.5 Summary The principle of the structure of the DSP software has been described, in order to give an overview. For details about the DSP software see the enclosed assembly source code, where extensive use of comments has been practised. I/O is taken care of in the Interrupt Service Routine, and subroutines are executed through calls from the main program, making the design of general subroutines possible.

Page Fejl! Ukendt argument for parameter.

7. Discussion In this chapter a discussion will be made on whether the implemented system is the optimal one for the problem. The initiating problem was: “To reduce the noise in a single car seat. The noise is to be reduced in a specific car by the use of a local ANC system without concerning an increase in noise at other locations.”

7.1 Further decisions After the initiating problem several other decisions were made during the system analysis and design. A summary of the decisions is made below.

7.1.1 Analysis Measurements were made in a minibus with eight microphones placed at strategic positions. Several different measurements were made. It was chosen to concentrate on the frequency region below 500 Hz. With Matlab the measurements were analysed and the best model for implementation was found to be a hybrid model with normalised FXLMS algorithm with a reference and an error microphone and a speaker. All the filters were decided to be FIR filters. The chosen loudspeaker is an Electro Voice S200 and the microphones are from Brüel & Kjær.

7.1.2 Design Implementation of the system was chosen to be a Texas Instruments TMS320C54x fixed point DSP. As A/D and D/A converters the Crystal CS4218 codec was chosen. The implemented codec made a down and up-sampling necessary as the minimum sample rate of the codec is 4 times the desired sample rate of 1 kHz. For down-sampling an analogue switch capacitor filter was implemented to prevent aliasing and for up-sampling a 200 order digital reconstruction FIR filter was implemented. The anti-aliasing filter is an analogue filter, while the reproduction filter is a digital FIR filter. This was done to get the experience of both kinds of filters, as there is plenty of computation time on the DSP. At the output a second order Butterworth filter was made in order to smooth the output signal.

7.2 Evaluation on decisions 7.2.1 Microphones In all the measurements expensive microphones from Brüel & Kjær have been used. In the final system cheaper and smaller microphones, which are easier to hide, should be used. The directional sensitivity of

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

the microphones is not important, as nearly all microphones are omni-directional below 500 Hz. Further more it is estimated that the SPL in the car should not be a problem even with low-cost microphones. As mentioned in chapter 3.1 an increase of the cancellation region defined by a 3 dB reduction can be obtained by using two error microphones closely spaced. A disadvantage of this is that the cancellation region defined by 10 dB reduction decreases in size and disappears at a microphone separation of about

∆r ≈ 0,2λ [N&E, 364]. However, this method might be useful in this case, where the two microphones can be placed on each side of the headrest and the ears are on both sides of the centre point between the microphones, where the sound pressure increases at higher frequencies. With this method the sum of the squared outputs from the microphones should be minimised. The problem is that the signal from the error input is used to calculate the coefficients in the adaptive filter, because it uses normalised LMS. This can not be done if the input is squared, because then it is always positive. A sign test of the inputs before they are squared, to see if they are positive or negative, can not solve the problem, as the 2 inputs might have different signs. One solution is to use LMS instead of NLMS, as the error input does not affect the step size.

7.2.2 Loudspeaker The chosen loudspeaker is an Electro Voice S200 because it is the best for this purpose of the available loudspeakers. As the performance of the system depends very much of the loudspeaker’s performance in low frequencies and the size of the cone, another loudspeaker might be more useful. Additionally a more convenient loudspeaker could be found, as a tweeter is not necessary. The loudspeaker is placed behind the passenger. As the noise reduction depends on the distance from loudspeaker to the zone of quiet, experiments should be done in order to find the optimum distance to obtain the best reduction.

7.2.3 Expenses No considerations have been made in order to get the system as cheap as possible. The DSP is of a newer generation than the other available DSPs. The only reason for this choice was of interest as some of the group members have previously been working with a DSP from an older generation. Therefore considerations about needed computation power has not been done. In order to make the system as cheap as possible, the needed power should be calculated and available DSPs on the market should be investigated to see if a cheaper DSP could be used. Some investigations and considerations should be done with the rest of the hardware as well. One example of this is the anti-aliasing and reconstruction filters. A digital FIR filter can be made very sharp, with linear phase and with low noise, but usually has to be quite long, thus using much computation time. An analogue saves the processing time in the DSP, which could then be used, for other operations.

7.3 Problems 7.3.1 SNR of system If the ANC system detects noise from the electrical circuits it will produce noise on the output because it tries to cancel it. This would lead to an increase in noise when the acoustic noise level is low. Therefore the SNR of the analogue circuits has to be sufficiently low.

Page Fejl! Ukendt argument for parameter.

Fejl! Ukendt argument for parameter.

7.3.2 Loudspeaker size and weight The ElectroVoice loudspeaker is big and heavy. One argument for implementing an ANC system is, that at low frequencies Passive Noise Control must be of great bulk and weight in order to be effective, which should therefore be an advantage of Active Noise Control. So a large heavy speaker behind the front seat is not desirable. If this system were to be used commercially a more realistic size of loudspeaker was needed, which might decrease performance.

7.4 Improvements 7.4.1 Extent of Quiet Zone The zone of quiet is expected to be rather small. The only realistic way of increasing this is believed to be the use of a multi-channel ANC system. This could be implemented on the chosen DSP as it has plenty of computational power, and has a multiplexed serial port. But the analysis and design would be more extensive and more hardware needed for the implementation of such a situation.

7.4.2 On-line secondary path modelling The performance of the described ANC system is limited since the estimated secondary path transfer function has been measured in a specific situation, i.e., in a specific car, at a specific temperature, etc. The system might lose its stability if the secondary path transfer function changes thus the estimated model does not match reality. The secondary path transfer function can be changed easily. It changes when the driver opens the windows, and it varies with the number of the passengers. Also it differs when implementing the system into a different car. To increase the performance and the flexibility of the system, on-line secondary path modelling is an alternative way to do so. By implementing on-line modelling onto the system, the estimated secondary path varies with the situation and is trying to follow the real secondary path transfer function. However, introducing the on-line modelling to the system might cause convergence problems. The combined modelling technique that lets the system initialise itself with the off-line modelling and is continue being updated by on-line modelling, is a compromise answer.

Page Fejl! Ukendt argument for parameter.

8. Conclusion From literature studies the initiating problem was found to be: To reduce the noise in a single car seat. The noise is to be reduced in a specific car by the use of a local ANC system without concerning an increase in noise at other locations. Noise measurements and impulse response measurements have been made in a Fiat Ducato minibus in several situations. The measured signals have been used for both analysis and simulation. The analysis shows that the noise consists of both deterministic and stochastic parts. Extensive analyses of ANC from signal processing and theoretical acoustic aspects have shown that there are several approaches to implement an ANC system. From analysis of the measurements and simulations of several ANC topologies, it has been decided to use a single channel Hybrid ANC system based on the Normalised LMS algorithm. It has been shown that this algorithm is the most effective for controlling the measured noise signals, but it has problems with stability. Physiological parameters, in form of an Aweighting, have been included in the model to reduce the load of the ANC system. The ANC system has been implemented on a Digital Signal Processor in assembly code. The total system does not work because of problems with the implementation of the Normalised LMS algorithm. The problem seems to be in the code. All the other parts have been tested and verified to function as expected. The next step should be the realisation of listening tests on a sample of people in order to estimate the realised improvement in the sound quality domain and if it is useful and realistic to put such a system in this kind of car.

Page Fejl! Ukendt argument for parameter.

9. References F&F

C.R. Fuller and AH. von Flotow, “Active Control of Sound and Vibration”, IEEE Control Systems, December 1995, Volume 15 number 6, p. 9, ISSN 0272-1708

HAY

Haykin, Simon, “Adaptive Filter Theory”, Third Edition, Prentice Hall, 1996, ISBN: 0-13397985-7.

KIN

Kinsler, Lawrence E., et al., “Fundamentals of Acoustics”, Third Edition, John Wiley & Sons, 1982, ISBN: 0-471-02933-5.

KUO

Kuo, Sen M., et al., “Active Noise Control Systems, Algorithms and DSP Implementation”, John Wiley & Sons, 1996, ISBN: 0-471-13424-4.

N&E

Nelson, P. A. & Elliot, S. J., “Active Control of Sound”, Academic Press, 1992, ISBN: 0-12515425-9.

OPP

Oppenheim, Alan V., et al., “Discrete-Time Signal Processing”, Prentice Hall, 1989, ISBN: 013-216771-9.

ORF

Orfanicis, Sophocles J., “Introduction to Digital Signal Processing”, Prentice Hall, 1996, ISBN: 0-13-240334-X.

OSW

Oswald, Lawrence J., “Reduction of Diesel Engine Noise inside Passenger Compartments using Active, Adaptive Noise Control”, Internoise ’84, December 1984.

PED

Pedersen, Flemming, “Introduction to Joint Time Frequency Analysis”, Department of Communications Technology, Institute of Electronic Systems, Aalborg University, 1999.

TEX1

Texas Instruments, “TMS320C54x DSP, Reference Set, Volume 1: CPU and Peripherals”, August 1997, Literature Number: SPRU131D.

TEX2

Texas Insruments, “TMS320C54x DSP, Reference Set, Volume 2: Mnemonic Instruction Set”, June 1998, Literature Number: SPRU172B.

TEX3

Texas Insruments, “TMS320C54x DSP, Reference Set, Volume 3: Algebraic Instruction Set”, August 1997, Literature Number: SPRU179A.

TEX4

Texas Instruments, “TMS320C54x DSP, Reference Set, Volume 4: Applications Guide”, Prelimenary Edition, October 1986, Literature Number: SPRU173.

TEX5

Texas Insruments, “TMS320C54x DSP, Assembly Language Tools, User’s Guide”, January 1997, Literature Number: SPRU102B.

TOK

Tokhi M. O., et al., “Active Noise Control”, Oxford Clarendon, 1992, ISBN: 0198562438.

Page Fejl! Ukendt argument for parameter.

Page Fejl! Ukendt argument for parameter.