Wavelet bandwith, centre frequency

6 visualizaciones (últimos 30 días)
Chris
Chris el 19 de Nov. de 2011
The Wavelet Toolbox provides the fucntion scal2frq which gives a so called pseudo-frequency to a corresponding scale.
As I understand it, each scale represents a daughter wavelet. In contrast to a periodic sine wave doesn´t a wavelet represent a frequency range rather than one frequency?
How can one calculate the bandwidth of a wavelet?
Is there a way of getting the actual function of the scaled wavelets used in cwt in order to perform an fft on them?

Respuesta aceptada

Wayne King
Wayne King el 19 de Nov. de 2011
Hi Chris, there are a couple things you can do:
1.) If you want to see the support of wavelets at different scales, you can input a shifted Kronecker delta sequence
x = zeros(1000,1);
x(500) = 1;
cfs = cwt(x,1:2:64,'sym8');
% next part obviously not needed
for nn = 1:32
plot(cfs(nn,:)); pause(0.2);
end
2.) The other thing is that the Wavelet Toolbox now has a DFT-based continuous wavelet transform, implemented in cwtft.m and an inverse CWT in icwtft.m. The wavelets supported in cwtft have their Fourier transforms explicit. See the reference page for cwtft.m
Also see:
for some examples.

Más respuestas (1)

Wayne King
Wayne King el 19 de Nov. de 2011
Hi Chris, here is a quick example of the first option above:
x = zeros(1000,1);
x(500) = 1;
cfs = cwt(x,1:2:64,'sym8');
Fs = 1000;
wavdft = abs(fft(cfs(5:10:30,:)'));
wavdft = wavdft(1:length(x)/2+1,:);
freq = 0:(Fs/length(x)):500;
plot(freq,abs(wavdft),'linewidth',2);
xlabel('Hz'); ylabel('Magnitude');
legend('Scale 10','Scale 30','Scale 60');
  1 comentario
Chris
Chris el 22 de Nov. de 2011
Hey Wayne, thanks a lot for your quick response!
I am not sure wheter I totally understand the code you provided above.
First you did a cwt with 32 scales.
Then you sum the coefs so that there are actually only three scales left (the one you later call sclae 10, 30 and 60 right?) and do a fft on them. So you created a freqnency band by summerizing some scales?
wavdft = abs(fft(cfs(5:10:30,:)'));
Is the magnitude the intensity of the signal repersented at the depicted frequency range?

Iniciar sesión para comentar.

Categorías

Más información sobre Continuous Wavelet Transforms en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by