用户故事

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

挑战

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

解决方案

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

结果

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

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

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

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

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

挑战

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

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

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

解决方案

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

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

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

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

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

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

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

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

结果

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

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

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

s manbetx 845产品使用

展示你的成功

加入客户参考计划