你知道为什么过滤后的输出总是从零开始吗?辛辣滤波器

2024-04-28 10:18:53 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我的第一个问题

对于EEG滤波器,我尝试通过下一个函数使用Spicle的lfilter:

def butter_lowpass_filter(data):    
    b, a = butter(3, 0.05)
    y = lfilter(b, a, data)
    return y

但每次调用函数并通过numpymass向函数发送数据时,我都会收到从零开始的结果。为什么巴特沃斯每次从0开始过滤,我需要实时测量

在这里,我们已经试图解决这个问题,但没有结果。 How to filter/smooth with SciPy/Numpy?

这对我不好,因为我每次都会收到下一张照片 enter image description here


Tags: to函数datareturndeffilter发送数据how
1条回答
网友
1楼 · 发布于 2024-04-28 10:18:53

这种行为很好。但是,它会在数据的开头产生一个峰值。为了避免这种情况,您应该减去EEG的第一个值(或前N个值的平均值),这样数据本身也将从零开始,或接近零。该过程可以称为基线校正,或者在某些情况下,当您从开始到结束删除一条直线时,可以称为去趋势化。 请注意,过滤EEG是一门完整的科学,您可能希望查看为此设计的软件包,例如MNE python(here是他们对过滤器的总结)

相关问题 更多 >