Programming Wavelet Wavelet Transform

1

Sto provando a programmare la trasformazione Wavelet discreta in Matlab. Capisco che siano disponibili varie librerie, ma il mio progetto richiede che io debba implementarlo da zero.

Sto prendendo un vettore di lunghezza N. Quindi fornisco questo vettore come input per i miei filtri passa-basso e passa-alto. La mia prima domanda è: quale deve essere il cut-off per questi due filtri?

Una volta che ho passato il mio segnale attraverso questi due filtri, ho S_LowPass e S_HighPass. Ora analizzo questi vettori.

Dopo aver provato a campionare questi vettori, la dimensione del mio vettore è stata ridotta. Ora quando uso la casella degli strumenti Wavelet di Matlab, le dimensioni rimangono le stesse su ogni livello. La mia seconda domanda: perché le dimensioni rimangono le stesse?

    
posta user1343318 14.03.2013 - 11:51
fonte

1 risposta

1

Dall'articolo Wikipedia sul DWT , la coppia di filtri deve soddisfare i requisiti di filtro mirror quadrature .

Da quello che ricordo da scuola quando avevi due filtri analogici incrociati volevi che il punto di incrocio (frequenza) fosse al rolloff 3dB di ciascuno, ma potrebbe essere diverso per wavelets - Non ricordo così buono .

Credo che la frequenza di incrocio desiderata sia pari a 1/2 della frequenza massima del segnale (quindi un quarto della frequenza di Nyquist).

Potresti provare questi note di Phil Schniter che iniziano con la sezione 3.

Se vuoi semplicemente prendere la via più facile c'è una implementazione Java usando l'wavelet Haar ; Ho usato una versione C di questo in questo progetto .

Per quanto riguarda la parte della domanda del toolbox Wavelet, non l'ho usato.

    
risposta data 14.03.2013 - 16:09
fonte

Leggi altre domande sui tag