大天强 发表于 2018-5-13 16:24

短时傅里叶变换运行出现错误,拜托大神帮忙调试下,多谢了

clear;close all;clc;
load cengliu.txt;
y=load('cengliu.txt');
fs=2500;
ts=1/fs;
nfft=10240;
N=150000;
t=(0:N-1)/fs;
figure(1);
plot(t,y)
xlabel('时间 t');
ylabel('幅值 y');
title('时域波形');
%计算功率谱
nfft=10240;
dsp=abs(fft(y,nfft));
%绘制功率谱图
figure(2);
plot((0:nfft/2-1)/nfft*fs,dsp(1:nfft/2),'LineWidth',2);
xlabel('频率 f');
ylabel('功率谱 PSD');%计算短时傅里叶变化
%%窗函数
N = 65;
h=window(@hamming,N);
sig=hilbert(y);
=tfrstft(sig',1:1024,1024,h);
%%绘制等高线图
figure(3);
%=tfrstft(A);
= meshgrid(t,f);
%contour(X,Y,abs(tfr(1:1024,:)).^2);
contour(t/2500,f(1:1024),abs(tfr(1:1024),:));
% contour(t(1:128)/256*fs,abs(tfr(1:128,:)).^2)
%contour(X,Y,abs(tfr(1:150000,:)).^2);;
xlabel('时间 t');
ylabel('频率 f');
%axis();
%grid on

未定义变量 abs。

出错 Untitled1000 (line 32)
contour(t/2500,f(1:1024),abs(tfr(1:1024),:));
页: [1]
查看完整版本: 短时傅里叶变换运行出现错误,拜托大神帮忙调试下,多谢了