如何对采样的音频信号进行频谱反转

Lio*_*gan 6 algorithm audio signal-processing

我正在寻找一个简单的(伪)代码,用于对采样的音频信号进行频谱反转.理想情况下是C++

代码应支持不同的采样率(16/32/48KHz).

mtr*_*trw 8

混合信号Fs/2会交换高频和低频 - 想想将单位圆周围的光谱旋转半圈.您可以通过将每个其他样本乘以-1来实现此旋转.

混合Fs/2相当于混合exp(j*pi*n).如果x是输入和y输出,

y[n] = x[n] * exp(j*pi*n) = x[n] * [cos(pi*n) + j*sin(pi*n)]
Run Code Online (Sandbox Code Playgroud)

这很容易简化,因为它sin(pi*n)是0,并且cos(pi*n)是交替1,-1.

  • 这个技巧在DSP中出现了很多.例如,如果要设计高通滤波器,通常更容易设计具有所需截止比例的低通滤波器,然后围绕单位圆旋转以使其高通. (2认同)