SURGE 2007

ADAPTIVE ACTIVE NOISE CONTROL A report of the project completed under the SURGE 2007 Programme by

Ajay S Department of Electronics and Communication Engineering National Institute of Technology Karnataka, Surathkal

DEPARTMENT OF ELECTRICAL ENGINEERING

INDIAN INSTITUTE OF TECHNOLOGY KANPUR

July, 2007

12th July 2007

CERTIFICATE

This is to certify that the work contained in the project report titled “ Adaptive Active Noise Control ”, by Ajay S, has been carried out under my supervision as part of the SURGE 2007 programme at IIT Kanpur.

Dr. Laxmidhar Behera Associate Professor Department of Electrical Engineering Indian Institute of Technology, Kanpur

i

ACKNOWLEDGEMENTS I would like to express my heart-felt gratitude to Dr. Laxmidhar Behera for selecting me for SURGE 2007 and providing me the necessary guidance and inspiration to carry out this work. This work wouldn’t have been possible without his constant support and motivation. I specially thank Prof. Sanjay G. Dhande for inspiring me by his words of wisdom. I would like to thank Dr. S S K Iyer and Dr. Vibha Tripathi for co-ordinating SURGE 2007 programme and their constant support throughout my stay at IITK. My thanks are due to Ms. Neha Gupta and the staff of the DRPG office for their untiring effort to make SURGE 2007 Programme successful. I whole heartedly thank Prem Kumar, Indrani Kar and Swagat Kumar for guiding me through out the project and helping me with constructive suggestions. I thank my team-mates Veeravasantarao and Roman Choudhury for helping me carry out this work. I also thank Balaji Uggirala, Naman Patel, Amit Shukla, Awhan Patnaik, Uday ji and all others in Control Lab for their constant support during my work at the lab. I would also like to thank my friends Pradeep Kumar Sahoo and Atish Patra for their continual support and good wishes. Finally, I thank IIT Kanpur for providing me an opportunity to be a part of SURGE 2007 programme and experience undergraduate research in a congenial academic environment. I thank everyone who made me feel at home during my stay at IIT kanpur and make SURGE 2007, a memorable experience.

ii

ABSTRACT Active Noise Control (ANC) is a technique of acoustic noise reduction using a secondary source of sound which produces “antinoise” that destructively interferes with the primary noise, thereby reducing it. ANC is useful at low frequency range (less than 600Hz) where passive noise control devices like mufflers and silencers become bulky and ineffective. In this project, narrowband single channel feedback ANC for headsets application is focused upon. This is suitable for reducing low frequency periodic noise like that from an engine or a pump. This architecture uses a single error microphone and a single canceling headphone speaker with a controller using an adaptive algorithm to generate antinoise. The secondary path effects due to the acoustic environment of the system are incorporated into the system. The secondary path modeling is done using Least Mean Squares (LMS) algorithm. The ANC is implemented using the feedback form of Filtered-X LMS (FXLMS) algorithm. The algorithm verification is done on MATLAB and the system is simulated on C platform. Real time implementation of the system is done using TMS320C6713 DSP Starter Kit (DSK). The simulation results using a two tone noise signal show a noise reduction of 16.19 dB. The real time practical setup using DSK shows a noise reduction of 8.57 dB under the same testing conditions. The inferior performance of the practical system is attributed to the acoustic environment of the system which is complex to model. Advanced adaptive algorithms like Kalman Filter is also implemented for ANC but the implementation fails to be real time due to DSK hardware limitations.

iii

Contents

1

2

Introduction

1

1.1

Noise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1

1.2

Types of Noise in acoustic systems . . . . . . . . . . . . . . . . . . .

1

1.3

Approaches to Acoustic Noise Control . . . . . . . . . . . . . . . . .

2

Active Noise Control

3

2.1

The Concept of Active Noise Control (ANC) . . . . . . . . . . . . .

3

2.2

Adaptive Active Noise Control . . . . . . . . . . . . . . . . . . . . .

4

2.3

Classification of Active Noise Control . . . . . . . . . . . . . . . . .

4

2.3.1

Feedforward ANC systems . . . . . . . . . . . . . . . . . . .

5

2.3.2

Feedback ANC systems . . . . . . . . . . . . . . . . . . . .

5

2.3.3

Hybrid ANC systems . . . . . . . . . . . . . . . . . . . . . .

6

Single and Multiple Channel ANC systems . . . . . . . . . . . . . .

8

2.4.1

Single Channel ANC systems . . . . . . . . . . . . . . . . .

8

2.4.2

Multiple Channel ANC systems . . . . . . . . . . . . . . . .

8

2.5

Applications of Active Noise Control . . . . . . . . . . . . . . . . .

8

2.6

Adaptive Single channel Narrow band Feedback Active Noise Control

9

2.4

3

Feedback ANC on headsets

10

3.1

Adaptive Algorithms for Active Noise Control . . . . . . . . . . . . .

10

3.1.1

Basic configuration of an ANC system . . . . . . . . . . . . .

10

3.1.2

The LMS Algorithm . . . . . . . . . . . . . . . . . . . . . .

11

iv

3.1.3

Acoustic Environment and Secondary Path . . . . . . . . . .

13

3.1.4

The Filtered-X Least Mean Squares (FXLMS) Algorithm . . .

15

3.1.5

FXLMS algorithm for feedback ANC in Headsets . . . . . . .

17

Experimental setup and Hardware requirements . . . . . . . . . . . .

18

3.2.1

Experimental setup . . . . . . . . . . . . . . . . . . . . . . .

18

3.2.2

Determining the Hardware specifications . . . . . . . . . . .

18

3.3

Algorithm verification on MATLAB . . . . . . . . . . . . . . . . . .

21

3.4

Simulation of FXLMS algorithm in C . . . . . . . . . . . . . . . . .

21

3.2

3.4.1

PC based implementation using PC soundcard and Portaudio API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.5

3.6

3.7 4

21

Implementation of FXLMS algorithm for feedback ANC on TMS320C6713 DSK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

21

3.5.1

Introduction to TMS320C6713 DSK . . . . . . . . . . . . . .

22

3.5.2

Implementation of the algorithm on the DSP . . . . . . . . .

23

3.5.3

Procedure for a test run of the ANC experiment . . . . . . . .

24

Simulation and Implementation results . . . . . . . . . . . . . . . . .

25

3.6.1

MATLAB Simulation Results . . . . . . . . . . . . . . . . .

25

3.6.2

Real time Secondary Path Modeling . . . . . . . . . . . . . .

25

3.6.3

Results of simulation in C . . . . . . . . . . . . . . . . . . .

25

3.6.4

Real time Feedback ANC experiment on DSK using FXLMS algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . .

28

Inference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

29

Advanced Algorithms for feedback ANC

31

4.1

Kalman Filter algorithm for feedback ANC . . . . . . . . . . . . . .

31

4.1.1

Kalman Filter . . . . . . . . . . . . . . . . . . . . . . . . . .

31

4.1.2

The Discrete Kalman Filter Algorithm . . . . . . . . . . . . .

33

Implementation of Kalman Filter on DSP . . . . . . . . . . . . . . .

34

4.2

v

5

Conclusion and Summary

36

5.1

Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

36

5.2

Scope for future work . . . . . . . . . . . . . . . . . . . . . . . . . .

36

vi

List of Figures 2.1

Physical Concept of Active Noise Cancellation . . . . . . . . . . . .

3

2.2

