EDN China > 设计实例 > 医疗电子 > 视频诊断与监控 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

采用FPGA实现医疗影像

与非网?? 2011年06月17日 ?? 收藏0

  为获取信号中的事件信息,小波分析使用可变窗口技术每次分析一小部分信号。小波分析对精确的低频信息使用较长的时间间隔,对高频信息使用较短的间隔。小波应用包括探测不连续点以及断点、探测自相似、抑制信号、去除信号噪声、去除图像噪声、压缩图像以及大型矩阵快速乘法运算等。

  最近开发的S变换(ST)结合了FFT和小波变换。它揭示出频率随空间和时间的变化。其应用包括纹理分析和噪声滤除等。但是,ST的计算量较大,采用传统的CPU实现起来速度太慢。分布式矢量处理技术解决了这一问题,它在FPGA中同时采用矢量和并行计算,处理时间缩短了25倍。

  一种癌症早期探测的方法利用了病人的重新造血能力。数字传感器探测人体辐射出的红外能量,从而“看到”由于癌症导致血流增加而出现的微小差异。其典型实现基于可编程心缩矩阵,采用了通用工作站以及FPGA专用硬件引擎来实现。和目前的高端工作站相比,该引擎将核心算法速度提高了近1,000倍。

  这些复杂影像算法需要哪些关键FPGA构建模块函数呢? 在CT重建中,需要插值、FFT和卷积函数。在超声中,处理方法包括颜色流处理、卷积、聚束、混合和弹性估算等。普通影像算法包括颜色空间转换、图形覆盖、2D/中值/时间滤波、缩放、帧/域转换、对比度增强、锐化、边沿探测、限幅、平移、极坐标/笛卡儿坐标转换、不均匀校正以及象素替换等函数。

  可更新的平台

  很多影像系统以前都采用专用计算系统进行构建。现在,随着高性能COTS CPU板的推出,系统工程师可以采用更现成的方法。虽然软件自己可以完成很多算法的非实时处理,但实时影像处理还是需要辅助硬件。目前的FPGA内置了DSP模块、宽带存储器模块和大量的可编程单元,是实现这些辅助硬件的理想器件。

  Altera与其合作伙伴密切协作,实现了FPGA协处理资源和COTS CPU解决方案的可靠集成。对于Intel和AMD单板计算机(SBC),内置了串化器/解串器的Stratix II GX FPGA能够直接实现PCI Express兼容协处理器板,承担算法功能。对于双插槽的AMD SBC,Altera合作伙伴XtremeData提供协处理器子卡,直接插入到一个Opteron插槽中,提供非常好的CPU+FPGA处理方案(参见图1)。对于性能要求更高的大计算量应用,四插槽AMD SBC可以提供多种CPU+FPGA协处理器组合方案(1+3,2+2或者3+1)。可以采用多个1-U刀片服务器来实现非常灵活的平台,每个刀片完成CPU+FPGA协处理器方案。

图1 XtremeData XD1000系统图

  注:XD1000?直接插入到多Opteron母板的Opteron?插槽940中,使用母板的现有CPU基本结构。

  这些平台的应用加速取决于算法——FPGA承担的算法中并行计算越多,运行速度就越快。例如,由基于FPGA的硬件来加速实现CT影像算法时,每个3-GHz CPU结合一个FPGA协处理器,运行速度提高10倍,大大降低了系统级功耗,节省了空间和成本。

  开发方法

  现在,让我们考虑算法开发方法以及相应的实现工具。

  算法工具

  影像设计人员使用高级软件工具对各种算法建模,并对结果进行评估。数字信号处理最好的通用工具是MathWorks的MATLAB处理引擎和Simulink仿真器GUI。大部分OEM和医疗设计机构使用MATLAB来开发快速精确的算法,包括数字图像处理、图像定量分析、模式识别、数字图像编码/压缩、自动显微影像、法医图像处理以及二维小波变换等。除了算法开发外,MATLAB还可以仿真FPGA中常用的定点算法,提供可选的工具,生成能够运行在通用CPU上的C代码。

  划分和调试

  算法开发完成后,系统设计人员必须确定怎样在CPU和FPGA之间划分功能,提供最好的总体解决方案,在性能、成本、可靠性和使用寿命上达到最佳平衡。设备设计人员认为在高性能硬件系统上对算法进行划分和调试非常困难。以前的很多设计在FPGA中使用装配线方法,把算法分成多个函数,顺序执行。90%的调试功能都花在集成上。由于每个函数执行时间必须相互平衡,以实现最大吞吐量,因此出现了很多困难,无法观察本地存储器和延时。

  解决方案是基于分布式协处理器计算模型,“以软件为中心的方法”(参见图2),其中:

  协处理器中的每个函数是一个执行机(函数子处理器),子处理器之间具备基于消息的控制通过功能。

  所有存储器、CPU和子处理器之间可完全切换,能够全面观察,容易进行调试。

  内部FPGA子处理器之间以及系统内其他CPU和协处理器之间可以调整消息通过功能。

