|
我用的是MATLAB 6.5,使用的参数可能与楼主不一样。程序为:
t = 0:.0001:.0255;
x1 = sin(2*pi*80*t);
x2= 0.8*exp(-(t-0.01875).^2*1000000).*sin(2*pi*1600*t);
%subplot 211; plot(t,x1,'r',t,x2,'b');
axis([0 0.0255 -1 1]); grid;
x=x1+x2;
%subplot 212; plot(t,x);
axis([0 0.0255 -1 1]); grid;
%figure
h=window('hamming',255);
[tfr,tt,f]=tfrstft(x',1:256,256,h);
imagesc(t,f(1:64)*20000,abs(tfr(1:64,:)));
axis('xy');
xlabel('Time'); ylabel('Frequency');
可以看到两个频率成分80和1600hz。其图如下。
而楼主在笫1层出现的图,完全是由于窗长度太小了。但于80Hz的信号,采样频率为10000,要125个样点才是1个周期,用15个样点的窗函数只取到80Hz的正弦信号1个周期中的极小一部分,当然分析不出原始信号。 |
评分
-
2
查看全部评分
-
|