Feedforward Active Noise Control . . . . . . . . . . . . . . . . . . .

6

2.3

Feedback Active Noise Control . . . . . . . . . . . . . . . . . . . . .

7

2.4

Hybrid Active Noise Control . . . . . . . . . . . . . . . . . . . . . .

7

2.5

Multiple Channel Active Noise Control . . . . . . . . . . . . . . . .

9

3.1

Basic Configuration of ANC system . . . . . . . . . . . . . . . . . .

11

3.2

Secondary Path and its modeling . . . . . . . . . . . . . . . . . . . .

13

3.3

Secondary path compensated ANC system . . . . . . . . . . . . . . .

15

3.4

FXLMS Algorithm for ANC . . . . . . . . . . . . . . . . . . . . . .

16

3.5

FXLMS Algorithm for feedback ANC in Headsets . . . . . . . . . .

17

3.6

Experimental Setup for ANC experiment . . . . . . . . . . . . . . . .

19

3.7

Microphone interfacing circuit . . . . . . . . . . . . . . . . . . . . .

20

3.8

MATLAB Simulation Results . . . . . . . . . . . . . . . . . . . . . .

26

3.9

Secondary path modeling - error signal . . . . . . . . . . . . . . . . .

26

3.10 Secondary path model C(z) - Impulse response . . . . . . . . . . . .

27

3.11 Secondary path model C(z) - Frequency response . . . . . . . . . . .

27

3.12 Results of Simulation in C . . . . . . . . . . . . . . . . . . . . . . .

28

3.13 Results of Real time ANC experiment on DSK . . . . . . . . . . . .

29

4.1

35

Kalman Filter Implementation using Multirate Signal Processing . . .

vii

List of Tables 3.1

Headphone(Secondary Speaker) Specifications . . . . . . . . . . . .

19

3.2

Error Microphone Specifications . . . . . . . . . . . . . . . . . . . .

20

viii

Chapter 1 Introduction 1.1

Noise

Noise is any undesired phenomenon present in the system which adversely affects the performance of the system. In acoustic domain, noise is unwanted sound present in the acoustic system. Acoustic noise affects the performance of a system by affecting the quality and intelligibility of essential sound. Noise can result from within the system - internal or may result from the external environment - external noise.

1.2

Types of Noise in acoustic systems

There are mainly two kinds of noise[1] in acoustic systems in the context of noise control. • Broadband Noise: It is caused by turbulence and is totally random. Turbulent noise distributes its energy evenly across the entire frequency range of interest. Examples for broadband noise include the low-frequency sounds of jet planes and the impulse noise of an explosion. • Narrowband Noise: This kind of noise concentrates most of its energy at specific frequencies. Narrowband noise is related to rotating or repetitive machines, so it is periodic or nearly periodic. Examples include the noise of internal combustion engines in transportation, compressors as auxiliary power sources and in refrigerators, and vacuum pumps used to transfer bulk materials in many industries. This kind of noise is characterized by the presence of harmonics of the 1

CHAPTER 1. INTRODUCTION

2

angular frequency of rotating parts of the machine.

1.3

Approaches to Acoustic Noise Control

Acoustic noise control is of a greater importance today because of the increase in machines and automobiles and the emphasis on reducing noise pollution in the environment. There are two approaches to noise control – • Passive Noise Control: The traditional approach to acoustic noise control uses passive techniques such as enclosures, barriers, and silencers to attenuate the undesired noise. Passive silencers use either the concept of impedance change caused by a combination of baffles and tubes to silence the undesired sound (reactive silencers) or the concept of energy loss caused by sound propagation in a duct lined with sound-absorbing material to provide the silencing (resistive silencers). Reactive silencers are commonly used as mufflers on internal combustion engines, while resistive silencers are used mostly for duct-borne fan noise. These passive silencers are valued for their high attenuation over a broad frequency range. However, they are relatively large, costly, and ineffective at low frequencies, making the passive approach to noise reduction often impractical. Moreover, they also tend to suppress the required sound and hence perform poorly in audio applications. • Active Noise Control: Active noise control uses active techniques to reduce noise by producing ”antinoise” which cancels the primary noise acoustically. It is the subject matter of discussion in the forthcoming chapters.

1

This report is typeset using LATEX[2].

Chapter 2 Active Noise Control 2.1

The Concept of Active Noise Control (ANC)

Active noise cancellation or control[3] is a technique of noise cancellation by using ”antinoise”. The active noise control system contains an electroacoustic device that cancels the unwanted sound by generating an antisound (antinoise) of equal amplitude and opposite phase. The original, unwanted sound and the antinoise acoustically combine, resulting in the cancellation of both sounds by destructive interference. Figure 2.1 shows the waveforms of the unwanted noise (the primary noise), the canceling noise (the antinoise), and the residual noise that results when they superimpose. The effectiveness of cancellation of the primary noise depends on the accuracy of the amplitude and phase of the generated antinoise. Active noise control is used mainly to reduce noise in low frequency range where passive control techniques fail and the

Figure 2.1: Physical Concept of Active Noise Cancellation 3

CHAPTER 2. ACTIVE NOISE CONTROL

4

suppressors are huge and bulky. ANC is effective in the low frequency range less than 600Hz. At low frequencies, where lower sampling rates are adequate and only plane wave propagation is allowed, active control offers real advantages. ANC permits improvements in noise control, often with potential benefits in size, weight, volume, and cost. In an electro acoustic active noise canceling system, we make use of a microphone to sense the residual noise and a secondary speaker to produce the antinoise to interfere destructively. These are suitably placed in the acoustic environment for optimal performance. Thus the acoustic domain is converted into electrical domain by the use of these transducers. In the electrical domain a suitable algorithm generates the antinoise using the input from the microphone. There may be many microphones and an array of secondary speakers based on the application and complexity. The controller is preferred to be digital in order that Digital Signal Processors(DSP) can be used to implement the required algorithm with ease.

2.2

Adaptive Active Noise Control

The characteristics of the acoustic noise source and the environment are time varying, the frequency content, amplitude, phase, and sound velocity of the undesired noise are non-stationary. An ANC system must therefore be adaptive in order to cope with these variations. Adaptive filters adjust their coefficients to minimize an error signal and can be realized as (transversal) finite impulse response (FIR), (recursive) infinite impulse response (IIR), lattice, and transform-domain filters. These adaptive algorithms are often implemented on DSPs in real time environments.

2.3

Classification of Active Noise Control

There are different approaches to ANC. Based on the type of control loop, ANC is classified [4] as:

CHAPTER 2. ACTIVE NOISE CONTROL

2.3.1

5

Feedforward ANC systems

Feedforward control (Fig 2.2) is where a coherent reference noise input is sensed before it propagates past the canceling speaker. Thus the controller has an idea of the characteristics of the primary noise because of the reference input present near the primary noise source. This configuration thus has two sensor inputs – reference input and error input. The reference input is also through a reference microphone (electroacoustic reference). In periodic narrowband noise applications like engine noise control, the noise is usually the harmonics of the frequency of the rotating parts of the machine. So the reference could also be through a tachometer which provides information about the angular frequency of rotation (electromechanical reference). Broadband noise cancellation requires knowledge of the noise source (the primary noise) in order to generate the antinoise signal. The measurement of the primary noise is used as a reference input to the noise canceler. Primary noise that correlates with the reference input signal is canceled downstream of the noise generator (a loudspeaker) when phase and magnitude are correctly modeled in the digital controller. Thus feedforward ANC is suitable for broadband noise control applications like duct noise cancellation. It provides superior noise cancellation than feedback control due to the presence of reference input but is complex in its implementation [5] due to multiple inputs. Most of the present day ANC applications use feedforward control.

