Python 과학 계산 - 고저 필터 의 디자인 과 사용

1372 단어 ECG
요약: 창 을 먼저 구분 한 다음 에 모든 창 에 고역 필 터 를 합 니 다.필터 로 구분 할 필요 없어 요.
아래http://blog.csdn.net/thoughts_storms/article/details/32318921
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')  

좋은 웹페이지 즐겨찾기