算法流程:
1. 以30s 为一个epoch进行基本处理。
2. 用巴特沃斯高通滤波器滤除0.5Hz以上高通,简单去除基线。
3. 眨眼检测, 利用中值滤波器提取短时间内荆棘状的波形,出现一次与静态EEG值偏差1/128以上的波谷和波峰时,即认定为眨眼。
3. 利用巴特沃斯带通滤波器提取δ,θ,α,σ,β,EMG等波段信号,并提取其包络,作为其基础功率近似值。
4. 人工伪迹检测,当人体移动,或碰触电极,将造成顺时高功率输出或饱和。由此:
(1)将30秒的epoch分解为1秒段,并分别检测其AF波段(0.5~7hz)内的峰峰值和斜率是否超过阈值。
(2) 对源信号检查β波段和EMG平均功率是否超过阈值。
5. 觉醒检测,因为人在清醒的时候,α和β波段能量较高,并且在出现睡意的时候,主要能量会朝着低频方向移动。所以,对每一个epoch,检查前15秒内和后15秒内α,β波段功率和中心频率比值来判别。
6. 检测纺锤波,根据AASM规则,人进入深睡期间时,很可能会出现持续时间大于0.5秒,频率11~16hz的纺锤波。检测方法是,将一个epoch再细分成2秒的段,每段里如果每个的σ包络大于θ,α,β波段的包络(90%情况下大于),或其时域瞬时值大于30秒内的σ包络的平均幅度的2倍, 就被认为是纺锤波。
7. 各波段能量相对比,人在清醒和不同睡眠程度情况下,各个波段相对能量比值有所不一
样。比如 ,Pα/Pθ,Pδ/Ptotal 等,利用此能大致判别睡眠阶段。
8. 分层决策树
R0:如果一各epoch内,人工伪迹检测器检测到50%以上为伪迹,就将此epoch判断为伪
迹。否则进入下一步判断。
R1:R1主要用来区分开清醒,快速动眼,浅睡,深睡。如果此epoch内,β波段占优并且
清醒探测器检测为清醒就将其分类到R3作进一步筛查,否则,分类到R2。
R2:如果σ波段能量占优或者纺锤波检测器检测到此epoch内存在纺锤波,则将此epoch
判断为深睡,否则,判断为潜睡。
R3:如果眨眼探测器在此时检测到眨眼次数超过一定阈值,并且接下来2分钟内眨眼次数
也超过此阈值,就认为是在做梦(REM),否则,认为其处于清醒状态。
R4:对上述各30秒epoch判断出的睡眠阶段进行梳理。例如,两个判别为清醒(W)的epoch
之间的任一epoch ,也一定是清醒。R4规则如下表。
R4
阶段检测
连续段替代
1
清醒-任何-清醒
清醒-清醒-清醒
2
浅睡-任何-浅睡
浅睡-浅睡-浅睡
3
深睡-任何-深睡
深睡-深睡-深睡
4
做梦-任何-做梦
做梦-做梦-做梦
另外,基于深度学习的单通道分期参考:
https://github.com/akaraspt/deepsleepnet