跳过到主内容
< All Topics

为什么我的测量曲线看起来比以前更平滑?

在 8.1.x 版本中,我们改进了 eSense 应用中测量信号的显示方式。此后曲线看起来更平稳、更清晰。本页说明其中的原理,以及这对您解读测量结果意味着什么。

为什么需要平滑处理

每一次测量除了真正的身体信号之外,还包含少量测量噪声。在 eSense 上,噪声产生于传感器的分辨率极限:eSense Skin Response 以 0.01 微西门子为步进,eSense Temperature 以 0.01 摄氏度为步进。

只要您的测量值较高,这种噪声几乎不会引起注意。但如果您的皮肤电导在一到二微西门子之间,噪声就会占据可见锯齿中相当明显的一部分。此时曲线看起来不平稳,尽管生理上变化很小。在 eSense Temperature 上,同样的现象尤其明显,因为皮肤温度本来就变化缓慢。

滤波器做了什么

我们采用一种名为 One Euro 滤波器的方法。它与简单平均在一个关键点上不同:它会持续适应信号的变化速度。

  • 只要信号变化缓慢,滤波器就强力平滑,噪声基本消失。
  • 一旦出现真实的快速变化,滤波器立即打开,让它原样通过,且没有延迟。

传统的平均处理做不到这一点。它会削平每一次反应并在时间上产生偏移。这正是我们要避免的,因为生物反馈看重的是即时反馈。

滤波器的参数针对每种传感器单独调校,因为各类信号的表现并不相同。皮肤电导的变化方式不同于呼吸,肌肉张力又不同于皮肤温度。

对您而言有什么变化

曲线看起来更平稳。走向、以微西门子表示的水平,以及所有明显的上升都保持不变。

各种反应仍然完整可见。皮肤电导的上升,例如在深呼吸、听到声响或产生某个念头之后出现的上升,其速度和幅度与以前相同。

自发波动的次数可能减少。eSense 应用会统计自发波动(skin conductance responses,SCR),并以每分钟 SCR 的形式显示。这个数字取决于信号有多不平稳。在平滑处理之前,测量值偏低时会有一部分噪声被计为波动,这样的计数偏高。采用平滑处理后不再如此,因此您的 SCR 数值可能低于以往。此时 Biofeedback Snake 中会出现更多绿色符号。

您实际的自主神经活动并不因此改变。改变的只是此前被额外计入的那部分。

如何比较较早和较新的测量?

完全可以比较的是:曲线走向、以微西门子表示的基础水平、最小值与最大值之间的跨度,以及明显的上升和下降。

无法一对一比较的是自发波动的次数(SCR 及每分钟 SCR)以及由此得出的颜色分级,前提是一次测量在更新之前、另一次在更新之后。这主要影响测量值偏低的记录。

自 8.1.6 版起又增加了作用方向相同的第二处改动:我们修改了自发波动的识别方式本身。从局部最小值到随后最大值的上升,若在 1 到 20 秒内至少达到 0.02 µS,现在即计为一次 SCR。两处改动叠加,意味着您不应把版本分界两侧的 SCR 数值直接并列比较。详情请见皮肤传导反应(SCR)

若您要观察较长时间内的训练进展,建议比较同一时间段内的测量。

建议改看哪些指标

尤其在测量值偏低时,波动次数并不是最有说服力的指标。另外两项观察更有价值:

  1. 整场练习中的基础水平。您的曲线在测量过程中是否逐渐下降?这是放松程度提高的良好迹象。
  2. 明显的起伏。如果您的皮肤电导在某处明显上升、随后缓慢回落,值得想一想那一刻发生了什么。这类反应比任何计数都更能说明您的自主神经反应能力。

这适用于哪些传感器?

平滑处理对 eSense Skin Response、eSense Temperature、eSense Respiration、eSense Muscle 和 eSense Pulse 均已启用,各自采用单独的调校。

那么 CSV 导出呢?这还算原始数据吗?

是的。滤波器同样作用于记录下来的数据,这是有意为之。

原因在于滤波器所去除的内容。eSense 的 Skin Response、Temperature 和 Respiration 传感器通过耳机插孔以模拟音频信号传输测量信号,应用再把该音频信号换算为测量值。在这一换算过程中,分辨率的下端会产生技术性噪声。它来自测量链路,而不是来自您的身体。因此去除这种噪声并不会篡改您的数据,而是把本就不属于您的干扰成分剔除。您的生理信号保持不变,包括所有快速反应。

这对您还有一个实际好处:测量时您在应用中看到的曲线,正是您用 Excel、Python 或 MATLAB 绘制 CSV 文件时得到的曲线。两者显示的是同一条曲线。

为了让这一点可追溯、可核查,我们完整公开该方法。我们使用 Casiez、Roussel 和 Vogel 提出的 One Euro 滤波器(CHI 2012)。参考实现公开发布于 github.com/casiez/OneEuroFilter。该滤波器约二十行代码,可用任何语言重写。它有三个参数,我们按传感器分别取值:

传感器minCutoffbetadCutoff
eSense Skin Response (µS)0.3 Hz0.31.0
eSense Temperature (°C)0.12 Hz0.0071.0
eSense Respiration (RA)1.0 Hz0.021.0
eSense Muscle 和 eSense Pulse 的参数同样经过单独调校。一旦确定,我们会在此补充。

minCutoff 是信号平稳时的截止频率,beta 决定滤波器在快速变化时打开的程度,dCutoff 用于平滑内部使用的变化速率。对 Skin Response,我们特意把 beta 取得较高,因为真实的自发波动出现得快,必须畅通无阻地通过。对 Temperature,beta 非常低,因为皮肤温度本来就变化缓慢,那里几乎只有噪声需要去除。对 Respiration,截止频率被有意设在呼吸频率与噪声频带之间,使呼吸信号不受衰减地通过。

如果您将这些数据用于科研并对方法有疑问,欢迎联系我们的支持团队。

我的数值普遍很低,该怎么办?

长期低于 1 微西门子的数值通常说明皮肤接触不足。这种情况下请检查以下几点:

  • 使用新的凝胶电极或粘贴电极。已拆封的包装数月后会变干,导电性随之变差。请密封保存。
  • 测量前用清水洗手并彻底擦干。消毒剂和护手霜会削弱接触。
  • 将电极整面压紧,贴好后等待一到两分钟再开始测量。

详见文章这些数值非常小,而且非常稳定

本网站上的某些链接是联盟营销链接。如果您通过这些链接购买商品,我们可能会获得少量佣金,您无需支付任何额外费用。作为亚马逊合作伙伴,我们通过符合条件的购买获得收入。