【问题标题】:Notch filtering minimizing artifacts in signal陷波滤波最大限度地减少信号中的伪影
【发布时间】:2019-07-04 08:07:56
【问题描述】:

我必须对以下信号进行陷波过滤。

如您所见,这是一个振幅非常高的信号。这给我带来了很多问题。我设计了一个带阻滤波器(46-55 Hz)。MATLAB 代码是

Fs=5000; sampling frequency

Wp_NOTCH = [36/(Fs/2) 71/(Fs/2)];
Ws_NOTCH= [46/(Fs/2) 55/(Fs/2)];
Rp_db=-20*log10(.95);
Rs_db=-20*log10(.05);
[order_NOTCH,wn_NOTCH] = buttord(Wp_NOTCH,Ws_NOTCH,Rp_db,Rs_db);
[B_NOTCH,A_NOTCH]=butter(order_NOTCH,wn_NOTCH,'stop');

过滤器是 当我过滤信号(使用 filtfilt)时,我有以下信号 如您所见,它有很多工件和“波浪”。有没有办法最小化这些伪影?如何删除 50Hz 组件以最小化这些伪影?有什么建议吗? 提前致谢

【问题讨论】:

  • 为什么要应用陷波滤波器?您的问题描述根本不清楚。信号应该是什么样的?您是否查看过信号的频域表示,例如频谱密度?
  • 我必须遵循一个协议,我需要陷波滤波器。 Porco il tuo dio
  • 在这种情况下,我建议你接受你已经得到的结果。这是荒谬的,但使用陷波滤波器不会得到更好的结果。所以你至少可以停止浪费你的时间。考虑协议损坏。
  • 使用中值滤波器或移动平均滤波器听起来很聪明?它可以平滑高幅度段并且可以删除 50 hz 分量。

标签: matlab filter signal-processing artifacts


【解决方案1】:

陷波滤波器旨在去除具有设定频率的正弦波,它们不能用于数据的急剧变化。您发布的示例看起来不像 50Hz 伪影,因此陷波滤波器在这里无济于事。您可以查找有关如何处理数据不连续性、跳跃或步进伪影或瞬态响应的信息。 Here是matlab环境下的一些解释

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-28
    • 2014-04-26
    • 1970-01-01
    • 1970-01-01
    • 2012-11-01
    • 2014-02-12
    • 1970-01-01
    • 2019-08-10
    相关资源
    最近更新 更多