首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何获取FFT中每个值的频率?

如何获取FFT中每个值的频率?
EN

Stack Overflow用户
提问于 2010-12-06 17:18:37
回答 1查看 151K关注 0票数 163

我有一个快速傅立叶变换结果。它们存储在两个double数组中:一个实部数组和一个虚部数组。如何确定这些数组中每个元素对应的频率?

换句话说,我希望创建一个数组来存储FFT的每个实部和虚部的频率。

EN

回答 1

Stack Overflow用户

发布于 2011-08-30 19:28:23

FFT输出系数(对于大小为N的复数输入)是从0到N-1,分组为低、中、高、高、中、低频率。

我认为k处的元素与N-k处的元素具有相同的频率,因为对于实际数据,FFTN-k = FFTk的复共轭。

扫描频率从低到高的顺序为

代码语言:javascript
复制
0,

 1,
 N-1,

 2,
 N-2

 ...

 [N/2] - 1,
 N - ([N/2] - 1) = [N/2]+1,

 [N/2]

存在从索引i=0到N/2的N/2+1个频率组,每个组具有frequency = i * SamplingFrequency / N

所以bin FFTk的频率是:

代码语言:javascript
复制
if k <= [N/2] then k * SamplingFrequency / N
if k >= [N/2] then (N-k) * SamplingFrequency / N
票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4364823

复制
相关文章

相似问题

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