学习笔记(四): 利用环境中的无线电信号进行睡眠监控

《SMARS: Sleep Monitoring via Ambient Radio Signals》读书笔记

  SMARS建模时考虑了反射和散射多径,实现了高度准确的瞬时呼吸估计。在此基础上,SMARS识别不同的睡眠阶段,包括入睡期、快速动眼期(快速眼动)和非快速眼动(NREM),结果表明,SMARS产生的中值绝对误差为每分钟0.47次呼吸,呼吸估计的95%误差仅为每分钟2.92次呼吸,并且即使当一个人距离链接10米或在墙后时,也能鲁棒地检测到呼吸。SMARS实现了88%的睡眠分期精度

目录

Sleep Monitoring via Ambient Radio Signals

1. 课题意义、现有研究、本文目标及贡献

意义:

  睡眠质量与心血管疾病、中风、肾衰竭和糖尿病等健康风险有很大关联。现代社会许多人患有睡眠障碍。睡眠监测一方面提供对人们总体健康状况的见解,另一方面有利于管理与睡眠相关疾病相关的发病率和死亡率。

睡眠质量监测的现状:

  医学黄金标准是使用多个接触式传感器的多导睡眠监测仪器(PSG,Polysomnography),由于昂贵和麻烦限制了PSG在确诊患者中的临床应用。
  在生物医学中,也会应用红外无损检测技术——光电容积描记技术(PPG,photoplethysmography)进行人体运动呼吸频率、心率等生理特征的检测,利用体动记录仪器(ACT,actigraphy)来识别动作,进而实现睡眠质量监测。但这一方法也需要穿戴各种传感器设备。
  智能手机和可穿戴设备部分解决了家庭睡眠监控问题,但这些设备只能提供粗粒度的的测量,不能监测呼吸率等生命体征。
  基于射频的呼吸估计和睡眠监测它们要么依赖于专门的硬件,如FMCW雷达,要么只在受控环境中工作。

本文目标及贡献:

  本文提出的SMARS模型是第一个实用的睡眠监测系统,利用商用环境无线电信号设备来识别睡眠阶段和评估睡眠质量。SMARS没有任何身体接触。用户所需要做的就是在两个商用Wi-Fi设备之间建立一个单一的链接如无线路由器和智能手机。SMARS所用的统计模型能精确获得瞬时呼吸估计。呼吸频率变化精度达到亚BPM,瞬时时间分辨率达到亚秒。在此基础上,SMARS通过一段时间内呼吸频率模式的变化来区分不同的睡眠阶段(图1)。
学习笔记(四): 利用环境中的无线电信号进行睡眠监控
贡献:

  1. 设计了CSI运动统计模型,研究了CSI的统计特征,为包括呼吸在内的任意运动的鲁棒检测奠定了基础。
  2. SMARS利用时域自相关函数(ACF-MRC)来估计呼吸速率。实现了高精度实时估计,SMARS可以可靠地检测一个人离链路10米远或在墙后呼吸。
  3. 基于提取的呼吸率和睡眠期间的运动统计,融合运动统计和呼吸频率来三阶段睡眠分级(Wake、NREM、REM)。(注意:SMARS不能没有将NREM中的浅度睡眠和深度睡眠分开)

2. SMARS

学习笔记(四): 利用环境中的无线电信号进行睡眠监控

2.1 瞬时呼吸速率估计

  本部分介绍CSI模型、ACF方法、MRC。

2.1.1 CSI理论与CSI统计模型

  对于使用全向天线的无线传输对,时间 t t t 处的多径信道的信道状态信息(CSI)通常建模为:
