深入浅出matplotlib(105):使用巴特沃斯滤波器分离10Hz和20Hz的信号

Posted caimouse

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深入浅出matplotlib(105):使用巴特沃斯滤波器分离10Hz和20Hz的信号相关的知识,希望对你有一定的参考价值。

在开发各种系统中,经常会遇到系统干扰的情况,比如50Hz的交流电的干扰,又或者大气中传播时会有混入不同的信号。因此我们需要使用各种的滤波器来进行复杂的工作,以便分离出来有用的信号,下面就来举例怎么样使用巴特沃斯滤波器的作用。假如有一个10Hz和一个20Hz的信号一起混合了的正弦信号,那么我们认为20Hz的信号是有用的,10Hz信号是干扰信号,因此我们需要从这里提取出原来20Hz的信号,那么我们需要怎么样做呢?由于20Hz的信号比10Hz信号的频率要高,所以这里我们采用高通滤波器,同时把截止频率设置为15Hz,意思就是说15Hz以下的信号都需要给我们清除掉。

由上面的图形可以看到,在前部分波形不太正常,后面的波形已经比较正常了。在这里要注意的就是采用了output=\'sos\',也就是输出sos的类型参数,前面的文章:

以上是关于深入浅出matplotlib(105):使用巴特沃斯滤波器分离10Hz和20Hz的信号的主要内容,如果未能解决你的问题,请参考以下文章

深入浅出matplotlib(106):使用巴特沃斯滤波器进行带通滤波和带阻滤波

巴特沃斯(Butterworth)滤波器

深入浅出matplotlib(100):在X轴实现24小时显示坐标

深入浅出matplotlib(104):使用scipy.signal.sosfilt函数

深入浅出matplotlib(79):在tkinter应用程序里嵌入matplotlib绘图

深入浅出matplotlib(101):研究最有名的滤波函数:sinc函数