np.fft.rfft()/fft_size 返回值是什么?

返回的fft_size/2+1个频率是怎样排序的?是按0-sampling_rate/2 HZ顺序排列的吗?每个频率值间隔是1还是什么?

根据香农定理可知,信号最高频率为采样频率sampling_rate的1/2,若采样点数量为sampling_rate+1个,傅里叶变换后返回的数组有以下特征:

  1. 数组元素也是sampling_rate+1个
  2. 数组元素类型是复数,每个元素都有实数和虚数两部分组成
  3. 如果去掉第1个元素(索引为0的元素),剩余元素的第1个和最后1个相同,第2个和倒数第2个相同...

这个数组的元素,对应着信号分解后的各个不同频率不同相位的正弦波信号,实数表示振幅,虚数表示相位,相当于复数平面上的一个向量。数组的前一半元素中(后一半元素和前面重复),索引为0的元素,对应频率为0的信号,也就是直流信号,相位自然永远是0了;索引为k的元素,对应频率为k的信号。除了直流分量外,这些元素对应的信号中最强的那个信号分量的频率,就是原始信号的主频率。

以上信息,摘自我的一篇博文《假期无聊,我用傅里叶变换做了一个频率计,吉他定调口哨定音,样样好使!》。

fft_size/2+1  根据你写的这个 算术运算,应该是先计算fft_size/2,然后将这个结果加上1,最后返回+1后的频率值

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632