国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于CORDIC算法的血管內(nèi)超聲成像系統(tǒng)數(shù)字坐標轉(zhuǎn)換的FPGA實現(xiàn)

2022-12-06 08:18韓韜邱維寶
中國醫(yī)療器械雜志 2022年5期
關(guān)鍵詞:極坐標直角坐標象限

【作 者】 韓韜,邱維寶

1 陜西國防工業(yè)職業(yè)技術(shù)學(xué)院 機械工程學(xué)院,西安市,710300

2 中國科學(xué)院 深圳先進技術(shù)研究院 勞特伯生物醫(yī)學(xué)成像研究中心,深圳市,518055

0 引言

心血管疾病是很常見的疾病,隨著老齡化問題越來越嚴重,每年至少有2.8億人患有心血管疾病,每年約350萬人死于各種心血管疾病,心血管疾病已經(jīng)占據(jù)人類因病死亡原因的第一位,因此心血管類疾病的診斷和治療變得非常重要[1],隨著科技不斷發(fā)展,醫(yī)學(xué)超聲成像技術(shù)的出現(xiàn)對心血管疾病的診斷發(fā)揮了極其重要的作用,它和X線計算機斷層掃描成像、核醫(yī)學(xué)成像和磁共振成像相比,有無輻射、實時性好、操作簡單、價格低廉等優(yōu)點。而血管內(nèi)超聲成像技術(shù)作為腔內(nèi)超聲技術(shù)是一個專門檢測心血管類疾病的重要技術(shù)手段,該技術(shù)已經(jīng)應(yīng)用到臨床醫(yī)學(xué)診斷并在不斷發(fā)展中,尤其在冠狀動脈介入治療中起非常重要的作用,對預(yù)防、診斷和治療心血管疾病有重大意義[2]。

1 血管內(nèi)超聲成像系統(tǒng)的數(shù)字掃描變換器

血管內(nèi)超聲成像系統(tǒng)在使用時須對采集的超聲信號進行處理和控制,這個過程需要安裝一個電路部件,即數(shù)字掃描變換器。該部件是超聲設(shè)備成像系統(tǒng)的關(guān)鍵部件,它能夠?qū)崿F(xiàn)超聲成像信號的數(shù)字坐標變換并且使圖像處理和圖像數(shù)據(jù)交換變得更加便捷。

血管內(nèi)超聲成像中的超聲探頭掃描方式是以超聲探頭的中心點為圓心,以圓形的方式向外發(fā)射超聲脈沖和回波信號。該方式獲得的回波信號以極坐標形式存儲。極坐標形式的數(shù)據(jù)不利于人眼觀察,系統(tǒng)采集的點的位置和顯示像素的位置不對應(yīng),掃描線間需要補充空缺的數(shù)據(jù)。因此,須利用數(shù)字掃描變換器將信號從極坐標形式轉(zhuǎn)換成直角坐標形式[3],并對缺失數(shù)據(jù)進行數(shù)據(jù)插補,利用數(shù)字掃描變換器處理過后,血管內(nèi)超聲成像采集的信號就能夠以標準電視顯示方式在終端正常顯示。所以數(shù)字掃描變換器在血管內(nèi)超聲系統(tǒng)中得到了廣泛應(yīng)用[4]。

2 數(shù)字坐標轉(zhuǎn)換和CORDIC算法

2.1 數(shù)字坐標轉(zhuǎn)換

在血管內(nèi)超聲成像系統(tǒng)內(nèi),數(shù)字坐標轉(zhuǎn)換就是將系統(tǒng)采集到的極坐標系數(shù)據(jù)轉(zhuǎn)換為電腦可以水平掃描并顯示的直角坐標系數(shù)據(jù)。兩種坐標系的橫縱坐標有以下關(guān)系:設(shè)x0和y0是極坐標的對應(yīng)位置,θ是掃描線的偏轉(zhuǎn)角;L是沿掃描聲束矢徑上的采樣深度[5]。圓形掃描的每條掃描線有512個采樣點,假設(shè)相鄰兩個采樣點之間的長度ΔL為1個單位,則Ln=nΔL,n是矢徑上的采樣點數(shù)量,兩相鄰矢徑線之間的偏轉(zhuǎn)角為Δθ,則任意矢徑線與參考線之間的夾角為θm=mΔθ。各參數(shù)之間的關(guān)系見式(1)~式(3)。

