python 经典数字滤波实例


Posted in Python onDecember 16, 2019

数字滤波分为 IIR 滤波,和FIR 滤波。

FIR 滤波:

import scipy.signal as signal
import numpy as np
import pylab as pl
import matplotlib.pyplot as plt
import matplotlib
from scipy import signal
b = signal.firwin(80, 0.5, window=('kaiser', 8))
w, h = signal.freqz(b)
 
import matplotlib.pyplot as plt
fig, ax1 = plt.subplots()
ax1.set_title('Digital filter frequency response')
 
ax1.plot(w, 20 * np.log10(abs(h)), 'b')
ax1.set_ylabel('Amplitude [dB]', color='b')
ax1.set_xlabel('Frequency [rad/sample]')
 
ax2 = ax1.twinx()
angles = np.unwrap(np.angle(h))
ax2.plot(w, angles, 'g')
ax2.set_ylabel('Angle (radians)', color='g')
ax2.grid()
ax2.axis('tight')
plt.show()

运行结果:

python 经典数字滤波实例

IIR 滤波器:

from scipy import signal
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(*system)
fig, ax1 = plt.subplots()
ax1.set_title('Digital filter frequency response')
ax1.plot(w, 20 * np.log10(abs(h)), 'b')
ax1.set_ylabel('Amplitude [dB]', color='b')
ax1.set_xlabel('Frequency [rad/sample]')
ax1.grid()
ax1.set_ylim([-110, 10])
 
nticks = 8
ax1.yaxis.set_major_locator(matplotlib.ticker.LinearLocator(nticks))
 
plt.show()

运行结果:

python 经典数字滤波实例

IIR 滤波器中cheyb2 滤波器的运用

from  scipy import signal
import matplotlib.pyplot as plt
import numpy as np
b, a = signal.cheby2(4, 40, 100, 'low', analog=True)
w, h = signal.freqs(b, a)
plt.semilogx(w, 20 * np.log10(abs(h)))#用于绘制折线图,两个函数的 x 轴、y 轴分别是指数型的。
#plt.plot(w, 20 * np.log10(abs(h)))
plt.title('Chebyshev Type II frequency response (rs=40)')
plt.xlabel('Frequency [radians / second]')
plt.ylabel('Amplitude [dB]')
plt.margins(0, 0.1)#  not sure
plt.grid(which='both', axis='both')
 
t = np.linspace(0, 1, 1000, False) # 1 second
sig = np.sin(2*np.pi*10*t) + np.sin(2*np.pi*20*t)
fig, (ax1, ax2) = plt.subplots(2, 1, sharex=True)
ax1.plot(t, sig)
ax1.set_title('10 Hz and 20 Hz sinusoids')
ax1.axis([0, 1, -2, 2])
 
sos = signal.cheby2(12, 20, 17, 'hp', fs=1000, output='sos')
filtered = signal.sosfilt(sos, sig)
ax2.plot(t, filtered)
ax2.set_title('After 17 Hz high-pass filter')
ax2.axis([0, 1, -2, 2])
ax2.set_xlabel('Time [seconds]')
 
plt.show()

python 经典数字滤波实例

python 经典数字滤波实例

以上这篇python 经典数字滤波实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现子类调用父类的方法
Nov 10 Python
Python实现FTP上传文件或文件夹实例(递归)
Jan 16 Python
python中pandas.DataFrame排除特定行方法示例
Mar 12 Python
Python3.x对JSON的一些操作示例
Sep 01 Python
Python学习笔记之自定义函数用法详解
Jun 08 Python
对Python 检查文件名是否规范的实例详解
Jun 10 Python
PyQt5实现从主窗口打开子窗口的方法
Jun 19 Python
python 实现检验33品种数据是否是正态分布
Dec 09 Python
Python如何将图像音视频等资源文件隐藏在代码中(小技巧)
Feb 16 Python
python GUI库图形界面开发之PyQt5布局控件QGridLayout详细使用方法与实例
Mar 06 Python
用Python进行websocket接口测试
Oct 16 Python
python如何用matplotlib创建三维图表
Jan 26 Python
Python实现把类当做字典来访问
Dec 16 #Python
python中p-value的实现方式
Dec 16 #Python
基于python读取.mat文件并取出信息
Dec 16 #Python
python基于plotly实现画饼状图代码实例
Dec 16 #Python
python 实现让字典的value 成为列表
Dec 16 #Python
python 列表、字典和集合的添加和删除操作
Dec 16 #Python
python实现字典嵌套列表取值
Dec 16 #Python
You might like
php whois查询API制作方法
2011/06/23 PHP
PHP中使用数组指针函数操作数组示例
2014/11/19 PHP
PHP答题类应用接口实例
2015/02/09 PHP
php正确输出json数据的实例讲解
2018/08/21 PHP
PHP基于phpqrcode类生成二维码的方法示例详解
2020/08/07 PHP
随机显示经典句子或诗歌的javascript脚本
2007/08/04 Javascript
Node.js的特点和应用场景介绍
2014/11/04 Javascript
完美实现bootstrap分页查询
2015/12/09 Javascript
详解AngularJS中的filter过滤器用法
2016/01/04 Javascript
学习JavaScript设计模式之责任链模式
2016/01/18 Javascript
AngularJS中如何使用$parse或$eval在运行时对Scope变量赋值
2016/01/25 Javascript
JS中多种方式创建对象详解
2016/03/22 Javascript
浅谈javascript中的constructor
2016/06/08 Javascript
JavaScript实现点击按钮复制指定区域文本(推荐)
2016/11/25 Javascript
AngularJS定时器的使用与移除操作方法【interval与timeout】
2016/12/14 Javascript
详解使用Node.js 将txt文件转为Excel文件
2017/07/05 Javascript
vue proxyTable 接口跨域请求调试的示例
2017/09/12 Javascript
vue 自定义组件 v-model双向绑定、 父子组件同步通信的多种写法
2017/11/27 Javascript
原生js+cookie实现购物车功能的方法分析
2017/12/21 Javascript
Node.js使用cookie保持登录的方法
2018/05/11 Javascript
vue中获取滚动table的可视页面宽度调整表头与列对齐(每列宽度不都相同)
2019/08/17 Javascript
Python的设计模式编程入门指南
2015/04/02 Python
Python爬虫实现爬取京东手机页面的图片(实例代码)
2017/11/30 Python
python实现超市扫码仪计费
2018/05/30 Python
Python中shapefile转换geojson的示例
2019/01/03 Python
使用Python刷淘宝喵币(低阶入门版)
2019/10/30 Python
OpenCV 表盘指针自动读数的示例代码
2020/04/10 Python
详解HTML5表单新增属性
2016/12/21 HTML / CSS
C语言中一个结构不能包含指向自己的指针吗
2012/05/25 面试题
linux面试题参考答案(4)
2014/09/21 面试题
急诊科护士自我鉴定
2013/10/14 职场文书
大学生校园创业计划书
2014/02/08 职场文书
金融事务专业求职信
2014/04/25 职场文书
先进集体申报材料
2014/12/25 职场文书
四年级数学教学反思
2016/02/16 职场文书
高端收音机+蓝牙音箱,JBL TUNER FM带收音蓝牙音箱评测
2021/04/24 无线电