用户故事

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

挑战

开发和实施声学呼吸监测系统,用于气喘检测和哮喘管理

解决方案

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

结果

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

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

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

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

breathi的工程师已经开发出一种技术,哮喘患者可以用它来记录和分析自己的呼吸。airsona不是用来听喘息声的®技术可以在记录呼吸声音的图像中检测到喘息的模式。Respiri使用MATLAB®开发了声学呼吸监测算法,并使用了MATLAB Coder将它们实现为移动应用程序和基于云的服务器软件。

挑战

呼吸器公司需要开发一种算法,能够从病人气管附近的一个专门传感器产生的30秒音频记录中识别不同频率、振幅和持续时间的喘息声。为了将环境噪声的影响降到最低,团队需要测量和分析来自用户环境的声音。

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

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

解决方案

呼吸工程师使用MATLAB和计算机视觉工具箱开发喘鸣检测算法。该算法将30秒的音频记录转换为频谱图,然后分析频谱图,根据能量模式和喘息的其他共同特征识别潜在的喘息候选者。该算法进行进一步处理,以排除假阳性。

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

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

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

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

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

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

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

结果

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

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

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

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

展示你的成功

加入客户参考计划

Baidu
map