Tuesday 10 April 2012

Noise Reduction Using LMS Algorithm

Noise Reduction Using LMS Algorithm

This paper describes one of the noise reduction techniques, which is widely used in reducing the noise of audio signal. This paper also describes practical implementation of LMS algorithm in both Software and Hardware (On Texas Instrument Processor).
As we know that Noise is a very big problem for communication system. Due to the noise, the message signal can’t be easily retrieved. Hence for a good communication system, it is very important to reduce the noise as much as possible. Coming to digital communication, various noise reduction techniques are used for this purpose. One of widely used technique is Least Mean Square (LMS) techniques, which will be discussed here.
This was invented in 1960 by Stanford University professor Bernard Widrow and his first Ph.D. student, Ted Hoff.
Least mean squares (LMS) algorithms are a class of adaptive filter used to mimic a desired filter by finding the filter coefficients that relate to producing the least mean squares of the error signal (difference between the desired and the actual signal). It is a stochastic gradient descent method in that the filter is only adapted based on the error at the current time.

The Adaptive Filter is a Finite Impulse Response Filter (FIR), with N variable coefficients w.

The Least Mean Squares Algorithm (LMS) updates each coefficient on a sample-by-sample basis based on the error e(n).
The value of µ (mu) is critical.
If µ is too small, the filter reacts slowly.
If µ is too large, the filter resolution is poor.
The selected value of µ is a compromise.
Any of the simulation tools can be used for this purpose, either MATLAB or CODE COMPOSER STUDIO.
For realising the input and output waveform, MATLAB simulation tools is going to be used.
1)        Open the following Simulink model: “AcousticNoiseCancellation”.(This model is already designed in newer version of MATLAB ,if not so, then you can make this model)
2)        Setting the Step size (mu)
The rate of convergence of the LMS Algorithm is controlled by the “Step size (mu)”.
This is the critical variable.
3)        Trace of Input to Model
4)        Trace of LMS Filter Output
5)        Trace of LMS Filter error.
The step by step MATLAB is shown in figure

          STEP3                                     STEP4                                          STEP5

To implement the LMS Algorithm, we can use Texas Instrument DSP Processor i.e. c6713. First
We should make the model on simulink. then we  will interface with processor.
We will build the model “AcousticNoiseReductionDSKC6713”
STEP 2: Using Frames
1).This model uses frames of data rather than individual bytes.
2).The “Samples per frame” is set to 64.

3)      When the model is built, the frames are shown as double lines.
Setting up the C6713 DSK
         Plug an microphone and computer loudspeakers / headphones into the C6713 DSK.
         Put the microphone next to a source of random noise e.g. an off-station radio.
         Speak into the microphone.
         Listen to the output.
Then run the model, and you can analyze the output in headphone.
Thus, we wind up this session by concluding that this LMS technique of noise reduction is easiest technique and waiting for more future application. Hence we can use this technique for innovative applications, where noise reduction is more important. As an ECE engineer, I hope that we will use this technique in many applications.
1) Digital Signal Processing, A Practical Approach by Emmanuel C. Ifeachor and Barrie W. Jervis. ISBN 0201-59619-9.
2)Digital Signal Processing with C and the TMS320C30 by Rulph Chassaing. ISBN 0-471-55780-3


Post a Comment

Search Here...