我正在运行Morlet连续小波变换。我有wscalogram
信号,现在我想要绘制频率幅值,如下图所示。但是我不知道该怎么做:
我已经使用scal2freq
MATLAB函数将标度转换为伪频率。另外,我的信号中的某些频率具有较大的阻尼比(4%),因此它们在图中不太清晰可见。如何夸大这些高阻尼模式?
我正在使用MATLAB,这是我的代码:
% 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
我当前的情节看起来像这样: