原博地址

简介:

      在这个什么都要和“智能”串联的年代,除了我们司空见款的手机外也就是一些智能手表和手环之类的穿戴设备了。这些智能穿戴设备集成了很多的传感器,由于脉搏或者心率是生命体征的重要参数之一,所以心率率测量可算是高端入门产品必备的一个技能,正好最近有机会好好研究心率测量的技术,所以趁热打铁总结一下光学测量心率的相关知识。

      在网上搜集了很多资料,目前心率测量有以下几种传感器技术(仅供参考)

1. 心电ECG

2. 光电容积脉搏波描记法PPG 

3. 生物阻抗 bioimpedance

4. 摄像头Camera RGB 、wifi等技术

      在上述的几种方法中,最被人们熟悉的应该就是心电图。在医疗领域,通常使用心电图(ECG)测量生理电信号来实现心率和心脏活动的检测。但是由于测量ECG信号,常常要在身体多个部位连接传感器电极,在胸部和四肢之间最多可以连接10个电极。ECG信号虽然精准并且信息丰富,但是考虑到穿戴设备的便携性和功能简单所以并没有在穿戴设备上广泛采用ECG技术。目前情况ECG还是在一些专业领域里面使用例如医院、体育等方面的研究。

      第二种光电容积脉搏波描记法,这个名字读起来实在是高端,其实说简单点就是利用光测量脉搏的一种技术。这种技术目前被广泛应用,本文也是主要介绍这种技术。

目前市场上能看到采用这种技术的穿戴设备就有:AppleWatch、三星 Galaxy Gear S2、Moto 360、Microsoft Band 等….(其他厂家就省略了)。

      第三种生物阻抗传感器测量方法,目前市场上看到的好像只有Jawbone 的UP3了, 对于此技术网上的资料特别的少。不过通过亲身体验试戴JawboneUP3,感觉这种技术应该比光学测心率的技术难度大但是应该更精准更可靠。最后的Camera RGB和wifi都是是MIT研究出来的新技术,看起来都非常高端,MIT威武啊。其中一个是通过我们手机的摄像头就能检测出人体的体征变化,这个技术非常有意思并且也很高端,感兴趣的可以看视频介绍。另一个则是通过我们家里的wifi信号就能测,也甚是高端。当然这两种还没有看到上市的产品所以就不多说了。

光电容积脉搏波描记法PPG 

     光学心率传感器,如果带过上述那些智能手表或者智能手环的朋友来说也不算稀奇的事情。就拿AppleWatch来说,测量心率时底部的表盘会发出绿色的灯光,并且测量的时候手腕最好保持不动否侧会影响测量结果。接下来将详细介绍光学心率测量的原理。

      如下两张图是光学心率传感器。图a是LED没有发光的时候中间是一个光敏二极管,图b是传感器的LED发光的时候。

                                 

图a                                                                               图b

        那么为什么通过LED灯发光就能测量心率呢?

        当LED光射向皮肤,透过皮肤组织反射回的光被光敏传感器接受并转换成电信号再经过AD转换成数字信号,简化过程:光–> 电 –> 数字信号

        为什么大多数传感器都是采用的绿光呢?

我们先看看光谱的特点,从紫外线到红外线的波长是越来越长的。

     之所以选择绿光作为光源是考虑到一下·几个特点:

       1. 皮肤的黑色素会吸收大量波长较短的波

       2. 皮肤上的水份也会吸收大量的UV和IR部分的光

       3. 进入皮肤组织的绿光(500nm)– 黄光(600nm)大部分会被红细胞吸收

       4. 红光和接近IR的光相比其他波长的光更容易穿过皮肤组织

       5. 血液要比其他组织吸收更多的光

       6. 相比红光,绿(绿-黄)光能被氧合血红蛋白和脱氧血红蛋白吸收

      总体来说,绿光– 红光能作为测量光源。早起多数采用红光为光源,随着进一步的研究和对比,绿光作为光源得到的信号更好,信噪比也比其他光源好些,所以现在大部分穿戴设备采用绿光为光源。但是考虑到皮肤情况的不用(肤色、汗水),高端产品会根据情况自动使用换绿光、红光和IR多种光源。

