tianma 发表于 2007-7-10 18:00

对音频信号进行频谱分析

各位大虾,我现在有一个自己录的音频,我想对它进行时域及频域的分析,可是我写的下面的程序总觉得不太对,请各位帮我看一下:
=wavread('c:\asd.wav');%fs为抽样频率
T=1/fs;%T为采样周期
N=length(y1)
n=0:N-1;
t=n*T;
TP=N*T;
ft=fft(y1,1024); %对y求4096点的fft
subplot(1,2,1)
plot(t,y1)   %画时域波形
title('语音信号')
xlabel('时间:s')
ylabel('幅度')
df=fs/N;
nn=*df;
f=nn*df;
figure;
plot(f,abs(ft(nn+1))*2/N)

[ 本帖最后由 tianma 于 2007-7-10 18:02 编辑 ]

zhangnan3509 发表于 2007-7-10 18:20

回复 #1 tianma 的帖子

倒数第四行和最后一行点数有问题 倒数第四行,(0:N/2—1)*df已经是频率序列了,为什么下面一行还要乘以df?而且和最后一行对应的点不对。
ft=abs(fft(y));
plot((0:N/2-1)/N*fs,2*ft(0:N/2-1)/N)

zhlong 发表于 2007-7-10 18:25

回复 #1 tianma 的帖子

本版有许多FFT的帖子,请楼主先搜索一下。

tianma 发表于 2007-7-10 21:08

我对正弦信号分析时是正确的,可是如果换成自己录的音就不行了

zhangnan3509 发表于 2007-7-10 21:40

回复 #4 tianma 的帖子

按照你刚才的写法,正弦信号也不会正确吧
页: [1]
查看完整版本: 对音频信号进行频谱分析