快速上升和指数衰减瞬态"尖峰"您可以在绿色中看到左侧表示随时间变化的神经活动。蓝色是基线参考信号。正如你所看到的,蓝色和绿色都会有一些漂移。
因为我遇到了基线漂移和一般噪声信号,我试图通过高通滤波器。我能够通过反向低通滤波对它们进行高通滤波(参见简要教程here)。右边是滤波后的信号。
N=101
Fc=0.001
Fs=1.14 # it's imaging data being acquired at just over 1Hz
h=scipy.signal.firwin(N, Fc, Fs/2)
h=-h
h[N/2] = h[N/2] + 1
#this is filter design output from the tutorial
#mfreqz(h)
#show()
y=scipy.signal.lfilter(h, 1.0, data)
yy=scipy.signal.lfilter(h, 1.0, data2)
尽管它引入了一些文物,例如引入了一个假峰,然后才能摆脱漂移。在开始时,缩小原始的绿色峰值,并导致看起来像#34;低于"在其中一个绿色山峰的底部。
我可以容忍一些这些文物,但它仍然太不稳定了我的喜好。有没有办法消除这里的嘈杂?
答案 0 :(得分:3)
您可以考虑先使用
删除数据中不需要的线性趋势scipy.signal.detrend
文档为here。
您可能还想尝试从科学上显着的(绿色)信号中减去与基线(蓝色)信号的最小二乘拟合。
然后,为了平滑数据,考虑低通滤波器,可能是移动平均(MA)滤波器或其他类型的低通滤波器。您可能需要尝试定义一个过滤器来消除噪声成分,而不是您感兴趣的信号。