H ( t , f ) = ∑ l ∈ Ω a l ( t ) exp ⁡ ( − j 2 π f τ l ( t ) ) (1) H(t, f)=\sum_{l \in \Omega} a_{l}(t) \exp \left(-j 2 \pi f \tau_{l}(t)\right)\tag{1} H(t,f)=l∈Ω∑​al​(t)exp(−j2πfτl​(t))(1)其中, a l ( t ) a_{l}(t) al​(t)和 τ l ( t ) \tau_{l}(t) τl​(t)分别是第 l l l条多径成分(MPC,multipath component)的复振幅和传播时延。 Ω \Omega Ω表示MPCs的集合。传播延迟是传播距离的函数: τ l ( t ) = d l ( t ) c \tau_{l}(t)=\frac{d_{l}(t)}{c} τl​(t)=cdl​(t)​,其中c是光速, d l ( t ) d_{l}(t) dl​(t)是第 l l l条MPC的传播距离。 f f f表示测量通道的特定频率。例如,在基于OFDM的通信系统中,如WiFi、LTE、5G等,在频率为 f f f的每个子载波处测量CSI。
  CSI描述了无线电信号是如何从发射器传播到接收器,例如,被空间中的所有反射器(如墙壁、家具、人体等)反射或散射。CSI对环境扰动高度敏感,任何身体运动,包括呼吸过程中微小的胸部和腹部运动,都会改变信号传播的路径。

CSI统计模型:

现有模型的缺陷:
  双射线模型(two-ray model),该模型结合了发射和接收之间的直接路径以及从人体表面反射的反射路径。只能在近距离强呼吸的视距场景中工作

如下图多径传播示意图所示:
学习笔记(四): 利用环境中的无线电信号进行睡眠监控
  考虑一个静止的人以周期 T b s T_{bs} Tbs​(单位:秒)在室内呼吸,MPC可以分为两组 : Ω s \Omega_{s} Ωs​和 Ω d ( t ) \Omega_{d}(t) Ωd​(t)。由于在正常呼吸期间周期性的胸部或腹部运动, ∀ l ∈ Ω d ( t ) \forall l \in \Omega_{d}(t) ∀l∈Ωd​(t)的MPC的传播距离 d l ( t ) d_l(t) dl​(t)周期性变化,即, d l ( t + T b ) = d l ( t ) d_l(t + Tb) = d_l(t) dl​(t+Tb)=dl​(t)。呼吸运动的幅度很小,每个动态路径的传播距离的变化也很小,因此可以假设每个MPC a l ( t ) a_l(t) al​(t)的复振幅在短时间窗内时不变。所以CSI统计模型可以写为:
H ( t , f ) = ∑ l s ∈ Ω s a l s exp ⁡ ( − j 2 π f d l s c ) + ∑ l d ∈ Ω d ( t ) a l d exp ⁡ ( − j 2 π f d l d ( t ) c ) ≜ H s ( f ) + H d ( t , f ) \begin{aligned} H(t, f)=& \sum_{l_{s} \in \Omega_{s}} a_{l_{s}} \exp \left(-j 2 \pi f \frac{d_{l_{s}}}{c}\right) &+\sum_{l_{d} \in \Omega_{d}(t)} a_{l_{d}} \exp \left(-j 2 \pi f \frac{d_{l_{d}}(t)}{c}\right) \triangleq & H_{s}(f)+H_{d}(t, f) \end{aligned} H(t,f)=​ls​∈Ωs​∑​als​​exp(−j2πfcdls​​​)​+ld​∈Ωd​(t)∑​ald​​exp(−j2πfcdld​​(t)​)≜​Hs​(f)+Hd​(t,f)​
其中 H s ( f ) H_s(f) Hs​(f)和 H d ( t , f ) H_{d}(t,f) Hd​(t,f)分别表示时不变和时变MPCs的贡献。
  在实际测量中, H ( t , f ) H(t,f) H(t,f)会包含定时误差、载波频率误差以及加性热噪声的产生的相位误差。 H ~ ( t , f ) \tilde{H}(t, f) H~(t,f)可表示为
H ~ ( t , f ) = exp ⁡ ( − j ∗ ( α ( t ) + β ( t ) f ) ) ∗ H ( t , f ) + ϵ ( t , f ) \tilde{H}(t, f)=\exp (-j*(\alpha(t)+\beta(t) f)) *H(t, f)+\epsilon(t, f) H~(t,f)=exp(−j∗(α(t)+β(t)f))∗H(t,f)+ϵ(t,f)其中 α ( t ) α(t) α(t)和 β ( t ) β(t) β(t)分别是时间 t t t 的随机初始和线性相位失真。
  将信道功率响应G(t,f)定义为∈H(t,f)幅度的平方:
