【发布时间】: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