我写了2048个信号样本的fft,结果是C中的1025个频率值。(丢弃其他1025个样本(即>n/2 samples
))。
现在我必须从318到2000hz之间的这些频率值中取出32个均匀间隔的对数箱。
任何帮助都将不胜感激。
答案 0 :(得分:1)
This question告诉您如何确定FFT的每个结果代表的频率。然后,找出哪个频率进入哪个频段。然后,在每个箱内,组合该箱中频率的FFT结果。 (通常人们对频率所代表的能量感兴趣,由该频率的FFT结果的幅度表示。如果是这样,那么计算箱中每个结果的幅度并添加这些幅度以得到箱子的总和。)
如果你的对数间隔为n个,其中第一个bin以频率A开始,最后一个bin以频率B结束,则bin i(编号从0到n-1)从频率exp开始((ln(B) - LN(A))* I / N)* A。那个公式:
因此,此公式为您提供每个垃圾箱的起点和终点,您可以使用它来分割垃圾箱。如果您想以2000 Hz开始最后一个箱而不是以2000 Hz结束,或者您希望将开始和结束箱中心设置为318 Hz和2000 Hz,而不是将它们精确地终止在这些频率上,则必须调整公式