Casosprácticos.

FLIR加速了热成像FPGA的开发

挑战

加快实施FPGA硬件的先进热成像滤波器和算法的实现

解决方案

使用MATLAB开发,模拟和评估算法,并使用HDL编码器在FPGA上实现最佳算法

结果

  • 从概念到现场可测试原型的时间减少了60%
  • 增强功能在几小时内完成,而不是几周
  • 代码重用从零增加到30%

“与MATLAB和HDL编码器我们更敏感的市场需求。我们现在拥抱改变,因为我们可以在几周内为实时的硬件原型带来一个新的想法。工程方面有更多的快乐,因此我们可以提高工作满意度以及客户满意度。“

尼古拉斯霍斯滕,Flir Systems
原始图像(上)和使用HDL编码器开发的滤波器后的图像(下)。

热成像红外摄像机广泛应用于商业应用,包括安全、消防、气体泄漏检测、测试和测量。摄像头内的fpga对传感器和探测器产生的信号进行过滤和处理。通常,将一个新的信号处理概念转化为在生产摄像机上实时运行的算法是一个漫长的过程,因为硬件工程师必须将算法工程师开发的算法转换为HDL,而不需要深入了解算法是如何工作的。

在FLIR系统中,工程师在MATLAB中开发和模拟高级算法®然后用HDL编码器迅速在FPGA上实现它们.FLIR的图像处理技术经理Nicholas Hogasten说:“在过去,我们很少向我们的客户展示模拟,因为我们的想法将其变成产品需要很长时间。”“最近,我们向一位主要客户展示了一种新型热成像滤波器的模拟,这是我们开发过的最复杂的滤波器。几个月后,当我们向客户展示了第一个使用这种新滤波器的摄像机时,我们的客户欣喜若狂,该摄像机使用HDL编码器生成,并执行了与MATLAB仿真完全一样的操作。”

挑战

FLIR早期开发过程中的困难来自于开发新思想和算法的算法工程师和在fpga上实现算法的硬件工程师之间的脱节。算法工程师会评估降噪或动态范围压缩的新技术,然后将书面规范交给硬件工程师,他们可能不完全了解算法。

“经常,FPGA实现不会像我们的模拟一样表现,如果实施或算法出现问题,我们从未知道过问题,”Hogasten说。“也是,因为硬件工程师没有对算法的深刻理解,他们不知道在优化它时安全的安全是安全的。如果我们后来对算法进行了很小的增强,那么大多数HDL可能必须重写。“

解决方案

FLIR为利用MATLAB和HDL编码器开发基于fpga的热成像算法建立了新的工作流程。

算法工程师使用MATLAB和图像处理工具箱基于形态运算和多维图像滤波探索新算法。

这些工程师选择实现的算法,并识别映射到目标FPGA硬件的算法组件。在此分区期间,该团队从图像处理工具箱替换了支持代码生成的MATLAB代码的高级功能。金宝app图像处理工具箱算法提供了一个金色的参考,缓解FLIR自定义MATLAB代码的验证。

为了实现位真仿真和分析,工程师在HDL Coder中使用集成的浮点到定点工作流,自动将浮点MATLAB算法转换为使用fixed-point Designer结合算术和数据类型的定点MATLAB代码

为了支金宝app持在FLIR中使用的其他测试环境,团队使用MATLAB编码器从生成的Fixed-point MATLAB代码生成C代码和MEX文件。

接下来,该团队使用HDL编码器从MATLAB算法生成合成的HDL代码。然后在FPGA上实现并测试HDL码,并将结果与​​来自定点MATLAB算法的结果验证。

在相关项目中,工程师使用MATLAB编译器和图像采集工具箱要构建从摄像机和帧抓取器获取图像的应用程序,请使用各种算法处理它们,并显示结果。此应用程序使其他FLIR工程师能够评估一系列输入的算法,即使它们没有安装MATLAB也是如此。

结果

  • 从概念到现场可测试原型的时间减少了60%.Hogasten说:“有了MATLAB和HDL编码器,我们就省去了手工将初始算法翻译成HDL的步骤。”“现在,算法开发人员可以自己制作FPGA原型,这将节省60%的原型制作时间。”

  • 增强功能在几小时内完成,而不是几周.“最近,我问我们的工程师之一对核心过滤器进行了重大的算法改变,”Hogasten报告“。“三个小时后,他使用HDL编码器将Matlab的变化进行了更改并将算法重新部署到FPGA。以前,这种类型的变化将需要六个星期。“

  • 代码重用从零增加到30%.“我们现在有一个常用的算法,简单的组件和Matlab代码已经验证了HDL代码生成,”Hogpasten说。“以前,我们几乎没有代码重用,但今天我们重复使用30%的MATLAB代码来为其他项目生成HDL。”