2015년 9월 21일 월요일

파이썬으로 z filter 구현하기

low filter 를 파이썬으로 구현, 2차 Z-filter 된 함수

위에가 z filter 전, 아래가 filter 후


# -*- coding: utf-8 -*-
"""
Created on Tue Jul  7 15:26:38 2015

@author: sec
"""

import numpy as np
import matplotlib.pyplot as plt

f = 'C:\\Users\\sec\\Desktop\\data1.txt'
y1 = np.loadtxt(f)
input1 = 0
input2 = 0
output1 = 0
output2 = 0

for i in range(y1.size) :
    if (i ==0) :
        input2 =  y1[i]#ain.read() 대신에 sensorValue 값을 대신 넣는다.
        output1 = input2
    
    else :
          input2 = y1[i] #ain.read() 대신에 sensorValue 값을 대신 넣는다.
          output2 = 0.9394*output1+0.0303*input2+0.0303*input1
          output1= output2
          input1 = input2
          




x = np.linspace(0,y1.size,y1.size)
       
plt.subplot(2,1,1)
plt.plot(x,y1)
plt.title('ADC_val/Z-trans')
plt.xlabel('Time (ps)')    
plt.ylabel('Amplitude (arb. units)')

     

plt.subplot(2,1,2)    
plt.plot(x, y2)
plt.xlabel('Time')    
plt.show()

아직 c 언어 코드 수정전, 차후 Fourier 변환과(Fast Fourier Transform) Lorentz Fitting 에 대해서 코드 작성 예정

댓글 없음:

댓글 쓰기