如何将时间序列数据拟合为时移内核之和

问题描述 投票:0回答:1

我从脑电生理学记录了一些电压数据,看起来像这样:

Raw voltage trace

注意,波动小于200 uV是实际数据,而巨大的峰值是由于偶尔将参考物与其他物体接触而可能产生的伪影。我不是电气工程专家,但是工件看起来像是用来消除DC偏移的高通滤波器的阶跃响应。

现在,我正在尝试通过曲线拟合去除伪影。如果我在diff(data)中检测到峰值,并平均化峰值附近的所有波形,则看起来像这样:

Average artifact waveform

我的问题如下:

  1. 工件的功能/核心是什么?我以为指数衰减会起作用,但波形显然会出现过冲,而指数衰减则不会。这实际上是高通滤波器的阶跃响应吗?如果是这样,解析形式是什么?

  2. 我该如何解决将信号表示为时移和缩放的内核之和的合适问题? cfit似乎不是正确的选项。

谢谢!

matlab filter curve-fitting neuroscience
1个回答
0
投票

例如,您可以尝试使用三个sigmoid functions的叠加:

enter image description here

屈服于此:

enter image description here

与本Desmos中所述的参数一起使用时:https://www.desmos.com/calculator/ouuauyihdt

您可能可以稍微简化方程式或添加其他参数,然后使用任何标准曲线拟合器拟合数据。

© www.soinside.com 2019 - 2024. All rights reserved.