Chapter 11
1 / 21

Signal Processing with Wavelets - PowerPoint PPT Presentation

  • Uploaded on

Chapter 11. Signal Processing with Wavelets. Objectives. Define and illustrate the difference between a stationary and non-stationary signal. Describe the relationship between wavelets and sub-band coding of a signal using quadrature mirror filters with the property of perfect reconstruction.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'Signal Processing with Wavelets' - ambrose

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Chapter 11

Chapter 11

Signal Processing with Wavelets


  • Define and illustrate the difference between a stationary and non-stationary signal.

  • Describe the relationship between wavelets and sub-band coding of a signal using quadrature mirror filters with the property of perfect reconstruction.

  • Illustrate the multi-level decomposition of a signal into approximation and detail components using wavelet decomposition filters.

  • Illustrate the application of wavelet analysis using MATLAB® to noise suppression, signal compression, and the identification of transient features in a signal.

Motivation for wavelet analysis
Motivation for Wavelet Analysis

  • Signals of practical interest are usually non-stationary, meaning that their time-domain and frequency-domain characteristics vary over short time intervals (i.e., music, seismic data, etc)

  • Classical Fourier analysis (Fourier transforms) assumes a signal that is either infinite in extent or stationary within the analysis window.

  • Non-stationary analysis requires a different approach: Wavelet Analysis

  • Wavelet analysis also produces better solutions to important problems such as the transform compression of images (jpeg versus jpeg2000)

Basic theory of wavelets
Basic Theory of Wavelets

  • Wavelet analysis can be understood as a form of sub-band coding with quadrature mirror filters

  • The two basic wavelet processes are decomposition and reconstruction

Wavelet decomposition
Wavelet Decomposition

  • A single level decomposition puts a signal through 2 complementary low-pass and high-pass filters

  • The output of the low-pass filter gives the approximation (A) coefficients, while the high pass filter gives the detail (D) coefficients

Decomposition Filters for Daubechies-8 Wavelets

Wavelet reconstruction
Wavelet Reconstruction

  • The A and D coefficients can be used to reconstruct the signal perfectly when run through the mirror reconstruction filters of the wavelet family

Wavelet families
Wavelet Families

  • Wavelet families consist of a particular set of quadrature mirror filters with the property of perfect reconstruction.

  • These families are completely determined by the impulse responses of the set of 4 filters.

Example filter set for the daubechies 5 wavelet family
Example:Filter Set for the Daubechies-5 Wavelet Family

% Set wavelet name.

>> wname = 'db5';

% Compute the four filters associated with wavelet name given

% by the input string wname.

>> [Lo_D,Hi_D,Lo_R,Hi_R] = wfilters(wname);

>> subplot(221); stem(Lo_D);

>> title('Decomposition low-pass filter');

>> subplot(222); stem(Hi_D);

>> title('Decomposition high-pass filter');

>> subplot(223); stem(Lo_R);

>> title('Reconstruction low-pass filter');

>> subplot(224); stem(Hi_R);

>> title('Reconstruction high-pass filter');

>> xlabel('The four filters for db5')

Example filter set for the daubechies 5 wavelet family1
Example:Filter Set for the Daubechies-5 Wavelet Family

Example filter set for the daubechies 5 wavelet family2
Example:Filter Set for the Daubechies-5 Wavelet Family

>> fvtool(Lo_D,1,Hi_D,1)

>> fvtool(Lo_R,1,Hi_R,1)

Decomposition Filters

Reconstruction Filters

Multi level decomposition of a signal with wavelets
Multi-level Decomposition of a Signal with Wavelets

The decomposition tree can be schematically described as:

Multi level decomposition of a signal with wavelets frequency domain sub band coding
Multi-level Decomposition of a Signal with WaveletsFrequency Domain (Sub-band Coding)

Example one level decomposition of a noisy signal
Example: One-level Decomposition of a Noisy Signal

>> x=analog(100,4,40,10000); % Construct a 100 Hz sinusoid of amplitude 4

>> xn=x+0.5*randn(size(x)); % Add Gaussian noise

>> [cA,cD]=dwt(xn,'db8'); % Compute the first level decomposition with dwt

% and the Daubechies-8 wavelet

>> subplot(3,1,1),plot(xn),title('Original Signal')

>> subplot(3,1,2),plot(cA),title('One Level Approximation')

>> subplot(3,1,3),plot(cD),title('One Level Detail')

Single level discrete wavelet decomposition with the Daubechies-8 wavelet family

One level decomposition of a non stationary signal

>> fs=2500;

>> len=100;

>> [x1,t1]=analog(50,.5,len,fs); % The time vector t1 is in milliseconds

>> [x2,t2]=analog(100,.25,len,fs);

>> [x3,t3]=analog(200,1,len,fs);

>> y1=cat(2,x1,x2,x3); % Concatenate the signals

>> ty1=[t1,t2+len,t3+2*len]; %Concatenate the time vectors 1 to len, len to 2*len, etc.

>> [A1,D1]=dwt(y1,'db8');

>> subplot(3,1,1),plot(y1),title('Original Signal')

>> subplot(3,1,2),plot(A1),title('One Level Approximation')

>> subplot(3,1,3),plot(D1),title('One Level Detail')

One-Level Decomposition of a Non-Stationary Signal

The detail coefficients reveal the transitions in the non-stationary signal

De noising a signal with multilevel wavelet decomposition

>> x=analog(100,4,40,10000);

>> xn=x+0.5*randn(size(x));

