yangch 发表于 2007-5-11 15:39

求助关于音频傅立叶后频率的问题

=wavread('w.wav');
b=fft(aa);
=max(b);

这样做 cc 就应该是音频低频的位置了吧,

那么如果我想取出特定频率的位置该怎么做呢?

例如我想取出中频 3khz 在音频中的位置该怎么做呢?

盼高手指教!!

谢谢!!!

yangch 发表于 2007-5-12 22:50

没人顶呀....

songzy41 发表于 2007-5-13 08:14

1,语句
=max(b);
应改为
=max(abs(b));
因为b是复数。
2,cc是最大值dd所在的下标值。要想求出最大值dd对应的频率f0,可以有
N=length(aa);
df=fh/N;
f0=(cc-1)*df;
3,如果要求特定的频率ff,对应的下标值ee为
ee=round(ff/df)+1;

yangch 发表于 2007-5-13 15:50

谢谢!!!
但是对
N=length(aa);
df=fh/N;
f0=(cc-1)*df;
不是十分理解
能不能简单说明一下为什么这样做就可以求出频率?

yangzj 发表于 2007-5-13 16:09

原帖由 yangch 于 2007-5-13 15:50 发表 http://www.chinavib.com/forum/images/common/back.gif
谢谢!!!
但是对
N=length(aa);
df=fh/N;
f0=(cc-1)*df;
不是十分理解
能不能简单说明一下为什么这样做就可以求出频率?

要理解它,就要好好研究下离散傅立叶变换
页: [1]
查看完整版本: 求助关于音频傅立叶后频率的问题