给定每秒 44 个样本的 LPCM 阵列消除噪声
Posted
技术标签:
【中文标题】给定每秒 44 个样本的 LPCM 阵列消除噪声【英文标题】:Canceling noise given a LPCM array of 44 samples per second 【发布时间】:2012-04-21 16:34:40 【问题描述】:我有一个每秒 44100 个样本的 LPCM 数据数组。实际上我有两个渠道的数据。
每 11.61 毫秒,我得到大约 512 个样本。
现在我想按照How to cancel noise from audio上的指示进行操作
但是,该解释假设输入是正弦波。
我应该将我的 LPCM 转换为正弦波以消除噪音吗?也就是说,我是否需要在 LPCM 上运行 FFT 才能应用此技术?
如果是这样,我如何将生成的波形转换回 LPCM 以便播放?
【问题讨论】:
【参考方案1】:如果您需要从频域转换回时域,您可以使用傅里叶逆变换。否则,我认为还有很多降噪算法。
【讨论】:
我认为答案是考虑噪声过滤,而不是噪声消除。【参考方案2】:你想消除噪音在哪里?要消除检测器(有麦克风的地方)的噪音,您只需反转信号(交换 + 和 - 电缆),匹配幅度,并调整频率以校正您的设备。要在连接源和麦克风的线路上的某个其他点消除噪音,您还需要添加延迟(如果取消更远)或以某种方式“提前”声音(如果在源和麦克风之间取消)。如果取消离轴,那么事情会变得更加复杂(并且您需要两个信号)。
在复杂的情况下(离轴或麦克风之前),您需要进行某种更高级的信号处理。一种方法是使用 ffts,但找到使用数字滤波器的近似值可能更有效
我猜想 bose 耳机之类的产品使用信号反转、放大和一些相当简单的频率整形,可能还加上某种反馈检测(如果出现问题,可以避免震耳欲聋的人)。
更新:here is a really good paper 了解耳机的工作原理。他们有各种方法,包括训练白噪声滤波器。它比我上面猜的要复杂。
【讨论】:
以上是关于给定每秒 44 个样本的 LPCM 阵列消除噪声的主要内容,如果未能解决你的问题,请参考以下文章