>> [C,L] = wavedec(xn,4,'db8'); % Do a multi-level analysis to four levels with the

% Daubechies-8 wavelet

>> A1 = wrcoef('a',C,L,'db8',1); % Reconstruct the approximations at various levels

>> A2 = wrcoef('a',C,L,'db8',2);

>> A3 = wrcoef('a',C,L,'db8',3);

>> A4 = wrcoef('a',C,L,'db8',4);

>> subplot(5,1,1),plot(xn),title('Original Signal')

>> subplot(5,1,2),plot(A1),title('Reconstructed Approximation - Level 1')

>> subplot(5,1,3),plot(A2),title(' Reconstructed Approximation - Level 2')

>> subplot(5,1,4),plot(A3),title(' Reconstructed Approximation - Level 3')

>> subplot(5,1,5),plot(A4),title(' Reconstructed Approximation - Level 4')

De-Noising a Signal with Multilevel Wavelet Decomposition

Significant de-noising occurs with the level-4 approximation coefficients (Daubechies-8 wavelets)

Finding signal discontinuities
Finding Signal Discontinuities

>> x=analog(100,4,40,10000);

>> x(302:305)=.25;

>> [A,D]=dwt(x,'db8');

>> subplot(3,1,1),plot(x),title('Original Signal')

>> subplot(3,1,2),plot(A),title('First Level Approximation')

>> subplot(3,1,3),plot(D),title('First Level Detail')

3 sample discontinuity at sample 302

Daubechies-8 wavelets

Discontinuity response in the 1st level detail coefficients (sample 151 because of the 2X down-sampling)

Simple signal compression using a wavelet approximation

>> load leleccum

>> x=leleccum;

>> w = 'db3';

>> [C,L] = wavedec(x,4,w);

>> A4 = wrcoef('a',C,L,'db3',4);

>> A3 = wrcoef('a',C,L,'db3',3);

>> A2 = wrcoef('a',C,L,'db3',2);

>> A1 = wrcoef('a',C,L,'db3',1);

>> a3 = appcoef(C,L,w,3);

>> subplot(2,1,1),plot(x),axis([0,4000,100,600])

>> title('Original Signal')

>> subplot(2,1,2),plot(A3),axis([0,4000,100,600])

>> title('Approximation Reconstruction at Level 3 Using the Daubechies-3 Wavelet')

>> (length(a3)/length(x))*100

ans =


Simple Signal Compression Using a Wavelet Approximation

The wavelet approximation at level-3 contains only 13 % of the original signal values because of the wavelet down-sampling, but still retains the important signal characteristics.

Compression by thresholding
Compression by Thresholding

>> load leleccum

>> x=leleccum;

>> w = 'db3'; % Specify the Daubechies-4 wavelet

>> [C,L] = wavedec(x,4,w); % Multi-level decomposition to 4 levels.

>> a3 = appcoef(C,L,w,3); % Extract the level 3 approximation coefficients

>> d3 = detcoef(C,L,3); % Extract the level 3 detail coefficients.

>> subplot(2,1,1), plot(a3),title('Approximation Coefficients at Level 3')

>> subplot(2,1,2), plot(d3),title('Detail Coefficients at Level 3')

These are the A3 and D3 coefficients for the signal. Many of the D3 coefficients could be “zeroed” without losing much signal information or power

Compression by thresholding1

>> load leleccum

>> x=leleccum; % Uncompressed signal

>> w = 'db3'; % Set wavelet family

>> n=3; % Set decomposition level

>> [C,L] = wavedec(x,n,w); % Find the decomposition structure of x to level n using w.

>> thr = 10; % Set the threshold value

>> keepapp = 1; %Logical parameter = do not threshold approximation coefficients

>> sorh='h'; % Use hard thresholding

>> [xd,cxd,lxd, perf0,perfl2] =wdencmp('gbl',C,L,w,n,thr,sorh,keepapp);

>> subplot(2,1,1), plot(x),title('Original Signal')

>> subplot(2,1,2),plot(xd),title('Compressed Signal (Detail Thresholding)')

>> perf0 % Percent of coefficients set to zero

>> perfl2 % Percent retained energy in the compressed signal

perf0 =


perfl2 =


Compression by Thresholding

In this compression 83% of the coefficients were set to zero, but 99% of the energy in the signal was retained.

Compression by thresholding2

>> D1 = wrcoef('d',C,L,w,1);

>> D2 = wrcoef('d',C,L,w,2);

>> D3 = wrcoef('d',C,L,w,3);

>> d1 = wrcoef('d',cxd,lxd,w,1);

>> d2 = wrcoef('d',cxd,lxd,w,2);

>> d3 = wrcoef('d',cxd,lxd,w,3);

>> subplot(3,2,1),plot(D3),title('Original Detail - Levels 3 to 1')

>> subplot(3,2,2),plot(d3),title('Thresholded Detail - Levels 3 to 1')

>> subplot(3,2,3),plot(D2)

>> subplot(3,2,4),plot(d2)

>> subplot(3,2,5),plot(D1)

>> subplot(3,2,6),plot(d1)

Compression by Thresholding

Zeroing of coefficients by thresholding results in effective signal compression


  • Wavelet processing is based on the idea of sub-band decomposition and coding.

  • Wavelet “families” are characterized by the low-pass and high-pass filters used for decomposition and perfect reconstruction of signals.

  • Typical applications of wavelet processing include elimination of noise, signal compression, and the identification of transient signal features.