尊重原创,http://blog.csdn.net/y1196645376/article/details/53319142
转载请申明出处,谢谢!
FFT
- extends FourierTransform
FFT代表了快速傅里叶变换, 它是一种高效的计算复数离散傅里叶变换的有效方法.对于这个类没有什么其他好说的了,因为当你想要分析音频缓冲区的频谱的时候,你几乎总是使用这个类。这个类有个限制是如果你想要分析的声音缓冲区的长度必须是2的幂. 如果你想通过一个timeSize不是2的幂的声音构建FFT, 那么将会抛出IllegalArgumentException 。 傅里叶变换是在时域中变换信号的算法, 就例如样本缓冲器, 转换成频域中的信号,通常称为频谱. 频谱不代表个体的频率, 但是实际上代表了以特定频率为中心的频带. 每个频带的中心频率通常表示为时域信号的采样速率,并且等于频带的索引除以频带的总数。频带的数量通常等于时域信号的长度, 但只提供访问频率波段指数小于长度的一半,因为他们符合低于Nyquist频率的频率。换句话说,给定一个长度为N的信号,在频谱中会有N / 2个频带。 作为一个例子,我们将通过一个时间大小为1024以及采样率为44100Hz来构造一个FFT, 然后频谱将包括频率低于22010HZ的值, 这就是Nyquist频率(一半的采样率).如果你想要询问五号带的值, 它将对应一个以5/1024 * 44100 = 0.0048828125 * 44100 = 215 Hz为中心的频带. 频带的宽度等于2/1024, 表示为频谱的总带宽的一小部分. 频谱的总带宽等于Nyqu |