G ( t , f ) ≜ ∣ H ~ ( t , f ) ∣ 2 = ∣ H ( t , f ) ∣ 2 + 2 Re ⁡ { n ∗ ( t , f ) H ( t , f ) exp ⁡ ( − j ( α ( t ) + β ( t ) f ) ) } + ∣ ϵ ( t , f ) ∣ 2 ≜ ∣ H ( t , f ) ∣ 2 + ε ( t , f ) \begin{aligned} G(t, f) \triangleq &|\tilde{H}(t, f)|^{2} \\ =&|H(t, f)|^{2}+2 \operatorname{Re}\left\{n^{*}(t, f) H(t, f)\right.\\ &\exp (-j(\alpha(t)+\beta(t) f))\}+|\epsilon(t, f)|^{2} \\ \triangleq &|H(t, f)|^{2}+\varepsilon(t, f) \end{aligned} G(t,f)≜=≜​∣H~(t,f)∣2∣H(t,f)∣2+2Re{n∗(t,f)H(t,f)exp(−j(α(t)+β(t)f))}+∣ϵ(t,f)∣2∣H(t,f)∣2+ε(t,f)​因此, G ( t , f ) G(t,f) G(t,f)是周期为Tb的带噪周期信号。噪声项 ε ( t , f ) \varepsilon(t, f) ε(t,f)大致表现成方差为 σ 2 ( f ) \sigma^{2}(f) σ2(f)加性高斯白噪(AWGN,additive white Gaussian noise )。

统计模型(功率响应模型)存在如下问题:
学习笔记(四): 利用环境中的无线电信号进行睡眠监控
  上图为存在呼吸信号时的归一化CSI功率响应矩阵。为了便于可视化,对 G ( t , f ) G(t,f) G(t,f)平滑并归一化处理,每个子载波随时间变化具有相同幅度。如上图所示,当受试者分别在LOS和NLOS位置呼吸时:对于LOS情况,测量的呼吸信号的强度很强,并且如图(a)所示,大多数子载波可以容易地观察到周期性。然而,对于图(b)所示的NLOS情况,由于呼吸信号弱得多,没有明显的周期性。(将在xxx节给出解决方案)

噪声解决思想:
  由于 G ( t , f ) = ∣ H ( t , f ) ∣ 2 + ε ( t , f ) G(t,f)=\quad|H(t, f)|^{2}+\varepsilon(t, f) G(t,f)=∣H(t,f)∣2+ε(t,f)是动态MPCs和静态MPCs相加的结果。对于不同的子载波,由CSI测量的呼吸信号的幅度和相位不同。因此可用以下形式表示 ∣ H ( t , f ) ∣ 2 |H(t,f)| ^2 ∣H(t,f)∣2和 G ( t , f ) G(t, f) G(t,f):
∣ H ( t , f ) ∣ 2 = g ( f ) b ( t − Δ t f ) G ( t , f ) = g ( f ) b ( t − Δ t f ) + ε ( t , f ) . |H(t, f)|^{2}=g(f) b\left(t-\Delta t_{f}\right)\\ G(t, f)=g(f) b\left(t-\Delta t_{f}\right)+\varepsilon(t, f) . ∣H(t,f)∣2=g(f)b(t−Δtf​)G(t,f)=g(f)b(t−Δtf​)+ε(t,f).其中 b ( t ) b(t) b(t)表示零均值的周期性静止呼吸信号,其与胸部和腹部的运动有关, g ( f ) g(f) g(f)和 Δ t f \Delta t_{f} Δtf​分别代表在频率 f f f测量的呼吸信号的增益和随机初始相位。
然后根据功率响应G(t,f)进行呼吸估计,避免使用有噪声的CSI相位和通常手工制作的相位清洁步骤。
  据功率响应 G ( t , f ) G(t,f) G(t,f)进行呼吸估计,避免了使用有噪声的CSI相位或相位去噪步骤。

2.1.2 估计呼吸频率

已有方法的缺陷:
  在时间窗口中收集的CSI数据进行频率分析,以估计呼吸率。对时间窗口的时间延时要求高。

