如您所见,这是一个幅度很高的信号,这给我带来了很多问题。我设计了一个带阻滤波器(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分量?有什么建议吗? 预先感谢
答案 0 :(得分:0)
陷波滤波器的设计目的是消除具有设定频率的正弦波,它们不能用于数据的急剧变化。您发布的示例看起来并不像50Hz的工件,因此陷波滤波器在这里无济于事。您可以查找有关如何处理数据不连续性,跳跃或步进工件或瞬态响应的信息。 Here是在Matlab环境中的一些解释