% 时频分析工具箱测试使用
clc
clear
close all
% 构造一个简单信号
T=1;%1s
fs =1024;
N=fs*T;
ts = T/N;
t = 0:ts:N*ts;
yt=exp(-j*70*sin(3*pi*t))+1
%yt = exp(-j*70*sin(3*pi*t))+exp(j*90*pi*t)+exp(-j*90*pi*t);
%yt = yt - mean(yt);
%画原始信号
figure
plot(t, yt)
title('原始信号')
%
% Hilbert变换得到解析信号,对于Wigner-Ville时频分布,这是必须的
yh=yt;
% yh = hilbert(yt);
%
%傅里叶
n=0:N;
df=fs*n/N;
Gaa=fft(yh);
figure
plot(df,abs(Gaa));
dff=linspace(-150,150,1024);
%
% 短时傅里叶变换
[B, F, T, P] = spectrogram(yh,32,16,dff,fs); % B是F大小行T大小列的频率峰值,P是对应的能量谱密度
figure
imagesc(T,[-150,150],abs(B));
%
%%短时傅里叶变换
tfr = tfrstft(yh.', 1:length(yh),500); % 1024为频率分辨率,就是想把频率轴分多细
figure
imagesc(t, [0 fs], abs(tfr));
axis([0,1024*ts,-200,200]);
title('短时傅里叶时频图')
%
figure
%tfrstft(yh(:)); % 利用交互界面绘制时频图
spectram.jpg (34.36 KB, 下载次数: 1)
spectrogram结果图
2019-10-12 14:48 上传
tfrstft.jpg (26.27 KB, 下载次数: 1)
tfrstft结果图
2019-10-12 14:48 上传