作业帮 > 综合 > 作业

短时傅里叶变换程序,MATLAB

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/27 18:57:10
短时傅里叶变换程序,MATLAB
a=wavread('jiasiqi.wav');
subplot(2,1,1),
plot(a);title('original signal');
grid
N=256;
h=hamming(N);
for m=1:N
b(m)=a(m)*h(m)
end
y=20*log(abs(fft(b)))
subplot(2,1,2)
plot(y);title('短时谱');
grid
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 %添加网格线