Wavelet Denoising: Jacob Fainguelernt
Wavelet Denoising: Jacob Fainguelernt
Wavelet Denoising *
Jacob Fainguelernt
This work is produced by OpenStax-CNX and licensed under the
Creative Commons Attribution License 2.0
Abstract
Wavelets can be used in a wide range of applications, one of which is noise reduction. This module
shows a real-time implementation of a wavelet-based noise reduction in the DSK6713. A Simulink model
is created for simulation, and afterwards used for DSP code generation.
1 Introduction
1.1 Objectives
• Design a model of Wavelet Noise Reduction for the Texas Instruments C6000 family of DSP devices
using MATLAB® and Simulink®.
• Modify an existing Simulink demonstration model.
• Run the project on the Texas Instruments C6713 DSK with a microphone and computer loudspeakers
/ headphones.
1.2 Level
Intermediate. Assumes prior knowledge of MATLAB and Simulink. It also requires a theoretical under-
standing of wavelets and some knowledge of Texas Instruments DSPs.
http://cnx.org/content/m23011/1.1/
OpenStax-CNX module: m23011 2
2 Simulation
http://cnx.org/content/m23011/1.1/
OpenStax-CNX module: m23011 3
http://cnx.org/content/m23011/1.1/
OpenStax-CNX module: m23011 4
http://cnx.org/content/m23011/1.1/
OpenStax-CNX module: m23011 5
http://cnx.org/content/m23011/1.1/
OpenStax-CNX module: m23011 6
http://cnx.org/content/m23011/1.1/
OpenStax-CNX module: m23011 7
Here Out1 has been given a threshold of 3. This means that only values > 3 are let through.
Out2, Out3 and Out4 have been given the value of 0. This means the whole signal is let through.
The output is shown in Figure 6. Note that the noise associated with Out2 and Out3 have not been
reduced.
http://cnx.org/content/m23011/1.1/
OpenStax-CNX module: m23011 8
http://cnx.org/content/m23011/1.1/
OpenStax-CNX module: m23011 9
http://cnx.org/content/m23011/1.1/
OpenStax-CNX module: m23011 10
http://cnx.org/content/m23011/1.1/
OpenStax-CNX module: m23011 11
http://cnx.org/content/m23011/1.1/
OpenStax-CNX module: m23011 12
Highlight Embedded Target for TI C6000 DSP then Audio. Click on Wavelet Denoising.
http://cnx.org/content/m23011/1.1/
OpenStax-CNX module: m23011 13
http://cnx.org/content/m23011/1.1/
OpenStax-CNX module: m23011 14
http://cnx.org/content/m23011/1.1/
OpenStax-CNX module: m23011 15
http://cnx.org/content/m23011/1.1/
OpenStax-CNX module: m23011 16
You will now update the existing model by dragging-and-dropping some library components onto the
model.
http://cnx.org/content/m23011/1.1/
OpenStax-CNX module: m23011 17
Change the ADC source to Mic In and tick the Stereo box. If you have a quiet microphone, tick
the +20dB Mic gain boost box. When done, click on OK.
http://cnx.org/content/m23011/1.1/
OpenStax-CNX module: m23011 18
http://cnx.org/content/m23011/1.1/
OpenStax-CNX module: m23011 19
http://cnx.org/content/m23011/1.1/
Figure 19: Adding a Switch and LED
OpenStax-CNX module: m23011 20
Select View -> Library Browser -> Embedded Target for TI C6000 DSP. Highlight C6713 DSK Board
Support.
Drag-and-drop the Switch block onto the model. Also drag-and-drop the LED block onto the model.
http://cnx.org/content/m23011/1.1/
OpenStax-CNX module: m23011 21
Select View -> Library Browser -> Simulink. Highlight Commonly Used Blocks.
Drag-and-drop a Constant onto the model.
Drag-and-drop a Switch block onto the model.
Drag-and-drop a Relational Operator block onto the model.
http://cnx.org/content/m23011/1.1/
OpenStax-CNX module: m23011 22
http://cnx.org/content/m23011/1.1/
Figure 21: Selecting the Commonly Used Blocks
OpenStax-CNX module: m23011 23
http://cnx.org/content/m23011/1.1/
OpenStax-CNX module: m23011 24
http://cnx.org/content/m23011/1.1/
OpenStax-CNX module: m23011 25
http://cnx.org/content/m23011/1.1/
OpenStax-CNX module: m23011 26
http://cnx.org/content/m23011/1.1/
OpenStax-CNX module: m23011 27
http://cnx.org/content/m23011/1.1/
OpenStax-CNX module: m23011 28
http://cnx.org/content/m23011/1.1/
OpenStax-CNX module: m23011 29
http://cnx.org/content/m23011/1.1/
OpenStax-CNX module: m23011 30
http://cnx.org/content/m23011/1.1/
OpenStax-CNX module: m23011 31
http://cnx.org/content/m23011/1.1/
OpenStax-CNX module: m23011 32
http://cnx.org/content/m23011/1.1/
OpenStax-CNX module: m23011 33
http://cnx.org/content/m23011/1.1/
OpenStax-CNX module: m23011 34
Figure 33: The Completed Model Running under Code Composer Studio
http://cnx.org/content/m23011/1.1/
OpenStax-CNX module: m23011 35
http://cnx.org/content/m23011/1.1/
OpenStax-CNX module: m23011 36
http://cnx.org/content/m23011/1.1/
OpenStax-CNX module: m23011 37
http://cnx.org/content/m23011/1.1/
OpenStax-CNX module: m23011 38
http://cnx.org/content/m23011/1.1/
OpenStax-CNX module: m23011 39
You may wish to experiment with dierent settings. Here are some suggestions.
http://cnx.org/content/m23011/1.1/
OpenStax-CNX module: m23011 40
http://cnx.org/content/m23011/1.1/
OpenStax-CNX module: m23011 41
http://cnx.org/content/m23011/1.1/