Diceret Wavelet Transform Detail Function
1 次查看(过去 30 天)
显示 更早的评论
I'm using Discrete wavelet transform and i was wondering how can i find out what's my frequency of detail function
采纳的回答
Wayne King
2013-12-8
编辑:Wayne King
2013-12-8
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 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Discrete Multiresolution Analysis 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!