apply_DWT

PURPOSE ^

Apply DWT on a streaming signal

SYNOPSIS ^

function alpha = apply_DWT(x,varargin)

DESCRIPTION ^

 Apply DWT on a streaming signal
 Input
   x -- input signal 
   N -- length of the window
   wType -- type of wavelet functions
   J   -- depth of wavelet scales (finest scale)

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function alpha = apply_DWT(x,varargin)
0002 
0003 % Apply DWT on a streaming signal
0004 % Input
0005 %   x -- input signal
0006 %   N -- length of the window
0007 %   wType -- type of wavelet functions
0008 %   J   -- depth of wavelet scales (finest scale)
0009 
0010 Nx = length(x);
0011 
0012 % length of the window
0013 if nargin > 1; N = varargin{1}; else N = 128; end
0014 % wavelet function type
0015 if nargin > 2; wType = varargin{2}; else wType = 'daub4'; end
0016 % depth of wavelets
0017 if nargin > 3; J = varargin{3}; else J = 3; end
0018 % type of signal extension
0019 if nargin > 4; sym = varargin{4}; else sym = 0; end
0020 
0021 in_Psi = []; in_Psi.N = N; 
0022 in_Psi.wType = wType; in_Psi.J = J; in_Psi.sym = sym;
0023 
0024 Psi = create_DWT(in_Psi);
0025 L = size(Psi,1);
0026 
0027 alpha = [];
0028 tl = 0;
0029 for p = 1:floor((Nx-2*(L-N))/N)
0030     sigt = x(tl+1:tl+L);
0031     if sym == 1 || sym == 2
0032         alpha = [alpha; inv(Psi'*Psi)*(Psi'*sigt)];
0033     else
0034         alpha = [alpha;  (Psi'*sigt)];
0035     end
0036     tl = tl+N;
0037     %     fig(10); plot(alpha); drawnow;
0038 end

Generated on Mon 10-Jun-2013 23:03:23 by m2html © 2005