Chapter 11
This presentation is the property of its rightful owner.
Sponsored Links
1 / 21

Chapter 11 PowerPoint PPT Presentation


  • 180 Views
  • Uploaded on
  • Presentation posted in: General

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.

Download Presentation

Chapter 11

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


Objectives

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.

  • 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 =

12.5926

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 =

83.4064

perfl2 =

99.9943

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


Summary

Summary

  • 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.


  • Login