2.3.2

Feedback ANC systems

Feedback control (Fig 2.3) is where the active noise controller attempts to cancel the noise without the benefit of an upstream reference input. So the controller has no idea about the characteristics of primary noise. This configuration thus has a single input from the error microphone. It provides only limited attenuation over a restricted frequency range for periodic or band-limited noise. It also suffers from instability, because of the possibility of positive feedback at high frequencies. The main advantage of the feedback ANC systems is their relatively simple configuration [5] because they need no reference signal sensors though they are inferior in performance compared to

CHAPTER 2. ACTIVE NOISE CONTROL

6

Figure 2.2: Feedforward Active Noise Control the feedforward systems. Feedback systems are suitable for cancelling periodic narrowband noise. So feedback systems are suited for ANC headset and engine noise cancellation applications.

2.3.3

Hybrid ANC systems

A combination of the feedforward and feedback control structures is called a hybrid ANC system, as illustrated in Fig 2.4. The reference sensor is kept close to the noise source and provides a coherent reference signal for the feedforward ANC system. The error sensor is placed downstream and senses the residual noise, which is used to synthesize the reference signal for the adaptive feedback ANC filter, as well as to adapt the coefficients of both the feedforward and feedback ANC filters. The feedforward ANC attenuates primary noise that is correlated with the reference signal, while the feedback ANC cancels the predictable components of the primary noise that are not observed by the reference sensor. The advantage of hybrid ANC over other ANC systems is that a lower order filter can be used to achieve the same performance. The hybrid systems also clearly demonstrate an advantage over either the simple feedforward ANC or adaptive feedback ANC system alone when there is significant plant noise.

CHAPTER 2. ACTIVE NOISE CONTROL

Figure 2.3: Feedback Active Noise Control

Figure 2.4: Hybrid Active Noise Control

7

CHAPTER 2. ACTIVE NOISE CONTROL

2.4

8

Single and Multiple Channel ANC systems

Based on the acoustic environment complexity, the ANC systems are classified as – • Single Channel ANC systems • Multiple Channel ANC systems

2.4.1

Single Channel ANC systems

When the acoustic environment is simple, a single error sensor and a single secondary source is sufficient to cancel out noise. Such an acoustic environment is often one dimensional and is called as single channel system. Examples include headsets, small ducts, etc.

2.4.2

Multiple Channel ANC systems

Many applications can display complex modal behavior. When the geometry of the sound field is complicated, it is no longer sufficient to adjust a single secondary source to cancel the primary noise using a single error microphone. The control of complicated acoustic fields requires both the exploration and development of optimum strategies and the construction of an adequate multiple-channel controller. These tasks require the use of a multiple-input multiple-output adaptive algorithm. The general multiple-channel ANC system involves an array of sensors and actuators. A block diagram of a multiple-channel ANC system for a three-dimensional application is shown in Fig 2.5. Applications include large ducts or enclosures and passenger compartments of aircraft or automobiles.

2.5

Applications of Active Noise Control

A few of the main applications of Active Noise Control are listed below: • Airconditioning ducts, exhaust systems, passenger compartments and aircraft cabins use broadband feedforward algorithms.

CHAPTER 2. ACTIVE NOISE CONTROL

9

Figure 2.5: Multiple Channel Active Noise Control • ANC Headphones for personal audio applications, industrial and aviation Headsets mostly use feedback ANC.

2.6

Adaptive Single channel Narrow band Feedback Active Noise Control

Adaptive Single channel Narrowband Feedback Active Noise Control for Headset application is the main problem addressed in the forthcoming sections. Feedback control is chosen because of its simpler practical implementation. Thus the system is designed to cancel periodic narrowband noise. Single channel implementation is assumed for simplicity. Headset application is a simple in its experimental setup but poses a good challenge for algorithm development. Moreover, headset application is practically feasible and a potential commercial application of feedback ANC. Hence, the algorithms are designed and tested on ANC headset. Algorithm verificaR tion is done on MATLAB° . The algorithms are implemented on Spectrum Digital R Inc. DSP Starter Kit with Texas Instruments° TMS320C6713 floating point DSP

(TMS320C6713 DSK) using Code Composer Studio v3.1.

Chapter 3 Feedback ANC on headsets Feedback ANC for headsets[6] is the main focus for the remaining discussion. Various algorithms used for feedback ANC are studied and analyzed. They are adapted for the headset application. The hardware specifications for the experimental setup is determined. The experiment for single channel acoustic environment is setup using a single headset and an error microphone. The algorithms are verified on the MATLAB platform for optimal performance. These algorithms are then tested in a PC environment on C using the PC sound card. A suitable sound card audio API is used for audio input/output. The real time implementation of the algorithms is done on a Digital Signal Processor designed for audio applications. Its performance is evaluated by the amount of noise reduction achieved. Novel algorithms are developed for feedback ANC and their performance is evaluated in comparison with the existing algorithms.

3.1

Adaptive Algorithms for Active Noise Control

As mentioned earlier, ANC requires the use of adaptive algorithms in the controller to produce the antinoise. The basic configuration and the algorithms for ANC are provided here.

3.1.1

Basic configuration of an ANC system

An ANC system, illustrated in Fig 3.1 consists of a primary noise source x(n) which is input to an unknown plant P (z) which produces the noise. This unknown plant is in acoustic domain. In the electrical domain, the controller W (z) is an adaptive fil10

CHAPTER 3. FEEDBACK ANC ON HEADSETS

11

Figure 3.1: Basic Configuration of ANC system

ter which produces the antinoise y(n) which acoustically combines with the primary noise with destructive interference to produce a residual noise(or error signal) e(n) which is then used by the controller to update the coefficients of the filter W (z) adaptively. Noise cancellation is achieved when the residual error decreases. The adaptive filter can be based on MA model (FIR filter) or ARMA model (IIR filter). Only FIR form for W (z) is considered.

3.1.2

The LMS Algorithm

Least Mean Squares(LMS) algorithm[7], [8] aims to minimize the expectation of squared error signal. The idea behind LMS filter is to use the method of steepest descent to find a coefficient vector w which minimizes the expectation function(or the cost function) ξ = E{|e(n)|2 }. Assuming that the order of filter w is N and all the signals to be real valued, we define the following vectors: • The input vector is xn = [x(n) x(n − 1) x(n − 2) · · · x(n − N )] • The filter coefficient vector wn = [wn (0) wn (1) wn (2) · · · wn (N )] • Filter output y(n) = xn wnT • Residual error signal e(n) = d(n) − y(n)

CHAPTER 3. FEEDBACK ANC ON HEADSETS

12

• Desired signal D(z) = X(z)P (z) • Autocorrelation matrix of input R = E{xTn xn } ¯ = [λ0 λ1 · · · λN ] • Eigen values of the matrix R are λ By steepest descent algorithm, the update expression for filter weights of W (z) is wn+1 = wn − µ∇ξ

(3.1)

µ is called as the tuning parameter or the learning rate. ∇ξ = ∇E{e(n)e∗ (n)}

(3.2)

We replace the cost function ξ = E{|e(n)|2 } by its coarse estimate ξˆ = |e(n)|2 in eqn 3.1 to obtain wn+1 = wn − µ∇ξˆ

