audio - 分别对立体声信号的两个 channel 应用 FFT?

标签 audio signal-processing fft

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

最佳答案

是和不是。

当然,每个 channel 的 FFT 是独立的,因此您需要为每个 channel 使用单独的 FFT。

但是,可以使用对复杂数据 FFT 例程的一次调用和一些附加算术来计算两个真实数据的 FFT。这在 数字配方here 中有描述。 .一个实信号用作复信号的实部,第二个实信号用作虚部。它们的变换可以通过额外的算术在结果中分开。

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

已发布库中的 FFT 例程通常经过高度优化。除非附加算术的代码也得到了很好的优化,否则对实数到复数 FFT 例程进行两次调用可能比对辅以您自己的实现的复数到复数 FFT 例程进行一次调用更快。额外的算术。

FFT 的常见用途是对信号进行变换,乘以实脉冲响应滤波器的变换,然后执行逆变换。在这种情况下,没有必要将两个信号分开;可以对合并后的数据进行乘法运算,通过逆变换分离出新的信号。

关于audio - 分别对立体声信号的两个 channel 应用 FFT?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14477454/

相关文章:

matlab - 我如何才能在确切的时间内通过MATLAB呈现声音?

actionscript-3 - 循环声音闪烁as3

ios - Kxmovie 播放 .rm 格式文件时,音频无法正常工作

ARM NEON 简单低通滤波器矢量化

ios - 如何使用 iOS Accelerate 框架正确填充 2D 数组以进行 FFT

math - n维快速傅立叶变换的计算复杂性?

html - 音乐无法奏效。怎么了

python - 通过任意因子重新采样 Pandas 数据框

javascript - 如何使用 createPeriodicWave 代替 createScriptProcessor 和 getChannelData

android - 录音机 |解释频谱分析仪的 FFT 数据