基于CORDIC算法的血管内超声成像系统数字坐标转换的FPGA实现

2022-12-06 08:18韩韬邱维宝
中国医疗器械杂志 2022年5期
关键词:极坐标直角坐标象限

【作 者】 韩韬,邱维宝

1 陕西国防工业职业技术学院 机械工程学院,西安市,710300

2 中国科学院 深圳先进技术研究院 劳特伯生物医学成像研究中心,深圳市,518055

0 引言

心血管疾病是很常见的疾病,随着老龄化问题越来越严重,每年至少有2.8亿人患有心血管疾病,每年约350万人死于各种心血管疾病,心血管疾病已经占据人类因病死亡原因的第一位,因此心血管类疾病的诊断和治疗变得非常重要[1],随着科技不断发展,医学超声成像技术的出现对心血管疾病的诊断发挥了极其重要的作用,它和X线计算机断层扫描成像、核医学成像和磁共振成像相比,有无辐射、实时性好、操作简单、价格低廉等优点。而血管内超声成像技术作为腔内超声技术是一个专门检测心血管类疾病的重要技术手段,该技术已经应用到临床医学诊断并在不断发展中,尤其在冠状动脉介入治疗中起非常重要的作用,对预防、诊断和治疗心血管疾病有重大意义[2]。

1 血管内超声成像系统的数字扫描变换器

血管内超声成像系统在使用时须对采集的超声信号进行处理和控制,这个过程需要安装一个电路部件,即数字扫描变换器。该部件是超声设备成像系统的关键部件,它能够实现超声成像信号的数字坐标变换并且使图像处理和图像数据交换变得更加便捷。

血管内超声成像中的超声探头扫描方式是以超声探头的中心点为圆心,以圆形的方式向外发射超声脉冲和回波信号。该方式获得的回波信号以极坐标形式存储。极坐标形式的数据不利于人眼观察,系统采集的点的位置和显示像素的位置不对应,扫描线间需要补充空缺的数据。因此,须利用数字扫描变换器将信号从极坐标形式转换成直角坐标形式[3],并对缺失数据进行数据插补,利用数字扫描变换器处理过后,血管内超声成像采集的信号就能够以标准电视显示方式在终端正常显示。所以数字扫描变换器在血管内超声系统中得到了广泛应用[4]。

2 数字坐标转换和CORDIC算法

2.1 数字坐标转换

在血管内超声成像系统内,数字坐标转换就是将系统采集到的极坐标系数据转换为电脑可以水平扫描并显示的直角坐标系数据。两种坐标系的横纵坐标有以下关系:设x0和y0是极坐标的对应位置,θ是扫描线的偏转角;L是沿扫描声束矢径上的采样深度[5]。圆形扫描的每条扫描线有512个采样点,假设相邻两个采样点之间的长度ΔL为1个单位,则Ln=nΔL,n是矢径上的采样点数量,两相邻矢径线之间的偏转角为Δθ,则任意矢径线与参考线之间的夹角为θm=mΔθ。各参数之间的关系见式(1)~式(3)。

数字坐标转换过程如图1所示,假设原始图像数据有500条扫描线和2 000个像素点,利用算法通过现场可编程门阵列(field programmable gate array,FPGA)处理将极坐标转化为直角坐标数据,并对数据进行插补,最终在512×512像素的电视栅格中显示。

基于FPGA实现坐标转换可以利用多种方法,通常用的是查找表法,查找表法就是把直角坐标图像上的每个点在原始极坐标图像对应点的位置信息排列成一个表,其中的内容由软件通过直角坐标转换到极坐标的计算得来,但查找表法消耗硬件资源多、速度较慢、实时性较差[6]。下面我们研究将坐标旋转数字计算机算法(cordinate rotations digital computer,CORDIC)应用在血管内超声成像系统的数字坐标转换。

2.2 CORDIC算法介绍

(1)算法背景。

CORDIC算法由J.Volder在1959年首次提出。该算法的基本数学原理是通过大量与运算基数相关角度不断偏摆和迭代计算逼近所要求的旋转角度,该算法使得矢量旋转和定向运算不需要查三角函数表以及做乘法、开方、反三角函数等复杂运算,基本运算单元只有移位与加减法[7]。

(2)算法原理。

CORDIC算法能够使矢量坐标的旋转和计算不需要查三角函数表以及做乘法、开方、反三角函数等复杂运算[8],通过简单运算得到数据。该算法基本原理是通过一系列固定的、与运算基数相关的角度的不断偏摆以逼近所需的旋转角度。从CORDIC的结构和原理分析,算法中每一次的迭代都需要查找表,做移位、数学运算等操作,在硬件上比较容易实现,而且速度很快,所以很适合在FPGA中实现,算法的精度由输入的横纵坐标及迭代的次数决定,迭代的次数一般和字长相同。

3 基于CORDIC算法的FPGA硬件实现

FPGA实现过程是应用Altera公司的Cyclone系列EP1C4F324C8的FPGA芯片,血管内超声成像系统超声信号的数据长度通常为16位,基于FPGA利用CORDIC算法需要计算迭代16次,能够实现计算的效果。

血管内超声成像系统的数字扫描变换器工作时,超声图像数据以地址存储,数据存储到专用的图像存储器中,使用CORDIC算法将超声图像数据的直角坐标数值计算出对应的极坐标数值,将已有的极坐标图像转换成直角坐标图像,使之能够在系统终端正常显示[9]。

