基于MUSIC的算法利用腕上光电容积脉搏波(PPG)信号提供按需心率估算

发布者:CuriousTraveler最新更新时间:2024-07-18 来源: eepw关键字:MUSIC  算法 手机看文章 扫描二维码
随时随地手机看文章

 想象未来几十年后的世界,您的孙子们可能不知道医院这个词,所有健康信息都是通过传感器远程记录和监测。想象您的家里配备了不同的传感器来测量空气质量、温度、噪声、光照和气压,并且根据您的个人健康信息,系统调整相关环境参数以优化您的家居环境。在实现美好未来的道路上,ADI公司处于一个独特的有利位置,通过提供相互补充的传感器、软件和算法来增加其在数字健康市场的份额。


  心率(HR)监测是许多现有可穿戴产品和临床设备的关键特性。这些设备一般测量光电容积脉搏波(PPG)信号,为获得该信号,须利用LED照射人体皮肤,然后用光电二极管测量血流引起的反射光强度变化。PPG信号形态与动脉血压(ABP)波形相似,这使得该信号成为受科学界欢迎的非侵入性心率监测工具。PPG信号的周期性与心脏节律相对应。因此,可以根据PPG信号估算心率。然而,受血液灌流不良、环境光线以及最重要的运动伪像(MA) 1的影响,心率估算性能会降低。业界已提出许多信号处理技术来消除MA噪声,包括ADI公司的运动抑制和频率跟踪算法,通过使用一个靠近PPG传感器放置的三轴加速度传感器来实现。当没有运动时,最好能有一个按需算法来向跟踪算法提供快速且更精确的心率估算。本文改造了多信号分类(MUSIC)频率估计算法,以利用ADI医疗健康手表平台,根据手腕上的PPG信号实现高精度按需心率估算,图1所示为其框图。该图的细节将在后面的内容中说明。

  图1. 利用腕上PPG信号的基于MUSIC的按需心率估计算法

  ADI医疗健康手表提供的PPG信号概述

  当LED发光时,血液和组织会吸收不同数量的光子,导致光电检测器检测到不同的结果。光电检测器测量血液脉动的变化并输出一个电流,该电流随后经放大和滤波以供进一步分析。 图2a显示了一个由交流(ac)和直流(dc)分量组成的一般PPG信号。PPG波形的直流分量检测组织、骨骼和肌肉反射的光信号,以及动脉和静脉血液的平均血容量。交流分量则表示心动周期的收缩期和舒张期之间发生的血容量变化,交流分量的基频取决于心率。图2b是来自 ADPD107 手表的PPG信号,这在之前的《模拟对话》文章中已介绍过。ADI多感知手表的目标是测量人体手腕上的多项生命体征。ADI手表有PPG、心电图(ECG)、皮肤电活动(EDA)、加速度(ACC)和温度传感器。本文仅关注PPG和ACC传感器。

  现在我们仔细看看PPG和ABP波形的相似之处。ABP波形是由于左心室射出血液造成的。主压力沿全身血管网流动并到达多个部位,动脉阻力和顺应性的显著变化引起反射。第一个部位是胸主动脉和腹主动脉之间的接合处,其引起第一次反射,通常称为收缩晚期波。第二个反射部位是腹主动脉和髂总动脉之间的接合处。主波被再次反射回来,产生一个很小的下降,称为重搏切迹,这可以在第一次和第二次反射之间观察到。还有其他较小的反射,这些反射在PPG信号中被平滑掉2。本文的重点是心率估计,其仅取决于PPG信号的周期性,此算法不考虑PPG的确切形态。

  图2a. 含交流和直流部分的典型PPG信号

  图2b. ADI医疗保健手表PPG信号

  PPG信号预处理

  PPG信号易受周边组织的不良血液灌流和运动伪像的影响是众所周知的1。为将这些因素的影响降至最小,以免干扰随后的PPG分析和心率估计,须有一个预处理阶段。需要一个带通滤波器来消除PPG信号的高频成分(如电源)和低频成分(如毛细血管密度和静脉血容量的变化、温度变化等等)。图3a显示了滤波之后的PPG信号。使用一组信号质量指标来找到适合于按需算法的PPG信号第一个窗口。第一次检查涉及ACC数据和PPG信号,以确定是否能检测到一段无运动的数据,然后衡量其他信号质量指标。如果三个方向上存在高于ACC数据绝对值的特定阈值的运动,则按需算法会拒绝根据这样的数据窗口进行估计。下一信号质量检查是基于数据段特征的某种自相关。图3b显示了经滤波的PPG信号的一个自相关例子。可接受信号段的自相关表现出如下特性:具有至少一个局部峰值,并且对应于最高可能心率的峰值不超过某一数量;局部峰值从高到低递减,间隔时间递增;以及其他一些特性。仅计算与有意义的心率(位于30 bpm到220 bpm范围内)相对应的间隔时间的自相关。

  当有足够的数据段连续通过质量检查时,算法的第二阶段就会使用基于MUSIC的算法算出准确的心率。

  图3a. 经过带通滤波的图1b中PPG信号

  图3b. 图2a中信号图的自相关

  基于MUSIC的按需心率估计算法

  MUSIC是一种基于子空间的方法,使用谐波信号模型,可以高精度地估算频率3。对于受到噪声破坏的PPG信号,傅立叶变换(FT)可能表现不佳,因为我们需要的是高分辨率心率估计算法。此外,FT将时域噪声均匀分布到整个频域中,限制了估算的确定性。使用FT很难在较大峰值附近观察到较小峰值4。因此,在本研究中,我们使用基于MUSIC的算法进行心率的频率估计。MUSIC背后的关键思想是噪声子空间与信号子空间正交,所以噪声子空间的零点会指示信号频率。下面的步骤是这种心率估计算法的总结:

  从数据中删除平均和线性趋势

  计算数据的协方差矩阵

  对协方差矩阵应用奇异值分解(SVD)

  计算信号子空间阶数

  形成信号或噪声子空间的伪谱

  找出MUSIC伪谱的峰值作为心率估计值

  MUSIC必须应用奇异值分解,并且必须在整个频率范围内搜索频谱峰值。我们来看一些数学算式,以使上述步骤更清晰。假设经滤波的PPG信号有一个长度为m的窗口,表示为xm且m≤L(其中L为给定窗口中经滤波PPG信号的总样本数)。那么,第一步是形成样本协方差矩阵,如下所示:

  然后对样本协方差矩阵应用SVD,如下所示:

  其中,U为协方差矩阵的左特征向量,Λ为特征值的对角矩阵,V为右特征向量。下标s和n分别代表信号和噪声子空间。正如之前提到的,使用信号已经通过信号质量检查阶段的先备知识,对基于MUSIC的算法进行修改以用于心率估计,因此预处理步骤之后,信号中唯一存在的频率成分是心率频率。接下来形成信号和噪声子空间,假设模型阶数只包含一个单音,如下所示:

  其中p = 2为模型数。仅考虑有意义心率限值内的频率。这会大 大减少计算量,使嵌入式算法的实时实现成为可能。搜索频率 向量定义为:

  其中,k为心率目标频率范围内的频点,L为xm(t)中数据的窗口长度。然后,下面的伪谱使用噪声子空间特征向量找出MUSIC的峰值,如下所示。

  这里使用伪谱一词,是因为它表明所研究信号中存在正弦分量,但它不是一个真正的功率谱密度。图4显示了基于MUSIC的算法处理5秒数据窗口得到的示例结果,在1.96 Hz处有一个很陡的峰值,换算为心率是117.6 bpm。

  图4. 使用PPG数据的基于MUSIC估计的一个示例

  基于MUSIC的按需心率估计算法的结果

  我们已经在一个包含1289个测试案例(data1)的数据集上测试了该算法的性能,并且在数据开始时,测试对象被要求静止。表1给出了基于MUSIC算法的结果,并指出估计的心率是否在参考(ECG)的2 bpm和5 bpm精度范围内,以及估计时间的第50百分位数(中值)和第75百分位数。表1中的第二行显示了对于一个包含298个测试案例(data2)的数据集,存在周期性运动(如步行、慢跑、跑步)时该算法的性能。通过检测运动,如果任一数据被视为不可靠而遭到拒绝,或者是认为不受运动影响而精确估算得到心率,则认为该算法是成功的。在内存使用方面,假设缓冲区大小为500(即100 Hz时为5秒),对于目标频率范围(30 bpm至220 bpm),所需总内存约为3.4 kB,每次调用花费2.83周期。

  表1. 基于MUSIC的按需心率估计算法的性能数值指标2 bpm 精度5 bpm 精度第50百分位数第75百分位数


  结语

  基于MUSIC的按需算法是ADI公司医疗保健业务部门生命体征监测小组提出的众多算法之一。在我们医疗健康手表中使用的按需算法与这里讨论的基于MUSIC的方法不同,前者的计算成本较低。ADI公司为传感器(嵌入式)和边缘节点提供软件和算法功能,使其从数据中获取有价值的信息,仅将最重要的数据发送到云端,让我们的客户和合作伙伴可以在本地做出决策。我们选择应用的标准是,其成果对于我们的客户来说非常重要,并且我们拥有独特的测量专业技术。本文只是对ADI公司研发的算法的简单介绍。凭借我们在传感器设计方面的现有专业知识,以及我们在生物医学算法开发(包括嵌入式和云计算)方面的努力,ADI公司将拥有独特的优势来为全球医疗健康市场提供最先进的算法和软件。

  参考电路

  1 Tamura, Toshiyo Tamura, Yuka Maeda, Masaki Sekine, 和 Masaki Yoshida. “可穿戴光电容积脉搏波传感器——过去和现在.” Electronics, 第3卷第2期,2014年。

  2 R. Couceiro, P. Carvalho, R.P. Paiya, J. Henriques, I. Quintal, M. Antunes, J. Muehlsteff, C. Eickholt, C. Brinkmeyer, M. Kelm, 和 C. Meyer. “根据手指光电血管容积图的多高斯拟合评估心血管功能.” Physiological Measurement,第36卷第9期,2015年。

  3 Petre Stoica and Randolph L. Moses. 信号频谱分析. Pearson Prentice Hall,2005年

  4Steven W. Smith。面向科学家和工程师的数字信号处理指南。California Technical Publishing,1997年。


