Home Page      Guest Comments

Moulton  Lectures

 

On

Electro-Acoustics

 

 

 

Lecture 18

 

Digital Noise Cancellation 3

 

Fixed and Adaptive Coefficient Filters

 

 

 

Presented by:

Dave L Moulton

 

 

 

 

Location:  Thales Acoustics Harrow UK

Date:  02-April-2003

 


Content

 

In this lecture I want to introduce the concept of adaptive filtering. This is a very significant area for the future of Active Noise Reduction Systems.

 

My method of introduction for this subject will be to first explain the difference between Infinite Impulse Response (IIR) filters and Finite Impulse Response (FIR) Filters.  I will then focus on the FIR filter and show how the system can be evolved from a fixed coefficient filter to a variable (Adaptive) coefficient filter.

 

I will also give a brief explanation as to the practical nature of adaptive filters such as system identification. I will use the identification of the headset function H(s) as an example

 

 

On with the lecture

 

Lets first remind ourselves of a few terminology ground rules.  When dealing with digital filters it is very convenient to work in the Z-domain and also be able to convert to a recurrence notation. Examples are shown in figure 18.1 below.

 

 

Figure 18.1

 

Note that the recurrence notation is just another way of representing the affect on the nth sample. Where x(n – 1) is the sample x(n) delayed by one sampling period.

Infinite Impulse Response (IIR) Filter

During Lecture 17 we used the Bilinear Transform and frequency warping to convert an analogue  filter into its digital equivalent.  The filter configuration that we ended up with looked like that shown in figure 18.2

 

 

Figure 18.2

 

It is important to note that this filter has only two delays (z-1) and two weighted coefficients WA and WB.

 

If we apply an impulse to the above filter arrangement we get an output which represents the impulse response of the filter. 

Note: The number of samples in the impulse response is not  the same as the number of weighed coefficients within the filter.

 

Another important point to note is that the filter output y(n) is not only a function of the input signal x(n) and delayed versions of the input signal

x(n-1), but is also a function of delayed versions of the output signal y(n-1).  Thus the filter has an inherent feedback function. this type of filter is also known as a recursive Filter (Recursive meaning Feedback).

The feedback nature of the IIR filter gives it the ability to continually generate sample points even when the impulse response approaches zero as time tends to infinity.

 

The filter in 18.2 is of a type known as an Infinite Impulse Response filter, usually referred to as an IIR filter. 

 

Figure 18.3

 

Finite Impulse Response (FIR) Filter

Now lets look at another way of producing a digital Filter by focusing on the sampled impulse response.  

 

The Low pass filter in Lecture 17 could have been generated without using the Bilinear Transform or Frequency Warping method. 

 

By knowing the Impulse response of the filter in the analogue domain and by fixing the sampling frequency of our digital filter we can quite simply pre program all of the weighted outputs of the system impulse response into our filter. 

 

The number of weighed filter coefficients will depend on how many we want to use to mimic the shape of the impulse response. We are only limited by the actual length of the impulse and the sampling period which determines the time spacing between each weighted sample.

 

In some cases to save on processing time and power it may be possible to get away with a minimum number of samples and still get an adequate representation of the filter.  In other cases we may require the impulse response to be very accurate, in which case we take as many samples as possible.

 

If we chose to sample at a rate of Fs say, resulting in a sampling period Ts and we want to fit N samples into the impulse response then our output may look something like that shown in figure 18.4.

 

 

Figure 18.4

 

Note that I have represented the impulse response with a finite number (N) of weighted coefficients W0  to WN-1.  All of these coefficients can be programmed into a digital Filter to mimic the impulse response.

 

I could have represented the impulse response by taking less samples. To do this the sampling frequency would have to be decreased so that the sampling period is increased (Figure 18.5). 

 

 

Figure 18.5

 

There may be occasions where the full length of the impulse is not important and a truncated response is adequate.

 

Remember the Impulse response of any system is the characteristic of that system and when transformed back into the s-domain will yield the transfer function of the system. So each different system will have its own unique impulse response. 

 

We can use the filter arrangement below to digitally mimic the system impulse response.

 

Figure 18.6

 

This Filter is constructed from a Finite Number of weighted Coefficients, corresponding to the number and weights of the sampled system impulse response. We could say that the impulse response has been hardwired into the filter.  Because there are a finite number of weighted coefficients in the response, this filter type is known as a Finite Impulse Response filter.  Usually referred to as an FIR filter.

 

Note that the FIR filter is very dependant on a predefined sampling frequency, since the sampling period will fix the location of each weighted sample.  Changing the sampling period will require that he coefficients are re calculated to correspond with the correct weighting of the impulse response at specific moments in time.

 

FIR Filter with variable Coefficients

Now lets consider the situation where we have control over the value of each coefficient in an FIR filter.

 

 

Figure 18.7

 

For this filter we have a special controller which modifies the values of each coefficient depending on the value of the input function e(n).

 

Figure 18.7 is the basic structure of an Adaptive Digital Controller.  The coefficients W0 to WN  can be adapted according to the conditions of the input signal e(n).

 

Obviously it is very important to ensure that e(n) is derived from or is the result of some process change, be it the response of some other system or an environmental change such as Temperature, Pressure, Velocity etc……

 

If we treat e(n) as an error signal resulting from the comparison of the digital filter output y(n) and some other desired signal d(n), then we have the makings of a very powerful and important process.

 

Figure 18.8 shows such a system with the desired signal represented as d(n)

 

Thus the error signal is given as:

 

 

 

Figure 18.8

 

Rather than draw this structure out every time, I will simplify the diagram by representing the FIR filter as a single box.

 

 

Figure 18.9

 

System Identification

One of the advantages of  an adaptive filter is its ability to replicate a system impulse response and thus provide the transfer function of an unknown system.  An example of how this can be done is shown below in figure 18.10.

 

Figure 18.10

 

 

In the case of an Active Noise Reduction headset we are very interested in identifying the system transfer function H(s), since the closed loop system response takes the form.

 

 

Where H(s) is the transfer function between the input to the driver earphone and the output of the sensing microphone. 

 

Using an adaptive system it is possible to inject a series of impulses (White Noise) into the earphone and let the  FIR filter adapt to provide a discrete representation H(z) of the headset impulse response.

 

 

Figure 18.11

 

After the FIR filter has adapted to created a discrete impulse response H(z), it is then possible to perform an inverse z-transform on the system response to yield the s-plane poles and zeros of H(s).

 

The Basics

What I have shown in this lecture are just the absolute basics of adaptive signal processing.  The FIR filter is itself a very simple structure which comprises just a series of Multiply, Accumulate, and Shift functions.  The real detail of an adaptive filter is in the algorithm that is used to process the error signal e(n) and cause the coefficients to converge to the optimum values for a system match.  This will be the subject of further lectures.

 

 

End Of Lecture