基于FPGA利用CORDIC算法计算坐标的仿真结果如图2所示,图中的Xin代表直角坐标的横坐标,Yin代表直角坐标的纵坐标,Rout代表极坐标的半径,Aout代表极坐标的相位,系统使用CORDIC算法对输入坐标进行计算仿真,假设Xin直角坐标横坐标数值是3,Yin直角坐标横坐标数值是4,通过CORDIC算法迭代计算出半径Rout是5,计算出Aout为53°,且都是以二进制存储的。θ为最终换算角度。

输入数据是16位,输出数据是20位,通过CORDIC算法计算的极坐标的半径和相位的输出数据中,前面16位表示整数部分,后面4位表示小数部分。数据中加入小数部分后能提高精度,加入其他直角坐标数据后可计算得到相应点的极坐标反正切和平方根值[10]。基于FPGA通过CORDIC算法计算出的部分直角坐标数据如表1所示,通过计算发现得到的极坐标的反正切迭代值和真实值之间误差很小,说明CORDIC算法的迭代计算精度很高,能够有效、准确地实现坐标转换。

表1 CORDIC算法计算结果Tab.1 Calculation results of CORDIC algorithm

使用CORDIC算法输入已知的横坐标和纵坐标,利用移位和加减的计算获得半径和相位角度,从而实现数字坐标转换的FPGA仿真计算测试[11]。查找表法是将极坐标图像数据和对应的直角坐标图像数据存在一个表中,这些数据是基于查找表法通过软件计算获得的。

4 测试实验

4.1 实验步骤

测试实验是通过与中科院深圳先进技术研究院医工所的医疗影像中心合作完成的,借助该中心的血管内超声成像系统,在模拟实验环境下利用相关设备和材料进行血管仿体数字坐标转换的验证实验。实验步骤如下:

将装有Altera公司Cyclone系列40F484C8型号的FPGA芯片的电路控制板连接到血管内超声成像系统中,电路板前端接超声导管及回撤控制装置,用于接收从血管仿体采集的信号,电路板后端接成像系统,用于将采集到的血管内超声信号通过数字坐标转换、对数压缩和动态滤波等一系列数字信号处理后在显示屏上显示血管横截面图像。在FPGA中通过VHDL语言编程使用CORDIC算法输入已知数据进行计算,得到坐标转换后的数据,数据结果导入Matlab并借助用户图形界面显示验证,再通过整个血管内超声成像系统最终处理得到血管横截面图像,从而完成测试实验。

4.2 仿真测试过程和结果

已知数据的直角坐标横纵坐标xi和yi的坐标数值范围是0~256,通过CORDIC算法完成从第一象限到第四象限的坐标点转换,O_adc_data代表计算转换角度A,O_sds_data代表计算转换半径R1。坐标计算过程如下:

第一象限:右上角区域flag_q=0时,角度为A1=180°(16位数)-O_adc_data,R1=O_sds_data,坐标转换计算的半径R和角度A计算如下:

半径R(扫描深度)计算式为:

角度A(扫描线数)计算式为:

图3为FPGA坐标计算仿真结果。

当flag_1=10时,代表开始计算第二象限,当flag_1=01时,代表开始计算第三象限,当flag_1=11时,代表开始计算第四象限。计算内容与第一象限相同,都是利用已知直角坐标对应的极坐标位置进行计算来完成坐标转换。

基于CORDIC算法利用FPGA根据直角坐标计算出极坐标输出半径并判断象限实现数字坐标转换,总共耗费1 559个逻辑单元,消耗的资源较少,并且实时性好、准确性高。另一种查找表法实现坐标转换的过程是设计每一个查找表只能对同一分辨率的图像进行坐标变换,实时性较CORDIC算法差并且会多用一个查找表存储器件,利用硬件将耗费4 122个逻辑单元,占用资源较多,浪费硬件资源。

利用Matlab的用户图形界面仿真软件,输入超声数据为1 000条图像扫描线,1 024个像素点,图4是坐标转换前的数据,图5所示为基于CORDIC算法经过FPGA实现的坐标转换图像,白色空心圆是超声探头的圆形截面形状。

通过CORDIC算法实现数字坐标转换后,再对转换后的图像数据进行后续的插值、滤波等超声信号处理,最终在超声成像实验平台完成整体系统的测试实验,利用血管内超声成像系统最终成功得到了血管壁横截面图像,如图6所示,医生借助该图像可以进行心血管疾病的相关诊断。

5 结语

本研究提出了将CORDIC算法应用到血管内超声成像系统的数字扫描变换器的关键图像处理步骤——数字坐标转换中,利用算法的不断迭代计算出超声图像处理坐标旋转所需的角度,最终通过FPGA实现了血管内超声图像的数字坐标转换,并通过超声影像系统的实验验证了算法的准确性和可靠性,相较传统的查找表法,本方法实时强、准确度高、硬件消耗资源少,更适用于高速实时的血管内超声图像系统。

猜你喜欢
极坐标直角坐标象限
勘 误
基于贪心策略的直角坐标机器人动态分拣规划
复数知识核心考点综合演练
平面直角坐标系中的伸缩变换考向分析
常数牵手象限畅游中考
在平面直角坐标系中变出“精彩”
二重积分的极坐标计算法探讨
平面直角坐标系中的点的特征和应用
平面直角坐标系典例分析
《极坐标与参数方程》过关测试卷