关键字:MUSIC  算法 引用地址:基于MUSIC的算法利用腕上光电容积脉搏波(PPG)信号提供按需心率估算

上一篇:智能手表手环心率检测什么原理? 为什么都只发出绿光?
下一篇:基于智能电表系统的一种优化OFDM电力线通信自适应调制方法

推荐阅读最新更新时间:2024-11-11 15:41

单片机快速开平方的算法
C语言中开平方的算法中要开平方的话,可以在头文件中加#include math.h .然后调sqrt(n);函数即可.但在单片机中要开平方.可以用到下面算法: 算法1: 本算法只采用移位、加减法、判断和循环实现,因为它不需要浮点运算,也不需要乘除运算,因此可以很方便地运用到各种芯片上去。 我们先来看看10进制下是如何手工计算开方的。 先看下面两个算式, x = 10*p + q (1) 公式(1)左右平方之后得: x^2 = 100*p^2 + 20pq + q^2 (2) 现在假设我们知道x^2和p,希望求出q来,求出了q也就求出了x^2的开方x了。 我们把公式(2)改写为如下格式:
[单片机]
数字PID算法
/*==================================================================================================== 这是从网上找来的一个比较典型的PID处理程序,在使用单片机作为控制cpu时,请稍作简化,具体的PID 参数必须由具体对象通过实验确定。由于单片机的处理速度和ram资源的限制,一般不采用浮点数运算, 而将所有参数全部用整数,运算到最后再除以一个2的N次方数据(相当于移位),作类似定点数运算,可 大大提高运算速度,根据控制精度的不同要求,当精度要求很高时,注意保留移位引起的 余数 ,做好余 数补偿。这个程序只是一般常用pid算
[单片机]
数字PID<font color='red'>算法</font>
控制算法研发:无人机可模仿自行车和汽车穿越城市
  据外媒报道,研究人员已经开发出一种 无人机 的控制算法,让它们模仿自行车和汽车通过城市地区的运动。许多 无人机 的应用大部分出现在空旷的空域,但是在街道上安全地移动通过密集的城区也是一个方便的功能。下面就随网络通信小编一起来了解一下相关内容吧。   研究人员已经提出了一种 无人机 控制系统,通过向它们展示汽车和汽车的前行模式,使无人机能够自主地通过这些繁忙的区域。   现代城市的喧嚣需要都市人对移动障碍有着敏锐的注意,那么如何培训飞行机器人呢?无人机使用的GPS系统使其在所有行人,汽车,自行车和步行道上空开放的空域前行,苏黎世大学和国家研究能力中心的研究人员训练无人机进行跟随。   这意味着开发一个他们称之为DroNet的深
[网络通信]
什么是嵌入式PID算法?嵌入式PID算法分析
1.1 概述 比例(Proportion)积分(Integral)微分(Differential)控制器(PID控制器或三项控制器)是一种采用反馈的控制回路机制,广泛应用于工业控制系统和需要连续调制控制的各种其他应用。 PID控制器连续计算误差值 e(t) 作为所需设定点(SP) 和测量过程变量(PV)之间的差值,并应用基于比例、积分和导数项(分别表示为P、I和D)的校正,因此得名。 r(t) 是期望的过程值或设定点(SP),y(t) 是测量的过程值(PV)。 1.2 历史发展 1911年,第一个PID控制器是由Elmer Sperry开发的。 1922 年,俄裔美国工程师尼古拉斯·米诺斯基 ( Nicolas Mino
[嵌入式]
什么是嵌入式PID<font color='red'>算法</font>?嵌入式PID<font color='red'>算法</font>分析
51单片机PID算法程序(一)PID算法
比例,积分,微分的线性组合,构成控制量u(t),称为:比例(Proportional)、积分(Integrating)、微分(Differentiation)控制,简称PID控制 图1 控制器公式 在实际应用中,可以根据受控对象的特性和控制的性能要求,灵活地采用不同的控制组合,构成 比例(P)控制器 比例+积分(PI)控制器 比例+积分+微分(PID)控制器 式中 或 式中 控制系统中的应用 在单回路控制系统中,由于扰动作用使被控参数偏离给定值,从而产生偏差。自动控制系统的调节单元将来自变送器的测量值与给定值相比较后产生的
[单片机]
51单片机PID<font color='red'>算法</font>程序(一)PID<font color='red'>算法</font>
avr移位算法详解
  或许很多初学者都会被移位算法迷惑,移位算法形如 (1《《X)这样的形式,高手写程序时,习惯用移位算法来写出各个寄存器的使用。比如下面一段是AVR 的USART的初始化代码。   UCSRC = (1《《URSEL)|(1《《UCSZ1)|(1《《UCSZ0);   UCSR0B = (1《《RXCIE)|(1《《TXCIE)|(1《《RXEN)|(1《《TXEN); // RXCIE=1;TXCIE=1;UDREIE=0;RXEN=1;TXEN=1   这样的写法对高手是福,这些代码里面说明了操作了寄存器的哪些位,能够看出它的操作的意义;对新手确是祸害,因为新手看不懂这样的程序。   什么是移位算法:   如:A =
[单片机]
avr移位<font color='red'>算法</font>详解
算法->分治法
一、基本概念 在计算机科学中,分治法是一种很重要的算法。字面上的解释是 分而治之 ,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题 直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。这个技巧是很多高效算法的基础,如排序算法(快速排序,归并排序),傅立叶变换(快速傅立叶变换) 任何一个可以用计算机求解的问题所需的计算时间都与其规模有关。问题的规模越小,越容易直接求解,解题所需的计算时间也越少。例如,对于n个元素的排序问题,当n=1时,不需任何计算。n=2时,只要作一次比较即可排好序。n=3时只要作3次比较即可, 。而当n较大时,问题就不那么容易处理了。要想直接解决一个规模
[单片机]
掌握驱动算法,玩转电机驱动
电机能耗占世界能耗的一半左右,提高电机效率,符合节能减排的要求是当务之急。而电机驱动的最大难点在于成本和算法,其算法和精度及可靠性又密切相关。电机控制的核心在于它的控制算法:除了硬件之外,最重要的要求是如何用更优异的算法去控制电机。 在我们的家庭里面,所有的家电除了电视机以外,几乎都包含了电机:从抽油烟机、微波炉、灶具,燃气热水器、洗衣机、冰箱、空调,再到硬盘、DVD机,全都和电机有关。另外,在汽车当中,所使用的电机数量达上百个之多。其中的很多产品(例如硬盘),对电机控制的精度和可靠性要求非常之高。 算法和可靠性 德州仪器(TI)公司半导体事业部市场推广经理李志林指出,国内的家用电器厂商在电机的控制算法上处于弱势;而至
[嵌入式]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

更多每日新闻

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved