matlab - matlab 中的陷波滤波器和谐波噪声

标签 matlab filtering signal-processing noise

基本上,我的问题是我有一个 .wav 格式的语音信号,该信号被某些频率的谐波噪声源破坏。我的目标是确定这种噪声发生的频率,并使用陷波滤波器消除所述噪声。到目前为止,我已使用以下方法将语音信号读入 matlab:

[data, Fs] = wavread('signal.wav');

我的问题是如何识别谐波噪声发生的频率,一旦我做到了这一点,我该如何在该频率下实现陷波滤波器?

注意:由于我当前使用的 MATLAB 版本 (2010),我无法访问 iirnotch() 命令或 fdesign.notch()。

最佳答案

一般程序是分析频谱,识别有问题的频率,然后围绕该频率设计一个滤波器。对于大多数实际应用来说,这一切都有点模糊:频率四处移动,并且没有简单的方法来区分噪声和信号,因此您必须使用巧妙的技术和一些猜测。但是,如果您知道存在单调损坏,那么 FFT 和陷波滤波器可能可以解决问题。

您可以使用 fft 分析信号,并使用 fir1 等工具设计滤波器,我相信它是信号处理工具箱的一部分。如果您没有信号处理工具箱,您可以“手动”完成,就像变换到频域一样,删除您不需要的频率(通过将频率向量的相关元素归零)并变换回时域。有一个教程就是关于这个的 here .

fftfir1 函数有详细记录:搜索 Mathworks 站点以获取代码示例以帮助您启动和运行。

关于matlab - matlab 中的陷波滤波器和谐波噪声,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13354799/

相关文章:

matlab - Matlab 中的这个 3D 图有什么问题

matlab - 由 Z 值着色的 3D 散点图

matlab - Mathworks 生成 Matlab HTML 文档的方法是什么?

ruby-on-rails - 如何过滤rails中的参数?

javascript - 如何在javascript中从多个属性中过滤数组的JSON对象

python - 现实世界的盲源分离

python - 在读取图像的 RGB 像素值时,matlab 和 python 中的绿色值不同

python - 使用 python 模糊图像部分的最优雅的方法是什么?

ios - 如何从 FFT 中获得更精确的输出?

c++ - PortAudio 回调中的求和波