上海理工大学 医疗器械与食品学院, 医学影像工程研究所, 上海 200093
收稿日期:2016-09-13; 收修改稿日期:2017-01-09
基金项目:国家自然科学基金资助项目(61101174);微创创新基金资助项目(YS30808115)
A Heterogeneous Dual-Core Receiver System for Magnetic Resonance Applications
School of Medical Instrument and Food Engineering, University of Shanghai for Science and Technology, Shanghai 200093, China
引言
在磁共振成像(Magnetic Resonance Imaging,MRI)应用中,由于核自旋产生的窄带射频信号十分微弱,为了使射频信号能够满足后续数据处理和图像重建的要求,需要对信号进行降低噪声和线性放大等处理.磁共振重建图像的质量一般由接收机正交通道的平衡度、动态范围、滤波器群延时等因素决定[1].
早期谱仪设计中,一般通过模拟正交解调的方式来实现磁共振信号的接收[2],要求I/Q两路信号的强度完全相同,否则会产生镜像峰和零频峰.然而在实际模拟硬件电路中,由于器件本身的不稳定性,几乎不能做到两路信号强度完全相同并且相位严格正交[3].因此,数字化正交检测技术取而代之,并在低场磁共振成像接收机中得到了广泛应用.数字化正交检测技术是通过模数转换器(Analog to Digital Converter,ADC)采集放大后的磁共振信号,然后将采集到的信号和数控振荡器产生的参考信号混频[4],接着对两路信号分别进行抽取滤波.在已有的磁共振接收机系统中,信号解调和滤波一般由专用的数字信号处理芯片来完成,但专用处理芯片在磁共振应用中不够灵活[5].
本文提出了基于异构双核的磁共振接收机的设计,采用Xilinx公司ZYNQ-7000 AP SoC器件作为数控中心,完成数据的采集、显示、存储工作.该接收机具有以下优势:(1)集成ARM(Advanced RISC Machines)和现场可编程门阵列(Field Programmable Gate Array,FPGA)的硬件可编程性(现在商用波谱仪中还没有将两者集成在一片芯片中),不仅可实现重要分析与硬件加速,同时还在单个器件上高度集成中央处理单元(Central Processing Unit,CPU)、数字信号处理(Digital Signal Processor,DSP)、专用标准产品(Application Specific Standard Parts,ASSP)以及混合信号功能.(2)具有丰富的多媒体外设接口,能够很好的支持ZYNQ-7000芯片完整的系统设计,板上存储器、双向通用串行总线(Universal Serial Bus,USB)、以及安全数码卡(Secure Digital,SD)卡槽等外设,同时片内集成12位精度的ADC硬件,采样率为1 MHz.(3)这款ZYNQ具有逻辑实现能力强、稳定性好、具备并行处理能力等特性.FPGA内部的信号处理功能的设计通过Xilinx公司的系统开发工具--System Generator(集成于Vivado Design Suite 15.4)完成,利用Matlab的Simulink开发环境快速建模、仿真自动生成可被集成开发环境(Integrated Development Environment,IDE)调用的IP核,不仅降低了设计的复杂度,还大大缩短了开发时间.
1 系统结构
本设计主要分为两个模块,其结构如图 1所示.第一部分是预处理设计,主要负责对微弱的磁共振信号进行可变增益的控制,并对信号进行解调滤波.第二部分是ARM+FPGA的设计,主要负责高速的ADC采集、信号数字下变频处理、大容量的数据存储以及可视化显示等,来提高整个系统的性能指标.
1.1 预处理设计
预处理模块主要完成磁共振信号的可变增益和解调功能.可变增益在一定程度上增加了磁共振信号的动态范围,从而改善磁共振重建图像的质量.考虑到原始的磁共振信号十分微弱,甚至可能小于混杂着的噪声强度,因此我们在预处理模块设有固定增益与可变增益两部分,前置固定增益先
由可编程增益放大芯片AD8331[6]将接收的磁共振信号放大一定的倍数[7],而后面的可变增益同样是用AD8331这款芯片,不过根据接收的磁共振信号幅值,采用查表法,由ZYNQ端ARM通过集成电路总线(Inter Integrated Circuit,IIC)协议控制通用输入输出(General Purpose Input Output,GPIO)管脚相连接的数模转换器(Digital to Analog Converter,DAC),这样增益放大芯片将会根据接收的磁共振信号的幅值设置不同的增益.
芯片AD8331由于超低噪声的特性可以进行精密的增益控制,在3 dB/120 M带宽下电流噪声只有
,电压噪声只有
,具有高达48 dB的带宽增益范围.对于DAC可输出的40 mV~1 V范围的控制电压,接收的磁共振信号的增益变化可以精确到50 dB/V的线性调整.
在驱动高速差分ADC时,差分输入信号提供出色的二次失真性能以及可变增益放大器的低输出噪声都是一大优势.为了优化不同的ADC应用的输出噪声和增益范围,我们可以调节后置放大器的增益,一般可选3.5 dB或15.5 dB,并通过一个外部电阻来调整带有箝位的电平以防止后续ADC的输入过载.
考虑到磁共振信号的采样率和可变增益的响应时间,本设计选用DAC5571.它是一款低功耗的芯片,工作电压为3 V的时候只消耗125 mA的电流,转换精度为8 bit,时间响应速度高达188 kHz[8].
但为了得到精度更高的可变增益效果,我们需要为芯片DAC5571提供稳定的电源和参考电压,所以本设计选择稳压电源ADM7172,只需提供5 V的工作电压,便能输出3.3 V的稳压以供DAC使用[9].
由于磁共振信号频率很高,为了满足ADC采样的要求,一般在预处理模块中将信号进行解调.
本设计采用频率合成器AD9910,内置14位DAC的直接数字频率合成器(Direct Digital Synthesizer,DDS),输出频率的谐调分辨率高达0.23 Hz,可以实现相位与幅度快速切换功能.AD9910集成了静态随机存取存储器(Random Access Memory, RAM),可支持频率、相位和幅度调制的多种组合[10].
AD9910还支持用户自定义的数控数字斜波工作模式[11].在这个模式下,频率、相位或幅度随时间呈线性变化.AD9910内置的高速并行数据输入端口能实现频率、相位或幅度的直接调制,以支持更高级的调制功能.DDS的具体实现是在采样时钟的控制下,频率控制字K在相位累加器的作用下不断累加,根据累加后的相位值进行波形存储器寻址,输出相对应的幅度值,从而得到相应的模拟信号.DDS具有输出频率和相位的分辨率非常高,射频的幅度、频率与相位在频率源内部可快速改变,可输出任意波形,可进行数字调制等优势[12].
1.2 FPGA设计
本设计选用基于ZYNQ-7000芯片的ZYBO开发平台,它是一款资源丰富、容易使用的嵌入式软件及数字电路开发平台.过去Xilinx公司推出的开发平台一般用集成软件环境(Integrated Software Environment,ISE)来开发,近几年新推出了一款Vivado IDE,是一个基于AXI4(Advanced eXtensible Interface)总线协议互联规范、IP-XACT(一个标准的电子知识产权说明)IP封装元数据、系统约束(Synopsys Design Constraints, Synopsys SDC)、工具命令语言(Tool Command Language,TCL)以及其它利于根据客户需求量身定制符合业界标准的设计流程.相比ISE,在硬件协仿真性能方面提高100倍.另外,如果设计需要对某个小部分进行重新实现,增量式的流程使得无需改动整个工程便能达到想要的效果,大大提高了开发效率.我们使用Vivado IDE,采用一体化的设计可以更好的实现本项目.首先,硬件预处理后的磁共振信号通过ADC进行采集,然后经过数字下变频抽取滤波处理,再由先入先出(First Input First Output,FIFO)端将信号先进先出的缓存,由直接内存存取(Direct Memory Access,DMA)将数据存入双倍数据速率(Double Data Rate,DDR3)存储器中,以供后续处理.与此同时,由FIFO端输出的磁共振数据传入视频传输标准(Video Graphics Array,VGA)显示.
本设计整个资源利用率如表 1所示,由资源利用表可以看出,基于异构双核的磁共振接收机FPGA部分资源占用较少,有利于后续的滤波处理以及三维图像重建工作.
表 1 资源利用表
Table 1 Resource utilization table
资源 |
使用数量 |
总数 |
使用率 |
触发器(FF) |
6853 |
35200 |
19.42 |
查找表(LUT) |
5148 |
17600 |
29.25 |
记忆查找表(MemoryLUT) |
258 |
6000 |
4.30 |
输入/输出(IO) |
20 |
100 |
20.00 |
双极随机存取存储器(BRAM) |
3.5 |
60 |
5.83 |
全局时钟资源(BUFG) |
4 |
32 |
12.50 |
其中,数字下变频器(Digital Down Converter,DDC)是整个FPGA设计的核心,我们采用Xilinx公司的系统级DSP开发工具--System Generator,进行建模、仿真,自动生成可被Vivado IDE调用的IP核,图 2是利用System Generator对单个接收通道建模所得到的框图.这个开发工具非常有效的加快了研究进展,打开System Generator的同时会调用Matlab,然后在simulink中将所需的模块引入工程中,通过仿真调试达到要求后,直接可以生成IP核被开发环境Vivado IDE调用.
在接收信号通道的最前端,为了实现信号的相干累加,需要保证发射机和接收机的信号相位相干,所以利用DDS频率生成器提供一个32位的数控振荡器(Numerically Controlled Oscillator,NCO),与混频的参考频率一样,运行时钟分别是50 MHz和200 MHz,DDS提供了幅度抖动和相位抖动的功能,可以提高NCO的杂散性能[13].首先前端的模拟本振将磁共振信号下变频至较低的频率,再通过数字下变频中的DDS进行信号检波,满足下式:
|
(1) |
其中fLO是模拟本振频率;fNCO是混频器的频率;而f0是磁共振信号的中心频率,大小约为15.25 MHz.所以通过设置接收机的本振频率为(f0−fNCO),从而实现对磁共振信号的相干累加.
检波信号的抽取滤波由级联积分-梳状(Cascaded Integrator-Comb,CIC)滤波器、CIC补偿滤波器、半带滤波器以及有限长单位冲激响应滤波器(Finite Impulse Response,FIR)滤波器构成[14].滤波器链的第一级采用5级CIC滤波器,它的抽取系数(DCIC)可以取2~1 024范围的任何整数值,而且CIC滤波器在实现中只需要用到加法器,具有占用资源少速度快的优势.滤波器链的第二级采用CIC补偿滤波器和多个半带滤波器,它的抽取因子(DHB/Comp)根据不同的级联方式可为3种,分别是2、4、8,随着CIC抽取倍数的增加,在接收带宽(Bandwidth,BW)内产生的衰减也会增大,所以我们需要对信号进行一定程度的补偿.从运算量的角度来看,尽管不像CIC滤波器无需乘法运算,但半带滤波器由于近一半的系数为0,因此它的运算量也是普通FIR滤波器运算量的1/2.最后一级采用了可编程系数FIR,抽取因子(DFIR)设为2,它在通带处波纹比较平缓,过渡带十分陡峭,因此有助于成像质量[15].此滤波器的总抽取因子(D)以及ADC采样率(fs)有以下关系
|
(2) |
|
(3) |
所以总抽取因子可以为8~16 384.再根据(3) 式,当ADC采样频率为1 MHz,BW的可变范围为64 Hz~128 kHz.BW=52.5 kHz时, 滤波器的主要参数设置如下:阻带衰减为-60 dB左右,通带波纹约为0.008 dB,过渡带宽为6 kHz,FIR阶数为110.
2 结果与讨论
为了验证本设计磁共振接收机的性能,用本文设计的数字接收机替换本实验室0.35 T磁共振系统中的相应部件(原接收机由AD9874芯片构成)进行实验.选取两种比较常规的脉冲序列(分别是单脉冲序列和自旋回波序列)来进行实验.首先进行单脉冲实验,采用水模作为样品,采样频率为50 kHz,采样点数为128,累加次数(NS)为1,实验结果如图 3(a)所示,通过实验可以确定共振频率为15.251 MHz.接着进行自旋回波实验,选取采样频率为50 kHz,NS为1,采样点数为128,实验结果如图 3(b)所示.
然后应用自旋回波成像序列进行信号采集,通过查表对已固定增益的信号再进行不同程度的增益变换.在正式采集之前,先进行一次NS=1的预采集,只采集其中几行信号最高点记录下来,然后用ADC可以接收的最大值与每一行的最高值的商作为增益系数.为防止信号溢出,将所有增益系数乘以0.95并存储.接着开始正式采集,不同相位编码的信号通过之前存储的增益系数分别变换增益,这样可以充分利用ADC的位数,使磁共振信号获得较大的动态范围.本设计采用ADC的位数为12位,固定增益所得的动态范围大约为72 dB.通过可变增益,使得动态范围提高到90 dB.为了更好的对比可变增益对提高动态范围的效果,对图像信噪比的提高进行验证测试.通过快速傅里叶变换(Fast Fourier Transform,FFT)得到的原始频谱图如图 4(a)所示,而应用了可变增益模块后的频谱图如图 4(b)所示,可以看出,信号强度有了明显的提高,达到了我们设计的目的.
本次自旋回波成像实验,实验参数为:脉冲重复间隔时间(TR)=500 ms,回波时间(TE)=20 ms,NS=16,谱宽(SW)=50 kHz,扫描矩阵(MAT)=256×192,采样点数(TD)=1 024.固定增益和可变增益的磁共振图像如图 5(a)和图 5(b)所示,可以看出可变增益的水模图像,其动态范围增加,信噪比也得到了明显改善,验证了该方法对图像质量的提高有一定成效.
3 结论
本文提出了一种基于异构双核的磁共振接收机的设计,具有ARM和FPGA先进的异构双核结构、高速的ADC采集、可变增益的控制以及可视化显示等特性,FPGA内部的信号处理功能的设计通过Xilinx公司的系统开发工具--System Generator完成,利用Matlab的Simulink开发环境快速建模、仿真自动生成可被Vivado IDE调用的IP核,不仅降低了设计的复杂度,还大大缩短了开发时间.通过实验表明该设计确实可以获得重建图像,并通过信号的可变增益提高动态范围,改善图像信噪比.