韩韬,张俊勇
(1.陕西国防工业职业技术学院机械工程学院,陕西西安,710300;2.陕西国防工业职业技术学院智能制造学院,陕西西安,710300)
超声成像技术是利用超声信号进入人体器官,会产生了不同的反射和衰减,通过成像系统以波形或图像的方式将超声信号数据显示出来,以此来进行各种疾病诊断的检查方法。
血管内超声技术是传统超声成像技术的其中一种,主要运用于冠状动脉系统的诊断,该技术出现的时间较短,它是通过专门的心导管将微型超声探头深入到心血管腔内,发出超声信号经过心血管反射获得回波信号,通过回波信号的分析处理最终显示心血管横截面和血流的图形,经过分析能够发现血管内可能出现的钙化斑块等病变,辅助医生作出诊断[1]。
现代医学超声检测设备中,B型超声成像系统的应用是最多最广泛的,而血管内超声成像系统除了前端的特殊的介入式的导管以及加上了中间负责回撤机械控制装置外,其他部分与B型超声成像系统原理一样,但是该系统的应用场合有了很大的不同。血管内超声系统主要用在心血管疾病的诊断并且需要将超声导管置入血管中进行介入式的诊断,只有这样才能显示血管横截面的图像来进行判断。因此,血管内超声系统的信号处理在整个系统工作的过程中是非常重要的,它的好坏直接决定着最终所获得的超声图像的质量和分辨率等。
血管内超声成像系统主要由血管内超声导管及换能器、机械控制装置、超声发射单元和信号处理单元等四部分组成,如图1所示。其中,信号处理单元主要负责对超声回波信号进行一系列信号处理。
图1 血管内超声成像系统组成部分
血管内超声导管和超声换能器组合在一起,通过系统的超声发射单元发射超声激励信号,经过机械控制装置传递给血管内超声导管和超声换能器,反射的回波超声信号将通过机械控制装置传递给系统的信号处理单元,将进行超声回波数据的信号处理流程[2]。
对于血管内超声成像系统,信号处理单元将进行一系列信号处理过程,血管内超声信号的处理按照从前到后的顺序依次是动态滤波、包络检波、对数压缩、下采样和数据存储。具体顺序如图2所示。
图2 血管内超声成像系统的信号处理过程
血管内超声信号在传播过程中会有散射、扩散和被血管组织吸收等情况,里面有很多无用信号,这都会导致超声信号衰减,会有干扰信号产生,如果不及时过滤掉干扰信号,就会影响最终的成像效果,从而就降低医生的诊断效率。有关资料显示,在血管内超声信号频率是1MHz~15MHz时,超声信号被人体血管等组织吸收的部分与超声频率成正比,它的吸收衰减系数是0.5dB /(cm *MHz)至3.5 dB /(cm*MHz)[3]。通过血管内超声成像系统采集的血管内超声回波信号的中心频率和系统超声探测的深度成反比,频率将随探测深度的增加而不断降低。然后,动态滤波是超声信号处理过程中的一个非常关键的环节,这个环节将会直接影响到超声回波信号在探测深度内的分辨力。
由于动态滤波对于血管内超声成像系统很关键,所以需要本文设计了一组动态滤波器,根据需要设计好滤波器参数,当回波深度不断增加该滤波器的中心频率随会降低,滤波器的参数设置也会动态变化,通过合理设置滤除掉高频或者低频的各种干扰信号,从而完成动态滤波。
滤波器的种类可分为两类,分别是经典滤波器和现代滤波器。经典滤波器是假设输入信号x(n)的有价值部分和想要去除的部分各自占有不一样的频带,所以当x(n)经过一个线性的系统后可以将不需要的部分有效地除掉。假如信号和噪声存在重叠,那经典滤波器也就会无能为力。现代滤波器的理论研究的主要是从含有噪声的信号数据中计算出数据的特定的特征。通过相关统计分析出一套最合适的估值算法,再用硬件或者软件去实现,在超声成像系统的工作过程中,就是需要一个数字滤波器将一些无用的噪声彻底的滤除掉。
本文主要研究的滤波器为现代滤波器,它可以按不同方式分类。本文设计的动态滤波器主要如果按处理信号种类分为模拟滤波器和数字滤波器两种;如果按照所通过信号的频段分为低通滤波器、高通滤波器、带通滤波器和带阻滤波器四种。
对于血管内超声成像系统需要选择一组带通滤波器,该滤波器的中心频率随回波深度的增加而逐渐降低,它可以在寻找存有可用信息的回波信号的同时,能够滤除以低频为主的强回声信号和以高频为主的干扰信号。
数字滤波器还能分为无限冲激相应滤波器(Infinite Impulse Response,IIR)和有限冲激响应滤波器(Finite Im pulse Response,FIR)。无限冲激响应滤波器属于数位滤波器,简称IIR滤波器。由于无限脉冲响应滤波器存在反馈回路,因此对于脉冲输入响应的信号是无限连续的。有限冲激响应滤波器是数字滤波器的一种,简称FIR滤波器。输入信号经过线性时不变系系统输出的过程是一个输入信号与单位脉冲响应进行线性卷积的过程。
本文设计的动态滤波器选择有限冲激响应FIR滤波器,该滤波器有三个优点,第一个是信号输出稳定,第二个是容易实现线性相位,第三个是允许设计多通带滤波器。因此,本文设计了基于FPGA的FIR滤波器来对血管内超声信号进行滤波处理,该动态滤波器是基于分布式算法原理。
FIR滤波器可采用分布式算法,该算法是1973年由Croisier被提出来的。它主要利用只读存储器滤波中的乘积和运算转换变为加/减法、移位和查找表操作,用FPGA实现很简易方便,所以在超声图像信号处理中很重要。
算法结构简要说明如下:
设:
其中c(n)为系数,N是正整数,M是数据格式的字长,n是变量的二进制位。
公式2带入公式1得:
利用FPGA主要实现式(3)的分布式计算过程:查找表内容可为累加值用变量x(n)分别用N个移位寄存器存贮,以x(0),x(1)...作为查找表的输入地址,B次查询后把结果加权累加,这样便得到了式乘积和的值[4]。
乘累加运算是DSP算法的有效途径,而分布式算法则能够大大提高乘累加运算的效能[5]。根据以上计算公式,计算式中括号的每一乘积项代表着输入变量的某一位与常量的二进制“与”操作,加号代表着算术和操作,指数因子代表括号中的值加权。这是分布式算法的查找表,假如先制作一个查找表,此表存储着括号中所有可能的组合值,就可以通过所有输入变量相对应位的组合向量(XMn,X(M-1)n……X1n)对该表进行寻址[5],该查找表称为DALUT。DALUT的构造规则如表1所示。
表1 DALUT查找表的构造规则
在仿真实验时,先利用MATLAB软件仿真获取滤波器的参数,确定滤波器类型,根据MATLAB里的设定的带通滤波器参数,基于FPGA设计调用程序设计出项目所需的FIR带通滤波器。
本设计中的动态滤波器使用MATLAB的滤波器专用设计工具FDA模块,该模块具有可视化界面,设定好参数后可以设计出各种类型的滤波器。
如图3所示,本文设计的带通滤波器的利用RLC谐振原理,通过电阻、电感和电容组合产生,允许特定频率段的波通过同时屏蔽其它频率的波段。
图3 带通滤波器电路原理图
利用MATLAB软件的工具包Fdatool进行仿真,对于血管内超声信号处理电路需要设计一种FIR带通滤波器。首先通过软件设定滤波器的采样频率是200MHz,中心频率是32MHz,上限截止频率是80MHz,下限截止频率是10MHz,超声信号的采样频率是200MHz,上限截止频率和下限截止频率的衰减为±3dB,如图4所示,纵轴为滤波器幅度,横轴为滤波器频率,滤波器只通过上下截止频率之间的信号,因此该仿真滤波器实现了带通效果[6]。
图4 FIR带通滤波器幅频关系图
硬件利用Altera公司的Quartus II软件调用IP核,根据MATLAB软件里的信号仿真结果设定参数,基于FPAG设计FIR动态滤波器实现带通滤波并进行硬件仿真。
(1)建立顶层文件并启动IP核
在FPGA环境中创建一个工程文件,类型是顶层文件,能够充分调研FPGA的IP核。
(2)设置滤波器具体参数
动态滤波器的硬件基本参数如图5所示,硬件FPGA选择Cyclone(飓风)系列分布式算法,结构为完全平行滤波器,设置流水线级数为3,能够合理利用FPGA资源与兼顾信号处理效率和速度,级数越高处理速度越快,占用的FPGA的资源就越多,数据存储在器件的逻辑单元[7]。
图5 FIR动态滤波器基本参数显示图
项目的仿真实验以设计32阶滤波器为例,根据上图设定好的动态滤波器类型、结构等参数,来设计一种32阶的动态滤波器,如图6所示。
图6 32阶动态滤波器
(3)仿真测试
本文设计的动态滤波器是在在Altera软件中利用ModelSim进行了仿真,假如输入信号数据依次为7,3,1...时,就会得到仿真输出为35,29,32,16...,与乘累加方式结果完全一致。对于容量较小的超声数据来说,分布式算法的速度远远高于乘累加运算[8]。
如图7所示,filer_in标记为滤波之前输入的信号波形,filter_out标记为滤波之后输出的信号波形,从图中可看出该动态滤波器的滤波效果明显,滤除了低频和高频信号,消除了很多噪声和干扰信号,留下了最具价值的频率分量,从而得到了最佳的信噪比,提升最终获得的超声图像的分辨率,并且处理后信号的毛刺很小[9]。
图7 滤波前和滤波后的信号对比
本文基于FPGA设计了一种血管内超声成像系统的动态滤波器,该动态滤波器为FIR带通滤波器,通过实验仿真,首先利用MATLAB得到了动态滤波器的参数如何设置,再利用该滤波器能够有效的对超声回波信号进行滤波,消除干扰和噪声信号,得到最佳信噪比,提升血管内超声图像分辨率,满足系统的设计要求,仿真结果表明基于FPGA采用分布式算法实现的动态滤波器硬件规模较小,消耗逻辑单元数量少,具有实时性好,信号转换快速快,可靠性高的特点。