首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >fft输出显示意外的对称性

fft输出显示意外的对称性
EN

Stack Overflow用户
提问于 2019-01-21 07:09:44
回答 1查看 99关注 0票数 0

我正在对一个信号运行cfft。输出似乎显示出对称性。我知道fft是对称的,但代码

代码语言:javascript
复制
arm_cfft_f32(&arm_cfft_sR_f32_len512, &FFTBuf[0], 0, 1);
arm_cmplx_mag_f32(&FFTBuf[0], &FFTMagBuf[0], FFT_LEN);

说明了这一点,因为FFTMagBuf的长度是输入数组的一半。尽管如此,输出仍然显示出对称性。

1

箭头指向我的口哨,它显示得很好,周围有很多噪音。中间的可能是和声(我的口哨是垃圾)。但是左右对称是很明显的。

我使用的是一块mems板,样本来自板上的stm32f4麦克风,每个样本块(在本例中为1024,以提供512长度的快速傅立叶变换)都通过一个hann窗口。

我正在使用tony dicola的spectrogramui.py的一个修改版本来进行可视化。

EN

回答 1

Stack Overflow用户

发布于 2019-01-25 02:52:40

根据文档,arm_cmplx_mag_f32计算复杂信号的大小。这就是为什么FFTMagBuf必须是FFTBuf的一半大小:两个数组都保存实数,但复数样本是由两个实数组成的。这与FFT的对称性无关。

因此,输出信号的样本数与输入的样本数完全相同。

也就是说,你计算一个实信号的复数FFT,它具有某种对称性(你也需要考虑复共轭),然后你取它的幅度,它是对称的。当然,这个图也是对称的。

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

https://stackoverflow.com/questions/54281825

复制
相关文章

相似问题

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