短时傅里叶变换

最近在用短时傅里叶变换做项目,请问,怎么得到频率与时间的变化图?下面是我画的程序:%%STFTSTFT=fft(y);%%Powersepctrumd=abs(STFT(... 最近在用短时傅里叶变换做项目,请问,怎么得到频率与时间的变化图?

下面是我画的程序:
%% STFT
STFT = fft(y);
%% Powersepctrum

d = abs(STFT(1:windowlength/2,:)).^2;
Power_spectrum = 2/windowlength*d;
%tune time and frequency for plotting
t = (1:size(y,2))*windowlength/Fs;
frequency = (0:windowlength/2-1)/windowlength*Fs;
%% Plot the fast fourier by windowing
if gr
figure,surf(t,frequency,Power_spectrum);
shading interp;
xlabel('time');ylabel('frequency');zlabel('Power spectrum');
end
怎么得到频率与时间的变化图?
展开
 我来答
未0086
推荐于2016-12-01 · TA获得超过121个赞
知道答主
回答量:109
采纳率:0%
帮助的人:130万
展开全部
a=wavread('jiasiqi.wav'); %将音频信号jiasiqi.wav读入
subplot(2,1,1), %分配画布,一幅图上共两个图,这是第一个
plot(a);title('original signal'); %画出原始信号,即前面这个音频信号的原始波形
grid %添加网格线
N=256; %设置短时傅里叶变换的长度,同时也是汉明窗的长度
h=hamming(N); %设置汉明窗
for m=1:N %用汉明窗截取信号,长度为N,主要是为了减少截断引起的栅栏效应等
b(m)=a(m)*h(m)
end
y=20*log(abs(fft(b))) %做傅里叶变换,取其模值,即幅频特性,然后用分贝(dB)表示
subplot(2,1,2) %分配画布,第二副图
plot(y);title('短时谱'); %画出短时谱
grid %添加网格线
满意请采纳。
ygpump1001
2014-08-27 · 超过110用户采纳过TA的回答
知道答主
回答量:252
采纳率:0%
帮助的人:73.1万
展开全部
上海阳光泵业至今已经成立了5200余天,拥有超过14000家终端用户,地区覆盖全国29个省市自治区及美国、韩国、日本、南非等地区。出场的泵类产品超过300000台、目前在线运行产品合计超过200000台,每年的返修率低于0.3%。我们的目标是:让阳光走向世界!让世界充满阳光!8月重磅推出螺杆泵,凡是购买本公司水泵,将有机会获得2年保修,百度搜索:《上海阳光泵业》
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式