基于fpga的医用超声诊断仪实时对数压缩电路构建法

文档序号:770211阅读:252来源:国知局
基于fpga的医用超声诊断仪实时对数压缩电路构建法
【专利摘要】一种基于FPGA的医用超声诊断仪实时对数压缩电路构建法,在FPGA上分别建立与数据输入信号相连的数据分流模块,与数据分流模块输出相连的对数压缩总模块,以及与对数压缩总模块的输出相连的数据整合模块,其中,对数压缩总模块是由与数据分流模块的N+1个输出通道个数相同的对数压缩子模块构成,N是数据整合模块所输出的压缩结果的位数。本发明能够实现每个时钟上升沿到来时,都有一个对数压缩结果输出,保证超声回波数字信号在对数压缩处理时的实时性。对数压缩能有效压缩输入信号的动态变化范围,增强小信号,并且达到实时处理的要求。其中ROM所需要的空间是28×16bit,能够有效减少硬件资源的占用。
【专利说明】基于FPGA的医用超声诊断仪实时对数压缩电路构建法

【技术领域】
[0001]本发明涉及一种医用超声诊断仪实时对数压缩电路。特别是涉及一种基于FPGA的医用超声诊断仪实时对数压缩电路构建法

【背景技术】
[0002]医用超声诊断仪多用于对人体软组织进行实时、动态的断层成像。医用超声诊断系统通过超声换能器发射超声波,并同样通过换能器接收经过组织吸收、散射等衰减后反射回来的超声回波信号。回波信号经过A/D芯片转换成数字信号,在FPGA上完成滤波、检波、对数压缩等数字信号处理,来分别实现噪声抑制、信号解调和动态范围的压缩,最后送入后端系统显不超声图像。
[0003]其中,对数压缩是超声回波信号处理中必不可少的一个过程。人体各软组织对超声的吸收系数为0.6-0.7dB/cm.MHz,导致超声回波信号的动态范围达到10dB以上,难以在终端显示器显示。对数压缩利用非线性关系将大动态范围的信号进行压缩的同时,对能够反映人体结构细节的微弱回波信号相对其他强信号有拉伸效果,起到增加对比度的作用。传统的对数压缩采用查表法直接压缩,如果将16位的数据压缩为8位的数据,需要的查找表大小是216X8bit,占用的硬件资源过大。中国专利基于FPGA的医学超声成像系统用解调和对数压缩系统(03104777.7)中采用的对数压缩方法需要9个时钟才能得到一个压缩结果,而在这9个时钟期间输入的后8个待压缩数据将无法及时得到处理,应用到实际产品中时,会严重影响数据处理速度和成像实时性。


【发明内容】

