更改音频文件中频谱的频率分量

信息处理 声音的 fft 压缩 带通
2022-02-02 17:45:46

我正在使用 Matlab 开发音频动态范围压缩器。在计算了音频文件的 FFT 之后,我使用了几个带通滤波器来分别放大特定的频段。然后我想做的是删除乐队的组件并将它们放在另一个乐队中。例如,去掉 8khz-10khz 频段的分量,将它们放入 6khz-8khz 频段。请给我一般的图片。

2个回答

从您的问题来看,听起来您正在开发助听器解决方案。鉴于您正在计算 FFT 并且现在处于频域中,最简单的前进路线是使用相位声码器技术来移动频谱峰值。这是关于这项技术的原始论文 > http://505606.pbworks.com/f/LaroD99-pvoc.pdf

这是另一个解决方案:

  1. 假设这些是平坦频段,请计算您想要移动到的频段的中心频率。
  2. 将要向下移动的频段乘以 cos(2*pi*centerFreq + phaseOfComponentsOfMovedBand) 如果要向下移动频段,请对信号应用高通滤波器。如果要向上移动频段,请对信号应用低通滤波器。

这是 FT 的调制特性:

即:Cos(f)*x(t)=> (频域) ​​X(wf) + X(w+f)

http://www.ws.binghamton.edu/fowler/fowler%20personal%20page/EE301_files/FT%20Tables_rev3.pdf

详情。