(3.3)

wn+1 = wn − µ∇|e(n)|2

(3.4)

orwn+1 = wn − µe(n)∇e(n)

(3.5)

we have,

∇e(n) = −xn

(3.6)

wn+1 = wn + µe(n)xn

(3.7)

So, the update equation is,

The above eqn 3.7 is the update rule for filter W (z) according to LMS algorithm. µ is chosen such that 0 < µ < 1/λmax ¯ where λmax is the largest Eigen value in λ. LMS algorithm has the following features: • Simplicity in implementation • Stable and robust performance against different signal conditions • slow convergence ( due to eigenvalue spread )

CHAPTER 3. FEEDBACK ANC ON HEADSETS

13

Figure 3.2: Secondary Path and its modeling Normalized LMS algorithm The main disadvantage of the pure LMS algorithm is that it is sensitive to the scaling of its input x(n). This makes it difficult to choose a learning rate µ that guarantees stability of the algorithm. The Normalised Least Mean squares filter (NLMS) is a variant of the LMS algorithm that solves this problem by normalizing the learning rate µ with the power of the input. The NLMS algorithm is given by: wn+1 = wn +

µe(n)xn xn xTn

(3.8)

where, xn xTn represents the energy in input signal x(n)

3.1.3

Acoustic Environment and Secondary Path

The antinoise produced by the controller interferes with the noise in the acoustic environment. This would imply that the antinoise has to travel through the acoustic environment. This acoustic environment alters the signal characteristics of the antionoise y(n). Moreover, the speaker sensitivity and impedance, microphone sensitivity and

CHAPTER 3. FEEDBACK ANC ON HEADSETS

14

impedance, A/D and D/A converters, mic and speaker pre-amplifiers, temperature and other physical conditions affect the antinoise produced. So the entire path shown in Fig 3.2 containing the D/A converter, pre-amplifiers, secondary speaker, acoustic path from speaker to microphone, microphone, pre-amplifier and A/D converter is called as the Secondary path[4] and this secondary path effects are to be compensated. It is similar to stating that the antinoise y(n) is input to the secondary path transfer function H(z) and the output from the system H(z) is the actual antinoise yˆ(n)which cancels the noise. The secondary path is modeled using an FIR adaptive filter C(z), of order M, using LMS algorithm. This modeling is a typical problem of System Identification. The experimental setup for secondary path modeling is shown in Fig 3.2. For the purpose of secondary path estimation, the input signal x(n) must be rich in frequency content in the frequency range of interest. So for such a kind of system modeling, white noise or chirp signal is used as input for training. A sample of white noise (or chirp signal) is generated and presented as the output y(n) to drive the canceling loudspeaker. This internally generated white noise (or chirp) is used as the reference input for the adaptive filter C(z) and the LMS coefficient adaptation algorithm. The adaptation is done using the residual error from the error microphone. This is called off-line modeling and since the acoustic environment keeps changing, this training is to be done every time the ANC system is to be used. So whenever the ANC system is turned on, this training is done and the secondary path transfer function is estimated using chirp or white noise as input. Once this modeling is done, the coefficients are stored and used in noise cancellation mode. Fig 3.3 shows the ANC system with secondary path effects included and the the z-transform of error signal e(n) is: E(z) = X(z)P (z) + X(z)W (z)H(z)

(3.9)

Note that the error e(n) is defined as the acoustic addition of the signals from the two paths. Assuming that W(z) has sufficient order, after the convergence of the adaptive filter, the residual error is zero i.e. E(z) = 0. This result requires W (z) to be as in

CHAPTER 3. FEEDBACK ANC ON HEADSETS

15

Figure 3.3: Secondary path compensated ANC system eqn 3.10 to realize the optimal transfer function. W (z) =

−P (z) H(z)

(3.10)

Thus, the adaptive filter W (z) has to model the primary path P (z) and inversely model the secondary path H(z). From eqn 3.10 we see that the control system is unstable if there is a frequency ω such that H(ω) = 0. Also, the control system is ineffective if there is a frequency ω where P (ω) = 0, a zero in the primary path causes an unobservable control frequency). Therefore, the characteristics of the secondary path H(z) have significant effects on the performance of an ANC system.

3.1.4

The Filtered-X Least Mean Squares (FXLMS) Algorithm

To account for the effects of the secondary-path transfer function H(z), the conventional least-mean-square (LMS) algorithm needs to be modified[1]. To ensure convergence of the algorithm, the input to the error correlator is filtered by a secondary-path estimate C(z) as shown in Fig 3.4. The update equation for W (z) using FXLMS algorithm is, wn+1 = wn − µ e(n) xn h(n)

(3.11)

CHAPTER 3. FEEDBACK ANC ON HEADSETS

16

Figure 3.4: FXLMS Algorithm for ANC Note that the update equation has a negative sign resulting due to error e(n) being taken as the acoustic addition of d(n) and yˆ(n) and not electrical subtraction. Here µ is the step size of the algorithm that determines the stability and convergence of the algorithm and h(n) is the impulse response of H(z). Therefore, the input vector x(n) is filtered by H(z) before updating the weight vector. However, in practical applications, H(z) is unknown and hence the estimated filter C(z) is used in its place. Thus, wn+1 = wn − µ e(n) x0n

(3.12)

The filtered version of reference input x0 (n) that is computed as: x0 (n) = xn cTn

(3.13)

x0n = [x0 (n) x0 (n − 1) · · · x0 (n − M )]

(3.14)

and c = [c(0) c(1) c(2) · · · c(M )]

(3.15)

is the coefficient vector of the estimated secondary path filter C(z) (order M). This FXLMS algorithm still needs a reference input x(n) and hence it is further mod-

CHAPTER 3. FEEDBACK ANC ON HEADSETS

17

Figure 3.5: FXLMS Algorithm for feedback ANC in Headsets ified by including an estimate of input xˆ(n) instead of x(n) to suit the needs of the feedback ANC algorithm.

3.1.5

FXLMS algorithm for feedback ANC in Headsets

Narrowband Feedback ANC systems[9][10] require only a single error microphone and the reference input x(n) in FXLMS system is replaced by its estimate xˆ(n) as shown in the Fig 3.5. The primary noise input x(n) is estimated as: xˆ(n) = e(n) − y n cT where, y n = [y(n) y(n − 1) · · · y(n − M )] From Fig 3.5, X(z) = E(z)H(z)Y (z)

(3.16)

where both E(z) and Y (z) are available. If the transfer function H(z) of the secondary path is modeled by C(z), ˆ X(z) ≈ X(z) = E(z)C(z)Y (z)

(3.17)

CHAPTER 3. FEEDBACK ANC ON HEADSETS

18

The error signal can be shown as: ˆ E(z) = X(z) − W (z)H(z)X(z) The error signal for this feedback ANC system is 0 when: ˆ W (z)H(z)X(z) = X(z) which is possible if the primary noise X(z) is periodic and the transfer function W (z)H(z) is equal to a delay equivalent to a multiple of the signal period. The update law for the filter coefficients still remains as: wn+1 = wn − µ e(n) x0n

(3.18)

This is the algorithm used in the current application being discussed. This eliminates the need for a reference microphone as the reference is internally generated.

3.2

Experimental setup and Hardware requirements

3.2.1

Experimental setup

The experimental setup consists of a single headset and an error microphone. The error microphone is positioned inside the headphone cup as shown in Fig 3.6. External computer multimedia speakers are used for producing primary noise signal. Sampling rate of 8kHz is used in order to be compatible with voice applications.

