Что означает амплитуда CWT? - PullRequest
0 голосов
/ 26 сентября 2019

У меня большая проблема с непрерывным вейвлет-преобразованием.Я создал этот сигнал

t = 0:1/2000:1-1/2000;
dt = 1/2000;
x1 = sin(50*pi*t).*exp(-50*pi*(t-0.2).^2);
x2 = sin(50*pi*t).*exp(-100*pi*(t-0.5).^2);
x3 = 2*cos(140*pi*t).*exp(-50*pi*(t-0.2).^2);
x4 = 2*sin(140*pi*t).*exp(-80*pi*(t-0.8).^2);
x = x1+x2+x3+x4;

И его представление по времени составляет enter image description here

Чем я вычислил его преобразование Фурье классическим способом

Ts =1/Fs; 
N = length(x);
t = 0:Ts:Ts*N-Ts;
FTx = fft(x,N);
S = (abs(FTx).^2)/N; %amplitude
f_FT = (0:Fs/N:Fs-Fs/N);
S = S(1:N/2);  % i reject half signal
f_FT = f_FT(1:N/2); 

И его представление составляет enter image description here Я вычислил непрерывное вейвлет-преобразование с использованием функции cwtft

  s0 = 2;
a0 = 2^(1/32);
scales = (s0*a0.^(32:7*32)).*dt;
cwtx = cwtft({x,dt},'Scales',scales,'Wavelet',{'bump',[4 0.9]});
figure;
contour(t,cwtx.frequencies,abs(cwtx.cfs))
xlabel('Seconds'), ylabel('Hz');
grid on;
title('Analytic CWT using Bump Wavelet')
hcol = colorbar;
hcol.Label.String = 'Magnitude';

enter image description here

Я не знаю, какая величина встречается, и особенно, почему она так сильно отличается от значений, полученных с помощью классического БПФ.Есть ли способ конвертировать его?Большое вам спасибо

...