Diceret Wavelet Transform Detail Function
4 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I'm using Discrete wavelet transform and i was wondering how can i find out what's my frequency of detail function
Réponse acceptée
Wayne King
le 8 Déc 2013
Modifié(e) : Wayne King
le 8 Déc 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 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Discrete Multiresolution Analysis dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!