飞利浦医疗保健事业开发出智能数字RF电源子系统的MRI系统

挑战

制定在MRI系统中使用了一种新的数字RF电源子系统

使用的S万博1manbetximulink进行建模,仿真和验证设计,并使用HDL编码器生成一致且可预测的VHDL代码的FPGA实现

结果

  • 设计问题在开发早期解决
  • 权衡迅速评估和实施
  • 过程的一致性和可预测性提高

“万博1manbetxSimulink的帮助系统架构师和硬件设计人员沟通。它就像一个共同的语言,使我们能够交流知识,想法和设计。万博1manbetxSimulink和HDL编码器使我们能够专注于发展我们的算法,并通过仿真改进我们的设计,而不是检查VHDL语法和编码规则。”

马塞尔面包车Bakel的,飞利浦医疗保健
凡Helvoort(左)和Van Bakel的有飞利浦医疗MRI扫描仪。

磁共振成像(MRI)系统应用强大的射频(RF)和强磁场系统地对准在人体组织中的质子的磁矩。用于MRI系统产生良好质量的图像,RF功率子系统的定时和线性必须精确地控制。随着RF功率放大器的峰值功率接近40千瓦,保持信号相位精确到几皮秒内是一个显著的挑战。

飞利浦医疗保健事业的工程师们使用基于模型的设计与MATLAB®,S万博1manbetximulink的®和HDL编码器™开发MRI机器的富于创意的数字RF电源子系统。实施了VHDL®和部署在FPGA中,子系统使用数字预失真和反馈控制环路,以实现所要求的精度和线性。

“创建VHDL代码是我们必须做的一个活动,但它不是一个给我们增加多少价值,”在飞利浦医疗保健事业部高级经理马克货车Helvoort说。“万博1manbetxSimulink和HDL编码器使我们能够专注于发展我们的算法,并通过仿真改进我们的设计,而不是检查VHDL语法和编码规则。”

挑战

在之前的项目,往往很难为飞利浦医疗硬件工程师来翻译由系统架构师用C语言开发成比特及周期准确的FPGA实现算法的想法。这些翻译问题,在放大器的线性度和差异在VHDL程序员的编码风格的变化相结合,取得了发展过程中难以预料。

手工编写HDL放缓的设计迭代,从而难以调试现有的算法,测试新算法的思想,并评估设计权衡,以确保整个设计将适合目标FPGA。飞利浦医疗保健工程师需要一种方法之前,硬件测试,以评估设计修改和权衡,并加速实现他们的FPGA验证的设计。

飞利浦医疗保健使用基于模型的设计开发MRI数字RF电源子系统和VHDL实现它。

工程师使用的Simulink到由数字R万博1manbetxF接收器和比较器,RF波形发生器和放大器的结构进行建模。在此架构中,放大器的前向和反射的输出被感测和反馈到数字接收机,在那里它与所要求的有效信号的输入进行比较。使用数字预失真,创建校正后的目标信号,并且发送到波形发生器。

在Simulink RF波形发生器子模型包括一个载波NCO,SSB混频,和级万博1manbetx联积分梳状(CIC)和有限脉冲响应(FIR)滤波器部件,除了多频带调制器。数字接收器和比较器子模型包括模拟数字转换器,解调,和数字下变频器块,以及其他过滤器。

球队建模在Simulink使用浮点精度这些子系统,然后模拟模型来测试,调试,优化RF传输链。万博1manbetx

它们转换的模型为定点精度和跑附加仿真,以验证转换。

使用HDL编码器,它们生成VHDL代码从Simulink模型和代码打包成库。万博1manbetx导入库到Mentor Graphics公司后®的ModelSim®,球队综合生成的代码到整个FPGA设计。在ModelSim的运行模拟,证明整体设计是正确的之后,他们部署的代码赛灵思®的Virtex®FPGA。

在硬件测试中发现的问题进行了复制,诊断,并产生之前球队新的VHDL库和更新FPGA进行进一步的测试Simulink模型解决。万博1manbetx

飞利浦医疗保健计划利用创新的数字RF电源子系统,包括HDL编码器生成的代码,在生产MRI机。

结果

  • 设计问题在开发早期解决。“在Simulink定点模拟揭示了虚假的频率,我们的系统万博1manbetx架构师确定为不可接受的,”马塞尔面包车Bakel的,在飞利浦医疗保健电子产品设计师说。“使用Simu万博1manbetxlink,我们追查问题的舍入误差。基于模型的设计使我们能够在开发早期解决这个问题。”

  • 权衡迅速评估和实施。“早期的设计包括一个24级FIR滤波器,但我们看到,它会消耗太多的FPGA资源,”面包车Bakel的说。“以30分钟后,我们模拟一个较简单的过滤器,使用在Simulink频谱分析仪进行验证。万博1manbetx这种变化将需要一个星期到VHDL手工代码和测试硬件“。

  • 过程的一致性和可预测性提高。“由不同的开发人员编写与VHDL代码,通过编码器高密度脂蛋白生成的代码是一致的,使用它的表现可以预见,这意味着下游的工具,”面包车Bakel的说。“生成代码不仅节省了时间,同时也降低了风险,降低了引入错误的机会。”