小编Mah*_*adi的帖子

在python中应用巴特沃斯带通滤波器后,如何去除信号开头的大尖峰?

我想使用带通滤波器消除信号的趋势。我在 python 中使用了 FL=0.1 Hz 和 FH=20Hz 的巴特沃斯滤波器,但在应用这个带通滤波器后,我在去趋势信号的开始处观察到一个大尖峰。这个尖峰是做什么用的?以及如何删除 python 中的这个尖峰?

滤波后的信号

您可以使用此链接下载“data1.csv” 。

from scipy.signal import butter, lfilter
from numpy import genfromtxt
import numpy as np
import matplotlib.pyplot as plt

def butter_bandpass(lowcut, highcut, fs, order=5):
    nyq = 0.5 * fs
    low = lowcut / nyq
    high = highcut / nyq
    b, a = butter(order, [low, high], btype='band')
    return b, a

def butter_bandpass_filter(data, lowcut, highcut, fs, order=5):
    b, a = butter_bandpass(lowcut, highcut, fs, order=order)
    y = lfilter(b, a, data)
    return …
Run Code Online (Sandbox Code Playgroud)

python signal-processing filter butterworth

4
推荐指数
1
解决办法
1347
查看次数

标签 统计

butterworth ×1

filter ×1

python ×1

signal-processing ×1