用户故事

VivaQuant加速了嵌入式动态心电传感设备的开发和验证

挑战

设计并实现一个嵌入式系统,用于从有噪声的心电图信号中提取精确的信息

解决方案

利用MATLAB开发了一种带内噪声去除算法,并利用定点设计器和MATLAB编码器在ARM Cortex-M系列处理器上实现

结果

  • 发展速度加快300%
  • 功耗和内存消耗最小化
  • 严格的测试使

“MATLAB、MATLAB Coder和定点设计器使我们的小团队能够开发一个复杂的实时信号处理算法,优化它以减少电源和内存需求,加速嵌入式代码实现,并执行医疗设备验证所需的严格测试。”

玛丽娜布若克韦,VivaQuant
用VivaQuant的嵌入式带内噪声去除算法处理前后的心电图片段。

每年,有超过400万患者因心跳加速或剧烈跳动而感到头晕、昏厥或不适。他们的医生给这些患者一个小型可穿戴设备,在他们正常活动的一个月里,通过心电图(ECG)持续监测他们的心率。与在医院或医生办公室获得的心电图记录相比,这些动态心电图经常被噪音干扰,很难或不可能进行分析。噪声可能导致假阳性和假阴性事件检测,增加分析时间和成本,并可能导致延迟或漏诊心律异常。

VivaQuant公司的工程师在美国国家心肺和血液研究所的支持下,正在开发一种心律监测设备,该设备将使用多域信号处理™(MDSP)来抑制高达26 dB的带内噪声,而不会扭曲心电波形。本装置,用MATLAB进行算法设计®并在嵌入式处理器上使用MATLAB Coder™实现,能够从噪声心电图中准确检测心律失常。VivaQuant的创始人兼首席技术官Marina Brockway说:“我已经用MATLAB开发复杂的信号处理、控制和信息算法很多年了。“有了MATLAB编码器和定点设计器,我可以比我想象的更快地从想法到产品。”

挑战

简单的无限脉冲响应(IIR)滤波器可以降低心电通带外的噪声,但不能在不使信号失真的情况下去除通带内的噪声。为了实现这一目标,VivaQuant需要开发一种算法,在大型矩阵上执行复杂的计算,然后将其实现在一个足够小的设备上,可以舒适地佩戴数周,而无需更换电池。整个系统,包括微处理器和前端电子设备,需要在消耗不到1毫安电流的情况下实时获取和处理双矢量心电图。

VivaQuant试图改进传统的设计方法,即算法由一个团队开发,然后交给一个独立的程序员团队来实现。布罗克韦说:“当算法开发人员把一个设计扔给另一个团队时,在沟通中往往会丢失很多东西。”“我们需要在不影响性能和质量的前提下,用一个小团队来做这件事。”

解决方案

VivaQuant使用MATLAB和MATLAB Coder来加速开发。

Brockway和她的同事使用MATLAB和信号处理工具箱™开发了该算法的浮点版本,该算法使用了矩阵运算、统计测试、数字滤波器以及信号检测和估计。

他们通过测试心电数据验证了该算法,包括相同心电信号的干净版本和噪声版本。他们在已知的干净的心电信号中加入各种噪声,然后应用算法来验证噪声已经被降低,ECG信号的原始特征没有被扭曲。

使用定点设计器™,他们将浮点算法转换为定点算法。他们使用算法代码记录最小和最大变量值,并使用这些信息优化定点数据类型,以在严格的处理器约束下获得准确性。

为了保持浮点和定点版本之间的等价性,他们在每个优化步骤之后验证定点实现。该团队开发了一个MATLAB测试平台,根据测试数据自动运行定点和浮点版本,并对结果进行统计比较。

该团队使用MATLAB Coder为各个算法模块生成C代码,从而加速了测试。他们还创建了可执行的MATLAB文件,以便在测试运行期间调用C代码。

他们为整个算法生成C代码,并将其部署到ARM上®皮质®-M系列处理器,并进行了进一步优化和测试。

VivaQuant已经完成了在ARM Cortex处理器上实现MDSP算法的可行性的原型,目前正在进入正式的开发和测试阶段。

结果

  • 发展速度加快300%.Brockway说:“使用MATLAB和MATLAB Coder,我们只用了6个月就实现了算法,而不需要单独的编程团队。”“我估计我们的过程比传统方法的效率高三到四倍,使我们能够在实时嵌入式系统中快速部署高度复杂的算法,以改善患者的生活。”

  • 功耗和内存消耗最小化.布罗克韦说:“我们的目标电池寿命是3周,容量为15cc。“定点设计器使我们能够优化算法并超越这一目标。这款设备的重量不到15克,而且与目前的许多设备不同,它佩戴起来很舒适。”

  • 严格的测试使.Brockway指出:“对于一个医疗设备来说,质量、可靠性和安全性是至关重要的。”“我们用MATLAB构建的测试平台使我们能够在开发的每个阶段进行严格的测试,并自动识别结果中的任何差异。”

2022世界杯八强谁会赢?产品使用

展示你的成功

加入客户参考计划

Baidu
map