将FFT同时应用于立体声信号的两个声道?

时间:2013-01-23 10:28:48

标签: audio signal-processing fft

我正在阅读波形文件,并希望对其应用快速傅里叶变换。 但是我有一个立体声信号,我想知道如何处理左右声道。 FFT是否需要单独应用于两个通道?

2 个答案:

答案 0 :(得分:7)

是和否。

当然每个通道的FFT是独立的,因此您需要为每个通道分别进行FFT。

然而,可以使用一次调用复杂数据的FFT和一些额外的算法来计算实际数据的两个FFT。这在 Numerical Recipes here中有描述。一个实信号用作复信号的实部,第二个实信号用作虚部。它们的变换可以在结果中与附加算法分开。

这是因为FFT是线性运算,因此变换的实部和虚部在某种意义上是可分离的,而实际到复数FFT中的对称性使得分离相对简单。

已发布库中的FFT例程通常经过高度优化。除非额外算法的代码也得到很好的优化,否则对实际到复杂的FFT例程进行两次调用可能比对一个复杂到复杂的FFT例程进行一次调用更快,而这个例程补充了你自己的实现。额外的算术。

FFT的一个常见用途是变换信号,乘以实脉冲反射滤波器的变换,然后执行逆变换。在这种情况下,不必将两个信号分开;可以对组合数据执行乘法,并且新信号将通过逆变换分离。

答案 1 :(得分:2)

由于立体声通道是独立的,因此您需要将FFT应用于每个通道。如果您只想处理单个频道,则需要将两个立体声频道转换为单声道。