4. 时域特征提取:均值、方差、过零率、Hjorth参数、波形长度、能量特征
好,咱们进入正题。时域特征提取,说白了就是直接从信号波形上“薅”信息。你想想看,脑电信号、肌电信号,这些神经信号本质上就是电压随时间变化的曲线。我们不去做傅里叶变换,不去看频域,就盯着这条曲线本身,能挖出什么宝贝?
我个人习惯,做神经信号处理时,时域特征是第一步。为什么?因为它计算快,物理意义明确,而且很多场景下,时域特征已经足够用了。我记得刚入行那会儿,总想着上复杂算法,结果被导师一句话点醒:“你先看看均值方差能不能解决问题。”
4.1 均值(Mean)——信号的“直流分量”
均值,就是信号在一段时间内的平均值。公式很简单:
μ = (1/N) * Σ x[i]
其中 N 是采样点数,x[i] 是第 i 个采样点的幅值。
嗯,这里要注意:均值反映的是信号的基线漂移。我在项目中遇到过,受试者稍微动一下,脑电信号的均值就飘了。所以很多时候,我们做预处理的第一步就是去均值,把信号拉到零基线。
4.2 方差(Variance)——信号的“波动程度”
方差衡量的是信号偏离均值的程度。公式:
σ² = (1/N) * Σ (x[i] - μ)²
方差越大,说明信号波动越剧烈。在运动想象脑电中,想象手部运动时,对侧运动皮层的mu节律会去同步化,方差就会增大。这个现象我验证过很多次,挺靠谱的。
4.3 过零率(Zero Crossing Rate, ZCR)
过零率,就是信号穿过零点的次数。说白了,数一数信号波形在单位时间内上下穿越零轴多少次。
ZCR = (1/T) * Σ |sign(x[i]) - sign(x[i-1])| / 2
这个特征对高频成分很敏感。肌电信号比脑电信号的过零率高得多,因为肌电频率高、振荡快。我做手势识别时,过零率是区分“动”和“不动”的关键特征之一。
4.4 Hjorth参数——活动性、移动性、复杂度
Hjorth参数是三个指标的统称,由瑞典神经生理学家Hjorth在1970年提出。我个人觉得,这是时域特征里最优雅的一组。
| 参数 | 公式 | 物理意义 |
|---|---|---|
| 活动性(Activity) | var(x) | 信号功率的方差表示 |
| 移动性(Mobility) | √(var(x') / var(x)) | 信号的平均频率估计 |
| 复杂度(Complexity) | Mobility(x') / Mobility(x) | 信号形状与纯正弦波的偏离程度 |
你想想看,三个参数就把信号的幅值、频率、波形复杂度都概括了。我在做睡眠分期时,Hjorth参数帮我区分了深睡和浅睡阶段,效果比单纯用频域功率还好。
4.5 波形长度(Waveform Length, WL)
波形长度,就是信号波形曲线的总长度。公式:
WL = Σ |x[i] - x[i-1]|
这个特征对信号的幅值和频率变化都很敏感。肌电信号发力时,波形长度会显著增加。我做假肢控制时,波形长度是控制信号的主要特征之一,因为它计算简单,实时性好。
4.6 能量特征(Energy)
能量特征,就是信号幅值的平方和:
Energy = Σ x[i]²
说白了,就是信号的能量。脑电信号在事件相关电位(ERP)出现时,能量会局部增大。我在做P300拼写器时,就用能量特征来检测目标字符。
知识体系总览
下面这张图,是我自己梳理的时域特征提取框架,你看一眼就能明白这些特征之间的关系:
这张图把六个特征分成了三类:统计特征(均值、方差、Hjorth参数)、波形形态特征(过零率、波形长度)和能量特征。每个特征都有其独特的物理意义和应用场景。
好了,时域特征这块就讲到这里。这些特征虽然基础,但用好了威力不小。我见过不少顶会论文,就是用这几个简单特征加上一个分类器,做出了很漂亮的结果。记住,在神经工程领域,有时候最简单的方案反而是最可靠的。
公众号:蓝海资料掘金营,微信deep3321