DWT or MODWT with custom frequency bands
Dear all,
I am analyzing time-series data with a special interest in frequency-band specific crosscorrelation. In the past, I have used modwt and modwtcorr to do so. In my example, the signal is 4001 samples long and the sampling frequency is 20 kHz. When creating the standard filterbank (dwtfilterbank), I am given 10 levels with specific bands (in Hz) [5000 10000; 2500 5000; 1250 2500; 625 1250; 312.5 625; 156.25 312.5; 78.125 156.25; 39.0625 78.125; 19.53125 39.0625; 0 19.53125], coming from the following code:
%determine number of levels
max_levels = wmaxlev(4001,’sym4′)
%design filterbank
fb_dwt = dwtfilterbank(‘SignalLength’,4001,’SamplingFrequency’,20000,’Level’,max_levels)
%extract frequency bands
bands = dwtpassbands(fb_dwt)
I have highlighted the bands of interest to me. Upon further investigation, I would be more interested in shifting these bands towards 50 – 100, 100 – 300 and 300 – 600 Hz. Is it possible to design a filterbank for modwt or dwt that considers this and permits later cross-correlation analysis (such as modwtcorr)? This would be extremely helpful for me.
Thank you very much, and best,
MichaelDear all,
I am analyzing time-series data with a special interest in frequency-band specific crosscorrelation. In the past, I have used modwt and modwtcorr to do so. In my example, the signal is 4001 samples long and the sampling frequency is 20 kHz. When creating the standard filterbank (dwtfilterbank), I am given 10 levels with specific bands (in Hz) [5000 10000; 2500 5000; 1250 2500; 625 1250; 312.5 625; 156.25 312.5; 78.125 156.25; 39.0625 78.125; 19.53125 39.0625; 0 19.53125], coming from the following code:
%determine number of levels
max_levels = wmaxlev(4001,’sym4′)
%design filterbank
fb_dwt = dwtfilterbank(‘SignalLength’,4001,’SamplingFrequency’,20000,’Level’,max_levels)
%extract frequency bands
bands = dwtpassbands(fb_dwt)
I have highlighted the bands of interest to me. Upon further investigation, I would be more interested in shifting these bands towards 50 – 100, 100 – 300 and 300 – 600 Hz. Is it possible to design a filterbank for modwt or dwt that considers this and permits later cross-correlation analysis (such as modwtcorr)? This would be extremely helpful for me.
Thank you very much, and best,
Michael Dear all,
I am analyzing time-series data with a special interest in frequency-band specific crosscorrelation. In the past, I have used modwt and modwtcorr to do so. In my example, the signal is 4001 samples long and the sampling frequency is 20 kHz. When creating the standard filterbank (dwtfilterbank), I am given 10 levels with specific bands (in Hz) [5000 10000; 2500 5000; 1250 2500; 625 1250; 312.5 625; 156.25 312.5; 78.125 156.25; 39.0625 78.125; 19.53125 39.0625; 0 19.53125], coming from the following code:
%determine number of levels
max_levels = wmaxlev(4001,’sym4′)
%design filterbank
fb_dwt = dwtfilterbank(‘SignalLength’,4001,’SamplingFrequency’,20000,’Level’,max_levels)
%extract frequency bands
bands = dwtpassbands(fb_dwt)
I have highlighted the bands of interest to me. Upon further investigation, I would be more interested in shifting these bands towards 50 – 100, 100 – 300 and 300 – 600 Hz. Is it possible to design a filterbank for modwt or dwt that considers this and permits later cross-correlation analysis (such as modwtcorr)? This would be extremely helpful for me.
Thank you very much, and best,
Michael discrete wavelet transform, filterbank, cross-correlation, signal processing, wavelet MATLAB Answers — New Questions