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实现多线程暴力破解登陆路由器功能代码分享
Jan 04 Python
在Django的URLconf中进行函数导入的方法
Jul 18 Python
Python数据类型中的“冒号“[::]——分片与步长操作示例
Jan 24 Python
读取json格式为DataFrame(可转为.csv)的实例讲解
Jun 05 Python
Python爬虫beautifulsoup4常用的解析方法总结
Feb 25 Python
Python opencv实现人眼/人脸识别以及实时打码处理
Apr 29 Python
详解python中的time和datetime的常用方法
Jul 08 Python
python模拟键盘输入 切换键盘布局过程解析
Aug 15 Python
python nmap实现端口扫描器教程
May 28 Python
Python datetime 格式化 明天,昨天实例
Mar 02 Python
Python内置函数locals和globals对比
Apr 28 Python
Python下划线5种含义代码实例解析
Jul 10 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中几种常见安全设置详解
2010/04/06 PHP
人脸识别测颜值、测脸龄、测相似度微信接口
2016/04/07 PHP
PHP正则+Snoopy抓取框架实现的抓取淘宝店信誉功能实例
2017/05/17 PHP
php+ajax实现异步上传文件或图片功能
2017/07/18 PHP
jquery图片放大镜功能的实例代码
2013/03/26 Javascript
复选框全选与全不选操作实现思路
2013/08/18 Javascript
javascript不可用的问题探究
2013/10/01 Javascript
js实现表格字段排序
2014/02/19 Javascript
Javascript同时声明一连串(多个)变量的方法
2017/01/23 Javascript
使用grunt合并压缩js和css文件的方法
2017/03/02 Javascript
微信小程序实现滑动删除效果
2017/05/19 Javascript
点击按钮弹出模态框的一系列操作代码实例
2019/03/29 Javascript
tsconfig.json配置详解
2019/05/17 Javascript
vue自定义指令限制输入框输入值的步骤与完整代码
2020/08/30 Javascript
uniapp电商小程序实现订单30分钟倒计时
2020/11/01 Javascript
[05:46]DOTA2英雄梦之声_第18期_陈
2014/06/20 DOTA
python获取糗百图片代码实例
2013/12/18 Python
python多重继承实例
2014/10/11 Python
python实现将元祖转换成数组的方法
2015/05/04 Python
python学习之编写查询ip程序
2016/02/27 Python
python 把数据 json格式输出的实例代码
2016/10/31 Python
python调用c++传递数组的实例
2019/02/13 Python
python爬虫基础教程:requests库(二)代码实例
2019/04/09 Python
python全局变量引用与修改过程解析
2020/01/07 Python
Python virtualenv虚拟环境实现过程解析
2020/04/18 Python
夏尔巴人登珠峰品牌:Sherpa Adventure Gear
2018/02/08 全球购物
Cotton On南非:澳洲时尚平价品牌
2018/06/28 全球购物
英国领先的男装设计师服装独立零售商:Repertoire Fashion
2020/10/19 全球购物
面向中国市场的在线海淘美妆零售网站:Beauty House美丽屋
2021/03/02 全球购物
大专计算机个人求职的自我评价
2013/10/21 职场文书
工程师岗位职责规定
2014/02/26 职场文书
公司承诺书怎么写
2014/05/24 职场文书
结对共建工作方案
2014/06/02 职场文书
幼儿园端午节活动总结
2015/05/05 职场文书
记者节感言
2015/08/03 职场文书
酒吧七夕情人节宣传语
2015/11/24 职场文书