在Matlab中从WAV文件中消除噪音

时间:2018-12-17 23:03:26

标签: matlab audio signal-processing noise-reduction

在这里提出了非常相似的,几乎相同的问题: Remove noise from wav file, MATLAB

但是我仍然不知道该怎么办。这是我正在处理的声音文件:https://uploadfiles.io/pstrt

我需要消除其中的噪音。我知道如何应用各种滤波器,唯一不知道的是噪声实际上在哪里出现。按照上述问题中的步骤进行操作,我得出以下结论: enter image description here

回答上述问题的人能够从频谱中推断出噪声。我不知道是什么让它消失了。有人可以向我解释吗?谢谢。

1 个答案:

答案 0 :(得分:1)

除非您对信号先验知识有所了解,否则没有简单的方法可以仅通过查看频谱来将信号与噪声区分开。回答上述问题的人听了声音,得出的结论是语音的音调比噪声高,对FFT进行了计算,然后开始修改他认为是噪声的声音,并列出了修改后的结果。如果您愿意,可以进行迭代。通常,频谱中较强的音调是您的信号。在您的应用中,该频率约为900 Hz。此外,处于您认为是主要信号分量的频率倍数的音调通常会失真。失真意味着您的设备存在一些非线性,并且会在信号的多个振幅处产生音调(在您的情况下可能是1800 Hz,2700 Hz ...)。希望这会有所帮助