解决方案:

自相关函数(autocorrelation fuction, ACF):
ρ ( τ ) = cov ⁡ [ x ( t ) , x ( t + τ ) ] cov ⁡ [ x ( t ) , x ( t ) ] \rho(\tau)=\frac{\operatorname{cov}[x(t), x(t+\tau)]}{\operatorname{cov}[x(t), x(t)]} ρ(τ)=cov[x(t),x(t)]cov[x(t),x(t+τ)]​其中 x ( t ) x(t) x(t)是一个观测信号, τ \tau τ是时延。

  对于 G ( t , f ) G(t,f) G(t,f)有:
ρ G ( τ , f ) = g 2 ( f ) g 2 ( f ) + σ 2 ( f ) ρ b ( τ ) + σ 2 ( f ) g 2 ( f ) + σ 2 ( f ) δ ( τ ) \rho_{G}(\tau, f)=\frac{g^{2}(f)}{g^{2}(f)+\sigma^{2}(f)} \rho_{b}(\tau)+\frac{\sigma^{2}(f)}{g^{2}(f)+\sigma^{2}(f)} \delta(\tau) ρG​(τ,f)=g2(f)+σ2(f)g2(f)​ρb​(τ)+g2(f)+σ2(f)σ2(f)​δ(τ)其中 ρ b ( τ ) \rho_{b}(\tau) ρb​(τ)为 b ( t ) b(t) b(t)的ACF, δ ( τ ) \delta(\tau) δ(τ)为狄利克雷函数。定义信道增益 k ( f ) ≜ g 2 ( f ) g 2 ( f ) + σ 2 ( f ) k(f) \triangleq \frac{g^{2}(f)}{g^{2}(f)+\sigma^{2}(f)} k(f)≜g2(f)+σ2(f)g2(f)​
  那么:
ρ G ( τ , f ) = k ( f ) ρ b ( τ ) τ ≠ 0 \rho_{G}(\tau, f)=k(f) \rho_{b}(\tau) \\ \tau ≠0 ρG​(τ,f)=k(f)ρb​(τ)τ​=0
  实际采集到的信号中,考虑到噪声的影响,有:
ρ ^ G ( τ , f ) = k ( f ) ρ b ( τ ) + n ( τ , f ) τ ≠ 0 \hat{\rho}_{G}(\tau, f)=k(f) \rho_{b}(\tau)+n(\tau, f)\\ \tau ≠0 ρ^​G​(τ,f)=k(f)ρb​(τ)+n(τ,f)τ​=0
  如下图5所示,当存在呼吸信号时,由周期性呼吸运动造成的ACF将在某一延迟处呈现确定的峰值,尽管峰值在不同的子载波(SC)上可能不同。相反,当没有呼吸时,在任何子载波上都不能观察到显著的峰值。原则上,如图6所示,稍长于一个呼吸周期的时间延迟(看纵轴大概5到7秒?) 足以获得第一呼吸速率,之后可以每一秒产生一个瞬时估计。
学习笔记(四): 利用环境中的无线电信号进行睡眠监控
图五中的第一个峰值对应的时间延时称为运动统计,它反映了监控区域中存在的包括周期性和非周期性运动的总运动的强度。大的运动统计表明存在大的运动,例如行走和站立,小的运动统计接近0表明环境中没有显著的运动。 当监控区域内只有呼吸运动时,每个子载波的运动统计显示了该子载波对呼吸运动的敏感度。

呼吸检测和评估:

  根据计算出的呼吸频率,SMARS首先检测呼吸的存在/不存在,如果存在,然后估计呼吸速率。对于频率为 f f f的子载波,除了运动统计之外,还从呼吸检测的局部估计散点平滑(LOESS, locally estimated scatterplot smoothing)后 ρ ^ G ( τ , f ) \hat{\rho}_{G}(\tau, f) ρ^​G​(τ,f)中提取以下五个特征[37]:
1)峰值显著性 : 一个峰值与相邻波谷的最大高度之间的垂直距离,衡量峰值存在的可能性;
2)峰宽:相邻两个谷之间的水平距离,它也衡量一个峰存在的可能性;
3)峰值幅度 : 峰值的高度,与仅存在呼吸运动时的运动统计值相当,即呼吸信号的ACF值;
4)运动干扰比 : 运动统计量和峰值幅度之间的比率,它衡量非呼吸运动(如身体运动、行走、站立、打字键盘等)的干扰程度
5)峰值位置 : 原点和峰值之间的水平距离(即时间滞后),反映呼吸周期。

结论:
   一般来说,运动统计量、峰值突出、峰值宽度、峰值幅度越大,运动干扰比越小,呼吸信号越有可能存在。 换句话说,只有当运动统计、峰值突出、峰值宽度和峰值幅度都大于它们各自的预设阈值并且运动干扰比小于其预设阈值时,才检测到呼吸信号。 然后,一旦有呼吸信号,呼吸率可以估计为 B R = 60 / τ ^ \mathrm{BR}=60 / \hat{\tau} BR=60/τ^ BPM,其中 τ ^ \hat{\tau} τ^是 ρ ^ G ( τ , f ) \hat{\rho}_{G}(\tau, f) ρ^​G​(τ,f)第一个主峰的位置(即时延)。
   SMARS根据时延对 ρ ^ G ( τ , f ) \hat{\rho}_{G}(\tau, f) ρ^​G​(τ,f)的所有潜在局部峰值进行优先排序,具有较小时滞值的峰值优先级更高。(???这个没懂,是针对子载波说的吗,先继续往后看)

2.1.3 最大化呼吸信号(先略过一部分,以后用到的时候细看)

针对问题:
   由微小呼吸运动调制的每个子载波上的呼吸信号的信噪比非常低,尤其是NLOS场景下(当被监控的人远离链路、被被子覆盖或在墙后面时)。
  现有方法从其他子载波中选择一组最佳子载波,或者对所有子载波进行总体平均,以提高呼吸信号强度的质量。

1)无论使用什么标准进行选择,任何单个子载波都不会产生最佳估计。
2) CSI幅度或其方差不是子载波选择的有效度量。幅度或方差最大的子载波通常不能最好地捕获呼吸信号。
3)由于不同子载波上的频率偏移,反映人呼吸的CSI幅度不同步,包含了随机偏移。

   为提高呼吸信噪比,SMARS以最佳方式组合多个子载波上测量的呼吸信号。以最大比合并(MRC)这种在无线通信中成功应用的通用分集融合策略,合并多个接收信号来最大化信噪比。

2.2 睡眠监测(先略过,以后补充)

3. 实验评估

3.1 实验设备和设置

学习笔记(四): 利用环境中的无线电信号进行睡眠监控

   设备配备商用Atheros WiFi芯片组, 运行3.18.71内核的Linux,使用5.8 GHz WiFi频带上的信道的114个子载波,系统由一个发送器和一个接收器组成,发送器默认以30 Hz的速率传输标准的无线数据包,Tx配备2个天线,Rx配备3个天线。代码每1秒钟生成一次运动和呼吸的新估计。

3.2 数据收集

   6个家庭(包括典型的住宅和公寓)中部署。
   6个自愿参与者,有1名女性参与者和5名男性参与者,年龄从12岁到31岁,体重在115到195磅之间。
   共收集了32个晚上(总共约234小时)的睡眠数据。其中两个用户贡献了超过一周的数据。
   尽管SMARS覆盖面很大,但仍然强烈建议发送和接收都放在靠近床的地方。 这是为了确保微弱的呼吸信号可以在整个睡眠过程中连续拾取,而不管不同的睡眠姿势和用户使用的被子种类。此外对于公寓环境,如果发送和接收都放在同一个房间,隔壁邻居的运动更不可能被SMARS检测到。
   为了获得睡眠阶段的基本事实标签,我们求助于PSG设备[47]。愿意收集PSG数据的参与者穿着带有许多记录呼吸和睡眠数据的接触式传感器的衣服。在睡眠期间,这些传感器和我们的系统同时记录测量结果。我们总共有五个晚上的PSG数据。根据AASM规范[40],PSG数据(主要是脑电图)用不同的睡眠阶段进行注释,历元长度为30秒。然后根据多数投票方案,每10个30秒的时期被组合以形成300秒的时期,用于以下与SMARS的比较。呼吸率是由PSG的鼻腔气流传感器得出的

