提高DAC輸出波形精度的方法、裝置及磁共振系統與流程
2023-06-27 00:56:22 1

本申請涉及磁共振成像系統中輸出波形精度的控制領域,具體涉及一種提高DAC(Digital to analog converter,數字模擬轉換器)輸出波形精度的方法、裝置及磁共振系統。
背景技術:
在磁共振成像系統中,為獲得精確的圖像信息,對被測體的每個體素的空間位置信息進行精確定位至關重要。目前,磁共振成像系統是通過梯度波形產生器產生梯度波形,再由梯度放大器對梯度波形放大後驅動三維梯度線圈,實現被測體的每個體素的空間定位。梯度波形的精度是影響空間定位精確性的重要因素之一。
磁共振成像系統是通過計算機將被測體的每個體素的空間位置信息數字編碼後,輸入至梯度波形產生器中的DAC,由DAC轉換為所需的梯度波形。然而,在將被測體的每個體素的空間位置信息量化(即數字編碼)時會產生量化誤差,且該量化誤差與數字編碼的位數成正比。若量化誤差過大,會導致被測體的體素空間定位不準、圖像偽影等問題。
為了使得被測體的每個體素的空間定位更加準確,需要提供儘可能梯度波形的高精度的梯度值。但目前的DAC的輸出精度有限,實際輸出梯度波形的精度大小會存在一定誤差。若使用更高精度的DAC則會帶來較高的硬體成本,且由於加工工藝的限制,提供更高精度的DAC的能力也有限。
技術實現要素:
有鑑於此,本申請提供一種提高DAC輸出波形精度的方法、裝置及磁共振系統,以解決現有技術中存在的較低精度的DAC輸出波形精度較差的技術問題。
具體地,本申請是通過如下技術方案實現的:
一種提高DAC輸出波形精度的方法,應用於具備數字編碼能力並輸出數字編碼功能的器件上,包括:
S101,對被測體的每個體素的空間位置信息進行預設位數的數字編碼,其中,所述數字編碼的預設位數大於DAC的編碼輸入位數;
S102,根據所述數字編碼的預設位數和DAC的編碼輸入位數,計算出對應被測體的每個體素的空間位置信息進行數字編碼時產生的量化誤差,並將各數字編碼減去量化誤差所得的剩餘部分作為對應被測體的每個體素的空間位置信息的新數字編碼;
S103,累加各量化誤差獲得實時累加值,並將實時累加值與DAC的最低精度值進行比較,若實時累加值大於等於DAC的最低精度值,則進入步驟S104,否則,繼續累加各量化誤差;
S104,將累加的量化誤差值以DAC最低精度值為單位補償到當前被累加的量化誤差所對應的新數字編碼上,將補償後的新數字編碼作為DAC輸入編碼,並在獲取剩餘量化誤差值後轉步驟S103。
根據本申請提出的一種具體實施方式中,所述步驟S102中,根據所述數字編碼的預設位數和DAC的編碼輸入位數,確定出對應被測體的每個體素的空間位置信息進行數字編碼時產生的量化誤差,具體包括:
計算被測體的每個體素的空間位置信息數字編碼的預設位數與DAC編碼輸入位數的差值;
截取被測體的每個體素的空間位置信息所對應的數字編碼中從低位開始的差值大小位數的編碼,將截取到的編碼作為對應被測體的每個體素的空間位置信息的量化誤差。
根據本申請提出的一種具體實施方式中,所述被測體的每個體素的空間位置信息進行數字編碼的持續時間相同,所述DAC的最低精度值為一個最小的梯度波形幅度。
根據本申請提出的一種具體實施方式中,所述量化誤差的累加順序與被測體的每個體素的空間位置信息進行數字編碼的順序相同。
對應於本申請的一種提高DAC輸出波形精度的方法,本申請還提供一種提高DAC輸出波形精度的裝置。
一種提高DAC輸出波形精度的裝置,應用於具備數字編碼能力並輸出數字編碼功能的器件上,包括:
數字編碼模塊,用於對被測體的每個體素的空間位置信息進行預設位數的數字編碼,其中,所述數字編碼的預設位數大於DAC的編碼輸入位數;
計算處理模塊,用於根據所述數字編碼的預設位數和DAC的編碼輸入位數,計算出對應被測體的每個體素的空間位置信息數字編碼產生的量化誤差,並將各數字編碼減去量化誤差所得的剩餘部分作為對應被測體的每個體素的空間位置信息的新數字編碼;
誤差累加模塊,用於累加各量化誤差獲得實時累加值,並將實時累加值與DAC的最低精度值進行比較,若實時累加值大於等於DAC的最低精度值,則通知誤差補償模塊對新數字編碼進行誤差補償,否則,繼續累加各量化誤差;
誤差補償模塊,用於在實時累加值大於等於DAC的最低精度值時,以DAC最低精度值為單位補償到當前被累加的量化誤差所對應的新數字編碼上,將補償後的新數字編碼作為DAC的輸入編碼,然後通知誤差累加模塊繼續累加各量化誤差。
根據本申請提出的一種具體實施方式中,所述計算處理模塊根據所述數字編碼的預設位數和DAC的編碼輸入位數,確定出對應被測體的每個體素的空間位置信息進行數字編碼時產生的量化誤差,具體包括:
計算被測體的每個體素的空間位置信息數字編碼的預設位數與DAC編碼輸入位數的差值;
截取被測體的每個體素的空間位置信息所對應的數字編碼中從低位開始的差值大小位數的編碼,將截取到的編碼作為對應被測體的每個體素的空間位置信息的量化誤差。
根據本申請提出的一種具體實施方式中,所述被測體的每個體素的空間位置信息進行數字編碼的持續時間相同,所述DAC的最低精度值為一個最小的梯度波形幅度。
根據本申請提出的一種具體實施方式中,所述量化誤差累加模塊對量化誤差的累加順序與被測體的每個體素的空間位置信息進行數字編碼的順序相同。
本申請還提供一種磁共振系統,包括梯度波形產生器,所述梯度波形產生器包括上述提高DAC輸出波形精度的裝置。
本申請的有益效果:本申請通過將每個體素的空間位置信息轉換成位數較高(高於DAC的編碼輸入位數)的數字編碼,再將數字編碼產生的量化誤差進行累加、補償的操作過程,得到精度較高(高於將每個體素的空間位置信息數字編碼成DAC編碼輸入位數的精度)的DAC輸入編碼,使得最終輸入至DAC輸入編碼的誤差較小,從而使得在不改變DAC精度(即解析度)的情況下,通過提高輸入至DAC的編碼的精度來提高DAC輸出波形的精度,即能夠使得較低精度的DAC達到高精度DAC的使用效果。
附圖說明
圖1是本申請提供的一種提高DAC輸出波形精度的方法流程圖;
圖2是本申請一可行實現方式提供的輸出梯度波形;
圖3對圖2中的第一梯度和第二梯度的量化誤差累加示意圖;
圖4是圖2中的第三至第五梯度的量化誤差累加示意圖;
圖5是圖2中的輸出梯度波形補償後的示意圖;
圖6是本申請提供的一種提高DAC輸出波形精度的裝置的功能模塊結構原理示意圖;
圖7是本申請提供的一種磁共振系統設備的硬體結構圖。
具體實施方式
這裡將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數字表示相同或相似的要素。以下示例性實施例中所描述的實施方式並不代表與本申請相一致的所有實施方式。相反,它們僅是與如所附權利要求書中所詳述的、本申請的一些方面相一致的裝置和方法的例子。
磁共振系統中,利用計算機將被測體的每個體素的空間位置信息數字編碼後,輸入至梯度波形產生器的DAC,由DAC進行D/A轉換,輸出所需梯度值的梯度波形。現有技術中,每個體素的空間位置進行數字編碼的位數與DAC的編碼輸入位數相同,然而,實際使用的DAC的輸出精度是有限的,會使得DAC輸出梯度波形的精度存在一定的誤差。
在將被測體的每個體素的空間位置信息轉換成數字編碼時,轉換的數字編碼位數不同會產生不同的量化誤差,位數越多,量化誤差越小。若量化誤差過大,會導致被測體的體素空間定位不準、圖像偽影等問題。
為解決上述問題,本申請提供一種提高DAC輸出波形精度的方法及裝置。其中,該提高DAC輸出波形精度的方法及裝置適用於磁共振系統中的梯度波形產生器,使得梯度波形產生器的DAC能夠輸出較高精度的梯度波形。
參見圖1,為本申請提供的一種提高DAC輸出波形精度的方法流程圖,應用於具備進行數字編碼並輸出數字編碼功能的器件上,例如計算機的CPU(Central Processing Unit,中央處理器)、ARM(Advanced RISC Machine,微處理器)等器件。該方法可以包括以下步驟:
步驟S101,對被測體的每個體素的空間位置信息進行預設位數的數字編碼,其中,數字編碼的預設位數大於DAC的編碼輸入位數。
為了便於計算,本申請的一個例子中,可以通過計算機的CPU(中央處理器)對採集到的被測體的每個體素的空間位置信息對應的信號進行預設位數的數字編碼。所述數字編碼的預設位數在本申請中不作限制,只需該預設位數大於DAC編碼輸入位數即可,以保證數字編碼時的精度。
由於在本例子中,計算機的CPU(中央處理器)將對應被測體的每個體素的空間位置的信息數字編碼成比實際使用DAC的編碼輸入位數更高的預設位數(即該預設位數對應的精度高於實際DAC的精度),相當於採用高於實際DAC精度的數值進行計算,以減小計算機的CPU(中央處理器)數字編碼被測體的每個體素的空間位置信息時帶來的量化誤差。
磁共振系統中,實際使用DAC的編碼輸入位數是固定的,DAC的編碼輸入位數與DAC的精度成正比,可根據實際情況選擇需要的DAC。
例如,假設實際DAC的編碼輸入位數為20位,即DAC能夠對20位的數字編碼進行D/A轉換。本申請的例子中,在將對應被測體的每個體素的空間位置的信息進行數字編碼時,將對應被測體的每個體素的空間位置的信息轉換成24位的數字編碼。然而,實際DAC只能同時轉換20位的數字編碼,如果直接將前述24位的數字編碼輸入DAC,需要丟棄其中的4位,DAC才能處理,這樣就造成輸入DAC的數字編碼的不準確,進而導致DAC輸出波形的不準確,故需要將24位的數字編碼轉換為實際DAC能夠處理的數字編碼位數。
步驟S102,根據所述數字編碼的預設位數和DAC的編碼輸入位數,確定出對應被測體的每個體素的空間位置信息進行數字編碼時產生的量化誤差,並將各數字編碼減去量化誤差所得的剩餘部分作為對應被測體的每個體素的空間位置信息的新數字編碼。
在數字編碼時,由於被測體的每個體素的空間位置信息可能存在的小數位部分,數字編碼的預設位數越高,每個體素的空間位置信息的小數部分數字編碼的越多,越能精確地體現每個體素的空間位置信息的大小。
其中,被測體的每個體素的空間位置信息數字編碼與DAC的預輸出波形的幅度值相對應,新數字編碼相當於直接將對應被測體的每個體素的空間位置信息轉換為實際DAC編碼輸入位數的數字編碼,即新數字編碼的位數與DAC的編碼輸入位數相同。對於同一被測體的每個體素的空間位置信息,由於被測體的每個體素的空間位置信息存在的小數位部分,轉換成預設位數的數字編碼與該新數字編碼之間可能會產生一個量化誤差。由於對應被測體的每個體素的空間位置信息在數字編碼後,該被測體的每個體素的空間位置信息的低位與轉換後數字編碼的低位相對應,故量化誤差存在於對應被測體的每個體素的空間位置信息的數字編碼的低位。
在本例子中,計算機的CPU(中央處理器)在輸入數字編碼至DAC之前,還會執行如下操作:
計算被測體的每個體素的空間位置信息數字編碼的預設位數與DAC的編碼輸入位數之間的差值,即所述差值大小等於所述數字編碼的預設位數減去DAC的編碼輸入位數;
截取每個被測體的每個體素的空間位置信息所對應的數字編碼中從低位開始的差值大小位數的編碼,將截取到的編碼作為對應被測體的每個體素的空間位置信息的量化誤差。量化誤差的位數即為所述數字編碼的預設位數與DAC的編碼輸入位數的差值大小。
根據步驟S102,從預所述數字編碼的低位開始,截取所述數字編碼中的差值大小位數的編碼後剩餘的部分作為新數字編碼,由此可見,本申請的預設位數的數字編碼、量化誤差以及新數字編碼是一一對應的。
一個可行的實現方式是:DAC的編碼輸入位數為20位(即DAC能夠同時處理20位的輸入編碼),被測體的每個體素的空間位置信息進行數字編碼的預設位數為24位,若直接將這24位的數字編碼輸入實際DAC,需要丟棄24位的數字編碼從低位開始的4位,獲得新數字編碼(該新數字編碼即相當於將對應被測體的每個體素的空間位置信息直接轉換為20位的數字編碼),DAC才能對實際輸入的新數字編碼進行D/A轉換。
在輸入數字編碼至DAC前,從數字編碼的低位開始截取4位後,可能產生的被測體的每個體素的空間位置信息的量化誤差如果直接被丟棄,由於DAC輸出精度的限制,DAC實際輸出波形的精度會存在較大的誤差。因此,本申請的計算機CPU(中央處理器)需要對新數字編碼進一步處理,提高新數字編碼的精度後再輸入至DAC,從而使得DAC能夠輸出較高精度的波形。
步驟S103,累加各量化誤差獲得實時累加值,並將實時累加值與DAC能夠輸出的最低精度值進行比較,若實時累加值大於等於DAC最低精度值,則進入步驟S104,否則,繼續累加各量化誤差。
其中,對量化誤差的累加順序與各被測體的每個體素的空間位置信息進行數字編碼的順序相同。
DAC的最低精度值為:累加各量化誤差時,進位產生的進位數值大小。由於本申請使用的是數字編碼,進位產生的進位數值為1,故DAC的最低精度值為可以識別的最小1個梯度波形幅度。
本申請的輸出波形為梯度波形。可選地,對應被測體的每個體素的空間位置信息數字編碼的持續時間相同,即CPU在該持續時間內,持續對被測體的同一體素的空間位置信息進行數字編碼,在下一持續時間內,持續對被測體的另一體素的空間位置信息進行數字編碼,以統一的時間標準進行梯度波形的調整,調整後的梯度波形更加精確。此時,DAC的最低精度值=1個最小的梯度波形幅度*持續時間。
對被測體的每個體素的空間位置信息所對應的數字編碼進行調整,相當於對同一持續時間內多個相同的被測體的每個體素的空間位置信息形成的面積的調整,相對於對點值大小的調整,對面積大小的調整獲得的數字編碼的精度更高。
按照累加順序,對各量化誤差進行累加,在達到進位時,則將該進位直接累加到當前輸出的新數字編碼上。
當實時累加值小於DAC的最低精度值時,將該實時累加值作為累加下一量化誤差的數值,並將對應被測體的每個體素的空間位置信息的新數字編碼作為DAC的輸入編碼,並發送所述新數字編碼至所述DAC。
步驟S104,將累加的量化誤差值以DAC最低精度值為單位補償到當前被累加的量化誤差所對應的新數字編碼上,將補償後的新數字編碼作為DAC的輸入編碼,並在獲取剩餘量化誤差差值後轉步驟S103。
通過本申請公開的方案,經過補償後的新數字編碼的位數與實際DAC的編碼輸入位數相同,因此,在進行D/A轉換的操作後,所述新數字編碼被轉換成模擬量輸出,可以輸出較為精確的波形。
參見圖2,在另一個可行的實現方式中,輸出一段包含5個逐漸上升梯度的波形,橫坐標為輸出時間t(單位:μs),縱坐標為被測體的每個體素的空間位置信息對應的梯度波形幅度數值的大小。其中,假設每個梯度波形對應一個被測體的一個體素的空間位置信息,對5個梯度波形對應的被測體的每個體素的空間位置信息數字編碼至預設位數,假設分別得到A、B、C、D和E,進一步假設被測體的每個體素的空間位置信息的持續時間均為T(單位:μs),對每段梯度波形進行處理即相當於對該段梯度波形的面積大小進行處理。
如果直接利用DAC的編碼輸入位數來對被測體的各個體素的空間位置信息進行數字編碼,數字編碼相應的輸出數值可能會低於A、B、C、D和E,這是由於DAC的編碼輸入位數小於預設位數而可能產生量化誤差。
在本申請中,從低位開始,對A、B、C、D和E截取差值(差值=預設位數-DAC編碼輸入位數)位數的編碼,獲得對應的a、b、c、d和e,同時,將量化誤差s1、s2、s3、s4和s5分別從對應的A、B、C、D和E截斷(即各段數字編碼捨去相應的量化誤差),獲得對應的a、b、c、d和e(即新數字編碼),即a=A-s1,b=B-s2,c=C-s3,d=D-s4,e=E-s5。
接著,對量化誤差s1、s2、s3、s4和s5依次進行疊加,參見圖3,對s1和s2的面積大小進行累加,獲得實時累加值S=s1+s2=s+r1;
其中,s為DAC的最低精度值;
r1為剩餘值,並作為累加下一量化誤差s3的數值。
本申請中,由於採用數字編碼進行計算,DAC的最低精度值設置為對量化誤差累加達進位時持續時間內的面積大小,s=1*T;
將s累加到當前累加的量化誤差s2所對應的截斷該量化誤差後的梯度B(即第二梯度)上,即第二個梯度的輸出值調整為(b+1*T),並將剩餘的r1與後續梯度的量化誤差進行累加。
參見圖4,對r1、s3、s4和s5進行累加,獲得實時累加值S=r1+s3+s4+s5=s+r2;其中,r2為這5段梯度的最終誤差。
將s累加到當前輸出的第五梯度上,將第五梯度的輸出值調整為(e+1*T)。
至此,計算機的CPU(中央處理器)採用累加法對5個梯度進行了調整,輸出調整後的梯度波形圖,參見圖5。通過累加減小輸出梯度的誤差,使得最終誤差較小,進而使得輸入至DAC的數字編碼精度較高,提高DAC輸出波形的精度。
當然,如果第五梯度波形後還存在更多的輸出梯度波形,需將r2繼續向下進行累加,直至遍歷完所有的梯度波形。
本申請提供的提高DAC輸出波形精度的方法,通過將每個體素的空間位置信息信息轉換成位數較高(高於DAC的編碼輸入位數)的數字編碼,再將數字編碼產生的量化誤差進行累加、補償的操作過程,得到精度較高(高於將每個體素的空間位置信息數字編碼成DAC編碼輸入位數的精度)的DAC輸入編碼,使得最終輸入至DAC輸入編碼的誤差較小,從而使得在不改變DAC精度(即解析度)的情況下,通過提高輸入至DAC的編碼的精度來提高DAC輸出波形的精度,即能夠使得較低精度的DAC達到高精度DAC的使用效果。
參見圖6,為本申請提供一種提高DAC輸出波形精度的裝置的功能模塊結構圖,該提高DAC輸出波形精度的裝置與上述提高DAC輸出波形精度的方法相對應,可參照上述提高DAC輸出波形精度的方法的實施例來理解或解釋該提高DAC輸出波形精度的裝置的內容。
根據應用的場景不同,所述裝置有可能是通過軟體實現的業務邏輯,也可能是硬體或者軟硬體結合的設備。下面以軟體實現為例介紹本申請裝置。軟體作為一個邏輯意義上的裝置,是通過其所在設備的處理器將非易失性存儲器中對應的電腦程式指令讀取到內存中運行形成的。如圖7所示,為一個例子中,本申請軟體裝置所在的磁共振系統設備的硬體結構圖。所述磁共振系統設備除了包括有處理器、內存、IO接口、以及非易失性存儲器之外,可能還包括其他硬體,對此不再贅述。
從功能模塊來講,本申請提供的一種提高DAC輸出波形精度的裝置,包括:
數字編碼模塊101,用於對被測體的每個體素的空間位置信息進行預設位數的數字編碼,其中,所述數字編碼的預設位數大於DAC的編碼輸入位數;
計算處理模塊102,用於根據所述數字編碼的預設位數和DAC的編碼輸入位數,計算出對應被測體的每個體素的空間位置信息進行數字編碼時產生的量化誤差,並將各數字編碼減去量化誤差所得的剩餘部分作為對應被測體的每個體素的空間位置信息的新數字編碼;
誤差累加模塊103,用於累加各量化誤差獲得實時累加值,並將實時累加值與DAC的最低精度值進行比較,若實時累加值大於等於DAC的最低精度值,則通知誤差補償模塊104對新數字編碼進行誤差補償,否則,繼續累加各量化誤差;
誤差補償模塊104,用於在累加的量化誤差值大於等於DAC的最低精度值時,以DAC最低精度值為單位補償到當前被累加的量化誤差所對應的新數字編碼上,將補償後的新數字編碼作為DAC輸入編碼,然後通知誤差累加模塊103繼續累加各量化誤差。
進一步地,所述計算處理模塊102根據所述數字編碼的預設位數和DAC的編碼輸入位數,確定出對應被測體的每個體素的空間位置信息進行數字編碼時產生的量化誤差,具體包括:
計算被測體的每個體素的空間位置信息數字編碼的預設位數與DAC編碼輸入位數的差值;
截取被測體的每個體素的空間位置信息所對應的數字編碼中從低位開始的差值大小位數的編碼,將截取到的編碼作為對應被測體的每個體素的空間位置信息的量化誤差。
進一步地,所述數字編碼模塊101對被測體的每個體素的空間位置信息進行數字編碼的持續時間相同,所述DAC的最低精度值為一個最小的梯度波形幅度。
進一步地,所述誤差累加模塊103對量化誤差的累加順序與被測體的每個體素的空間位置信息進行數字編碼的順序相同。
以上所述僅為本申請的較佳實施例而已,並不用以限制本申請,凡在本申請的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本申請保護的範圍之內。