Introduction
The Least Mean Squares (LMS) Algorithm can be used in a range of Digital Signal Processing applications such as echo cancellation and acoustic noise reduction.
This laboratory shows how to design a model of LMS Noise Cancellation using Simulink and run it on a Texas Instruments C6000 DSP.
Objectives
- Design a model of LMS Noise Reduction for the Texas Instruments C6000 family of DSP devices using MATLAB® and Simulink®.
- Modify an existing Simulink demonstration model for use as a template.
- Run the project on the Texas Instruments DSK6713 with a microphone and computer loudspeakers / headphones.
Level
Intermediate - Assumes prior knowledge of MATLAB and Simulink. It also requires a theoretical understanding of matrices and the LMS algorithm.
Hardware and software requirements
This laboratory was originally developed using the following hardware and software:
- MATLAB R2006b with Embedded Target for TI C6000 and the Signal Processing Toolbox.
- Code Composer Studio (CCS) v3.1
- Texas Instruments DSK6713 hardware.
- Microphone and computer loudspeakers / headphones.
Related files
- Powerpoint Presentation AcousticNoiseCancellation.ppt
- Simulink Model for Simulation- AcousticNoiseCancellation.mdl
- Simulink Model for Real-Time AcousticNoiseCancellationDSKC6713.mdl
Simulation
You will now start with a simple Simulink model and run it to see how it works.
Opening the acoustic noise cancellation model
Open the AcousticNoiseCancellation.mdl
Run the model.
Inputs and outputs of lms filter
The output from the LMS Filter starts at zero and grows slowly. Initially, some of the sine wave information is lost as LMS Error.
Lms filter weights (coefficients)
The LMS Filter Weights all start at zero and take several iterations to reach their final values.
Tuning the model
The critical variable in the LMS Filter is the “Step size (mu)”. This sets the rate of convergence of the LMS filter.
Double-click on the “LMS Filter” block and change the “Step size (mu) to 0.1
Run the model.
Filter outputs for step size (mu) = 0.1
When the “Step size (mu)” is increased, LMS algorithm converges more quickly, but at the expense of granularity – the LMS Filter Output is not as smooth.
Filter weights for step size (mu) = 0.1
Note that the filter weights (coefficients) do not attain smooth values, as would be the case for smaller values of Step size (mu).
Changing the delay
Part of the Acoustic Noise Algorithm is the delay. The delay should ideally be at least half a wavelength so the two inputs to the LMS Filter have different random noise.