短时傅里叶变换程序,MATLAB

1个回答

  • 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 %添加网格线