Dav*_*ore 2 math fft frequency-analysis
我正在设计一个嵌入在 FPGA 芯片上的实时音频分析器。完成的系统将读取实时音频流以及 X 个最流行频率的输出频率和幅度对。
到目前为止,我已经设法实现了 FFT,但它的当前输出只是每个窗口的实部和虚部,我想知道的是,如何将其转换为频率和幅度对?
我一直在阅读有关 FFT 的内容,我看到了如何将它们转换为幅度和相位关系,但我需要一种格式,让没有复杂数学知识的人可以阅读!
谢谢
感谢您的快速回复!
我现在得到的 FFT 输出是连续的实数和虚数对流。我不确定是否将它们分解成与我的输入数据包(64 个值)相同大小的数据包,并将它们视为一个数组,或者单独处理它们。
采样率,我没有问题。当我自己配置 FFT 时,我知道它正在运行 50MHz 的全局时钟。至于数组索引(如果输出当然是数组......),我不知道。
如果我们说输出是一系列 64 个复数值的一维数组:
1) 如何找到数组索引 [i]?
2)每个数组会返回单个频率部分还是多个频率部分?
非常感谢您的帮助!没有它我会迷路的。
嗯,坏消息是,没有办法解决需要理解复数的问题。好消息是,仅仅因为它们被称为复数并不意味着它们很复杂。 因此,首先,查看维基百科页面,对于我想说的音频应用程序,请阅读第 3.2 节,可能会跳过关于平方根的部分:http : //en.wikipedia.org/wiki/Complex_number
这告诉您的是,如果您有一个复数a + bi,您可以将其想象为位于位置 (a,b) 的 x,y 平面中。要获得幅度和相位,您只需找到两个量:
大小很简单:sqrt(a^2 + b^2)。
该阶段同样简单:atan2(b,a)。
| 归档时间: |
|
| 查看次数: |
12027 次 |
| 最近记录: |