%你好,该程序读mywavwav文件,然后显示频谱以及波形。注意,mywavwav文件不要太长,否则运算会很慢。
[y,Fs,bits]=wavread('mywavwav');%读出信号,采样率和采样位数。
y=y(:,1);%我这里假设你的声音是双声道,我只取单声道作分析,如果你想分析另外一个声道,请改成y=y(:,2)
sigLength=length(y);
Y = fft(y,sigLength);
Pyy = Y conj(Y) / sigLength;
halflength=floor(sigLength/2);
f=Fs(0:halflength)/sigLength;
figure;plot(f,Pyy(1:halflength+1));xlabel('Frequency(Hz)');
t=(0:sigLength-1)/Fs;
figure;plot(t,y);xlabel('Time(s)');
以上就是关于matlab中用specgram做完短时傅里叶变换如何用程序实现返回纵坐标的值全部的内容,包括:matlab中用specgram做完短时傅里叶变换如何用程序实现返回纵坐标的值、一组离散数据变成三角函数线性和的形式,傅里叶级数展开。求幅值和初相位。、matlab 做音频文件(WAV格式)的频谱图程序 以及做时域波形图的程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)