|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
- %%------------------------------------------------------------------------
- %%功能:使用MATLAB对特定信号做短时傅里叶分析
- %%------------------------------------------------------------------------
- fs=1024;
- t=0:1/fs:2;
- x=cos(2*pi*50*t).*(t>=0&t<1)+0.2*cos(2*pi*150*t).*(t>=1&t<2);
- f=-500:0.1:0;
- a=size(f)
- subplot(2,1,1);
- spectrogram(x,kaiser(60,5),20,f,fs,'yaxis');
- title('Kaiser窗,时域宽度为60');
- %%或者用下面的语句绘图
- %[s,f,t,p]=spectrogram(x,kaiser(60,5),20,f,fs,'yaxis');
- %surf(t,f,10*log10(abs(p)),'EdgeColor','none');
- %axis xy;
- %axis tight;
- %colormap(jet);
- %view(0,90);
- %xlabel('Time');
- %ylabel('Frequency (Hz)');
- %%以上语句与用无输出参数的spectrogram相同
- subplot(2,1,2);
- spectrogram(x,kaiser(260,5),20,f,fs,'yaxis');
- title('Kaiser窗,时域宽度为260');
复制代码 怎样用tfrstft函数,或spectrogram函数显示负频率,附带程序。 谢谢 |
|