求助关于音频傅立叶后频率的问题
=wavread('w.wav');b=fft(aa);
=max(b);
这样做 cc 就应该是音频低频的位置了吧,
那么如果我想取出特定频率的位置该怎么做呢?
例如我想取出中频 3khz 在音频中的位置该怎么做呢?
盼高手指教!!
谢谢!!! 没人顶呀.... 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; 谢谢!!!
但是对
N=length(aa);
df=fh/N;
f0=(cc-1)*df;
不是十分理解
能不能简单说明一下为什么这样做就可以求出频率? 原帖由 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]