我正在开发一个使用简单卡尔曼滤波器从音频文件中去除或减少背景噪声的计算机程序。我已经实现了卡尔曼滤波器和一种为音频文件获取“样本缓冲区”的方法。
我了解卡尔曼滤波器如何根据每个变量的用途工作。然而,这是我第一次尝试数字信号处理,所以我不确定我的测量应该是什么才能正确使用卡尔曼滤波器。
我看过很多关于噪声过滤的研究论文和文章,但它们没有帮助。
我感觉我需要确定噪声的频率或确定噪声波,然后将其移除,也许是通过添加噪声波的倒数。我需要使用信号+噪声输入来估计信号,还是估计噪声?它是否正确?
如何在此特定应用中对卡尔曼滤波器进行建模以执行背景噪声去除?
我正在尝试实现与https://audiodenoise.com/类似的输出
2022 年 2 月 15 日更新
从我的额外研究来看,简单的卡尔曼滤波器似乎可以处理白噪声,我需要估计信号。包含语音的样本的卡尔曼增益应该较高,而不含语音的样本的卡尔曼增益应该较低。
但是,我仍然不明白我在测量什么。即使我将音频文件中的每个样本都单独测量为一维状态,那么我将如何处理这个值?
目前,我将单个样本作为测量值,并将当前样本替换为该迭代的计算估计值。它会导致整个文件的幅度降低,当重新放大时,会再次显示噪声。
处理音频去噪的卡尔曼滤波器的研究论文
- https://www.researchgate.net/publication/325622133_Speech_Background_Noise_Removal_Using_Different_Linear_Filtering_Techniques
- https://www.researchgate.net/publication/261356618_Speech_enhancement_using_Kalman_Filter_for_white_random_and_color_noise
- https://github.com/mahdimohajeri/Speech-Enhancement-Kalman-Filter
- https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.417.7052&rep=rep1&type=pdf
2022 年 2 月 21 日更新
我目前正在研究另一篇研究论文,该论文似乎更具体地说明了如何为卡尔曼滤波器实现语音增强