WAV 文件的 FFT 和输出以绘制频谱
Posted
技术标签:
【中文标题】WAV 文件的 FFT 和输出以绘制频谱【英文标题】:FFT for WAV file and output to draw spectrum 【发布时间】:2011-07-09 11:08:03 【问题描述】:我有一些关于 FFT 的问题。我想用FFT来分析WAV文件的频率,16位双通道,44100Hz。我想每 50 毫秒分析一次,以便在给定时间有 2205 个样本。所以:
-
我必须对 2205 个样本使用 FFT 作为输入数组数据吗?输出也是一个包含 2205 个元素的数组?
我想像某些媒体播放器一样绘制 WAV 文件的频谱,但我必须使用数组的全部或其中的一个值?
【问题讨论】:
SO 上已经有很多重复项,例如从今天早些时候开始:Audio spectrum analysis using FFT algorithm in Java 【参考方案1】:这个问题不是很清楚,我可能误解了,但我认为您不是在问如何执行 FFT。
但您应该使用所有您的数据样本作为 FFT 的输入,并使用 所有您的输出数据绘制频谱。
【讨论】:
我不了解沿 x-axix (hz) 的所有数据的平均值,请向我解释。谢谢 因此,实际上,您需要使用输出数据绘制图表。必须有许多图表库可用... FFT 太复杂了,无法在这里解释。我所能做的就是向您推荐参考资料:en.wikipedia.org/wiki/FFT【参考方案2】:基本上,如果您的采样率为 2205,则您可以计算的最大 FFT 频率是没有混叠的采样率的一半,即 1103。
要绘制频谱,您需要拥有所有频率值和 FFT 值的对应实部。
【讨论】:
以上是关于WAV 文件的 FFT 和输出以绘制频谱的主要内容,如果未能解决你的问题,请参考以下文章