python中经典数字滤波的示例分析

  介绍

小编给大家分享一下python中经典数字滤波的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!

数字滤波分为IIR滤波,和冷杉滤波。

<强>杉木滤波:

import  scipy.signal  as 信号   import  numpy  as  np   import  pylab  as  pl   import  matplotlib.pyplot  as  plt   import  matplotlib   得到scipy  import 信号   时间=b  signal.firwin(0.5 80年,,,,窗口=(& # 39;kaiser # 39;,, 8))   时间=w, h  signal.freqz (b)   ,   import  matplotlib.pyplot  as  plt   无花果,ax1 =, plt.subplots ()   ax1.set_title (& # 39; Digital  filter  frequency 响应# 39;)   ,   ax1.plot (20 w,,, *, np.log10 (abs (h)), & # 39; b # 39;)   ax1.set_ylabel (& # 39; Amplitude  (dB) & # 39;,,颜色=& # 39;b # 39;)   ax1.set_xlabel (& # 39; Frequency  (rad/样本)& # 39;)   ,   时间=ax2  ax1.twinx ()   时间=angles  np.unwrap (np.angle (h))   ax2.plot (w,角度,& # 39;舌鳎# 39;)   ax2.set_ylabel (& # 39; Angle (弧度)& # 39;,,颜色=& # 39;舌鳎# 39;)   ax2.grid ()   ax2.axis(& # 39;紧# 39;)   plt.show ()

运行结果:

 python中经典数字滤波的示例分析

<强> IIR滤波器:

得到scipy  import 信号   import  matplotlib.pyplot  as  plt   import  matplotlib.ticker   import  numpy  as  np   #,蓝色的是频谱图,绿色的是相位图   wp  0.2=,   ws  0.3=,   gpass =1   gstop =40   时间=system  signal.iirdesign (wp, ws,, gpass,, gstop)   时间=w, h  signal.freqz(*系统)   无花果,ax1 =, plt.subplots ()   ax1.set_title (& # 39; Digital  filter  frequency 响应# 39;)   ax1.plot (20 w,,, *, np.log10 (abs (h)), & # 39; b # 39;)   ax1.set_ylabel (& # 39; Amplitude  (dB) & # 39;,,颜色=& # 39;b # 39;)   ax1.set_xlabel (& # 39; Frequency  (rad/样本)& # 39;)   ax1.grid ()   ax1.set_ylim ([-110, 10])   ,   nticks =8   ax1.yaxis.set_major_locator (matplotlib.ticker.LinearLocator (nticks))   ,   plt.show ()

运行结果:

 python中经典数字滤波的示例分析

<强> IIR滤波器中cheyb2滤波器的运用

得到scipy  import 信号   import  matplotlib.pyplot  as  plt   import  numpy  as  np   时间=b, a  signal.cheby2(4, 40岁,100年,& # 39;低# 39;,,模拟=True)   时间=w, h  signal.freqs (b, a)   plt.semilogx (20 w,,, *, np.log10 (abs (h))) #用于绘制折线图,两个函数的,x 轴,y 轴分别是指数型的。   # plt.plot (20 w,,, *, np.log10 (abs (h)))   plt.title (& # 39; Chebyshev  Type  II  frequency  response  (rs=40) & # 39;)   plt.xlabel (& # 39; Frequency  [/radians 第二]& # 39;)   plt.ylabel (& # 39; Amplitude  (dB) & # 39;)   plt.margins (0, - 0.1) #, not 确定   plt.grid(=& # 39;两个# 39;,,轴=& # 39;两个# 39;)   ,   时间=t  np.linspace(0, 1, 1000,,假),# 1,秒   时间=sig  np.sin (2 * np.pi * 10 * t), +, np.sin (2 * np.pi * 20 * t)   无花果、,(ax?, ax2),=, plt.subplots (2, 1, sharex=True)   ax1.plot (t),团体)   ax1.set_title (& # 39; 10, Hz 以及20,Hz 正弦曲线# 39;)   ax1.axis ([0,, 1,, 2,, 2])   ,   sos =, signal.cheby2(12日,20日,17日,& # 39;惠普# 39;,,fs=1000,,输出=& # 39;sos # 39;)   时间=filtered  signal.sosfilt (sos,团体)   ax2.plot (t),过滤)   ax2.set_title (& # 39; After  17, Hz  high-pass 过滤# 39;)   ax2.axis ([0,, 1,, 2,, 2])   ax2.set_xlabel (& # 39; Time [秒]& # 39;)   ,   plt.show ()

 python中经典数字滤波的示例分析

 python中经典数字滤波的示例分析

以上是“python中经典数字滤波的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

python中经典数字滤波的示例分析