用户故事

呼吸器开发的移动应用程序的喘息检测和哮喘管理

挑战

开发和实施一个声学呼吸监测系统,以检测气喘和哮喘的管理

解决方案

在MATLAB中开发检测呼喊声和环境噪声的算法,并使用MATLAB Coder从算法中生成用于移动设备和web服务器的代码

结果

  • 减少了手工编码工作
  • 加速算法开发迭代
  • 代码维护开销减少

“MATLAB使我们能够快速开发、调试和测试声音处理算法,而MATLAB Coder简化了用c实现这些算法的过程。没有其他环境或编程语言可以在相同的时间内产生类似的结果。”

但是Goryachev, Respiri
AirSonea设备和移动应用程序包含了喘息分析算法。

管理哮喘对医生和病人来说都是困难的。当医生在临床环境中评估哮喘患者时,他们会听是否有喘息,这是哮喘的主要症状,也是肺部气流梗阻的迹象。但是,当医生不能直接检查病人时,他们必须依靠病人或病人的父母来描述气喘和其他症状。这种对哮喘症状和当前状况的自我报告是不可靠的,特别是当患者是儿童时。

respiratory的工程师开发了一种技术,哮喘患者可以用它来记录和分析自己的呼吸。AirSonea没有听呼哧呼哧的声音®技术可以从记录的呼吸声音图像中检测出喘息模式。Respiri使用MATLAB®开发声学呼吸监测算法,并使用MATLAB编码器将它们实现为一个移动应用程序和基于云的服务器软件。

挑战

respiratory需要开发一种算法,能够识别频率、振幅和持续时间不同的喘息声,这些声音是由患者气管附近的专门传感器产生的30秒音频记录产生的。为了尽量减少环境噪音的影响,团队需要测量和分析来自用户环境的声音。

他们与墨尔本的应用程序开发公司Two Bulls合作,决定开发一款应用程序,可以处理移动设备上的记录,调用呼机分析算法,并将结果返回给患者。该应用程序还可以通过使用移动设备内置的麦克风来记录环境声音,从而对外部噪音进行独立评估。

在过去,Respiri的工程师需要花几个月的时间来手工编写C语言算法。他们需要一种方法,可以将他们用于呼吸检测和环境噪声分析的算法快速转换成C语言代码,以便部署在移动设备上。

解决方案

呼吸器工程师使用MATLAB和计算机视觉工具箱开发了喘鸣检测算法。该算法将30秒的录音转换为声谱图,然后对声谱图进行分析,根据能量模式和其他常见的哮鸣特征来识别潜在的哮鸣候选者。该算法进行进一步处理以拒绝误报。

为了开发环境噪声检测算法,工程师应用了一个汉明窗口,进行了快速傅里叶变换,并使用MATLAB和信号处理工具箱确定了多个频率范围的光谱最大值

在MATLAB中调试和测试这两种算法后,团队使用MATLAB Coder从MATLAB代码生成可执行函数。这一步使团队能够验证代码适合于代码生成,并检查运行时错误。

接下来,工程师使用MATLAB Coder从算法中生成C代码。为了验证生成的代码,他们从MATLAB内部调用它,并将结果与原始MATLAB算法产生的结果进行比较。

在随后的一轮测试中,工程师们使用Microsoft编译生成的C代码®Visual Studio®,再次比较结果进行验证。

该团队将用于噪音检测算法和呼哧呼哧检测的C代码集成到苹果iPhone应用程序中;谷歌的版本®安卓设备计划。

最终的系统在一个暗室中进行了测试,测试软件是团队用MATLAB和MATLAB Coder开发的。

AirSonea正在等待美国FDA的批准,并已获得欧盟Conformité Européenne (CE Mark)认证和澳大利亚TGA批准。

结果

  • 减少了手工编码工作.“在过去类似的项目中,我们必须用C重新编码算法,然后调试C实现,”Respiri的高级算法工程师Yulya Goryachev说。“现在,我们用MATLAB Coder自动生成C代码,这大大减少了时间和精力。”

  • 加速算法开发迭代.“在修改算法之后,我们只需重新生成C代码并立即测试它,”Goryachev说。“以前,工程师不得不依赖C程序员。如果他们忙于其他项目,通常需要几天时间才能实施这些改变。”

  • 代码维护开销减少.“分别维护算法和C源代码需要软件工程师的全职工作,”Goryachev说。“MATLAB Coder使我们能够在MATLAB中维护一种算法,并在发布时将其转换为C语言,从而解放工程师去从事其他项目。”

下载188bet金宝搏产品使用

展示你的成功

加入客户参考计划