3.2.2

Determining the Hardware specifications

Headphone-Secondary Speaker The maximum output power rating of the headphone used for this purpose decides the power level of antinoise produced and hence the maximum sound level of the noise which can be cancelled. The headphone should also be sensitive over the entire range of frequency of interest - 0 to 4kHz in our case. The output sound level from any speaker is measured in terms of output Sound Pressure Level(SPL). Sound Pressure level[11] of any received sound is defined as, Sound P ressure ) SP L(dB) = 20log( RefInput erence Sound P ressure

CHAPTER 3. FEEDBACK ANC ON HEADSETS

19

Figure 3.6: Experimental Setup for ANC experiment 1 pascal variation in the air pressure due to sound at the receiver corresponds to 94 dB SPL. The sensitivity of a headphone is measured as the output SPL produced per unit power input. For the experiment, SONY MDR-XD100 HiFi stereo headphones are used. Specifications are as given in Table 3.1. Power handling capacity Impedance Frequency Range of operation Sensitivity

1500 mW 70 Ω at 1 kHz 12-22000Hz 100 dB/mW

Table 3.1: Headphone(Secondary Speaker) Specifications

Error Microphone Error microphone is crucial for the performance of the ANC headset due to the fact that the update algorithms use the input from this microphone to update filter coefficients. This microphone also measures the residual noise which is very small in amplitude. So it has to be very sensitive with a good frequency response over the frequency range of interest. Moreover the microphone should be small and inconspic-

CHAPTER 3. FEEDBACK ANC ON HEADSETS

20

Figure 3.7: Microphone interfacing circuit

uous since it has to be positioned inside the earcup of the headphone. The sensitivity of the microphone is measured in terms of the voltage produced across its terminals when a particular sound pressure variation occurs at its input. Higher the sensitivity, better is the response of microphone to low amplitude signals. The spatial characteristics of a mic also plays an important role. Microphones can have omnidirectional, cardiod or unidirectional spatial response. The ANC application needs an omnidirectional response since it has to sense the error from all the directions. Microphone impedance is fixed at 1kΩ. Since a condenser microphone is used, it needs an external biasing circuit as shown in Fig 3.7. The value of resistance in the circuit is equal to the microphone impedance and the capacitor value is chosen so as to have a zero bias signal at the mic output. For the experiment, Ahuja CTP-10DX Tie Clip microphone is used. Its specifications are listed in Table 3.2.

Type Directionality Frequency Range of operation Sensitivity Impedance

Miniature Condenser(electret) tie-clip mic Omnidirectional with wide angle pickup 100 - 15000Hz 5.0 mV/Pa 1000 Ω

Table 3.2: Error Microphone Specifications

CHAPTER 3. FEEDBACK ANC ON HEADSETS

3.3

21

Algorithm verification on MATLAB

The FXLMS algorithm is verified on MATLAB environment in non-realtime mode. For the purpose, a suitable secondary path transfer function is assumed and the simulation is carried out. The convergence and the effect of stepsize µ on the convergence is observed. Adaptive filters in the Filter Design toolbox are used for realizing the algorithm. Model based approach in SIMULINK is also tried.

3.4

Simulation of FXLMS algorithm in C

The algorithm is implemented in C and tested for noise reduction. For the purpose, the secondary path model obtained from real time modeling on the DSP is used. The primary noise is also recorded through the error microphone and stored in a file to simulate real time conditions. The simulation output is the residual error and the RMS error value which is used to calculate the amount of noise reduction obtained. Simulation results are presented at the end of this chapter.

3.4.1

PC based implementation using PC soundcard and Portaudio API

The FXLMS algorithm is implemented on PC using the sound card. The algorithm is implemented in C using the Portaudio API for sound input and output. This was implemented with an intention of observing the realtime characteristics of the application and to verify the C implementation of the algorithm. Since the portaudio API is not real time, the implementation was far from being real time and hence only a passing mention is made to the PC based implementation of the system.

3.5

Implementation of FXLMS algorithm for feedback ANC on TMS320C6713 DSK

The algorithm is implemented in real time on TMS320C6713 DSP Starter Kit from Spectrum Digital Inc.

CHAPTER 3. FEEDBACK ANC ON HEADSETS

3.5.1

22

Introduction to TMS320C6713 DSK

The 6713 DSP Starter Kit (DSK) is a low-cost platform which can be used to develop applications for the Texas Instruments C67X DSP family. The primary features of the DSK[12] are: • 225 MHz TMS320C6713 Floating Point DSP with VLIW architecture • On-chip 192 kB of Internal RAM • AIC23 Stereo Codec • On-board 512kB of Flash memory • On-board 16MB of SDRAM Texas Instruments’ Code Composer Studio development tools are bundled with the 6713 DSK providing an integrated development environment for C and assembly programming. Code Composer Studio communicates with the DSP using an on-board JTAG emulator through a USB interface. The BSL (Board Support Library) included along with the kit provides a C-language interface for configuring and controlling all on-board devices. The BSL is to provide a level of hardware abstraction and software standardization that improves development time and portability. The BSL for the AIC23 Stereo codec needs a special mention since it is extensively used in the application. The DSK uses a Texas Instruments AIC23 stereo codec for input and output of audio signals. The codec samples analog signals on the microphone or line inputs and converts them into digital data that can be processed by the DSP. When the DSP is finished with the data it uses the codec to convert the samples back into analog signals on the line and headphone outputs so that the user can hear the output. The codec uses a sigma-delta ADC with 16 bit precision and supports a range of sampling frequencies from 8kHz to 96kHz. The DSK supports the audio input through a microphone or Line-in and the audio output through a Headphone out or line-out. The input and the output devices along with the

CHAPTER 3. FEEDBACK ANC ON HEADSETS

23

pre-amplifier gain can be configured in the program at software level by modifying the contents of the codec registers.

3.5.2

Implementation of the algorithm on the DSP

This section describes the step by step implementation[1] of Secondary path modeling by LMS algorithm and feedback ANC by FXLMS algorithm on the DSP. Secondary path modeling - Determining C(z) Chirp signal is used as input for secondary path modeling. This chirp has a frequency range from 100Hz to 4kHz (for a sampling frequency of 8kHz) and of duration of 10 second. The samples of chirp signal are generated using MATLAB and are stored in the SDRAM memory of the DSK before the start of modeling process. The training is done on two(or three) iterations using the same chirp signal twice (or thrice), depending on convergence, leading to a training period of 20 second (or 30 second). A suitable µ is to be determined by multiple runs with different values of µ and observing convergence properties in each case. This modeling is done every time the ANC system is to be used. Referring to Fig 3.2: 1. Read one sample y(n) from the chirp signal and drive it to the canceling loudspeaker. This sample value is used as the reference input for the adaptive filter C(z) (order M). 2. Input the secondary-path response e0 (n) from the error microphone. 3. Compute the response of the adaptive model as: P r(n) = M i=0 ci (n)y(n − i) where ci (n) is the ith coefficient of the adaptive filter C(z) at time n and M is the order of filter. 4. Compute the difference: e(n) = e0 (n) – r(n) 5. Update the coefficients of the adaptive filter C(z) using the LMS algorithm: ci (n + 1) = ci (n) + µe(n)y(n − i) , i = 0, 1, . . . , M.

CHAPTER 3. FEEDBACK ANC ON HEADSETS

24

where µ is the step size that is suitably chosen satisfy the stability conditions. 6. Repeat the procedure for 10 seconds. Once the modeling is done, the model is to be validated. Validation is done by storing the values of e(n) at each sampling instant and the model has converged if e(n) tends to zero i.e the signal y(n) . After the convergence is proper, the model can be used in the ANC mode. Finally, save the coefficients of the adaptive filter C(z) and use them in the noise cancellation mode. FXLMS algorithm for feedback ANC The noise canceling mode begins after the training. The feedback ANC algorithm illustrated in Fig 3.5 is implemented as follows: 1. Input the error signal e(n) from the error microphone. 2. Compute (estimate) the reference input signal xˆ(n): P xˆ(n) = e(n) − M i=0 ci y(n − i) 3. Compute the antinoise y(n): P y(n) = N x(n − i) i=0 wi (n)ˆ where wi (n) is the ith coefficient of the adaptive filter W (z) at time n and N is the order of filter W (z). 4. Output the antinoise y(n) to the output port to drive the canceling loudspeaker. 5. Compute the filtered-X version of x(n) as x0 (n): P x0 (n) = M ˆ(n − i) i=0 ci x 6. Update the coefficients of adaptive filter W(z) using the FXLMS algorithm: wi (n + 1) = wi (n) − µe(n)x0 (n − i) , i = 0, 1, . . . , N 7. Repeat the procedure for the next iteration.

3.5.3

Procedure for a test run of the ANC experiment

The secondary path modeling is first done and the C(z) (order M) is stored. The external narrow band noise is recorded and played back on computer multimedia speakers. For simplicity the primary noise signal used is a two tone sinusoid of low frequency range from 150 Hz to 500 Hz. The ANC code is loaded on the DSP memory and

CHAPTER 3. FEEDBACK ANC ON HEADSETS

25

tested in real time conditions in the presence of noise. The error signal e(n), antinoise produced y(n) are stored at each sampling instant in the DSK SDRAM memory. The testing period is chosen suitably long to observe convergence. The test is then performed with antinoise switched off and error from the microphone (in the absence of ANC) is also stored. This gives the estimate of primary noise. The values stored in memory are transferred to text files. The error signal from microphone with ANC and without ANC are plotted. Using their RMS values, the amount of noise cancellation is calculated as, P 2 e (n)(without cancellation) N R(dB) = P 2 e (n)(with cancellation)

(3.19)

NR is the Noise reduction achieved in dB.

3.6

Simulation and Implementation results

3.6.1

MATLAB Simulation Results

The algorithm is simulated on MATLAB using the Filter Design Toolbox. The toolbox provides design objects for the adaptive algorithms. A suitable secondary path which is flat over the entire frequency range of 0 - 4 kHz is assumed. Using a 12 tone noise signal and µ = 0.0001, the simulation is performed for 60000 samples as shown in Fig 3.8. A noise reduction N R(dB) = 14.15 dB is observed.

3.6.2

Real time Secondary Path Modeling

Fig 3.9 shows the error signal in secondary path modeling. The training is done for three cycles of chirp signal (total training period of 30 second, µ = 0.0001). As we see, the error signal gradually approaches zero. Fig 3.10 shows the impulse response of the filter C(z). It is order of 128. Fig 3.11 shows the frequency response of the filter C(z) from 0 to 4kHz.

3.6.3

Results of simulation in C

Testing on C platform is done by simulating real time conditions by using the primary noise recorded through the error microphone on the DSK. The primary noise used is

CHAPTER 3. FEEDBACK ANC ON HEADSETS

26

Active Noise Control Using the Filtered−X LMS Adaptive Controller; Fs = 8000Hz, mu = 0.0001 3 Original Noise Residual Noise 2

Signal value

1

0

−1

−2

−3

0

1

2

3 Samples

4

5

6 4

x 10

Figure 3.8: MATLAB Simulation Results

Secondary path modeling − error signal (for a three cycle training with chirp signal), fs = 8000Hz, mu = 0.0001 0.04 error signal 0.02

0

−0.02

−0.04

−0.06

−0.08

0

0.5

1

1.5 Samples

Figure 3.9: Secondary path modeling - error signal

2

2.5 5

x 10

CHAPTER 3. FEEDBACK ANC ON HEADSETS

27

Secondary path filter estimate C(z) − Impulse Response 0.15

0.05

0

−0.05

−0.1

0

20

40

60

80

100

120

140

Sample

Figure 3.10: Secondary path model C(z) - Impulse response

Magnitude Response (dB) of the secondary path estimate filter C(z) −5

−10

−15 Magnitude (dB)

Amplitude

0.1

−20

−25

−30

−35

−40

0

0.1

0.2

0.3 0.4 0.5 0.6 0.7 Normalized Frequency (´π rad/sample) Fs = 8000Hz

0.8

Figure 3.11: Secondary path model C(z) - Frequency response

0.9

CHAPTER 3. FEEDBACK ANC ON HEADSETS

28

Simulation of feedback ANC using FXLMS algorithm using C for 90 second;Fs = 8000Hz 0.3 Primary Noise Residual Noise with ANC 0.2

Amplitude

0.1

0

-0.1

-0.2

-0.3 0

100000

200000

300000

400000 Samples

500000

600000

700000

800000

Figure 3.12: Results of Simulation in C

a two tone (156 Hz and 214 Hz) sinusoid. The secondary path coefficients are also directly imported as the coefficients of C(z) obtained from real time secondary path modeling on DSK. This ensures that the simulation is carried out in almost practical conditions. The simulation results for a 90 second testing using µ = 0.02 is shown in Fig 3.12. The order of C(z) is 128 while the order of W (z) is 116. A noise reduction N R(dB) = 16.19 dB is observed.

3.6.4

Real time Feedback ANC experiment on DSK using FXLMS algorithm

The Fig 3.13 shows the result of real time feedback ANC experiment on DSK. The testing is done for 90 second with a learning rate µ = 0.0001. The order of C(z) is 128 while the order of W (z) is 116. The primary noise used is a two tone (156 Hz and 214 Hz) sinusoid. A noise reduction N R(dB) = 8.57 dB is observed.

CHAPTER 3. FEEDBACK ANC ON HEADSETS

29

ANC Experiment conducted for 90 second duration with two tone sinusoid as primary noise signal 0.25 Primary Noise Residual Noise with ANC

0.2 0.15 0.1 0.05 0 −0.05 −0.1 −0.15 −0.2 −0.25

0

1

2

3

4 Samples

5

6

7

Figure 3.13: Results of Real time ANC experiment on DSK

3.7

Inference

Summarizing the results, it can be inferred that the ANC system is capable of canceling periodic noise. The C simulation shows good noise reduction of 16.19 dB. The practical real time implementation shows an inferior performance (NR = 8.57 dB) when compared to the simulation results. This is attributed to the complex nature of the acoustic environment which is difficult to be modeled accurately. The single channel assumption in feedback ANC is actually an approximation even in the small enclosed space of a headset. The interference pattern and the sound fields produced due to the primary noise and the secondary source need complex acoustic analysis. The performance also depends upon the headphone output power and the sensitivity of headphone and error microphone. Since FIR filter architecture is used for W (z) and C(z), it implies that longer filter lengths are required in order to model any system accurately. So better performance

8 5

x 10

CHAPTER 3. FEEDBACK ANC ON HEADSETS

30

can be obtained by using a higher order for W (z) and C(z) or by using different structure for the adaptive filters like the ARMA (IIR) or lattice structures. More advanced adaptive algorithms can also be developed for the feedback ANC application.

Chapter 4 Advanced Algorithms for feedback ANC In this section, advanced adaptive algorithms for feedback ANC are focussed upon. Advanced algorithms give a better convergence and improve the performance of the existing system. Recursive Least Squares (RLS) algorithm, Kalman Filter and the controller based on neural networks are a few of the algorithms which could be developed to suit the needs of Active Noise Control. Kalman filter for feedback ANC is developed in the forthcoming section.

4.1

Kalman Filter algorithm for feedback ANC

4.1.1

Kalman Filter

The Kalman filter [13], [14] provides an efficient computational (recursive) means to estimate the state of a process, in a way that minimizes the mean of the squared error. The Kalman filter addresses the general problem of trying to estimate the state f of a discrete-time controlled process that is governed by the linear stochastic difference equation fk = Afk−1 + Buk−1 + sk−1

(4.1)

with a measurement z that is zk = Hfk + vk

(4.2)

where, sk and vk are random variables and represent the process and measurement noise (respectively). The measurement noise is normally distributed with p(v) = 31

CHAPTER 4. ADVANCED ALGORITHMS FOR FEEDBACK ANC

32

N (0, R). We define fˆk− to be the a priori state estimate at step k given knowledge of the process prior to step k, and fˆk to be the a posteriori state estimate at step k given measurement zk . We can then define a priori and a posteriori estimate errors as ˆ− e− k ≡ fk − fk

(4.3)

ek ≡ fk − fˆk

(4.4)

The a priori estimate error covariance is then −T Pk− = E[e− k ek ]

(4.5)

and the a posteriori estimate error covariance is Pk = E[ek eTk ]

(4.6)

Kalman Filter tries to obtain a relation that computes an a posteriori state estimate fˆk as a linear combination of an a priori estimate fˆk− and a weighted difference between an actual measurement and a measurement prediction H fˆk− as shown below in Eqn 4.7. fˆk = fˆk− + K(zk − H fˆk− )

(4.7)

The difference (zk − H fˆk− ) is called as the measurement innovation or the residual. K is chosen to be the gain or blending factor that minimizes the a posteriori error covariance of Eqn 4.6. The value of K for this condition is given by, Pk− H T Kk = HPk− H T + R

(4.8)

Adapting Kalman Filter for ANC application In practice, the process noise covariance and measurement noise covariance matrices might change with each time step or measurement, however here we assume they are constant. Moreover, we also assume that the process noise is absent and hence sk = 0. The state x is the filter W (z). Since this filter has no input, uk = 0 and if we assume

CHAPTER 4. ADVANCED ALGORITHMS FOR FEEDBACK ANC

33

that the filter estimate for the next step is equal to the values at the previous step, A = I and hence, wˆk− = w ˆk−1

(4.9)

H(z) = −X 0 (z) = −X(z)C(z)

(4.10)

Moreover, we also have that,

These changes to the original Kalman filter is necessary for using it for feedback ANC. The update algorithm is described in the next section.

4.1.2

The Discrete Kalman Filter Algorithm

The Kalman filter estimates a process by using a form of feedback control, the filter estimates the process state at some time and then obtains feedback in the form of (noisy) measurements. The equations for the Kalman filter fall into two groups: time update equations and measurement update equations. The time update equations are responsible for projecting forward (in time) the current state and error covariance estimates to obtain the a priori estimates for the next time step. The measurement update equations are responsible for the feedback i.e. for incorporating a new measurement into the a priori estimate to obtain an improved a posteriori estimate. The time update equations can also be thought of as predictor equations, while the measurement update equations can be thought of as corrector equations. So Kalman filter works as a predictor-corrector filter. The predictor (time update) equation is: ˆk−1 wˆk− = w

(4.11)

Thus, the time update equation in ANC is hence redundant and no time update is required. The corrector (measurement update) equations are: Kk =

Pk− H T HPk− H T + R

(4.12)

wˆk = w ˆk− + Kk (zk − H wˆk− )

(4.13)

Pk = (I − Kk H)Pk−

(4.14)

CHAPTER 4. ADVANCED ALGORITHMS FOR FEEDBACK ANC

34

The first task during the measurement update is to compute the Kalman gain, Kk . The next step is to actually measure the process to obtain zk , and then to generate an a posteriori state estimate by incorporating the measurement as in Eqn 4.7. The final step is to obtain an a posteriori error covariance estimate using Eqn 4.14.

4.2

Implementation of Kalman Filter on DSP

Implementation of Kalman filter in feedback ANC system developed on DSK is by modifying the update law for the coefficients of the filter W (z)(order N) according to the Kalman filter prediction correction equations. Kalman filter is computationally very intensive and needs the storage of a large no. of variables, hence there are time and memory constraints in implementing it in real time. Since the sampling rate is 8 kHz, each iteration is to be completed within 125µs to meet the real time requirements. Kalman filter update equations failed to meet the real time constraint with Fs = 8000 Hz. So, the sampling frequency is reduced to 2kHz so that the iteration time increases to 500µs which gives the algorithm more time to complete the iteration. But, the AIC23 codec in the DSK requires a minimum sampling frequency of 8kHz. Hence multirate signal processing is implemented with the audio input/output at a sampling rate of 8kHz and the main Kalman filter algorithm working at 2kHz as shown in Fig 4.1. This requires a low pass interpolation filter with cutoff frequency 1 kHz before interpolation by 4. A 114th order FIR (equiripple) filter is used as low pass filter. The decimation filter is avoided by ensuring that the input signal for training or as primary noise has its frequency content less than 1kHz. The initial estimate of P is a diagonal matrix with diagonal elements taking a value between 0 and 1. R is also initialized to a value between 0 and 1. The multirate implementation involves running two parallel threads using the PRD(Periodic Function Manager) provided by the DSP/BIOS[15] utility of Code Composer Studio 3.1. PRD schedules a periodic software interrupt every 125µs in the case of 8kHz sampling and at every 500µs for 2kHz sampling rate. Timers are used at appropriate places in the code in order to measure time of execution for each iteration and measure its real time capability.

CHAPTER 4. ADVANCED ALGORITHMS FOR FEEDBACK ANC

35

Figure 4.1: Kalman Filter Implementation using Multirate Signal Processing The secondary path modeling is conducted with the low Fs = 2kHz using LMS algorithm and the coefficients of C(z) thus obtained are stored. With 2kHz sampling rate, it is observed that the maximum order of W (z) using Kalman Filter algorithm and meeting the real time conditions is 13, with the order of C(z) being 128. With order 13 filter for W (z), very poor convergence properties are observed. Moreover with a low filter order, the adaptive filter W (z) fails to perform very well. Thus, the Kalman filter implementation with an optimal order could not be implemented in real time due to the hardware limitations of the DSK.

Chapter 5 Conclusion and Summary 5.1

Conclusion

Active noise control for the headset application is implemented which is capable of reducing low frequency periodic noise. Narrowband feedback ANC system is implemented in real time using filtered-X LMS algorithm on a TMS320C6713 DSK. The secondary path is modeled by an FIR model using LMS algorithm and chirp signal for training. The real time testing of the system is done using a two tone sinusoid as primary noise. The simulation results indicate a noise reduction of 16.19 dB while the real time implementation yields a noise reduction of 8.57 dB. This is attributed to the acoustic nature of the system which is difficult to be modeled. This discrepancy can be solved by using more advanced algorithms for ANC. Advanced algorithms for ANC are developed using Kalman filter and Neural network. Kalman filter is implemented for the feedback ANC application but only a filter of 13th order is possible to be implemented in real time due to time constraints and DSK hardware limitations.

5.2

Scope for future work

• Feedback ANC using Kalman filter can be implemented in real time using a better DSP platform or using a different architecture of Kalman filter like the Extended Kalman filter. • Neural network based controllers are to be investigated and modified to suit the application. 36

CHAPTER 5. CONCLUSION AND SUMMARY

37

• The noise cancellation capability of the headset is to be enhanced to a wider spectrum of primary noise. This can be achieved by developing an architecture which uses feedback control and capable of offering noise cancellation to a wider spectral range. • The integration of ANC headset with music and voice signals and building an integrated ANC headset for voice and audio applications is also to be developed. These are some of the improvements which could be probed upon on the presently developed system.

Bibliography [1] Sen M. Kuo, Issa Panahi, and et al. Design of active noise control systems with the TMS320 family - application report. Technical report, Texas Instruments, 1996. [2] Leslie Lamport. LATEX- User’s Guide and Reference Manual. Addison Wesley, 1994. [3] P.A. Elliott, S.J. Nelson. Active noise control. Signal Processing Magazine, IEEE, 1993. [4] Sen M. Kuo and Dennis R. Morgan. Active noise control: A tutorial review. Proceedings of the IEEE, 87(6), 1999. [5] Shuichi Adachi and Hisashi Sano. Modeling, control and experiment of a feedback active noise control system for free sound fields. July 2003. [6] Sen M. Kuo and Woon S.Gan. An integrated audio and active noise control headsets. IEEE Transactions on Consumer Electronics, 48(2), 2002. [7] Paulo S.R.Diniz. Adaptive Filtering - Algorithms and Practical Implementation Sec ed. Kluwer Academic Publishers, 2002. [8] Simon Haykin. Adaptive Filter Theory Sec ed. Prentice Hall, 1991. [9] Sen M. Kuo, Sohini Mitra, and Woon-Seng Gan. Active noise control system for headphone applications. IEEE Transactions on Control Systems Technology, 14(2), 2006. 38

[10] Sen M. Kuo, Sohini Mitra, and Woon-Seng Gan. Adaptive feedback active noise control headset: Implementation, evaluation and its extensions. IEEE Transactions on Consumer Electronics, 51(3), 2005. [11] Scott D. Synder. Active Noise Control Primer. Springer, 2000. [12] TMS320C6713 DSK technical reference. Technical report, Spectrum Digital, Inc., November 2003. [13] Greg Welch and Gary Bishop. An introduction to the kalman filter. July 2006. [14] Ian R. Peterson and Andrey V. Savkin. Robust Kalman Filtering for Signals and Systems with Large Uncertainties. Birkha¨user, 1999. [15] Rulph Chassaing. Digital Signal Processing and Applications with the C6713 and C6416 DSK. John Wiley and Sons, 2005.

39

adaptive active noise control

My thanks are due to Ms. Neha Gupta and the staff of the DRPG office for their untiring effort to .... 3.1.5 FXLMS algorithm for feedback ANC in Headsets . .... phone to sense the residual noise and a secondary speaker to produce the antinoise.

2MB Sizes 4 Downloads 308 Views

Recommend Documents

Active noise cancellation with a fuzzy adaptive filtered ...
reduce the weight, volume and cost of the overall noise control system. ... uk drives an anti-noise speaker with transfer function Hs(z), ... Hence, the performance of broadband ..... 2 Bai, M.R., and Lin, H.H.: 'Comparison of active noise control.

FUNDAMENTALS OF ACOUSTICS AND NOISE CONTROL Finn ...
2 Transfer function in a room.............................................................................. 83. 3.1. ... 4 Energy balance in a room................................................................................. 87.

vibration and noise control pdf
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. vibration and ...

Direct adaptive control using an adaptive reference model
aNASA-Langley Research Center, Mail Stop 308, Hampton, Virginia, USA; ... Direct model reference adaptive control is considered when the plant-model ...

Adjusting Phenotypes by Noise Control
Jan 12, 2012 - social networks. We anticipate the proposed ... networks, noise in enzyme levels causes metabolic flux to fluctuate and eventually can ..... (kon,ap). ~({1:01,0:00):. From Eq. (5), the orthogonal-control vector was obtained by.

FUNDAMENTALS OF ACOUSTICS AND NOISE CONTROL Finn ...
1.5 Sound energy, sound intensity, sound power and sound absorption. ...... ing equations that express the facts that i) mass is conserved, ii) the local longitudinal force caused by a difference .... The alternative convention e-jωt is favoured by.

