Diceret Wavelet Transform Detail Function
7 views (last 30 days)
Show older comments
I'm using Discrete wavelet transform and i was wondering how can i find out what's my frequency of detail function
Accepted Answer
Wayne King
on 8 Dec 2013
Edited: Wayne King
on 8 Dec 2013
Wavelet filters act like bandpass filters in particular way:
level j --approximately (Fs/2^(j+1) Fs/2^j]
How concentrated the wavelet filter's transfer function is in that passband depends on the wavelet filter. Generally, the longer the filter, the more concentrated.
For the Haar filter, the above is a poor approximate, for something like 'sym8', much better.
If you really want to see the transfer function, you can use the multirate noble identities to find it. For example, I'll do the transfer function of the level-2 'sym4' and 'sym8' wavelet filters. They will pass most between [1/8 1/4] assuming Fs = 1
[g,h] = wfilters('sym4');
h = dyadup(h,0);
det2 = conv(g,h);
tfFilter = fft(det2,64);
tfFilter = tfFilter(1:64/2+1);
df = 1/64;
F = 0:df:1/2;
plot(F,abs(tfFilter))
set(gca,'xtick',[0 1/8 1/4 1/2]);
grid on;
Now repeat for 'sym8'
[g,h] = wfilters('sym8');
h = dyadup(h,0);
det2 = conv(g,h);
tfFilter = fft(det2,64);
tfFilter = tfFilter(1:64/2+1);
df = 1/64;
F = 0:df:1/2;
hold on;
plot(F,abs(tfFilter),'r')
set(gca,'xtick',[0 1/8 1/4 1/2]);
grid on;
Now compare level-2 and level-3 wavelet filter transfer function for the 'sym8' wavelet.
figure;
[g,h] = wfilters('sym8');
h = dyadup(h,0);
det2 = conv(g,h);
tfFilter = fft(det2,64);
tfFilter = tfFilter(1:64/2+1);
df = 1/64;
F = 0:df:1/2;
hold on;
plot(F,abs(tfFilter),'r')
set(gca,'xtick',[0 1/16 1/8 1/4 1/2]);
grid on;
[g,h] = wfilters('sym8');
g2 = dyadup(g,0);
h = dyadup(h,0);
h = dyadup(h,0);
det3 = conv(conv(g,g2),h);
tfFilter = fft(det3,64);
tfFilter = tfFilter(1:64/2+1);
df = 1/64;
F = 0:df:1/2;
plot(F,abs(tfFilter),'k')
set(gca,'xtick',[0 1/16 1/8 1/4 1/2]);
grid on;
0 Comments
More Answers (0)
See Also
Categories
Find more on Signal Analysis in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!