1. 引言
心电图能客观反映心脏的生理数据,可以有效地诊断心脏病,预防心脑血管疾病。随着社会生活水平的提高和远程医疗的出现,便携式心电监护设备可以将数据发送到云平台,医生可以根据这些数据实时观察心率动态了解患者的健康状况,并提醒患者做出改变。传统的数据压缩与传输是将信号采集成数据后处理其中的冗余量从而减少数据量,技术的重点在于编码端的压缩,因此就对编码的处理器性能有一定的要求,但这会造成极大的功耗,增加编码端的负担。从大数据健康的实际应用角度而言,将采集端定义为穿戴舒适、方便小巧的可穿戴设备,应当具有简单处理和功耗小的需求,这和经典压缩技术是相互矛盾的。当David Donoho [1],Emmanuel Candes,Justin Romberg和陶哲轩 [2] 的论文给出关于压缩感知的数学基础的重要结果时,压缩感知理论正式开始蓬勃发展。压缩感知理论可以通过三个方面来概括:根据信号的特点选择稀疏基,使信号可以稀疏表示;设计满足稀疏基有限等距准则的测量矩阵;构造从少量观测值恢复数据的重构算法。
本文采用压缩感知的理论方法,利用信号在某变换域上具有稀疏性的条件,对稀疏信号以远低于奈奎斯特频率的速率进行全局观测而非局部采样,然后用适当的重建算法从观测值中通过重构算法还原出原始信号。将较为简单的工作放到数据采集端,而相对复杂的解码过程交给服务端来进行数据处理,从而满足数据压缩和降低采集端工作的两个需求。本设计主要是利用离散小波变换(DWT)和稀疏度自适应匹配追踪算法(SAMP)结合,在云端最大程度还原原信号,处理后提供给使用者或监测者查看,也可共享给第三方。
2. 总体设计
本文研发的心电图传输系统主要由采集模块、控制结点和数据物联网云平台组成。采集模块将心电信号从生物模拟信号转变为数字电信号,经过集成传感模块输出数据包,通过蓝牙串口输入树莓派。树莓派需要对打包的数据进行提取与压缩,通过WIFI无线传输方式发送到服务端。服务端根据接收的观测数据通过重构算法恢复原始数据。允许多用户使用浏览器进入网址访问,数据输出到前端显示为可视化的心电图。管理员可看到多个被测者的个人信息和使用信息。同时采用分布式数据库,将数据内容存放在远程服务器内存储备份,提高系统的可靠性,方便维护和使用。流程如图1所示。
3. 信号处理
3.1. 硬件介绍
对于压缩感知的硬件实现有着诸多难题与挑战。使用能实现压缩感知理论观测的传感器,在采集信号的同时完成对信号压缩的是模拟式的压缩感知就是理论应用的理想状态,达到了模拟信息转换(AIC)的程度,而不再是模拟数字转换(ADC)。但现在的传感采样技术还不能完美地实现,更多的是基于奈奎斯特定理的数字式压缩感知体系 [3]。
系统主控制器部分使用树莓派4B处理,系统核心为博通BCM2711 SoC,集成四核1.5 GHz运行频率的ARM Cortex-A72 CPU核心,2.4 GHz和5 GHz双模WIFI和5.0蓝牙。3种内存1GB/2GB/4GB、4个USB接口和HDMI输出便于硬件开发与系统维护。主控制器通过UART串口与采集模块通信,通过WIFI模块将数据传输到服务器端。
心电采集模块由BMD101芯片和其外围电路组成,通过循环冗余校验,可以滤去无效数据包,从而提高处理有用数据包能力。BMD101芯片能检测μV到mV级的心电信号,对信号进行前期的放大、滤波,经过处理后的心电数据由串口发送出去,便于树莓派接收处理。用户则只需手指对称放在电极上或外接电极线再把电极片贴于左右胸就可以进行心电检测,操作简单,且具有体积小、功耗低的优点。
3.2. 软件滤波
经过 BMD101芯片硬件去噪后的信号仍然含有一定的基线漂移和工频干扰。
通常来说,肌电信号主要成分的频率与肌肉的类型有关,一般在30~300 HZ,心电信号是一种弱电信号,具有微弱、低频、高阻抗的特点,信噪比低,频率集中在5~20 Hz,所以选择低通滤波器来滤除肌电干扰 [4]。为了平滑偶然因素引起的噪声,中值滤波则采用非线性的方法,有效克服波动干扰,且对变化缓慢的被测参数有良好的滤波效果。
对于我国电力系统而言,50 Hz的工频干扰是最普遍的,故可以设计50 Hz的带阻滤波器滤除采集信号中的工频干扰。在备选滤波器类型中,我们采用波形失真低,具有线性相位特性的FIR滤波器。为了接近最优化窗结构,并且可以调整参数指标,故进一步选择Kaiser窗函数法进行设计。
3.3. 核心算法
基于压缩感知理论主要包括信号的稀疏表示、测量矩阵的设计与重构算法三个部分,信号的稀疏表示是信号可压缩感知的先决条件,而测量矩阵是获取信号结构化表示的手段,重构算法则是实现信号重构的保证。信号的稀疏变换我们采用重构性能较好的离散小波变换,以下主要阐述测量矩阵的选取和信号重构两个方面。
3.3.1. 压缩感知原理
传输过程采用压缩感知的方法,可以概括为:给定长度为N的一维信号
,根据长度N和变换方式求出用于稀疏的正交矩阵或字典
。设信号变换过程的中间稀疏系数为s,有:
选择与稀疏基无关的测量矩阵
,保证由稀疏基和测量矩阵构成的传感矩阵A中任意2 K列都是线性独立。对信号x采样,得到的测量值y表示为:
这可以看作是原始信号x在测量矩阵下的线性投影。
为了通过较少的随机观测值y准确重构原信号x,第一步是将Φ与Ψ相乘,解出y在θ上的稀疏系数近似值s1:
通过解出的稀疏系数s1和稀疏基Ψ就可以重构信号x。压缩框架如图2所示:
![](//html.hanspub.org/file/2-2690579x14_hanspub.png?20211228080220488)
Figure 2. Implementation framework of compressed sensing
图2. 压缩感知实施框架图
3.3.2. 测量矩阵
在理论中,测量矩阵应当具有有限等距准则、非相关性。为了方便研究与应用,会要求测量矩阵有较高的适用性。测量矩阵可以概括地分为随机测量矩阵和确定性测量矩阵,区别在于是否满足矩阵内列向量相互独立的条件。随机矩阵达到上述三个要求,重构效果好。软件上可以仿真模拟,但硬件上难以实现。确定性矩阵较随机测量矩阵而言,虽然重构精度较差,但通过硬件实现较为容易 [5]
传感矩阵是由稀疏基和测量矩阵组成的。针对传感矩阵,压缩感知提出来有限等距准则(RIP)来进行构建。通常稀疏矩阵在算法中是固定的,需要设计测量矩阵使传感矩阵满足RIP条件。RIP性质的定义是:
(1)
有限等距性质理解为原空间到稀疏空间等距离的两段投影,而且使两空间内元素有一一映射的关系。这样两个不同稀疏度的信号通过测量矩阵就投影到不同的集合中。测量矩阵最常用的是高斯随机矩阵和伯努利矩阵 [6]。高斯随机矩阵内服从服从于均值为 0、方差为1/M的正态分布:
(2)
假定有N维K稀疏度的信号,压缩之后的分量维度为M维,M小于N。如果想把低维向量恢复为原始的高维向量,通常需要满足公式(3)。此时可以较大概率地符合有限等距准则,与大多数稀疏基都不相关。其中c是一个常数。
(3)
3.3.3. 离散小波变换
DWT指的是将连续小波变换中的尺度参数a和时移参数b离散化,即将下式中的a和b离散化,但t仍然是连续的。
(4)
实际上小波变换跟普通的正交变换不同,它并没有一个绝对的公式,不同的小波母函数对应的小波基是不同的。图3可以看出,小波变换可以视为是经过低通滤波器和高通滤波器多层分解 [6]。
代表高频部分,
代表低频部分。分解过程中信号的长度为N/2i。
上述的多层分解也可通过矩阵连乘的形式表示出来。以经过二层分解为例,
代表分块矩阵。计算过程如(5)。
(5)
此时可以得到小波正交变换矩阵W。
![](//html.hanspub.org/file/2-2690579x23_hanspub.png?20211228080220488)
Figure 3. Logic diagram of wavelet orthogonal transform matrix
图3. 小波正交变换矩阵逻辑图
3.3.4. 正交匹配追踪(OMP)
定义表达信号空间的归一化模块作为字典,里面的向量为原子。用y表示观测值,K为稀疏度,
表示一个原子归一化的字典。OMP表示为所有被选择过的原子组成的矩阵Φ所张成空间上的正交投影,算法特性是可以保证已经选择过的原子不会再被选择 [7]。将稀疏基与输出的s相乘得到重构的信号xr。将原始信号设定为稀疏的一维实信号x,根据上述算法检验OMP的准确度。性能评估的第二范数残差定义为:
(6)
重构后的信号与原始信号基本上重合,残差值为1.0626290181027496e−14。OMP算法逻辑图如图4所示,算法验证如图5所示。
3.3.5. 压缩采样匹配追踪(CoSaMP)
CoSaMP是从OMP演变得来的,逻辑基本与OMP相似。但CoSaMP每次迭代选择多个原子,一般设定为两倍的稀疏度的值。除了在原子的选择标准特殊之外,CoSaMP [8] 每次迭代的多个原子在选择当中可能会被舍弃,而不会一直保留。具体过程为:
1) 首先初始化残差r0 = y,迭代次数为t,每次迭代找到的索引J,支撑集A0;
2) 从字典中计算内积,选择最大的2K个值,将对应的列序号构成集合;
3) 更新支撑集Ai;
4) 通过最小二乘法求得对应的St;
5) 更新残差;
6) 返回上述步骤,直到t = K或更新的残差r小于预估值;
7) 输出最后的s。
将稀疏基与输出的s相乘得到重构的信号xr。将原始信号设定为稀疏的一维实信号x,根据上述算法检验CoSaMP的准确度。重构后的信号与原始信号基本上重合,残差值7.386112778497942e−15。比OMP精确度率高,算法验证图如图6。
![](//html.hanspub.org/file/2-2690579x26_hanspub.png?20211228080220488)
Figure 4. Logic diagram of OMP algorithm
图4. OMP算法逻辑图
3.3.6. 稀疏度自适应匹配追踪(SAMP)
起先发展的MP类算法如OMP算法虽然在原子的选择和对测量矩阵的适应性都在不断优化,但这些算法都有一个关键性的前提:需要已知信号的稀疏度K。而实际中稀疏度K一般是未知的,这一问题导致仿真检测结果虽然很好,但在实际场景时适用性不高。
针对此问题有新的方法被提出来:稀疏度自适应匹配追踪算法(SAMP)。SAMP的优点在于不再以稀疏度K为已知的确定条件 [9],通过步长作为迭代的条件,而且步长是可以设定的。类似于最小二分法,该算法可以逐步逼近,在误差范围内确定信号值,再重构近似的原始信号,算法逻辑图如图7所示。
![](//html.hanspub.org/file/2-2690579x29_hanspub.png?20211228080220488)
Figure 7. Logic diagram of SAMP algorithm
图7. SAMP算法逻辑图
将稀疏基与输出的s相乘得到重构的信号xr。将原始信号设定为稀疏的一维实信号x,根据上述算法检验SAMP的准确度。重构后的信号与原始信号基本重合,残差值3.0490734703424357e−15,重合精确度略高于CoSaMP算法。算法验证图如图8所示。
![](//html.hanspub.org/file/2-2690579x30_hanspub.png?20211228080220488)
Figure 8. Verification of SAMP algorithm
图8. SAMP算法验证
3.3.7. 信号重建
本文选用高斯矩阵作为测量矩阵,通过离散小波变换得到小波正交稀疏基来满足有限等距准则(RIP)。常用重构算法有正交匹配追踪(OMP)、压缩采样匹配追踪(CoSaMP)、SAMP,相对于前两者SAMP虽然运算更加复杂,但有着良好的收敛速度和准确度,应用价值高。考虑到在实际情况中采集信号稀疏度的不确定性,为了更好地在实际应用中恢复信号,重构算法比较后采用稀疏度自适应匹配追踪算法(SAMP)。
将OMP、CoSaMP、SAMP三种算法进行仿真比较。性能评估指标除了重构概率外还有压缩比和根均方偏差PRD。压缩比定义为信号长度与投影维度之比,压缩比越大表示压缩性能越好。PRD定义如下:
(6)
PRD越大,表示重构的误差越大,即性能更低。
在信号长度一定的情况下,投影维度越高则压缩比越低。将信号长度N设定为256的情况下,投影维度M在50~100之间时可以看出,随着M的增加重构概率越来越大。纵向分析,SAMP的算法性能比OMP和CoSaMP要好,并且步长设置较低时影响不大。横向分析,在保证一定重构精确度的情况下,CoSaMP的压缩比要比OMP高,三者性能比较图如图9所示。
![](//html.hanspub.org/file/2-2690579x32_hanspub.png?20211228080220488)
Figure 9. Comparison diagram of algorithm performance
图9. 算法性能比较图
具体分析为:在同一压缩比2.56的情况下,三种算法的重构心电图分别如图10、图11和图12所示,每张图片中的红色曲线为原始心电图,黑色点状图为重构的心电图。
![](//html.hanspub.org/file/2-2690579x33_hanspub.png?20211228080220488)
Figure 10. Implementation of OMP algorithm with compression ratio of 2.56
图10. 压缩比2.56下的OMP算法实施
![](//html.hanspub.org/file/2-2690579x34_hanspub.png?20211228080220488)
Figure 11. Implementation of CoSaMP algorithm with compression ratio of 2.56
图11. 压缩比2.56下的CoSaMP算法实施
![](//html.hanspub.org/file/2-2690579x35_hanspub.png?20211228080220488)
Figure 12. Implementation of SAMP algorithm with compression ratio of 2.56
图12. 压缩比2.56下的SAMP算法实现
根据上面的三张图片可以看到重构后的心电图与原始心电图的重合度较高。通过具体的参数分析进行类比总结。在同一压缩比下,三类算法中OMP和CoSaMP根均方偏差相似。SAMP的恢复性能远高于前两者,但同时需要注意的是SAMP的构造时间也是最长的,三者在同一压缩比下的重构性能比较见表1所示,压缩比性能比较如表2所示。
![](Images/Table_Tmp.jpg)
Table 1. Comparison of reconfiguration performance under the same compression ratio
表1. 同一压缩比下的重构性能比较
在信号长度N和稀疏度K一定的情况下,探究三种算法的压缩比性能。OMP算法受稀疏度和投影维度影响最大。在根均方偏差相近的情况下,SAMP算法比CoSaMP的压缩比高得多。故不计较重构时间的情况下,SAMP算法的压缩性能和恢复性能最好。
![](Images/Table_Tmp.jpg)
Table 2. Comparison of compression ratio performance
表2. 压缩比性能比较
4. 管理平台
管理平台采用Python语言开发,基于Flask框架提供数据和功能访问接口,嵌入核心算法进行数据处理,实现对多个模块的配置与整合,Flask旨在保持核心框架简介而易于扩展,开发者可以依据应用项目的需求合理灵活地设计项目功能,便于多次开发升级和维护。采用前端开发框架Bootstrap并借助Ajax技术实现Web端的搭建。Bootstrap框架包含了响应式的表格、按钮、图片等一系列常用的UI组件,具有简洁直观、兼容性好的优点,在开发响应式布局和移动设备优先的Web项目中深受欢迎。Ajax技术支持开发者在接收响应数据后实现局部界面更新。使得功能实现和数据处理与设备、人机交互界面分开设计实现。前端还采用了Echarts作为可视化图表库,能够生成直观的可视化图表,大大增强用户体验。
为防止信息的泄露,账户密码是否正确以及账户的权限大小都可以通过Cookie中的字段进行验证。可以点击cookie进行查看。为了防止爬虫等利用cookie大规模爬取个人信息的不良行为。同时运用了Session密钥。密钥对数据进行MD5单向散列签名来加密数据的,不可逆,具有一定的安全性,如图13、图14所示。验证成功后用户可以进入系统查看心电图。
用户进入系统后,点击获取数据按钮,后台会调取对应的数据集,点击开始绘制就可以看到心电图,如图15所示。
5. 结语
本文设计的基于压缩感知的心电图数据传输系统,由BMD101集成传感模块和树莓派构成采集传输模块,采用离散小波变换(DWT)进行稀疏变换,高斯矩阵为测量矩阵,在云端使用稀疏度自适应匹配追踪算法(SAMP)进行重构,最后由Python语言构成观测平台进行展示。相对于经典压缩技术,本系统节省了大量用于储存长期心电实时监测数据的空间,并缩短了信号的传输时间,将压缩恢复数据过程的重点从编码端转到解码端,在满足数据高效压缩需求的基础上,进一步降低传感设备功耗,具有良好的实际应用价值。
基金项目
本项目受浙江省基础公益项目LGF19F010008资助。
参考文献