Time-frequency spectrum for a low frequency signal

2 visualizaciones (últimos 30 días)
Océane ESPINASSE
Océane ESPINASSE el 5 de Mayo de 2022
Respondida: Vinay el 25 de Sept. de 2024
Hi,
I'm a begginer with matlab and I search to do the time-frequency spectrum for a low frequency signal.
I tried the cwt function on a "normal" frequency signal :
t = 0:0.001:20-0.001;
x = cos(2*pi*50*t).*(t > 0 & t<=5)+ ...
cos(2*pi*50*t).*(t >= 10 & t < 15)+ ...
cos(2*pi*100*t).*(t >= 10 & t < 15)+ ...
cos(2*pi*100*t).*(t >= 15 & t < 20)+ ...
0.5*randn(size(t));
[y, f] = cwt(x,30);
figure;
subplot(2,1,1)
plot(x)
subplot(2,1,2)
imagesc(abs(y).^2)
And I get this correct result :
But when I try on a low frequency signal, it doesn't work at all...
t = 0:.001:20-0.001;
x = cos(2*pi*0.005*t).*(t > 0 & t<=5)+ ...
cos(2*pi*0.005*t).*(t >= 10 & t < 15)+ ...
cos(2*pi*0.01*t).*(t >= 10 & t < 15)+ ...
cos(2*pi*0.01*t).*(t >= 15 & t < 20)+ ...
0.5*randn(size(t));
[y, f] = cwt(x,30);
figure;
subplot(2,1,1)
plot(x)
subplot(2,1,2)
imagesc(abs(y).^2)
How could I make it work? Do I need to change functions or settings?

Respuestas (1)

Vinay
Vinay el 25 de Sept. de 2024
The continuous wavelet transform requires few cycles of a signal to accurately determine its frequency content within a given window. When a signal with a frequency of 0.01 Hz is used, its time period is 100 seconds. However, the signal duration is only 20 seconds, therefore cycles are not fully captured.
The issue can be resolved by extending the signal duration to exceed the signal's time period.
Additionally, for low-frequency signals, noise can introduce frequency components ranging from 0 to (fs/2 ), resulting in a wide range of low-amplitude frequency detections due to noise.
Kindly refer to the below documentation of “cwt” for more details:
I hope this helps!

Categorías

Más información sobre Time-Frequency Analysis 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