以软件为中心的设计

图2 以软件为中心的设计

  例如,在Altera/XtremeData协处理器解决方案中,利用了这些概念来实现优异的设计方法。AlteraFPGA的Avalon交换架构以及芯片可编程系统(SOPC)集成工具在所有功能单元之间自动构建灵活的交叉交换架构。接口IP提供FPGA至主机CPU以及FPGA至DIMM存储器经过预测试的接口。基于预测试消息的基本结构(由Nios CPU定义的软件)控制主机CPU、FPGA子处理器和FPGA存储器控制器之间的通信。消息传递和全交换功能简化了开发期间的调试,大大提高了灵活性。可以在执行期间软定义(重新定义)数据通路,在系统集成和调试期间对数据进行解释,改变传送方向,以提高其可观察性。

  设计工具和IP

  虽然MATLAB等工具非常适合软件算法开发,但是还不足以在FPGA中实现。设计人员使用Altera以及第三方EDA工具和IP,可以加速其设计在FPGA中的实现。例如,Altera提供全套的工具:DSP Builder、SOPC Builder、Nios II CPU开发套件、Nios II C语言至硬件加速(C2H)编译器和Quartus开发包等。

  Altera的视频和图像处理包以及DSP库提供关键IP构建模块,加速复杂影像算法的开发和实现。视频和图像处理模块库以及其他的Altera/合作伙伴IP模块和参考设计(包括IQ调制解调器、JPEG2000压缩、FFT/IFFT、边沿探测等),为设计人员提供了大量的IP来加速大计算量任务的FPGA实现。

  DSP Builder工具提供基于IP库的设计流程,链接MATLAB开发的算法和Altera Quartus工具包实现的FPGA。

  SOPC Builder是系统集成工具,自动生成IP模块、Altera MegaCores功能(包括Nios II CPU)、合作伙伴IP和用户定义功能之间的互联代码(Verilog或者VHDL)。

  Nios II开发套件使C程序能够植入到FPGA的一个或者多个Nios II CPU中,并进行调试。Nios II CPU是32位可配置RISC软核处理器CPU。

  Nios II C2H编译器是新工具,它分析C代码算法内循环,生成FPGA中的协处理器逻辑,大大提高了Nios II CPU所运行软件的性能。适度增加逻辑,运行速度便能够提高10到100倍。

  Quartus开发包是在AlteraFPGA中实现可编程硬件和软件功能的主要工具。它提供IP导入功能,以及仿真和布局布线等所有功能,在Altera开发板或者用户目标系统上进行FPGA编程。

  Celoxica等其他EDA供应商还提供C语言至HDL转换工具,以加速FPGA的实现。

  结论

  婴儿潮时期出生的人们寻求更可行的新治疗手段来治疗常见疾病(特别是与心脏病和癌症),包括早期探测和非置入手术治疗等。影像诊断方法融合及其相关算法开发上的进步大大推动了新设备的发展,满足了病人的需求。高级算法需要可更新的系统平台,该平台能够显著提高图像处理性能。

  集成到COTS多核CPU平台中,FPGA为最灵活的高性能系统提供了DSP功能。为帮助在这些平台上加速实现复杂影像算法,需要采用高级开发工具和IP实现库。Altera考虑到这些需求而开发了工具和IP库。这些库包括成像所需的关键构建模块功能,并集成到Altera完整的工具包中,结合MathWorks的算法开发工具,能够快速进行开发。


上一页12下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

FPGA? 医疗影像? MRI? XtremeData?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