2013-09-25 44 views
-1

我已經通過使用scipy寫了一個低通巴特沃思濾波器。我有這樣的數據例如-2,-1,0,1,2,但過濾器將其更改爲0,-1,2,1,2。任何想法來解決它?低通巴特沃斯scipy的問題

def lowPassButterworthDigital(self, signal1 =None, signal2 = None): 
     ''' 
     Digital low-pass Butterworth filter 
     ''' 
     #design filter 
     signals = [signal1, signal2] 
     for i in range(len(signals)): 
      b,a = signal.butter(2, 0.1, "low", False, "ba") 

      if i == 0: 
       signal1 = signal.lfilter(b, a, signal1) 
      else: 
       signal2 = signal.lfilter(b, a, signal2) 
     return signal1, signal2 
+2

您看到了什麼問題?也許一些示例輸入,輸出會有所幫助? – Freddie

回答

0

我成功解決了這個問題。我將過濾器更換爲filteredfilt

def lowPassButterworthDigital(self, signal1 =None, signal2 = None): 
    ''' 
    Digital low-pass Butterworth filter 
    ''' 
    #design filter 
    signals = [signal1, signal2] 
    print signal1 
    print signal2 
    for i in range(len(signals)): 
     b,a = signal.butter(2, 0.1, "low", False, "ba") 

     if i == 0: 
      signal11 = signal.filtfilt(b, a, signal1) 
      print signal11 
     else: 
      signal2 = signal.filtfilt(b, a, signal2) 
      print signal2 


    return signal11, signal2