载人离心机生理参数实时采集监测软件设计与实现

2022-11-02 09:57李毅峰张小雪李宝辉王海霞卫晓阳杨景慧杨明浩
医疗卫生装备 2022年9期
关键词:离心机波形生理

蒋 科,徐 艳,李毅峰,张小雪,王 红,李宝辉,王海霞,卫晓阳,金 朝,杨景慧,杨明浩

(空军特色医学中心,北京 100142)

0 引言

有研究表明,人体在正加速度(+Gz)作用下脑血流量下降、头(眼)水平动脉血压降低,会导致大脑缺血、缺氧,进而出现视力甚至意识的改变、丧失[1]。耳脉搏波监测可以直观反映飞行员载人离心机训练+Gz载荷作用时眼水平位置的血流强度和血流速率变化等信息,是目前飞行员在载人离心机训练时的常用监测指标。此外,有文献报道心率、头部血氧等同样是判断过载致意识丧失的特征参数[2],是载人离心机训练时特有的重要监测指标。外军报道的飞行员载人离心机训练中由于+Gz作用导致意识丧失(G-induced loss of consciousness,G-LOC)的发生率为6.4%~34.9%[3-5],而我军飞行员载人离心机训练中的G-LOC发生率为5%[6]。因此实时监测飞行员高载荷训练过程中的生理指标变化,辅助载人离心机训练医学指挥人员及时掌握医学停机指征,对保证飞行员训练安全具有非常重要的意义[7]。

原有的载人离心机生理参数实时采集监测软件版本陈旧、监测参数较少、分析功能不够强大、人机交互操作不方便、界面设计简陋、软件架构设计扩展性较差、软件维护升级困难,为了解决以上问题,本文设计一种新型载人离心机生理参数实时采集监测软件,可为载人离心机训练飞行员生理参数采集监测提供更好的服务。

1 软件设计与实现

载人离心机生理参数实时采集监测软件主要由生理参数采集嵌入式软件和生理参数实时监测软件2个部分组成。生理参数采集嵌入式软件主要实现耳脉搏波、血氧、心电、体温、呼吸(胸阻抗法)、常规血压共6项生理参数的采集传输和命令参数设置功能;生理参数实时监测软件主要实现数据的接收、解析、显示、存储与分析功能。生理参数采集嵌入式软件和生理参数实时监测软件之间通过网络通信链路完成数据的交互。

1.1 生理参数采集嵌入式软件设计与实现

生理参数采集嵌入式软件采用Keil软件开发平台实现基于多处理器的分工协同。该软件采用主从模块设计,主要由主控制功能模块、多生理参数从模块和串口转网口模块组成。其中,多生理参数从模块包括心电、耳脉搏波、血压、血氧、体温、呼吸采集子模块。各子模块完成对生理参数信号的采集和处理,主控制模块对采集、处理的各生理参数数据进行同步、打包、封装处理后利用传输控制协议/因特网互联协议(transmission control protocol/internet protocol,TCP/IP)传输至生理参数实时监测软件。生理参数采集嵌入式软件框架如图1所示。

图1 生理参数采集嵌入式软件框架

1.1.1 主控制模块

该模块是生理参数嵌入式采集软件的主逻辑控制单元,负责对多生理参数从模块进行初始化、控制各个生理参数子模块完成远程命令控制及采集数据的输出。该模块主要包括通信管理模块、数据解析模块、命令处理模块、数据编码模块和配置管理模块5个子模块。

(1)通信管理模块。该模块按配置频率向生理参数实时监测软件发送生理参数及波形数据包,同时接收来自生理参数实时监测软件的控制命令。

(2)数据解析模块。该模块解析数据包中的参数名、操作命令(如增益调整、采样频率调整等)、参数取值等。

(3)命令处理模块。该模块将参数名、操作命令、参数取值等按照协议形成执行代码,控制各处理器完成参数设置。

(4)数据编码模块。该模块主要用于同步各个生理参数采集子模块采集的数据,按数据协议封装数据并传输到通信管理模块。

(5)配置管理模块。该模块用于配置多生理参数从模块运行时所需要的参数(如IP地址、显示通道以及报警参数设置等),将所有的配置参数保存在内部flash中,以便下一次按照当前的配置运行。同时监测各个采集硬件的使用状态,如心电电极是否脱落、血压夹子是否脱落等。

1.1.2 多生理参数从模块

该模块主要实现心电、耳脉搏波、血氧、血压、体温和呼吸参数信号的采集、滤波处理及串口数据收发。其中耳脉搏波信号采集、处理使用STM32F405处理器,实现2路耳脉搏波信号的采集、处理和数据转发。血压信号采集使用STM32F103处理器控制驱动电路与采集电路完成袖带打压、泄压控制及血压参数采集。心电、血氧、呼吸和体温信号的采集、处理使用CY8C5868处理器,并在该处理器上设计增益功能,实现生理参数信号的放大与缩小。耳脉搏波信号采集电路和血压信号采集电路为扩展电路,采集到2路耳脉搏波信号和血压信号后需要分别通过STM32F405和STM32F103串口把数据传输给CY8C5868处理器并与心电、血氧、呼吸和体温完成数据同步后再通过CY8C5868串口发送给主控制模块。

1.1.3 串口转网口模块

该模块实现网络连接和断开状态检测和处理。该模块启动后建立2个Socket通信接口,一个用于在网络上广播自身IP地址及端口的用户数据报协议(user datagram protocol,UDP)传输,另一个用于获取控制命令和数据的传输控制协议(transmission control protocol,TCP)传输。生理参数采集嵌入式软件仅支持一个TCP连接,当设备建立TCP传输连接后,停止UDP广播服务;若断开连接,生理参数采集设备重新启动UDP广播服务,以便生理参数实时监测软件与其建立连接。完成传输链路的建立后,该模块通过串口接收来自主控制模块发送的生理参数采集数据包,并将数据封装、加载TCP/IP字段,通过Socket接口将数据包发送至生理参数实时监测软件。

1.1.4 工作流程

生理参数采集嵌入式软件工作流程如图2所示。生理参数采集设备上电后,主控制模块启动并初始化通信管理模块。首先由通信管理模块接收生理参数实时监测软件远程控制命令数据包;再通过数据解析模块将数据包解析为控制命令和配置命令等,当各生理参数采集子模块接收数据传输命令后开始采集发送数据到主控制模块,由数据编码模块将数据统一格式编码后使用发送线程传输到通信管理模块;最后由通信管理模块的Socket建立的TCP/IP通道发送到生理参数实时监测软件。

图2 生理参数采集嵌入式软件工作流程

1.2 生理参数实时监测软件设计与实现

1.2.1 架构设计

生理参数实时监测软件基于Windows系统,使用Visual Studio 2015开发软件开发,由于需要处理多个任务,故采用多线程模型开发[8-11]。该软件采用模块化分层设计,包括视图层、功能模块层、通信支撑层和辅助功能层4个功能层,如图3所示。各功能层间设计遵循低耦合度设计,以方便软件的功能维护以及未来的功能扩展。

图3 生理参数实时监测软件架构图

(1)视图层:采用.Net From窗口设计方法,实现数据监测界面中的生理参数波形、数字的实时显示,数据分析界面中的波形、参数趋势显示,数据自动回放界面中的数据全过程自动回顾显示,人员信息管理界面中的人员信息列表显示,数据管理界面中的数据列表显示以及参数配置界面中的配置参数显示。

(2)功能模块层:属于核心层,采用面向对象的编程思想进行模块化设计,降低各独立功能模块间的依赖关系,便于各个模块间的功能升级与扩展。该层主要实现生理参数的采集、存储、可视化展示、分析,采集设备管理以及与外部系统接口功能,便于其他业务功能模块代码重构和扩展应用。

(3)通信支撑层:实现包括TCP通信、UDP通信、串口RS232通信功能,主要负责创建和销毁Socket传输链路,实现控制命令的读操作和数据采集写操作等逻辑流程。

(4)辅助功能层:LOG管理模块实现用户交互界面操作、数据读写、数据通信等异常事件的日志管理,方便管理员及时掌握软件运行情况和软件问题的修复工作;配置管理模块实现软件与生理参数硬件采集设备IP、端口等远程访问设置;工具支持模块支持Excel、Word模板的编辑、导入和导出;数据库管理模块用于配置本地数据库连接配置。

以实时生理参数监测典型工况为例,其各层之间的交互工作流程为:首先,生理参数实时监测软件的通信管理模块监听并接收生理参数采集嵌入式软件传输过来的网络数据包并去除IP地址信息部分,保留生理参数原始数据;然后,通信管理模块将解析后的生理参数数据部分发送给功能模块层的数据编解码与解析模块,按照约定的数据协议将数据包分成各个生理参数数据和波形;之后,数据编解码与解析模块将数字参数和波形数据按时间顺序放入生理数据显示模块的显示队列中进行实时显示,显示配置模块可对参数、波形的显示顺序和显示范围等进行设置;接下来,通过生理数据存储模块将数据转换为约定存储格式并生成存储记录;最后,生理数据回放模块和生理数据分析模块通过加载生成的存储记录可对存储文件进行离线数据回放、数据测量和趋势分析。

1.2.2 功能模块层设计

功能模块层由生理数据显示模块、生理数据回放模块、训练数据存储模块、生理数据分析模块、显示配置模块、受试者管理模块、数据编解码与解析模块、接口配置管理模块和采集设备管理模块等构成。

(1)生理数据显示模块。该模块实现实时显示生理参数采集嵌入式软件接收到的生理参数数值与波形数据,点击下方“波形显示”按钮可显示或隐藏对应波形。同时可以点击“波形显示设置”快捷按钮,在波形参数设置界面调整波形上下显示顺序,可将重点关注的波形放在界面的最上方显示。另外,也可双击每条波形左侧的坐标轴,对坐标轴的范围进行调整,防止基线漂移导致波形不能在当前窗口显示。还可右键点击相应波形选择滤波方式或波形增益等设置。生理数据显示界面如图4所示。

图4 生理数据显示界面

(2)生理数据回放模块。该模块通过文件系统浏览选择训练数据保存,当数据文件加载后,可点击“播放”按钮,数据文件可按照实时监测的时间轴自动回放数据,在自动回放期间可点击“暂停”键暂停波形移动,然后点击屏幕波形可显示相应时间位置点对应的生理参数数值。另外,可通过拖拽播放进度条快速浏览到想要查看的位置。生理数据回放界面如图5所示。

图5 生理数据回放界面

(3)训练数据存储模块。在生理参数实时监测软件进行生理参数监测时,可以保存训练数据,以“受试者名字-G值-YYYYMMDDHHMMSS.dat”命名格式保存文件。训练结束后,数据文件存储在本地,通过该模块可查看文件信息和对文件进行操作,包括查看文件名、文件大小,同时也可执行数据回放和删除文件等操作。

(4)生理数据分析模块。该模块用于分析过往保存的实验数据,主要包括波形分析、趋势分析、心电图统计分析等,并可生成相应的分析报告。波形分析时可点击“下一页”“上一页”按钮显示不同时间下的波形变化,单击波形可显示当下对应时间的抗荷服压力、呼吸面罩压力、心率、呼吸率等数值参数;趋势分析可以按照5、10、30 s等不同时间粒度进行抗荷服压力、呼吸面罩压力、心率、呼吸率等趋势显示;心电图统计分析统计整个训练过程中的心搏总数、心动过速、早搏等心率异常事件及最大心率、最小心率等参数。生理数据分析界面如图6所示。

图6 生理数据分析界面

(5)显示配置模块。该模块可根据不同显示器的屏幕大小和分辨力灵活配置屏幕显示的波形通道数,也可根据训练和实验的目的配置重点需要显示的波形;可以灵活配置波形和数字参数的显示顺序,可将重要的信息放在屏幕顶端或最易观察到的位置;还可以配置波形显示纵轴的坐标范围,防止波形超出显示范围而观察不到波形,也可通过配置波形增益,调整波形显示幅度值。

(6)受试者管理模块。该模块可对受试者信息进行新增、删除和修改等操作,也可通过模板将受试者基本信息批量导入该模块,还可根据受试者基本信息查询当前受试者历次载人离心机训练的生理数据。

(7)数据编解码与解析模块。该模块实现TCP、UDP数据流解析和数据编码功能。数据流解析实现将网络数据包头和包尾去除后、将数据流体分解成心电、脉搏波波形、心率、体温、呼吸等数字参数。数据编码实现将生理参数采集设备控制命令进行命令协议封装和网络协议封装后发送到远端心电、血氧、体温等采集设备进行控制参数设置。

(8)接口配置管理模块。该模块主要是配置外部接口的参数,如生理参数采集设备的IP地址和通信端口号,并将这些网络配置参数保存在xml文件中。软件启动后,加载该xml文件可将原来配置好的参数读入,不用进行二次配置。

(9)采集设备管理模块。生理参数实时监测软件在与生理参数采集嵌入式软件连接前需要正确设置连接参数,通过设置导联模式来接收相应导联的心电数据。另外,还可以设置心电、呼吸波形增益参数,根据波形幅值变化适当调整显示幅度值。生理参数采集设备参数管理界面如图7所示。

图7 生理参数采集设备参数管理界面

1.2.3 运行模式

生理参数实时监测软件采用多线程结构,分为2种运行模式:训练模式和分析模式。训练模式下通信线程建立设备命令队列和设备数据队列,设备命令队列暂存要执行的设备控制命令,设备数据队列暂存接收到的监测数据。设备命令处理线程和设备数据处理线程按队列顺序去执行相应操作,如设备数据处理线程新建数据展示线程来显示波形和数字参数,同时新建数据存储线程完成数据的存储。训练模式的线程交互流程如图8所示。分析模式用于离线分析实验数据,通过建立临时线程加载目标分析数据文件并按照数据协议格式加载到数据队列,同时建立设备数据处理和数据展示2个永久线程,分别进行数据的二次处理统计计算和波形、参数的显示,直到关闭分析界面后关闭永久线程。分析模式的线程交互流程如图9所示。

图8 训练模式的线程交互流程

图9 分析模式的线程交互流程

2 应用效果

自2021年8月生理参数实时采集监测软件应用到飞行员载人离心机训练以来,训练人数达百余人次,应用效果表明:(1)软件实时监测界面布局合理,数字参数、波形显示直观清晰;(2)参数配置操作简单,可以在实时监测过程中更改显示参数、显示顺序位置、显示范围等,不会影响监测实时性;(3)数据分析精确度高,分析粒度达到了秒级;(4)生理参数变化与G值变化时间同步性好,可准确清楚展现出G值与生理参数的变化趋势;(5)数据分析功能强大,提供了自动回放、数据自动测量工具;(6)软件报告生成模板多样化,可以自动生成不同主题的分析报告,无需医学主持人手工填写结果与结论,只需打印出来签字即可。软件功能测试界面如图10所示。另外,该软件较之前的软件具有以下优点:(1)扩展了高载荷条件下血氧、血压、体温、呼吸等生理参数的监测,为采用多模态生理参数分析方法判定飞行员身体机能状态的研究奠定了基础;(2)软件的人机交互和用户界面设计进行了大幅度的修改,提供了操作快捷键简化操作流程,大大提升了训练数据管理效率;(3)该软件可提供强大的分析和回放功能,为飞行员训练后的分析、评估和科研工作提供了技术支撑;(4)软件架构采用模块化设计,易于扩展功能,为今后扩展其他监测参数以及智能评估飞行员抗载荷能力提供了必要的开发接口。

图10 软件实时监测与数据分析功能测试界面

3 结语

载人离心机生理参数实时采集监测软件可提供丰富的生理监测参数以及强大的分析功能和报告功能,使医学指挥人员更精准掌握飞行员载人离心机训练的身体状态,及时、准确获取停机指征并执行医学停机,有效降低了飞行员发生意识丧失的概率,对飞行员载人离心机训练鉴定评估工作提供了非常有效的帮助。另外,软件设计过程中充分考虑到需要扩展监测的参数,比如脑电、动态连续血压监测参数,预留了这些参数的数据和显示接口。数据协议采用面向对象设计思想,采用松耦合的继承关系[8],方便将来不同生理参数设备数据协议的扩充,这对于后续载人离心机训练生理参数监测能力的提升至关重要。

目前该软件还存在以下几个问题:(1)受试者信息填写还需要手动填写,降低了使用的效率;(2)生理参数监测项目、内容还不够丰富;(3)软件还没有智能化分析评估的功能。针对上述问题需要进一步开展的工作如下:一是进一步扩展监测参数,在原来的基础上扩展集成脑电、近红外脑血流等生理参数以及视频语音等多媒体信息集成监测分析;二是受试者配备身份证读卡器即可自动读入受试者身份信息,节省手工录入时间,提高工作效率;三是利用该软件开展飞行员高载荷条件下多模态智能化抗载荷综合能力评估研究。

猜你喜欢
离心机波形生理
离心机转速的写法及相对离心力的正确表示
离心机转速的写法及相对离心力的正确表示
离心机转速的写法及相对离心力的正确表示
基于时域波形掩护的间歇采样干扰对抗研究
享用诺贝尔生理医学奖的镇痛成果
极化正交编码波形雷达试验系统.
“雷达波形设计与运用专刊”编者按.
短臂载人离心机的研制及+Gx/-Gz的过载生理研究
通用6T系列变速器离合器鼓失效的解决方案
铜绿微囊藻对锌、镉胁迫的生理响应