Professional Documents
Culture Documents
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/