%时频分析
clc;
data=load('dataset/opendataset/dataset.mat');
Au=data.x_train(:,1,3);
Fs = 256;
%短时傅里叶
[B, F, T, P] = spectrogram(Au,256,255,500,Fs); % B是F大小行T大小列的频率峰值,P是对应的能量谱密度
figure
imagesc(T,F,abs(B));
set(gca,'YDir','normal')
ylim([0,35]);
colorbar;
xlabel('时间 t/s');
ylabel('频率 f/Hz');
title('短时傅里叶时频图');
% 小波
wavename='cmor3-3';
totalscal=300;
Fc=centfrq(wavename); % 小波的中心频率
c=2*Fc*totalscal;
scals=c./(1:totalscal);
f=scal2frq(scals,wavename,1/Fs); % 尺度转换为频率
coefs=cwt(Au,scals,wavename); % 连续小波系数
t=0:1/Fs:4.5-1/Fs;
figure
imagesc(t,f,abs(coefs));
set(gca,'YDir','normal')
ylim([0,35]);
colorbar;
xlabel('时间 t/s');
ylabel('频率 f/Hz');
title('小波时频图');
%新版cwt
figure
cwt(Au,Fs);
MATLAB短时傅里叶变换和小波变换绘制时频图代码
最新推荐文章于 2024-05-03 08:39:40 发布