小编f.z*_*raa的帖子

带通滤波器 ValueError:数字滤波器临界频率必须为 0 < Wn < 1

我正在尝试对心电图信号使用带通滤波器,这是代码:

from scipy.signal import butter

def bandpass_filter(self, data, lowcut, highcut, signal_freq, filter_order):
        nyquist_freq = 0.5 * signal_freq
        low = lowcut / nyquist_freq
        high = highcut / nyquist_freq
        b, a = butter(filter_order, [low, high], btype='band', analog=False)
        y = lfilter(b,a, data)
        return y

def detect_peaks(self):
    self.filtered_ecg_measurements = self.bandpass_filter(ecg_measurements,
                                         lowcut=self.filter_lowcut,
                                         highcut=self.filter_highcut,
                                         signal_freq=self.signal_frequency,
                                         filter_order=self.filter_order)
    self.signal_frequency = 250  
    self.filter_lowcut = 0.0
    self.filter_highcut = 15.0
    self.filter_order = 1
Run Code Online (Sandbox Code Playgroud)

每次我尝试运行此函数时都会出现此错误:

Traceback (most recent call last):
  File "D:/Project/code/untitled/test.py", line 297, in <module>
    log_data=True, plot_data=True, show_plot=False)
  File "D:/Project/code/untitled/test.py", line …
Run Code Online (Sandbox Code Playgroud)

python signals python-3.x bandpass-filter

6
推荐指数
1
解决办法
2万
查看次数

标签 统计

bandpass-filter ×1

python ×1

python-3.x ×1

signals ×1