摘 要: 采用可以用FPGA實現的算法進行梯度電流預補償的方法進行B0渦流的補償。鑒于FPGA具有高速并行處理和狀態機無限循環的特點,設計了一種從開機到斷電,1 ?滋s計算一次不間斷的 B0渦流補償的模式。試驗證明,該方法通用性好、速度快、體積小、成本低。
關鍵詞: 核磁共振成像; 渦流補償; FPGA
渦流的存在將嚴重影響核磁共振的成像效果,原因是梯度場的變化受渦流的影響非常嚴重,甚至會出現畸變。減小渦流影響的途徑有很多種。例如,最初的方法是采用電阻很高的材料來制造磁體,或者增加一個輔助梯度線圈,用來抵消渦流所產生的磁場等。然而,以上途徑需要重新設計系統會使成本大幅增加。現在實際應用中最常用也最簡便的方法是采用梯度電流的預增強補償技術,即在渦流產生前預先對梯度電流進行補償,通過改善梯度電流質量來調節梯度場,在這里電流預補償是通過B0渦流補償算法來實現的,如圖1所示。其中圖1(a)為理論梯度電流,圖1(b)為理論上的梯度電流預補償效果。
近年來隨著數字電路技術的發展,針對B0渦流補償算法的實現方法主要分為兩種:多片DSP并行實現算法和單片FPGA實現算法。早先的商用核磁共振譜儀采用多片DSP并行處理的方案,雖然DSP在算法實現上比FPGA相對容易一些,但是由于DSP為上層處理芯片,且為順序執行架構,因此存在很多缺點,如設計復雜、成本高、體積大等。雖然采用一片DSP實現B0渦流補償計算模塊能簡化設計,但DSP的順序執行架構使得x、y、z三路補償結果存在μs級的誤差,很難達到同步效果,即使可以進行預同步處理,也不能達到真正的同步效果。與DSP為主要芯片的方案相比,基于FPGA的B0渦流補償模塊可以提供ns級的并行誤差、較高的處理速度和設計靈活性,從而滿足B0渦流補償高速并行且實時性的要求。因此本文設計了一種基于FPGA的B0渦流梯度補償原理,通過VHDL語言完成基于FPGA的B0渦流梯度補償算法,FPGA設計平臺為QuartusII 9.1[1-2]。
1 算法設計與實現
1.1 B0渦流補償算法綜述
B0渦流補償可分為x、y、z三系渦流補償,在本系統中每個方向上渦流又有4個時間常數和幅度常數,而整個B0渦流的補償需要先把每一個方向上的4個時間和幅度常數綜合,然后再將綜合后的x、y、z三系補償進行綜合,即得到整個B0場的渦流梯度補償。B0渦流補償算法的結構圖如圖2所示。
式(12)即為x方向的渦流補償公式,同理可得,y、z方向的渦流補償公式都與式(12)一樣。最后B0渦流補償公式即為3個公式的綜合。
1.3 算法的FPGA實現與仿真
將式(12)用MATLAB進行仿真測試,發現該算法可以滿足工程需要,完全可以達到渦流補償所要求的結果,且能用FPGA實現。在實際應用中,一旦開啟機器,該模塊就不間斷地進行該算法的計算,以取得需要的結果,但是系統的主時鐘頻率為50 MHz,本模塊需要1 μm計算一次且一直不間斷地進行計算,所以在實際開發中需要對該模塊作相應的調整。x、y、z 3個通道的補償必須同時進行,且同步誤差不能超過7 ns。而FPGA的并行架構正好可以用來完成3個通道的同步計算。
FPGA實現了過去需要若干DSP完成的渦流補償計算功能,包括梯度波形讀取、增益控制、渦流補償算法、預增強(Pre-Emphasis)、直流偏置以及并串轉換等。FPGA通過3級流水完成上述計算功能:第1級流水包括梯度波形讀取、增益控制、渦流補償計算, 最短時間間隔為1 μs;第2級流水包括Pre-Emphasis與直流偏置,時間間隔固定為1 μs;第3級流水實現并串轉換,時間間隔也是1 μs。FPGA的渦流補償計算流程如圖3所示。
Pre-Emphasis的時間常數與幅度常數均預存在FPGA的RAM中,x-Offset、y-Offset、z-Offset分別為x、y、z 3路的偏移量,最后輸出的串行數據流為20 bit。每一路的Pre-Emphasis均有4個時間常數及其相應的幅度常數,時間常數字長32 bit,幅度常數字長16 bit。
2 系統測試結果
該算法經設計完成后,在蘇州安科醫療系統有限公司1.5T超導核磁共振8通道譜儀系統上進行測試仿真。圖4是對整個B0渦流算法的FPGA程序進行仿真后在示波器上顯示的結果。在該仿真中用了4組時間常數及4組幅度常數,且經過前端放大器進行了放大處理,并已經接受了來自DSP傳送的相應的梯度數據。與圖1(b)理論補償結果比較,證明該算法完全可以實現渦流補償的功能且能用于實際工程產品中。
基于FPGA的B0渦流算法補償模塊是在總結了當前常用的渦流補償方法缺點的前提下,并在分析了用FPGA實現算法的特點的基礎上,提出的一種用FPGA實現B0渦流補償算法,以便能更快速高效地實現對渦流的補償方法。該技術旨在解決當前嚴重制約超導核磁共振成像系統成像效果的渦流問題,在補償效果的條件下,實現高速補償與經濟耐用相結合,實現經濟性、快速性的目標,從而有效地減少超導核磁共振成像時因為渦流產生的偽影,提高成像質量。
本文提出的基于FPGA的B0渦流補償算法技術是一種新的基于計算機硬件層面的渦流補償技術。從該技術的提出再到其整個模塊的開發制造,最后將其應用于實際工作是一個長期的系統工程,期間不可避免地會出現反復驗證,甚至推倒重來的過程,這就需要課題組的所有成員共同努力,堅持不懈地進行研究工作。
參考文獻
[1] 俎棟林.核磁共振成像學[M].北京:高等教育出版社,2004.
[2] 肖亮,湯偉男,王為民.基于單片FPGA的磁共振成像梯度計算模塊[J].波普學雜志,2010(2):163-171.
[3] MARTIN E F,SIMON P,IAN R S,et al. A programmable eddy-current compensation system for MRI and localized spectroscopy [J].J Magn Reson,1997,7(2):455-458.
[4] JEHENSON P,WESTPHAL M,SCHIFF N. Analytical method for the compensation of eddy-current effects induced by pulsed magnetic field gradient in NMR systems [J]. Jour.of Magnetic Resonance,1990,90(2):264-278.
[5] VAN J J, BERGMAN A H. Optimization of eddy-current compensation[J].Philips Research Laboratories,Newtherlands,1989(11):52-70.