數(shù)字坐標轉(zhuǎn)換過程如圖1所示,假設(shè)原始圖像數(shù)據(jù)有500條掃描線和2 000個像素點,利用算法通過現(xiàn)場可編程門陣列(field programmable gate array,FPGA)處理將極坐標轉(zhuǎn)化為直角坐標數(shù)據(jù),并對數(shù)據(jù)進行插補,最終在512×512像素的電視柵格中顯示。

基于FPGA實現(xiàn)坐標轉(zhuǎn)換可以利用多種方法,通常用的是查找表法,查找表法就是把直角坐標圖像上的每個點在原始極坐標圖像對應(yīng)點的位置信息排列成一個表,其中的內(nèi)容由軟件通過直角坐標轉(zhuǎn)換到極坐標的計算得來,但查找表法消耗硬件資源多、速度較慢、實時性較差[6]。下面我們研究將坐標旋轉(zhuǎn)數(shù)字計算機算法(cordinate rotations digital computer,CORDIC)應(yīng)用在血管內(nèi)超聲成像系統(tǒng)的數(shù)字坐標轉(zhuǎn)換。

2.2 CORDIC算法介紹

(1)算法背景。

CORDIC算法由J.Volder在1959年首次提出。該算法的基本數(shù)學(xué)原理是通過大量與運算基數(shù)相關(guān)角度不斷偏擺和迭代計算逼近所要求的旋轉(zhuǎn)角度,該算法使得矢量旋轉(zhuǎn)和定向運算不需要查三角函數(shù)表以及做乘法、開方、反三角函數(shù)等復(fù)雜運算,基本運算單元只有移位與加減法[7]。

(2)算法原理。

CORDIC算法能夠使矢量坐標的旋轉(zhuǎn)和計算不需要查三角函數(shù)表以及做乘法、開方、反三角函數(shù)等復(fù)雜運算[8],通過簡單運算得到數(shù)據(jù)。該算法基本原理是通過一系列固定的、與運算基數(shù)相關(guān)的角度的不斷偏擺以逼近所需的旋轉(zhuǎn)角度。從CORDIC的結(jié)構(gòu)和原理分析,算法中每一次的迭代都需要查找表,做移位、數(shù)學(xué)運算等操作,在硬件上比較容易實現(xiàn),而且速度很快,所以很適合在FPGA中實現(xiàn),算法的精度由輸入的橫縱坐標及迭代的次數(shù)決定,迭代的次數(shù)一般和字長相同。

3 基于CORDIC算法的FPGA硬件實現(xiàn)

FPGA實現(xiàn)過程是應(yīng)用Altera公司的Cyclone系列EP1C4F324C8的FPGA芯片,血管內(nèi)超聲成像系統(tǒng)超聲信號的數(shù)據(jù)長度通常為16位,基于FPGA利用CORDIC算法需要計算迭代16次,能夠?qū)崿F(xiàn)計算的效果。

血管內(nèi)超聲成像系統(tǒng)的數(shù)字掃描變換器工作時,超聲圖像數(shù)據(jù)以地址存儲,數(shù)據(jù)存儲到專用的圖像存儲器中,使用CORDIC算法將超聲圖像數(shù)據(jù)的直角坐標數(shù)值計算出對應(yīng)的極坐標數(shù)值,將已有的極坐標圖像轉(zhuǎn)換成直角坐標圖像,使之能夠在系統(tǒng)終端正常顯示[9]。