虽然知道了上面的几个特点,但是还不足以弄清楚为什么通过光照就能测出心率、血氧等参数呢?

     下图就解释了核心原理

         当光照透过皮肤组织然后再反射到光敏传感器时光照有一定的衰减的。像肌肉、骨骼、静脉和其他连接组织等等对光的吸收是基本不变的(前提是测量部位没有大幅度的运动),但是血液不同,由于动脉里有血液的流动,那么对光的吸收自然也有所变化。当我们把光转换成电信号时,正是由于动脉对光的吸收有变化而其他组织对光的吸收基本不变,得到的信号就可以分为直流DC信号和交流AC信号。提取其中的AC信号,就能反应出血液流动的特点。我们把这种技术叫做光电容积脉搏波描记法PPG。

        下图是PPG信号和ECG信号的对比

实际测量手指的PPG信号如下:

       所以,只要测得到的PPG信号比较理想算出心率也不算什么难事。但是事实总是残酷的,由于测量部位的移动、自然光、日光灯等等其他的干扰,最终测到的信号可能是下面的这种,所以要通过很多方法进行滤波处理

对于PPG信号的处理,目前我知道的有两种方法。一种是时域分析,即算出一定时间内PPG信号的波峰个数,另一种是通过对PPG信号进行FFT变换得到频域的特点。

时域方法:

          通过对原始的{PPG信号进行滤波处理,得到一定时间内的波峰个数,然后既可算出心率值

假设连续采样5秒的时间,在5s内的波峰个数为N,那么心率就是N*12 (这个相信大家都懂,就跟把脉一样~)

频域分析:

上面分析过,我们把血液流动对光吸收转变成了AC信号,如果对于进行FFT变换,那么就能看到频域的特点。如下图就是对PPG信号的FFT转变

        上图中的频域图,0Hz的信号很强,这部分是骨骼、肌肉等组织的DC信号,在1Hz附近有个相对比较突出的信号就是血液流动转变的AC信号。假设测得到的频率f = 1.2Hz

那么心率HeartRate  HR = f x60 = 1.2 x 60 = 72

最后再简单提一下血氧的测量,相比心率血氧测量难度较大而且精度不算太高。测量血氧的原理图下图所示

      由于血液中含有的氧合血红蛋白HbO2和血红蛋白Hb存在一定的比例,简单说也就是含氧量吧。上面的图表示了氧合血红蛋白HbO2和血红蛋白Hb对波长600~1000nm的光吸收特性,从图中可以看出上600~800nm间Hb的吸收系数更高,800~1000之间HbO2的吸收系数更高。所以可以利用红光(600~800nm)和接近IR(800~1000nm)的光分别检测HbO2和Hb的PPG信号,然后通过程序处理算出相应的比值,这样就得到了血氧值。

但是由于光源不同,直接利用红光和接近IR的光进行信号对比是不可靠的,因为红光和IR透过皮肤组织也会产生不同的吸收。下图是红光和IR透过皮肤的原始信号示意图

       上面分析说过,DC部分是光透过皮肤组织转换成的直流信号,AC是血液流动产生转换成的交流信号。由于皮肤组织对红光和IR的吸收程度不同,DC部分自然也就不一样。为了能共“公平对待”两种光源的PPG信号,所以需要对原始信号处理一下。下图示意了处理后的信号(DC部分相等)

通过一定的比例计算,公平对待Red和IR的PPG信号。这样计算出来的Hb和HbO2比例才可靠。

本人水平有限,如有错误欢迎大家指出错误,相互学习!!

本文章参考文献:

1. Dae-Geun Jang, Sangjun Park, and Minsoo Hahn    A Real-Time Pulse Peak Detection Algorithm for the Photoplethysmogram 

2. Development of a Signal Processing Library for Extraction of SpO 2 , HR, HRV, and RR from Photoplethysmographic Waveforms 

3. S.  K.  Mitra,  Digital  Signal  Processing:  A  Computer-Based Approach, 3rd ed., New York, USA: McGraw-Hill
4. Y. K. Qawqzeh, M. B. I. Reaz, M. A. M. Ali   The analysis of PPG contour in the assessment of atherosclerosis for erectile dysfunction subjects 
5. Telecommunications Institute, Military University of Technology
6. Kaliskiego 2, 00-908 Warsaw, Poland ISSN 2079-9292 Wearable Photoplethysmographic Sensors—Past and Present 
7. Military Institute of Aviation Medicine, Krasińskiego 54, 01-455 Warsaw, Poland
8. 基于光电容积脉搏波的亚临床动脉弹性功能研究
9. 基于PPG的心率和呼吸频率的测量研究_马俊领