一种基于FPGA的合成孔径地址码生成方法与流程

文档序号:17920396发布日期:2019-06-15 00:04阅读:157来源:国知局
一种基于FPGA的合成孔径地址码生成方法与流程

本发明属于fpga领域,涉及一种基于fpga的合成孔径地址码生成方法。



背景技术:

目前,合成孔径算法一般只能在处理速度要求较低的场合下使用,缺乏一种能够在侧扫雷达/声呐获得图像数据后进行实时处理的计算方法。目前所存在的方法一般使用cpu进行实现,其按照指令顺序执行的模式对于处理数据量庞大的图像信息时,需要较长的时间,且要处理的图像越大,需要的时间越久。而且对于合成孔径算法的地址码生成来说,需要进行较为复杂的运算,且在处理过程中需要进行大量数据的存储。若要使用在要求高速得到合成孔径处理后的图像的场合,如在飞机/潜艇需要几乎实时的快速获取大片区域高价值目标的情况下,明显难以达到其高速实时的要求。



技术实现要素:

本发明针对现有技术的不足,提出一种基于fpga的合成孔径地址码生成方法,这种方法可以应用于对合成孔径算法速度要求很高的场合下,进行地址码的高速并行生成。本发明利用fpga运算效率高的优势,基于标准双程延迟时间公式

进行地址码计算,对整个算法的实现进行加速,式中td为双程延迟时间;r0为航路捷径的垂直距离;x为航路捷径的水平距离。在雷达合成孔径实现时,该双程延迟时间公式由于x<<r0,可以被简化为

但考虑到合成孔径算法结构在雷达与声呐中使用的兼容性,不对其进行根式的近似化简。

本发明利用fpga的并行特性将地址码的生成分为16路处理,进而保证计算的高速性,且将孔径处理两侧不足孔径长度的图像与中间足够孔径长度的图像进行分别处理,形成三个大路,3*16个小路的高速并行处理结构。

为实现上述目的,本发明的技术方案为一种基于fpga的合成孔径地址码生成方法,包括以下步骤:

s10,将地址码的生成利用fpga并行特性分为16路,将孔径处理两侧不足孔径长度的图像与中间足够孔径长度的图像进行分别处理,形成三个大路,3*16个小路的高速并行处理结构;

s20,孔径处理的合成宽度计数,三个大路中的计数器cnt_i,cnt_j,cnt_k,分别进行不同的嵌套计数:第一路中,cnt_i循环从cnt_k计数至0;cnt_j从0计数至dis_line/16,为16路行数进行计数,其中cnt_j在cnt_i每完成一轮循环时改变一次;cnt_k从0计数至al-1,其中cnt_k在cnt_j每完成一轮循环时改变一次,对图像在完整孔径的部分之前不足孔径长度al的孔径累加进行计数;第二路中,cnt_i循环从al-1计数至0;cnt_j从0计数至dis_line/16,其中cnt_j在cnt_i每完成一轮循环时改变一次;cnt_k从al计数至dis_door-al-1,其中cnt_k在cnt_j每完成一轮循环时改变一次,对图像落于完整孔径大小的部分进行孔径累加计数;第三路中,cnt_i循环从dis_door-cnt_k-1计数至0;cnt_j从0计数至dis_line/16,其中cnt_j在cnt_i每完成一轮循环时改变一次;cnt_k从dis_door-al计数至dis_door-1,其中cnt_k在cnt_j每完成一轮循环时改变一次,其中,三个大路计数器中的cnt_i每完成一轮循环,即cnt_i=0时,将各自的refresh_flag置为高电平一个周期,给出一个刷新信号,用于孔径处理,对图像在完整孔径的部分之后不足孔径长度al的孔径累加进行计数,dis_line为距离线对应行,dis_door为距离门对应列,al为孔径长度点数;

s30,生成地址码d-1;

s40,生成地址码k-i。

优选地,所述s30包括以下步骤:

s31,根据输入路数rd_num,使用组合逻辑电路在cnt_j上加上(rd_num-1)×(dis_line/16)得到16路中某一路中的待计算点与图像边缘的像素距离,利用定点-浮点转换ip核,将其转换为32位单精度浮点数,若在输入数据时为第i个周期,那么在第i+4个周期上升沿可以获得对应值r0_j_pix;使用组合逻辑实现cnt_i-al/2-1的计算,得到结果,记为x_i,并利用定点-浮点转换ip核将其转换为32位单精度浮点数,在第i+4个周期上升沿获得结果,记为fp_x_i;

s32,通过浮点乘法器进行r0_j_pix×1/fs的计算,其中1/fs为采样频率的倒数,即采样周期对应的32位单精度浮点值,在第i+7个周期上升沿得到乘法结果,记为t_pix,为波束从待测图像边缘到达待测点所用的双程时间;通过浮点乘法器进行fp_x_i×delta_sa的计算,delta_sa为真实孔径长度的一半,即方位向分辨率,在第i+7个周期上升沿得到乘法结果记为x_i_rl,为待计算采样点到航路坐标原点的真实距离;

s33,t_pix与航路到成像区域的最短垂直距离所用的双程时间ts利用浮点加法器进行求和,在第i+10个周期上升沿得到波束从航路到达待计算点的垂直距离对应双程时间t_r0_j;将x_i_rl利用浮点乘法器进行平方操作,在第i+10个周期上升沿得到x_i_sqr;

s34,将t_r0_j利用浮点乘法器与c/2对应的单精度浮点值进行相乘,c为波速,在第i+13个周期上升沿得到波束从航路到达待计算点的单程垂直距离r0_j;将x_i_sqr利用移位寄存器进行移位,使之在第i+16个周期上升沿输出,得到x_i_sqr_dly,用于对齐数据;

s35,将r0_j利用浮点乘法器进行平方操作,在第i+16个周期上升沿得到结果r0_j_sqr;

s36,将x_i_sqr_dly与r0_j_sqr利用浮点加法器进行相加,在第i+19个周期上升沿得到待计算点到坐标原点的单程斜距的平方r_sqr;

s37,将r_sqr利用浮点开方器进行开方操作,在第i+29个周期上升沿得到待计算点到坐标原点的单程斜距r;

s38,将r利用浮点乘法器与2/c对应的单精度浮点值进行相乘,在第i+32个周期上升沿得到换能器收到待计算点的回波所使用的双程延时时间td;

s39,将td利用浮点减法器减去航路到成像区域的最短垂直距离所用的双程时间ts对应的单精度浮点值,在第i+35个周期上升沿得到tr;

s310,将tr利用浮点乘法器与采样频率fs对应的单精度浮点值相乘,在第i+38个周期上升沿得到待测点双程延时delay_pix;

s311,将delay_pix利用浮点-定点转换ip核进行浮点到定点数的转换,并利用组合逻辑实现delay_fixed-1操作,在第i+40个周期上升沿得到待测点地址码dly_tb_d_1,即d-1。

优选地,所述s40包括以下步骤:

s41,利用s20中cnt_i与cnt_k的值形成组合逻辑电路计算值cnt_k-cnt_i;

s42,利用移位寄存器将cnt_k-cnt_i进行移位,在第i+40个周期上升沿,取得与地址码dly_tb_d_1同步输出的地址码dly_tb_k_i,即k-i。

本发明的有益效果如下:

本发明采用3*16路并行生成合成孔径算法的地址码,使得地址码的生成速度大幅提高,使得传统的顺序执行的合成孔径方法所需的时间被大幅缩短,大大节省了合成孔径算法所需的处理时间。

附图说明

图1为本发明实施例的基于fpga的合成孔径地址码生成方法的算法流程图;

图2为本发明实施例的基于fpga的合成孔径地址码生成方法的时钟图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

相反,本发明涵盖任何由权利要求定义的在本发明的精髓和范围上做的替代、修改、等效方法以及方案。进一步,为了使公众对本发明有更好的了解,在下文对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本发明。

参见图1-2,为本发明实施例的本发明的技术方案为基于fpga的合成孔径地址码生成方法的算法流程图和时钟图,包括以下步骤:

s10,将地址码的生成利用fpga并行特性分为16路,将孔径处理两侧不足孔径长度的图像与中间足够孔径长度的图像进行分别处理,形成三个大路,3*16个小路的高速并行处理结构;

s20,孔径处理的合成宽度计数,三个大路中的计数器cnt_i,cnt_j,cnt_k,分别进行不同的嵌套计数:第一路中,cnt_i循环从cnt_k计数至0;cnt_j从0计数至dis_line/16,为16路行数进行计数,其中cnt_j在cnt_i每完成一轮循环时改变一次;cnt_k从0计数至al-1,其中cnt_k在cnt_j每完成一轮循环时改变一次,对图像在完整孔径的部分之前不足孔径长度al的孔径累加进行计数;第二路中,cnt_i循环从al-1计数至0;cnt_j从0计数至dis_line/16,其中cnt_j在cnt_i每完成一轮循环时改变一次;cnt_k从al计数至dis_door-al-1,其中cnt_k在cnt_j每完成一轮循环时改变一次,对图像落于完整孔径大小的部分进行孔径累加计数;第三路中,cnt_i循环从dis_door-cnt_k-1计数至0;cnt_j从0计数至dis_line/16,其中cnt_j在cnt_i每完成一轮循环时改变一次;cnt_k从dis_door-al计数至dis_door-1,其中cnt_k在cnt_j每完成一轮循环时改变一次,其中,三个大路计数器中的cnt_i每完成一轮循环,即cnt_i=0时,将各自的refresh_flag置为高电平一个周期,给出一个刷新信号,用于孔径处理,对图像在完整孔径的部分之后不足孔径长度al的孔径累加进行计数,dis_line为距离线对应行,dis_door为距离门对应列,al为孔径长度点数;

s30,生成地址码d-1;

s40,生成地址码k-i。

具体实施例中,s30包括以下步骤:

s31,参见图1中第二行和图2时钟图的第一列与第二列,根据输入路数rd_num,使用组合逻辑电路在cnt_j上加上(rd_num-1)×(dis_line/16)得到16路中某一路中的待计算点与图像边缘的像素距离,利用定点-浮点转换ip核,将其转换为32位单精度浮点数,若在输入数据时为第i个周期,那么在第i+4个周期上升沿可以获得对应值r0_j_pix;参见图1中第三行,使用组合逻辑实现cnt_i-al/2-1的计算,得到结果,记为x_i,并利用定点-浮点转换ip核将其转换为32位单精度浮点数,在第i+4个周期上升沿获得结果,记为fp_x_i;

s32,参见图1中第二行和图2时钟图的第三列,通过浮点乘法器进行r0_j_pix×1/fs的计算,其中1/fs为采样频率的倒数,即采样周期对应的32位单精度浮点值,在第i+7个周期上升沿得到乘法结果,记为t_pix,为波束从待测图像边缘到达待测点所用的双程时间;参见图1中第三行通过浮点乘法器进行fp_x_i×delta_sa的计算,delta_sa为真实孔径长度的一半,即方位向分辨率,在第i+7个周期上升沿得到乘法结果记为x_i_rl,为待计算采样点到航路坐标原点的真实距离;

s33,参见图1中第二行和图2时钟图的第四列,t_pix与航路到成像区域的最短垂直距离所用的双程时间ts利用浮点加法器进行求和,在第i+10个周期上升沿得到波束从航路到达待计算点的垂直距离对应双程时间t_r0_j;参见图1中第三行,将x_i_rl利用浮点乘法器进行平方操作,在第i+10个周期上升沿得到x_i_sqr;

s34,参见图1中第二行和图2时钟图的第五列,将t_r0_j利用浮点乘法器与c/2对应的单精度浮点值进行相乘,c为波速,在第i+13个周期上升沿得到波束从航路到达待计算点的单程垂直距离r0_j;参见图1中第三行和图2时钟图的第六列,将x_i_sqr利用移位寄存器进行移位,使之在第i+16个周期上升沿输出,得到x_i_sqr_dly,用于对齐数据;

s35,参见图1中第二行和图2时钟图的第六列,将r0_j利用浮点乘法器进行平方操作,在第i+16个周期上升沿得到结果r0_j_sqr;

s36,参见图1中第一行和第二行和图2时钟图的第七列,将x_i_sqr_dly与r0_j_sqr利用浮点加法器进行相加,在第i+19个周期上升沿得到待计算点到坐标原点的单程斜距的平方r_sqr;

s37,参见图1中第四行和图2时钟图的第八列,将r_sqr利用浮点开方器进行开方操作,在第i+29个周期上升沿得到待计算点到坐标原点的单程斜距r;

s38,参见图1中第四行和图2时钟图的第九列,将r利用浮点乘法器与2/c对应的单精度浮点值进行相乘,在第i+32个周期上升沿得到换能器收到待计算点的回波所使用的双程延时时间td;

s39,参见图1中第四行和图2时钟图的第十列,将td利用浮点减法器减去航路到成像区域的最短垂直距离所用的双程时间ts对应的单精度浮点值,在第i+35个周期上升沿得到tr;

s310,参见图1中第四行和图2时钟图的第十一列,将tr利用浮点乘法器与采样频率fs对应的单精度浮点值相乘,在第i+38个周期上升沿得到待测点双程延时delay_pix;

s311,参见图1中第四行和图2时钟图的第十二列,将delay_pix利用浮点-定点转换ip核进行浮点到定点数的转换,并利用组合逻辑实现delay_fixed-1操作,在第i+40个周期上升沿得到待测点地址码dly_tb_d_1,即d-1。

优选地,所述s40包括以下步骤:

s41,参见图1中第一行,利用s20中cnt_i与cnt_k的值形成组合逻辑电路计算值cnt_k-cnt_i;

s42,参见图1中第四行和图2时钟图的第十二列至十四列,利用移位寄存器将cnt_k-cnt_i进行移位,在第i+40个周期上升沿,取得与地址码dly_tb_d_1同步输出的地址码dly_tb_k_i,即k-i。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1