基于FPGA利用CORDIC算法計算坐標的仿真結(jié)果如圖2所示,圖中的Xin代表直角坐標的橫坐標,Yin代表直角坐標的縱坐標,Rout代表極坐標的半徑,Aout代表極坐標的相位,系統(tǒng)使用CORDIC算法對輸入坐標進行計算仿真,假設(shè)Xin直角坐標橫坐標數(shù)值是3,Yin直角坐標橫坐標數(shù)值是4,通過CORDIC算法迭代計算出半徑Rout是5,計算出Aout為53°,且都是以二進制存儲的。θ為最終換算角度。

輸入數(shù)據(jù)是16位,輸出數(shù)據(jù)是20位,通過CORDIC算法計算的極坐標的半徑和相位的輸出數(shù)據(jù)中,前面16位表示整數(shù)部分,后面4位表示小數(shù)部分。數(shù)據(jù)中加入小數(shù)部分后能提高精度,加入其他直角坐標數(shù)據(jù)后可計算得到相應(yīng)點的極坐標反正切和平方根值[10]?;贔PGA通過CORDIC算法計算出的部分直角坐標數(shù)據(jù)如表1所示,通過計算發(fā)現(xiàn)得到的極坐標的反正切迭代值和真實值之間誤差很小,說明CORDIC算法的迭代計算精度很高,能夠有效、準確地實現(xiàn)坐標轉(zhuǎn)換。

表1 CORDIC算法計算結(jié)果Tab.1 Calculation results of CORDIC algorithm

使用CORDIC算法輸入已知的橫坐標和縱坐標,利用移位和加減的計算獲得半徑和相位角度,從而實現(xiàn)數(shù)字坐標轉(zhuǎn)換的FPGA仿真計算測試[11]。查找表法是將極坐標圖像數(shù)據(jù)和對應(yīng)的直角坐標圖像數(shù)據(jù)存在一個表中,這些數(shù)據(jù)是基于查找表法通過軟件計算獲得的。

4 測試實驗

4.1 實驗步驟

測試實驗是通過與中科院深圳先進技術(shù)研究院醫(yī)工所的醫(yī)療影像中心合作完成的,借助該中心的血管內(nèi)超聲成像系統(tǒng),在模擬實驗環(huán)境下利用相關(guān)設(shè)備和材料進行血管仿體數(shù)字坐標轉(zhuǎn)換的驗證實驗。實驗步驟如下:

將裝有Altera公司Cyclone系列40F484C8型號的FPGA芯片的電路控制板連接到血管內(nèi)超聲成像系統(tǒng)中,電路板前端接超聲導(dǎo)管及回撤控制裝置,用于接收從血管仿體采集的信號,電路板后端接成像系統(tǒng),用于將采集到的血管內(nèi)超聲信號通過數(shù)字坐標轉(zhuǎn)換、對數(shù)壓縮和動態(tài)濾波等一系列數(shù)字信號處理后在顯示屏上顯示血管橫截面圖像。在FPGA中通過VHDL語言編程使用CORDIC算法輸入已知數(shù)據(jù)進行計算,得到坐標轉(zhuǎn)換后的數(shù)據(jù),數(shù)據(jù)結(jié)果導(dǎo)入Matlab并借助用戶圖形界面顯示驗證,再通過整個血管內(nèi)超聲成像系統(tǒng)最終處理得到血管橫截面圖像,從而完成測試實驗。

4.2 仿真測試過程和結(jié)果

已知數(shù)據(jù)的直角坐標橫縱坐標xi和yi的坐標數(shù)值范圍是0~256,通過CORDIC算法完成從第一象限到第四象限的坐標點轉(zhuǎn)換,O_adc_data代表計算轉(zhuǎn)換角度A,O_sds_data代表計算轉(zhuǎn)換半徑R1。坐標計算過程如下:

第一象限:右上角區(qū)域flag_q=0時,角度為A1=180°(16位數(shù))-O_adc_data,R1=O_sds_data,坐標轉(zhuǎn)換計算的半徑R和角度A計算如下:

半徑R(掃描深度)計算式為:

角度A(掃描線數(shù))計算式為:

圖3為FPGA坐標計算仿真結(jié)果。

當flag_1=10時,代表開始計算第二象限,當flag_1=01時,代表開始計算第三象限,當flag_1=11時,代表開始計算第四象限。計算內(nèi)容與第一象限相同,都是利用已知直角坐標對應(yīng)的極坐標位置進行計算來完成坐標轉(zhuǎn)換。

基于CORDIC算法利用FPGA根據(jù)直角坐標計算出極坐標輸出半徑并判斷象限實現(xiàn)數(shù)字坐標轉(zhuǎn)換,總共耗費1 559個邏輯單元,消耗的資源較少,并且實時性好、準確性高。另一種查找表法實現(xiàn)坐標轉(zhuǎn)換的過程是設(shè)計每一個查找表只能對同一分辨率的圖像進行坐標變換,實時性較CORDIC算法差并且會多用一個查找表存儲器件,利用硬件將耗費4 122個邏輯單元,占用資源較多,浪費硬件資源。

利用Matlab的用戶圖形界面仿真軟件,輸入超聲數(shù)據(jù)為1 000條圖像掃描線,1 024個像素點,圖4是坐標轉(zhuǎn)換前的數(shù)據(jù),圖5所示為基于CORDIC算法經(jīng)過FPGA實現(xiàn)的坐標轉(zhuǎn)換圖像,白色空心圓是超聲探頭的圓形截面形狀。

通過CORDIC算法實現(xiàn)數(shù)字坐標轉(zhuǎn)換后,再對轉(zhuǎn)換后的圖像數(shù)據(jù)進行后續(xù)的插值、濾波等超聲信號處理,最終在超聲成像實驗平臺完成整體系統(tǒng)的測試實驗,利用血管內(nèi)超聲成像系統(tǒng)最終成功得到了血管壁橫截面圖像,如圖6所示,醫(yī)生借助該圖像可以進行心血管疾病的相關(guān)診斷。

5 結(jié)語

本研究提出了將CORDIC算法應(yīng)用到血管內(nèi)超聲成像系統(tǒng)的數(shù)字掃描變換器的關(guān)鍵圖像處理步驟——數(shù)字坐標轉(zhuǎn)換中,利用算法的不斷迭代計算出超聲圖像處理坐標旋轉(zhuǎn)所需的角度,最終通過FPGA實現(xiàn)了血管內(nèi)超聲圖像的數(shù)字坐標轉(zhuǎn)換,并通過超聲影像系統(tǒng)的實驗驗證了算法的準確性和可靠性,相較傳統(tǒng)的查找表法,本方法實時強、準確度高、硬件消耗資源少,更適用于高速實時的血管內(nèi)超聲圖像系統(tǒng)。

猜你喜歡
極坐標直角坐標象限
勘 誤
基于貪心策略的直角坐標機器人動態(tài)分揀規(guī)劃
復(fù)數(shù)知識核心考點綜合演練
平面直角坐標系中的伸縮變換考向分析
常數(shù)牽手象限暢游中考
在平面直角坐標系中變出“精彩”
二重積分的極坐標計算法探討
平面直角坐標系中的點的特征和應(yīng)用
平面直角坐標系典例分析
《極坐標與參數(shù)方程》過關(guān)測試卷
龙游县| 宁都县| 汝州市| 汕尾市| 兰溪市| 台中市| 东乌珠穆沁旗| 南和县| 汉中市| 鹿泉市| 和龙市| 招远市| 和平县| 贵州省| 和政县| 平顶山市| 雷波县| 依安县| 绥棱县| 天祝| 屏东市| 林口县| 河间市| 锡林浩特市| 云梦县| 双鸭山市| 阿坝| 光山县| 米林县| 新建县| 黔西县| 西城区| 金门县| 泽库县| 政和县| 临朐县| 潼南县| 克拉玛依市| 双鸭山市| 扎赉特旗| 突泉县|