[0004]本发明所要解决的技术问题是,提供一种仅需要替换ROM中的数据便可实现不同曲线的压缩的基于FPGA的医用超声诊断仪实时对数压缩电路构建法。
[0005]本发明所采用的技术方案是:一种基于FPGA的医用超声诊断仪实时对数压缩电路构建法,在FPGA上分别建立与数据输入信号相连的用于将待压缩的输入数据分成N+1路数据输出的数据分流模块,与所述的数据分流模块输出相连用于将N+1路通道的数据分别同时进行对数压缩运算,并将N+1个对数压缩结果进行输出的对数压缩总模块,以及与对数压缩总模块的输出相连将N+1个对数压缩结果根据压缩前对应数据的先后顺序排列整合成一路信号的数据整合模块,其中,所述的对数压缩总模块是由与所述的数据分流模块的N+1个输出通道个数相同的对数压缩子模块构成,所述的N是数据整合模块所输出的压缩结果的位数。
[0006]所述的数据分流模块的构建方法是:
[0007]I)将数据分流模块的N+1个输出通道分别与对数压缩总模块中N+1个对数压缩子模块的输入端对应相连;
[0008]2)将待压缩的输入数据以每个时钟I个数据的频率输入所述数据分流模块;
[0009]3)数据分流模块将第I个时钟的第I个数据从第I路通道输出,将第2个时钟的第2个数据从第2路通道输出,直到将第N+1个时钟的第N+1个数据从第N+1路通道输出后,将第N+2个时钟的第N+2个数据又重新从第I路通道输出,一直如此循环,直到超声诊断仪结束扫描。
[0010]所述的对数压缩总模块的构建方法是,每一个对数压缩子模块在接收到数据分流模块的每一个输出信号,都要经过N+1个时钟对所接收到的信号进行数据处理,然后输出到数据整合模块。
[0011]所述的数据处理包括:将用于控制时序的时钟信号分两路,一路通过一个非门进入只读存储器,另一路直接进入N位地址选择器,所述的只读存储器的输出端连接比较器的一个输入端,比较器的另一个输入端连接所述数据分流模块的相对应的输出端,所述比较器的两个输出端分别连接N位地址选择器的两个输入端,N位地址选择器的输出端连接所述的只读存储器的输入端,同时还构成对数压缩子模块的输出端。
[0012]所述的N位地址选择器的工作过程是:
[0013]在第I个时钟时,N位地址选择器中的地址复位为2N4 ;在第2个时钟时,N位地址选择器将比较器的输出结果锁存在N位地址选择器中地址的最高位,舍去最低位组成新地址;在第3个时钟时,N位地址选择器将比较器的输出结果锁存在N位地址选择器中地址的次高位,舍去最低位组成新地址;依次进行直至第N+1个时钟时,N位地址选择器将比较器的输出结果锁存在N位地址选择器中地址的最低位,组成新地址,所述新地址为对数压缩子模块输出的压缩结果。
[0014]所述的只读存储器的工作过程是:在只读存储器的存储表中设定X为存储值,y为存储表地址,贝1J由对数运算曲线I = kloga (x+1)求得X值,其中,y取值为O?(2N — I), k和a为常数。
[0015]所述的数据整合模块的构建方法是:
[0016]I)将数据整合模块的N+1个输入通道分别与对数压缩总模块中N+1个对数压缩子模块的输出通道对应相连。
[0017]2)数据整合模块在第I个时钟将第I个对数压缩子模块的压缩结果从输出通道输出,在第2个时钟将第2个对数压缩子模块的压缩结果从输出通道输出,直到在第N+1个时钟将第N+1个对数压缩子模块的压缩结果从输出通道输出,在第N+2个时钟将第N+2个对数压缩子模块的压缩结果从输出通道输出,一直如此循环,直到超声诊断仪结束扫描。
[0018]本发明的基于FPGA的医用超声诊断仪实时对数压缩电路构建法,采用FPGA能够重复改变组态的电路,满足大数据量复杂运算的高速处理。本发明能够实现每个时钟上升沿到来时,都有一个对数压缩结果输出,保证超声回波数字信号在对数压缩处理时的实时性。对数压缩能有效压缩输入信号的动态变化范围,增强小信号,并且达到实时处理的要求。其中ROM所需要的空间是28X16bit,能够有效减少硬件资源的占用。本发明仅需要替换ROM中的数据便可实现不同曲线的压缩,具有很好地可移植性。

【专利附图】

【附图说明】
[0019]图1是本发明的整体结构示意图;
[0020]图2是对数运算曲线图;
[0021]图3是本发明中对数压缩子模块的结构示意图。
[0022]图中
[0023]1:数据分流模块2:对数压缩总模块
[0024]21?29:对数压缩子模块3:数据整合模块
[0025]210:只读存储器211:比较器
[0026]212:N位地址选择器213:非门

【具体实施方式】
[0027]下面结合实施例和附图对本发明的基于FPGA的医用超声诊断仪实时对数压缩电路构建法做出详细说明。
[0028]首先说明对数压缩本质上来说就是利用对数运算曲线y = kloga(x+l), (a>l)对输入信号X进行非线性的调制,a的取值决定了曲线的形状,k的取值取决于输入信号X的位数。如图2所示,所述对数运算曲线是一条单调递增的曲线,那么当&〈12时,必有yi〈y2成立,其中n分别对应当X取Xp X2时y = kloga (x+1)的值。
[0029]如图1所示,本发明的基于FPGA的医用超声诊断仪实时对数压缩电路构建法,在FPGA上分别建立与数据输入信号相连的用于将待压缩的输入数据分成N+1路数据输出的数据分流模块,与所述的数据分流模块输出相连用于将N+1路通道的数据分别同时进行对数压缩运算,并将N+1个对数压缩结果进行输出的对数压缩总模块,以及与对数压缩总模块的输出相连将N+1个对数压缩结果根据压缩前对应数据的先后顺序排列整合成一路信号的数据整合模块,其中,所述的对数压缩总模块是由与所述的数据分流模块的N+1个输出通道个数相同的对数压缩子模块构成,所述的N是数据整合模块所输出的压缩结果的位数。
[0030]在本发明的实施列中,所述的FPGA可以采用ALTERA公司生产的Cyclone IV系列中型号为EP4CE55F23C8的芯片。
[0031]所述的数据分流模块的构建方法是:1)将数据分流模块的N+1个输出通道分别与对数压缩总模块中N+1个对数压缩子模块的输入端对应相连;2)将待压缩的输入数据以每个时钟I个数据的频率输入所述数据分流模块;3)数据分流模块将第I个时钟的第I个数据从第I路通道输出,将第2个时钟的第2个数据从第2路通道输出,直到将第N+1个时钟的第N+1个数据从第N+1路通道输出后,将第N+2个时钟的第N+2个数据又重新从第I路通道输出,一直如此循环,直到超声诊断仪结束扫描。
[0032]对数压缩子模块就是利用对数函数的单调性,通过比较输入数据与预存数据大小依次判断压缩结果的各个位数,实现对数压缩。如果将M位数据压缩为N位数据,并用YN、YwY1表示压缩结果Y的各个位数,第一次比较输入数据与Xiqq...Q (X100-O表示当y =则…O时,X的取值;100…O表示最高位为1,其余位为O的数)的大小判断压缩结果的最高位Yn,若输入数据大于X册“0,Yn为I ;反之,Yn为O。第二次比较输入数据与XY_...。(Yn10...0表示最高位为Yn,次高位为I,其余位为O的数)的大小判断次高位Yim,若输入数据大于Xyn1OO-OjYn-1为I ;反之,YN-1为O。如此重复判断,直到第N个时钟比较出最低位Yl的值,并在第N+1个时钟将最终压缩结果InYn^Y1 ”输出。
[0033]所述的对数压缩总模块的构建方法是,每一个对数压缩子模块在接收到数据分流模块的每一个输出信号,都要经过N+1个时钟对所接收到的信号进行数据处理,然后输出到数据整合模块。如图3所示,所述的数据处理包括:将用于控制时序的时钟信号分两路,一路通过一个非门213进入只读存储器(ROM) 210,另一路直接进入N位地址选择器,所述的只读存储器的输出端连接比较器211的一个输入端,比较器211的另一个输入端连接所述数据分流模块I的相对应的输出端,所述比较器211的两个输出端分别连接N位地址选择器212的两个输入端,N位地址选择器212的输出端连接所述的只读存储器210的输入端,同时还构成对数压缩子模块的输出端。其中,
[0034]所述的N位地址选择器的工作过程是:在第I个时钟时,N位地址选择器中的地址复位为;在第2个时钟时,N位地址选择器将比较器的输出结果锁存在N位地址选择器中地址的最高位,舍去最低位组成新地址;在第3个时钟时,N位地址选择器将比较器的输出结果锁存在N位地址选择器中地址的次高位,舍去最低位组成新地址;依次进行直至第N+1个时钟时,N位地址选择器将比较器的输出结果锁存在N位地址选择器中地址的最低位,组成新地址,所述新地址为对数压缩子模块输出的压缩结果。
[0035]所述的只读存储器的工作过程是:在只读存储器的存储表中设定X为存储值,y为存储表地址,贝1J由对数运算曲线I = kloga (x+1)求得X值,其中,y取值为O?(2N — I), k和a为常数。
[0036]所述的数据整合模块的构建方法是:1)将数据整合模块的N+1个输入通道分别与对数压缩总模块中N+1个对数压缩子模块的输出通道对应相连。2)数据整合模块在第I个时钟将第I个对数压缩子模块的压缩结果从输出通道输出,在第2个时钟将第2个对数压缩子模块的压缩结果从输出通道输出,直到在第N+1个时钟将第N+1个对数压缩子模块的压缩结果从输出通道输出,在第N+2个时钟将第N+2个对数压缩子模块的压缩结果从输出通道输出,一直如此循环,直到超声诊断仪结束扫描。
[0037]下面给出一个具体的实例:
[0038]待压缩数据位数M = 16,对数压缩结果位数N = 8。
[0039]数据分流模块用于将待压缩的输入数据分成9路数据输出。所述待压缩的输入数据以每个时钟一个数据的频率输入所述数据分流模块,所述数据分流模块将第I个时钟的第I个数据从第I路通道输出;将第2个时钟的第2个数据从第2路通道输出;直到将第9个时钟的第9个数据从第9路通道输出后,将第10个时钟的第10个数据重新从第I路通道输出;一直如此循环,直到超声诊断仪结束扫描。
[0040]所述数据分流模块的9个输出通道分别与对数压缩总模块中9个对数压缩子模块相连,如第一个对数压缩子模块在第一个时钟接收到第一个数据,在第9个时钟输出第一个数据的压缩结果,并在下个时钟也就是第10个时钟接收第10个数据参与压缩运算;其他对数压缩子模块的工作模式同所述的第一个对数压缩子模块相似。
[0041]所述对数压缩子模块电路连接如图3所示,具体实现过程如下:
[0042]第一个时钟上升沿锁存一个输入数据,同时复位信号使地址选择器复位为“10000000”,则下降沿从ROM输出地址为“10000000”的X1(l__,与输入数据在比较器中进行比较;
[0043]第二个时钟上升沿来临时,第一个时钟的比较结果Y8(若输入数据大于ROM读取数据,Yn为I ;反之,Yn为O)锁存在地址选择器中地址的最高位,组成新地址“Y81000000”,下降沿时根据新的地址在ROM中读取新的值输入到比较器,与原输入数据进行第二次比较,得到次高位Y7;
[0044]在第三个时钟上升沿时,地址选择器中地址的最高位锁存Y8不变,次高位锁存第二次比较结果Y7,组成新地址“Y8Y71000000”,下降沿时根据新的地址在ROM中读取新的值输入到比较器,与原输入数据进行第三次比较,得到第三高位Y6 ;
[0045]重复锁存并组合新的地址,直到第九个时钟时由地址选择器得到结果"Y8Y7Y6Y5Y4Y3Y2Y1'
[0046]当第十个时钟上升沿到来时,重新锁存一个刚刚由数据分流模块过来的待压缩输入数据,同时复位信号使地址选择器复位为“10000000”,重复以上步骤,得到压缩结果。
[0047]其中,在ROM存储表中地址为Q的Xq代表当y = Q时,χ的值,可由对数运算曲线I = kloga(x+l)求得。
[0048]每当有新的数据输入,也就是复位信号复位时,对数压缩子模块便根据上述过程计算对数压缩结果,同时所述对数压缩总模块中9个对数压缩子模块的对数压缩结果输出与数据整合模块相连,所述数据整合模块将输入的对数压缩结果按多对应的输入数据的输入先后顺序排列以每个时钟一个结果的频率将最终压缩结果输出,实现实时对数压缩。
【权利要求】
1.一种基于FPGA的医用超声诊断仪实时对数压缩电路构建法,其特征在于,在FPGA上分别建立与数据输入信号相连的用于将待压缩的输入数据分成N+1路数据输出的数据分流模块,与所述的数据分流模块输出相连用于将N+1路通道的数据分别同时进行对数压缩运算,并将N+1个对数压缩结果进行输出的对数压缩总模块,以及与对数压缩总模块的输出相连将N+1个对数压缩结果根据压缩前对应数据的先后顺序排列整合成一路信号的数据整合模块,其中,所述的对数压缩总模块是由与所述的数据分流模块的N+1个输出通道个数相同的对数压缩子模块构成,所述的N是数据整合模块所输出的压缩结果的位数。
2.根据权利要求1所述的用于医用超声诊断仪的实时对数压缩电路的构建方法,其特征在于,所述的数据分流模块的构建方法是: 1)将数据分流模块的N+1个输出通道分别与对数压缩总模块中N+1个对数压缩子模块的输入端对应相连; 2)将待压缩的输入数据以每个时钟I个数据的频率输入所述数据分流模块; 3)数据分流模块将第I个时钟的第I个数据从第I路通道输出,将第2个时钟的第2个数据从第2路通道输出,直到将第N+1个时钟的第N+1个数据从第N+1路通道输出后,将第N+2个时钟的第N+2个数据又重新从第I路通道输出,一直如此循环,直到超声诊断仪结束扫描。
3.根据权利要求1所述的用于医用超声诊断仪的实时对数压缩电路的构建方法,其特征在于,所述的对数压缩总模块的构建方法是,每一个对数压缩子模块在接收到数据分流模块的每一个输出信号,都要经过N+1个时钟对所接收到的信号进行数据处理,然后输出到数据整合模块。
4.根据权利要求3所述的用于医用超声诊断仪的实时对数压缩电路的构建方法,其特征在于,所述的数据处理包括:将用于控制时序的时钟信号分两路,一路通过一个非门进入只读存储器,另一路直接进入N位地址选择器,所述的只读存储器的输出端连接比较器的一个输入端,比较器的另一个输入端连接所述数据分流模块的相对应的输出端,所述比较器的两个输出端分别连接N位地址选择器的两个输入端,N位地址选择器的输出端连接所述的只读存储器的输入端,同时还构成对数压缩子模块的输出端。
5.根据权利要求4所述的用于医用超声诊断仪的实时对数压缩电路的构建方法,其特征在于,所述的N位地址选择器的工作过程是: 在第I个时钟时,N位地址选择器中的地址复位为;在第2个时钟时,N位地址选择器将比较器的输出结果锁存在N位地址选择器中地址的最高位,舍去最低位组成新地址;在第3个时钟时,N位地址选择器将比较器的输出结果锁存在N位地址选择器中地址的次高位,舍去最低位组成新地址;依次进行直至第N+1个时钟时,N位地址选择器将比较器的输出结果锁存在N位地址选择器中地址的最低位,组成新地址,所述新地址为对数压缩子模块输出的压缩结果。
6.根据权利要求4所述的用于医用超声诊断仪的实时对数压缩电路的构建方法,其特征在于,所述的只读存储器的工作过程是:在只读存储器的存储表中设定X为存储值,y为存储表地址,贝1J由对数运算曲线I = kloga (x+1)求得X值,其中,y取值为O?(2N — I), k和a为常数。
7.根据权利要求1所述的用于医用超声诊断仪的实时对数压缩电路的构建方法,其特征在于,所述的数据整合模块的构建方法是: 1)将数据整合模块的N+1个输入通道分别与对数压缩总模块中N+1个对数压缩子模块的输出通道对应相连。 2)数据整合模块在第I个时钟将第I个对数压缩子模块的压缩结果从输出通道输出,在第2个时钟将第2个对数压缩子模块的压缩结果从输出通道输出,直到在第N+1个时钟将第N+1个对数压缩子模块的压缩结果从输出通道输出,在第N+2个时钟将第N+2个对数压缩子模块的压缩结果从输出通道输出,一直如此循环,直到超声诊断仪结束扫描。
【文档编号】A61B8/14GK104306027SQ201410675185
【公开日】2015年1月28日 申请日期:2014年11月21日 优先权日:2014年11月21日
【发明者】王延群, 方思敏, 周盛, 王晓春, 叶青盛 申请人:中国医学科学院生物医学工程研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1