vibration and noise control pdf
Download now. Click here if your download doesn't start automatically. Page 1 of 1. vibration and noise control pdf. vibration and noise control pdf. Open. Extract.

Direct Adaptive Control using Single Network Adaptive ...
in forward direction and hence can be implemented on-line. Adaptive critic based ... network instead of two required in a standard adaptive critic design.

Use of adaptive filtering for noise reduction in ...
software solutions to the adaptive system using the two main leaders of adaptive LMS (least mean square) ... environment is variable in time and its development.

Active noise cancellation in a suspended interferometer
Citation: Review of Scientific Instruments 83, 024501 (2012); doi: 10.1063/1.3675891. View online: .... FIG. 2. (Color online) Result of offline seismic Wiener filtering on sus- pended ..... reduce the noise in multiple degrees of freedom of the full

Noise Plus Interference Power Estimation in Adaptive ...
possible data rates, the transmission bandwidth of OFDM systems is also large ... where Sn,k is the transmitted data symbol at the kth subcarrier of the nth OFDM ...

Minimizing Noise on Dual GSM Channels Using Adaptive Filters - IJRIT
threshold, transmitter power , synchronization scheme, error correction, processing gain, even the number of sun spots, all have effect on evaluating jamming. 2.

Minimizing Noise on Dual GSM Channels Using Adaptive Filters - IJRIT
Jamming makes itself known at the physical layer of the network, more commonly known as the MAC (Media Access Control) layer[4]. The increased noise floor ...

