Adaptive Signal Processing    

Introduction

This demo is extracted from a publication of M. Harteneck, R.W. Stewart, and S. Weiss and presents a JAVA program for teaching the rudiments of adaptive digital signal processing (DSP) algorithms and techniques. Adaptive DSP is one of the most important areas of signal processsing, and provides the core algorithmic means to implement applications ranging from mobile telephone speech coding, to noise cancellation, to communication channel equalization.


Adaptive DSP Review

Adaptive signal processing is one of the most important classes of algorithms for modern communication systems. Telephone line modems for example now communicate at rates of 56k bps and above as a result of the integration of adaptive echo cancellers and adaptive equalization algorithms. Similarly, the new generation of mobile multimedia systems and set-top boxes will also require the use of adaptive DSP, as will adaptive acoustic echo cancelation, arguably the next key ``plug-in card'' for PCs. Adaptive active noise cancellation is another hi-tech and mature technology found in the cabins of some airliners to reduce the level of noise. More generally, adaptive DSP can be found in biomedical systems, telecommunications systems, industrial control and so on. In this section, we briefly review the key adaptive architectures, the generic adaptive signal processor, and also present a few applications.

fourarch.gif

    Fig. 1: (a) The generic adaptive architectures of Noise cancellation, InverseSystem/System Identification and Prediction.

The structure shown in Fig. 1(a) would be employed if a signal s(k) and a corrupting noise n(k) would have to be separated while having a reference of the noise signal n'(k), whereas the structure shown in Fig. 1(b) would be employed for system identification, which is the case in many control problems or in acoustic echo cancelation where the unknown system would be the transfer function of the teleconferencing room. The set-up shown in Fig. 1(c) is a typical inverse system identification set-up which is used, for example, in the equalization problem of telephone lines where the unknown system is the transfer function of the telephone channel and the adaptive filter has to reduce the intersymbol interference and other distortions as much as possible. Finally, Fig. 1(d) shows the adaptive filter in a predictor set-up where the filter tries to predict a sample by using a set of past observations. This set-up is commonly used in coders to reduce the redundancy of a data stream and thereby increase the coding efficiency.

Fig. 2 shows the components of each of the generic architectures in Fig. 1.  The aim of all adaptive signal processing algorithms is minimize the power of the error signal e(k). This must be done by adapting the signal x(k), such that the filter output y(k) is very similar to some desired signal d(k). It is straightforward to show students that the only mathematically tractable way forward is to minimize the squared error or the mean squared error. From this model, the four main (single channel) adaptive applications of Fig. 1(a)-(d) can be implemented. The adaptive filter weights are then updated using an adaptive algorithm, such as the LMS. 

generic.gif

Fig. 2: The generic adaptive signal processor.



Applet




Real World Applications

Fig. 3: Room Acoustic identification.   System identification of an acoustic transfer path. After adaption if the error signal e(k) = 0, then the transfer function of the adaptive filter must be a suitable model of the acoustic transfer function. As the system was excited by white noise (i.e. over all frequencies) then we can assume we have a complete (linear) model of the acoustic path.




Fig. 4: Echo Cancellation. The adaptive filter is first trained by passing white noise through the telephone channel, ensuring the far-end signal b(k)=0 , and thus performing an adaptive system identification on the echo path. After adaption at time if the error e(k) =0 then the adaptation is switched off and the signal at the earpiece is essentially : e(k) = Echo - PseudoEcho + b(k) ~= b(k) and the echo has been cancelled. Clearly the echo canceller has to be of sufficient impulse response to model the echo path, and the adaption time must be short enough to be an acceptable to the callers - these are the decisions of the DSP engineer. This type of echo control is also used in V32 modems where the microphones are replaced by binary data sources.




Fig. 5: Noise Cancellation. The speech signal to be transmitted (perhaps a mobile phone in a car) is spectrally masked by noise, from, for example a car engine. By using an adaptive filter, we can attempt to minimise the error by finding the correlation between the noise at the signal microphone and the (correlated) noise at the reference microphone. In this particular the case the error does not tend to zero as we note the signal d(k) = s(k) + n(k) whereas the input signal to the filter is x(k) = n’(k) and does not contain any speech. Therefore it is not possible to "subtract" any speech when forming e(k) = d(k) - y(k). Hence in minimising the power of the error signal e(k) we note that only the noise is removed and .e(k) =~ s(k).




Fig. 6: Channel Equalisation.  In order to equalise (or inverse identify the telephone channel) an identical pseudo-random binary sequence is set up at both ends of the telephone call. This is equivalent to the implicit connection shown. If indeed the error does adapt to e(k) = 0 then d(k) = y(k) = s(k-D) where D is the delay of the signal through the channel. Therefore after an initial training mode we can switch to data transmission mode and the adaptive filter will perform (zero-forcing) equalisation. Data equalisation for cable and mobile channel equalisation has a number of varied implementations and additional processing elements to produce decision feedback equalisers, blind equalisers using decision directed mode and so on.




Fig. 7: Active Noise Control. Adaptive signal processing is also the key technology behind active noise control whereby anti-phase noise is introduced to destructively interfere with environment noise. In this application the error signal is actually formed by the error microphone and this is fedback to update the LMS adaptive controller.




Fig. 8: CDMA  interference suppression.  If a broadband (stochastic) signal has interference from a narrowband (periodic) source we can use a prediction architecture such that when the adaptive filter attempts to find the correlation between d(k) and y(k) only the narrowband signal can be correlated. Hence when performing d(k) - y(k) the narrowband signal is attenuated and we find that e(k) ~= s(k) . One application for this type of predictive architecture for broadband spread spectrum CDMA signals interfered with by a narrowband jammer.




References

Harteneck and Stewart. Adaptive signal procesing. (pdf)
Stewart, Harteneck and Weiss. Interactive teaching of adaptive signal procesing. (pdf)
Harteneck and Stewart. A teaching and evaluation tool for adaptive signal processing tool. (pdf)