首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >音频样本的FFT处理

问音频样本的FFT处理
EN

Stack Overflow用户
提问于 2016-05-05 23:39:11
回答 1查看 1.1K关注 0票数 1

我是一个数学背景的音频处理新手,所以我有很少的问题(很多,但很少开始)的问题,处理提取的样本使用fft。

我使用的是固定阵列长度的http://www.drdobbs.com/cpp/a-simple-and-efficient-fft-implementatio/199702312?pgno=1的fft实现。

我有一些样本(比如说1024个样本)。

Fft算法,采用输入复值(实值和虚值),将虚值设置为0,因为我没有任何,并且去掉了fft输出的虚部。

我还有下一个问题:

( 1)我假设样本是实数是正确的吗?

2)只有实数才能实现FFT的有效实现吗?我的意思是在计算中根本没有想象的部分。

( 3)如果我继续使用描述的过程,是否正确的假设是:如果fft输入中没有虚数据(全部为零),那么fft输出的虚部对于所有值也都是零吗?

如果问题已经存在,我很抱歉,但我没有找到任何令人满意的答案我的问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-06 00:21:42

( 1)我假设样本是实数是正确的吗?

是。

2)只有实数才能实现FFT的有效实现吗?我的意思是在计算中根本没有想象的部分。

如果有的话,它仍然需要在计算中使用虚数。(当然,它可以用一对实数来做复杂的数学运算,只需给第二个数字贴上“假想”的标签,但这样做有什么好处呢?)

( 3)如果我继续使用描述的过程,是否正确的假设是:如果fft输入中没有虚数据(全部为零),那么fft输出的虚部对于所有值也都是零吗?

这不对。

FFT输出中每个数字的绝对值与信号中每个频率的幅度成正比。

信号中每个频率的相位也被编码在输出中,作为复数的https://en.wikipedia.org/wiki/Argument_%28complex_analysis%29。也就是说,如果某个频率与正弦波不相位差90度,那么这个垃圾箱的论点就会是90度,也就是说,实数部分是0,虚部是振幅!对于不成90度倍数的相位,实部和虚部都是非零的。

如果您不关心阶段信息,您可以获取每个输出数字的绝对值-即sqrt(real*real + imag*imag)。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37061964

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档