Use of adaptive filtering for noise reduction in communications systems
communication especially in noisy environments. (transport, factories ... telecommunications, biomedicine, etc.). By the word ..... Companies, 2008. 1026 s.

2010_J_p_Hybrid Control Charts for Active Control and Monitoring ...
... control chart and a run chart CUSUM- run chart for early detection of shifts in the process mean. ... Minor deviations from target values may not be significant for ... 38 cubic meters 50 cubic yards of concrete. ... strength as the target value.

Active EM to Reduce Noise in Activity Recognition
fying email to activities. For example, Kushmerick and Lau's activity management system [17] uses text classification and clustering to examine email activities ...

Near-optimal Adaptive Pool-based Active Learning with ...
Table 1: Theoretical Properties of Greedy Criteria for Adaptive Active Learning. Criterion. Objective ...... the 20th National Conference on Artificial Intelligence,.

Design and Simulation of Adaptive Filtering Algorithms for Active ...
In general, noise can be reduced using either passive methods or active (Active Noise Control, ANC) techniques. The passive methods works well for high ...

Design and Simulation of Adaptive Filtering Algorithms for Active ...
Keywords: Adaptive Filter, LMS Algorithm, Active Noise cancellation, MSE, .... The anti-noise generated corresponding to the white noise is as shown below,.