Python科学计算(三)——高低通滤波器的设计与使用
2014-06-19 11:36
211 查看
用python实现 对一段简单的正弦叠加信号进行高、低通滤波
# -*- coding: utf-8 -*- from scipy import signal import numpy as np import matplotlib.pyplot as pl import matplotlib import math N = 500 fs = 5 n = [2*math.pi*fs*t/N for t in range(N)] axis_x = np.linspace(0,1,num=N) #设置字体文件,否则不能显示中文 myfont = matplotlib.font_manager.FontProperties(fname='c:\\windows\\fonts\\fzshjw_0.ttf') #频率为5Hz的正弦信号 x = [math.sin(i) for i in n] pl.subplot(221) pl.plot(axis_x,x) pl.title(u'5Hz的正弦信号', fontproperties=myfont) pl.axis('tight') xx = [] x1 = [math.sin(i*10) for i in n] for i in range(len(x)): xx.append(x[i] + x1[i]) pl.subplot(222) pl.plot(axis_x,xx) pl.title(u'5Hz与50Hz的正弦叠加信号', fontproperties=myfont) pl.axis('tight') b,a = signal.butter(3,0.08,'low') sf = signal.filtfilt(b,a,xx) pl.subplot(223) pl.plot(axis_x,sf) pl.title(u'低通滤波后', fontproperties=myfont) pl.axis('tight') b,a = signal.butter(3,0.10,'high') sf = signal.filtfilt(b,a,xx) pl.subplot(224) pl.plot(axis_x,sf) pl.title(u'高通滤波后', fontproperties=myfont) pl.axis('tight')
相关文章推荐
- 使用python进行机械设计计算
- Anaconda安装使用教程 python 科学计算 发行版
- windows下如何快速优雅的使用python的科学计算库?
- python构架的科学计算程序设计(转载)
- 使用Python做科学计算初探(转)
- Python科学计算库-Numpy的使用基础
- 使用python做科学计算
- python 科学计算 发行版 Anaconda安装使用教程
- windows下如何快速优雅的使用python的科学计算库?
- 使用python进行科学计算:Numpy入门
- Python---Numpy科学计算库的使用
- Python 科学计算之实验环境安装及使用
- 使用Python做科学计算初探
- 推荐使用Numba加速Python科学计算
- windows7下使用64位Python编程、科学计算、绘制图表
- 使用Qt和Interpreter设计模式开发计算器(附源码)
- 科学计算软件包python(x,y)简介
- Python:通过计算阶乘来学习lambda和reduce这两个函数的使用
- 使用python科学作图包matplotlib作图
- 用于科学计算的Python库-代替Matlab