Morlet sürekli dalgacık dönüşümü yapıyorum. wscalogram
Sinyalim var ve şimdi aşağıdaki resimdeki gibi frekans büyüklüğünü çizmek istiyorum, ancak nasıl yapılacağını bilmiyorum:
scal2freq
Ölçekleri sahte frekanslara dönüştürmek için MATLAB işlevini kullandım . Ayrıca sinyalimde büyük bir sönümleme oranına (% 4) sahip bazı frekanslar var, bu yüzden arsada iyi görünmüyorlar. Bu yüksek sönümlü modları nasıl abartırım?
MATLAB kullanıyorum, işte kodlarım:
% Import the text4.txt to matlab workspace. and save it under name "data"
t=linspace(0,30,301);
Fs=ceil(inv(t(2)-t(1)));
x=data(:,4); % use x=data(:,3),x=data(:,5) too. first column is time,second is refrence
wname = 'morl';
scales = 1:1:256;
coefs = cwt(x,scales,wname,'lvlabs');
freq = scal2frq(scales,wname,1/Fs);
surf(t,freq,abs(coefs));shading('interp');
axis tight; xlabel('Seconds'); ylabel('Pseudo-Frequency (Hz)');
axis([0 30 0 1 0 60])
xlabel('Time'); ylabel('Frequency');
figure;
sc=wscalogram('image',coefs,'scales',freq,'ydata',x);
hold on
Şu anki planım şöyle: