Azzera filtri
Azzera filtri

Diceret Wavelet Transform Detail Function

1 visualizzazione (ultimi 30 giorni)
I'm using Discrete wavelet transform and i was wondering how can i find out what's my frequency of detail function

Risposta accettata

Wayne King
Wayne King il 8 Dic 2013
Modificato: Wayne King il 8 Dic 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;

Più risposte (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by