📄 timefreq.m
字号:
function timefreq(x,Nw,window)
% x 待分析信号,行向量
% Nw 时窗宽度
% window 加窗类型
subplot(2,2,1)
plot(real(x));
X=fft(x);
X=fftshift(X);
subplot(2,2,2);
plot(abs(X));
Lap=Nw/2;
Tn=(length(x)-Lap)/(Nw-Lap);
nfft=2^ceil(log(Nw));
TF=zeros(Tn,nfft);
for i=1:Tn
if(strcmp(window,'rec'))
xw=x((i-1)*10+1:i*10+10);
elseif(strcmp(window,'Hanmming'))
xw=x((i-1)*10+1:i*10+10).*Hamming(Nw)';
elseif(strcmp(window,'Blackman'))
xw=x((i-1)*10+1:i*10+10).*Blackman(Nw)';
else
return
end
temp=fft(xw,nfft);
temp=fftshift(temp);
TF(i,:)=temp;
end
%绘制时频分析结果
subplot(2,2,3);
fnew=((1:nfft)-nfft/2)/nfft;
tnew=(1:Tn)*Lap;
[F,T]=meshgrid(fnew,tnew);
mesh(T,F,abs(TF));
xlabel('n');ylabel('w');zlabel('Gf');
subplot(2,2,4);
contour(T,F,abs(TF));
xlabel('n');ylabel('w');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -