技术文章及通讯

宾夕法尼亚大学开发用于实时闭环测试起搏器的电生理心脏模型

作者:Zhihao Jiang和Rahul Mangharam,宾夕法尼亚大学


从1990年到2000年,制造商召回了60多万台心脏医疗设备。其中约有20万起召回是由于软件问题。

一个典型的起搏器包含8万到10万行代码,制造商很难使用当前的行业实践来识别软件错误。这些实践依赖于开环测试,测试人员将预先录制的心脏信号输入起搏器并评估相应的输出。开环测试可以揭示心脏起搏器对各种心脏状况的反应,但不能揭示心脏在闭环系统中对心脏起搏器的反应。这在起搏器介导的心动过速等情况下尤其重要,在这种情况下,起搏器可以将心脏推向不安全的状态。

在宾夕法尼亚大学电气与系统工程系,我们的团队开发了一种首创的心脏电生理模型,可以对起搏器进行实时闭环测试。MATLAB开发®和仿真软金宝app件®在美国,这种芯片上的心脏系统可以进行配置,以匹配患者特定的电生理特征,它可以模拟各种心脏状况,以实现起搏器软件的早期验证。

心脏起搏器和心脏传导系统

从工程学的角度来看,心脏是一个机械泵,使血液在全身循环。从心脏起搏器的角度来看,它是一个需要精确定时电信号的实时系统。

心脏传导系统是一个由节点和通路组成的网络,这些节点和通路携带电信号,导致心脏腔室收缩和放松(图1)。在健康的心脏中,收缩是有节奏的。心脏传导系统的中断会导致心跳加快(包括心房扑动和纤颤),也会导致心跳减慢(称为心动过缓)。

UPenn_Figure_1_w.jpg
图1。心脏的传导系统(左),表示为节点和路径的网络(右)。

心脏起搏器装有电极,可以感知心脏的电活动。当起搏器软件检测到心律异常时,它会向一个或多个心脏腔室发送精确定时的电脉冲。心脏和起搏器形成了一个闭环系统,在这个闭环系统中,心脏行为的变化会导致起搏器活动的变化,反之亦然。

建立心脏模型

为了更好地理解电信号是如何在心脏中工作的,我们在宾夕法尼亚大学医院旁听了心脏手术。在这些手术中,电生理科的医生通过导管将电流注入心脏。然后他们监测心脏的电行为,并测量沿通路的电导率。

我们在MATLAB中创建了心脏的初始电生理模型。我们选择MATLAB有几个原因。首先,我们需要在开发的早期阶段进行广泛的设计探索,而MATLAB是尝试新想法的绝佳环境。其次,我们的大多数研究生已经是有经验的MATLAB用户,所以他们可以立即为项目做出贡献,而不需要学习新的软件。第三,MATLAB和Simulink金宝app支持fp金宝appga和嵌入式系统的代码生成,这是我们实时测试所需要的。

在模拟和完善MATLAB心脏模型之后,我们创建了Simulink和Stateflow金宝app®的版本。该模型为我们提供了心脏节点和路径的可视化表示,并且实现了比MATLAB版本更快的模拟。Simu金宝applink和Stateflow模型包含大约30个节点和30个路径子模型,我们将其开发为Stateflow图。节点自动机子模型包括三个状态,分别对应一个静止状态和两个活动状态,有效不应期(ERP)和相对不应期(RRP)(图2)。

UPenn_Figure_2_w.jpg
图2。节点自动机的状态流程图。

路径自动机更为复杂,包括描述路径传导的五种状态:ante(正向传导)、idle(无传导)、retro(反向传导)、double(双向传导)和冲突。费城退伍军人医院心脏电生理学主任对心脏模型中的几例心律失常进行了验证。

建立起搏器模型

在Simulink和Stateflow中对起搏器建模之前,我们使用金宝app丹麦奥尔堡大学和瑞典乌普萨拉大学联合开发的UPPAAL建模环境构建了一个时间自动机模型,专门用于正式验证。基于起搏器制造商提供的规范,该模型使我们能够探索设计空间,并证明设计的特定属性符合要求。更传统的方法是从Simulink和Stateflow模型开始,然后使用Simulink Design Verifier™执行正金宝app式验证。我们计划使用Simulink 金宝appDesign Verifier来正式验证事件的时间以及设计的运行时和安全属性。

我们使用了UPP2SF,一个在Penn开发的模型转换工具,自动将我们在UPPAAL中基于时间自动机的模型转换为Simulink和Stateflow模型进行仿真和测试(图3)。金宝app

UPenn_Figure_3_w.jpg
图3。起搏器设计状态流程图。

闭环仿真与实时实现

随着心脏模金宝app型和起搏器模型的Simulink和Stateflow版本的完成,我们进行了闭环仿真来验证起搏器的行为。例如,我们模拟了几个闭环场景,包括起搏器介导的心动过速和心房扑动;我们的正式验证分析强调有潜在问题的场景;以及失效情况,比如起搏器导线移位。我们还使用仿真来比较和评估不同版本的起搏器算法。

测试真正的起搏器——不仅仅是模型——是我们的主要目标之一。为了实现这个目标,我们需要在实时硬件上实现心脏模型。我们使用HDL Coder™来生成VHDL®来自Simulink和Sta金宝appteflow模型的代码,使我们能够在Altera上部署芯片上的心脏®FPGA(图4)。生成的代码非常高效,我们能够在一个低端FPGA上实现多个版本的心脏模型。

UPenn_Figure_4_w.jpg
图4。FPGA实现心脏模型。

对于我们的第一个实时测试,我们通过使用嵌入式Coder从我们的Simulink和statflow起搏器模型生成C代码来构建一个简化的起搏器金宝app®并将其部署到Atmel上®嵌入式单片机。在这些测试成功之后,我们使用FPGA芯片上的心脏和生产起搏器进行了闭环测试。

芯片上的心脏平台在2012年韩国首尔举行的世界嵌入式系统竞赛(高科技医疗服务)中获得一等奖。

创建配置模型的接口

我们的心脏模型是高度可配置的,可以解释患者电生理导电性的变化。首先,我们直接在Simulink模型中进行配置更改。金宝app为了简化我们团队和其他研究人员的这一步,我们开发了Penn虚拟心脏模型模拟器,这是一个用MATLAB构建的界面,允许用户为新的心脏模型指定拓扑,然后根据所请求的拓扑和配置参数自动配置模型(图5)。

UPenn_Figure_5_w.jpg
图5。宾虚拟心脏模型模拟器界面。

在幕后,宾夕法尼亚大学虚拟心脏模型模拟器使用MATLAB脚本根据所请求的拓扑和配置参数生成Simulink和Stateflow模型。金宝app

下一个步骤

我们正在与美国食品和药物管理局以及起搏器制造商合作,建立一个框架和指南,使用我们的心脏模型进行起搏器软件的早期验证。我们计划开发一种系统,可以自动将患者的电生理测试结果转换为定制模型,该模型具有针对患者心脏优化的参数。

我们在心脏模型方面的工作补充了一个相关项目,在该项目中,宾夕法尼亚大学的研究人员开发了通用输液泵模型和参考规范,用于验证医疗输液泵的安全性。这两个项目都旨在提供生物系统的真实模型,以改进医疗设备的测试。我们计划通过开发与一系列医疗设备(包括镇痛泵、血糖和胰岛素监测系统)相互作用的人体系统的Simulink模型,继金宝app续在这一领域取得进展。通过实现软件的早期验证以及实时闭环测试,这些模型将使医疗设备制造商更容易提高软件质量并减少设备召回数量。

发布日期2013 - 92119v00