고객 사례

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

挑战

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

解决方案

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

结果

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

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

Yulya Goryachev,呼吸器
AirSonea设备和移动应用程序包含喘鸣分析算法。

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

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

挑战

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

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

在过去,呼吸器工程师需要花几个月的时间手动编写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语言的实现,”Respiri的高级算法工程师Yulya Goryachev说。“现在,我们用MATLAB Coder自动生成C代码,这大大减少了时间和精力。”

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

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

下载188bet金宝搏产品使用

귀하의성공을소개하십시오。

고객사례공유하기