并用公开数据集P . Hillyard, “Rf respiration monitoring dataverse.”
https://doi.org/10.7910/DVN/X7A YXQ, 2018来测试呼吸检测效果。

3.3 呼吸检测性能评估

3.1.1 总体性能

准确性评估:

   在自己的测量和开放数据集上评估呼吸率估计的准确性。 如图16所示,基于我们自己数据的评估表明,SMARS达到了非常高的精度。特别是,使用30Hz的采样率,中值误差为0.47 BPM,95%的分位数误差仅为2.92 BPM。图16还显示了基于开放数据集的结果,该结果显示了类似的性能,中值误差为0.66 BPM,95%瓦片误差为3.79 BPM。由于在开放数据集中使用了9.9赫兹的较低采样率,因此精确度稍差。
   原则上接触式传感器应该更好。然而,传感器阵列容易受到睡眠位置和姿势的影响,导致睡眠期间偶尔的不可靠估计。

及时性评估:

   无论呼吸稳定还是变化,SMARS都保持一贯的高精度。虽然估计误差随着快速变化的呼吸(在快速眼动阶段)而略有增加,但中值误差低于0.7 BPM。SMARS每秒实时输出一个估计值。最大似然估计的主要计算复杂性来自于对最大似然估计的估计。算法复杂度 O ( ∣ F ∣ N 2 ) O\left(|\mathcal{F}| N^{2}\right) O(∣F∣N2),其中| F |表示可用子载波的数量,而N表示样本的数量。,在配备英特尔酷睿i7处理器和16 GB内存(Matlab版本)的笔记本电脑上处理一秒钟的数据需要0.14秒

覆盖范围评估:

   当对象在8米之外时,SMARS实现了90%以上的检测率,并且在9米和10米的距离处仍然分别保持88.7%和65%。请注意,对于大于6米的距离,受试者在另一个房间,并且对发送-接收链路没有视线。覆盖范围甚至比使用覆盖8米的FMCW雷达的系统更好。

系统鲁棒性评估:

不同的家庭场景。

3.1.2 性能影响关键参数

MRC的影响。

MRC是提高SMARS准确性、覆盖范围和鲁棒性的关键模块。与等增益合并EGC相比,在NLOS场景(图19中距离> 7米的情况)中,磁共振成像显著提高了检测率超过65%。图20进一步显示了MRC对隔夜数据带来的显著收益。具体来说,与EGC相比,使用MRC的中值精度提高了0.1 BPM。原因是,只要可以检测到呼吸,我们基于ACF的方法就会产生准确的估计。

采样率的影响。

我们研究了采样率对卫星遥感的影响。如图16所示,当采样率从30 Hz降低到10 Hz时,呼吸估计的中值精度从0.47 BPM降低到0.85 BPM。如图20所示,检测率相对于采样率没有太大变化。请注意,在9.9赫兹采样率的开放数据集上,准确性和检测率都优于我们自己收集的数据。这是因为开放数据集是在以前工作的最佳设置下收集的,即发射和接收放置得非常靠近彼此和受试者,而我们在数据收集期间以自然和舒适的方式部署设备。总之,更高的采样率将产生更好的性能,而30赫兹甚至10赫兹在实践中是足够的。

有效带宽的影响.

有效带宽 W e ≜ N s B W_{e} \triangleq N_{s} B We​≜Ns​B,其中 N s N_{s} Ns​为发送和接收之间的空间流数量,B表示每个流的带宽(在我们的系统中为40兆赫)。随着有效带宽的增加,中值误差和95%分位误差减小,同时检测率增加。结果表明,一个2×2的多输入多输出系统(即160兆赫的有效带宽) 足以实现一个显著的性能

3.4 睡眠监测性能评估(先略过,以后再补充)

上一篇:SecureCRT中F5—F9不能使用及解决方法


下一篇:Kubernetes-探针readinessProbe、livenessProbe和startupProbe