法律状态公告日
法律状态信息
法律状态
2017-07-21
授权
授权
2016-01-20
实质审查的生效 IPC(主分类):G01S13/90 申请日:20150828
实质审查的生效
2015-12-23
公开
公开
技术领域
本发明属于雷达实时成像处理技术领域,涉及一种基于SAC算法的星载 SAR自聚焦实现方法。
背景技术
合成孔径雷达(SAR)成像系统由于其全天时、全天候的特点,正广泛应 用在军事、地址探测等多个领域。在SAR成像系统中,理论上要求雷达载体相 对于待成像地域作匀速直线运动。然后实际上,载体的运动会偏离这种理想情 况,这种偏差产生的恒定速度误差会在雷达回波数据中带来二次相位误差。若 不对此偏差进行校正,将会造成图像的方位向散焦,严重时甚至无法成像。这 种误差矫正方法称之为多普勒调频率估计。
常用的多普勒调频率估计(FDR)方法称之为自聚焦算法。传统的自聚 焦算法包括子视图算法(MD),相位梯度自聚焦算法(PGA),位移和相关算法 (SAC)等。现阶段主要是以数字信号处理器(DSP)为平台,PGA或MD为 实现算法进行硬件实现,但这两种算法比SAC算法复杂,且DSP平台有结构固 定,数据吞吐量、并行处理能力低等缺点,估计多普勒调频率将消耗大量时间, 不利于系统的实时性。因此,在FPGA上利用SAC算法进行多普勒调频率估计 能够很好的满足高集成、低运算量的SAR实时成像系统硬件设计要求。
西安电子科技大学提出的发明名称为基于FPGA的多普勒调频率估计方 法(专利申请号:201210158545.6)的专利申请。该专利提供的基于FPGA的 MD算法的工程实现,基于功率的角度上筛选出多普勒频率。但是MD算法本 身比SAC算法复杂,且估计精度相当。传统的SAC算法实现时直接求出各个距 离单元多普勒调频率估计值,这样会消耗大量存储资源。通过分析数据特征采 用基于最小二乘法的线性拟合方法,可以在工程实现上解决这个问题。
发明内容
有鉴于此,本发明提供了一种基于SAC算法的星载SAR自聚焦系统,该系 统能够在最大化节省FPGA内部资源的情况下,实现算法的实时处理。
为了达到上述目的,本发明的技术方案为:该系统基于现场可编辑门阵列 FPGA及其外接存储器DDR3和外接寄存器组实现,FPGA中集成有双端口存储 器DPRAM、内部存储器SDRAM、傅里叶计算FFTIP核、位置计算模块、频 移相关模块、聚焦模块、均值模块、剔值模块以及拟合模块。
其中外接存储器DDR3接收卫星发来的原始回波数据。
外接寄存器组接收卫星参数数据;卫星参数数据包括:脉冲重复频率prf、 多普勒带宽Wdop、以及每条方位向数据的多普勒中心fdc。
位置计算模块从外接寄存器组中获取卫星参数数据,根据卫星参数数据进 行计算获得如下计算结果:每条方位向数据的频谱搬移中心位置Pcent和有效数据 长度Leff,并获取每条方位向数据去模糊后的多普勒中心f'dc;计算结果经过 SDRAM进入到DPRAM中。
DPRAM依据计算结果,以f'dc为中心,从DDR3中读取2倍Leff长度的有 效频谱数据;然后以f′dc为界把读取的有效频谱数据分为上下两个部分,进行逐 点对应的共轭复乘运算,运算结果输入至FFTIP核中进行IFFT运算,将IFFT 运算得到的每条方位向数据的最大值和最大值位置两个参数存储于内部存储器 SDRAM中。
频移相关模块从SDRAM中读取每条方位向数据的最大值和最大值位置运 算获得每条方位向数据的多普勒频率估计初值,存入SDRAM中。
聚焦模块根据聚焦深度划分N个子块,其中每个子块中包含多条方位向数 据,聚焦模块从SDRAM中读取每个子块中的所有方位向数据的多普勒频率估 计初值,取其中最大的值作为该子块统一的多普勒频率估计值,将每个子块统 一的多普勒频率估计值及其位置存入DPRAM中。
剔值模块遍历DPRAM中的N个子块的多普勒频率估计值,去掉一个最大 值和一个最小值,求出剩余的N-2个值的均方差,剔除掉大于10倍均方差的值, 将剔值后的多普勒频率估计值及其对应的位置原位存储回DPRAM中。
均值模块从DPRAM中读取剔值后的多普勒频率估计值,求出剔值后的均 方差,将该剔值后的均方差值放入DPRAM中。
拟合模块从DPRAM中读取剔值后的多普勒频率估计值进行一次线性拟合, 拟合模块计算每个剔值后的多普勒频率估计值偏离拟合结果的误差均值,剔值 模块将误差均值超过剔值后的均方差一定范围的多普勒频率估计值再次剔除, 拟合模块重复执行三次后,将再次剔除后的多普勒频率估计值进行一次线性拟 合,获得拟合系数存入DPRAM中;拟合模块依据DPRAM中所存的拟合系数 进行多普勒频率估计,获得输出结果。
进一步地,位置计算模块的具体运算公式如下:
Leff=floor(Wdop×Rline/prf/2)(1)
anum=floor(fdc/prf)(2)
f′dc=fdc-anum×prf(3)
Pcent=floor(fdc×Rline/prf)+1(4)
其中floor为向上取整运算;Rline为方位向数据个数;anum为多普勒中心模糊 数。
进一步地,拟合模块采用如下式(5)进行拟合,通过公式(6)和(7)求 解误差均值:
fdrtempi=Rd×p1i+p2i(5)
fdrerrori=fdrtempi-fdr_focus(6)
fdrstdi=E(fdrerrori)(7)
式中p1i和p2i为两个拟合系数,Rd为斜距,fdrtempi为拟合值,fdr_focus为子块 统一的多普勒频率估计值,fdrerrori为误差值,fdrstdi为误差均值,E()为求均值运 算。
进一步地,FPGA中共集成4个DPRAM、2个SDRAM和2个FFTIP核, 其中4个DPRAM分别为第一初值估计DPRAM、第二初值估计DPRAM、第一 精度优化DPRAM和第二精度优化DPRAM;2个SDRAM分别为第一SDRAM 和第二SDRAM;2个FFTIP核分别为第一FFTIP核和第二FFTIP核;
其中第一初值估计DPRAM和第二初值估计DPRAM并行同时从DDR3中 读取两条方位向数据;
其中位置计算模块的计算结果经过第一SDRAM同时进入到第一精度优化 DPRAM和第二精度优化DPRAM中;
第一精度优化DPRAM和第二精度优化DPRAM依据计算结果,以f'dc为中 心,二者同时从DDR3中读取2倍Leff长度的有效频谱数据;然后以f′dc为界把读 取的有效频谱数据分为上下两个部分,进行逐点对应的共轭复乘运算,第一精 度优化DPRAM和第二精度优化DPRAM运算结果分别对应输入至第一FFTIP 核和第二FFTIP核中分别进行IFFT运算,将第一FFTIP核和第二FFTIP核中 的IFFT运算得到的每条方位向数据的最大值和最大值位置两个参数均存储于第 二SDRAM中;
频移相关模块从第二SDRAM中读取每条方位向数据的最大值和最大值位 置运算获得每条方位向数据的多普勒频率估计初值,存入第二SDRAM中;
聚焦模块从第二SDRAM中读取每个子块中的所有方位向数据的多普勒频 率估计初值,取其中最大的值作为该子块统一的多普勒频率估计值,将每个子 块统一的多普勒频率估计值及其位置存入第一精度优化DPRAM中;
剔值模块遍历第一精度优化DPRAM中的N个子块的多普勒频率估计值, 去掉一个最大值和一个最小值,求出剩余的N-2个值的均方差,剔除掉大于10 倍均方差的值,将剔值后的多普勒频率估计值及其对应的位置原位存储回第一 精度优化DPRAM中;
均值模块从第一精度优化DPRAM中读取剔值后的多普勒频率估计值,求 出剔值后的均方差,将该剔值后的均方差值放入第一精度优化DPRAM中;
第一精度优化DPRAM与第二精度优化DPRAM精进行数据乒乓流水操作;
拟合模块从第二精度优化DPRAM中读取剔值后的多普勒频率估计值进行 一次线性拟合,拟合模块计算每个剔值后的多普勒频率估计值偏离拟合结果的 误差均值,将误差均值超过剔值后的均方差一定范围的多普勒频率估计值再次 剔除,拟合模块重复执行三次后,将再次剔除后的多普勒频率估计值进行一次 线性拟合,获得拟合系数存入DPRAM中;拟合模块依据DPRAM中所存的拟 合系数进行多普勒频率估计,获得输出结果。
有益效果:
1、本发明通过分析算法的特征,设计了一种基于FPGA并行流水运算的 实现架构。该架构通过复用了存储及运算模块,能够在最大化节省 FPGA内部资源的情况下,实现算法的实时处理。
2、传统的多普勒调频率估计方法是直接利用fdr_focus作为子块的最终结 果,然而估计结果是一个服从Gamma分布的非平稳随机信号,即 会存在偏离真值较远且严重影响SAR图像的聚焦的奇异值。本发明 通过多次剔值处理,剔除掉偏离均方差较大的值,从而提升估计结 果的精确度。
3、传统的多普勒调频率估计方法直接存储估计结果,这将在大点数的 SAR图像处理系统中占用大量缓存资源。本发明根据SAR理论分 析,多普勒调频率随斜距的变化曲线可以近似为一次函数曲线,因 此,引入一次线性拟合操作,最终只需存储两个拟合系数,大大缓 解了系统的存储压力。
附图说明
图1为多普勒调频率估算模块硬件结构;
图2为本发明实现的改进SAC算法流程图;
图3为频移自相关部分原理图;
图4为剔除奇异值模块原理图。
具体实施方式
下面结合附图并举实施例,对本发明进行详细描述。
实施例1、如图1所示,该系统基于现场可编辑门阵列FPGA及其外接存储 器DDR3和外接寄存器组实现,FPGA中集成有双端口存储器DPRAM、内部存 储器SDRAM、傅里叶计算核FFTIP核、位置计算模块、频移相关模块、聚焦 模块、均值模块、剔值模块以及拟合模块。
其中外接存储器DDR3接收卫星发来的原始回波数据。
外接寄存器组接收卫星参数数据;卫星参数数据包括:脉冲重复频率prf、 多普勒带宽Wdop、以及每条方位向数据的多普勒中心fdc。
位置计算模块从外接寄存器组中获取卫星参数数据,根据卫星参数数据进 行计算获得如下计算结果:每条方位向数据的频谱搬移中心位置Pcent和有效数据 长度Leff,并获取每条方位向数据去模糊后的多普勒中心f'dc;计算结果存入 DPRAM中。
DPRAM依据计算结果,以f'dc为中心,从DDR3中读取2倍Leff长度的有 效频谱数据;然后以f′dc为界把读取的有效频谱数据分为上下两个部分,进行逐 点对应的共轭复乘运算,运算结果输入至FFTIP核中进行IFFT运算,将得到的 每条方位向数据的最大值和最大值位置两个参数存储于内部存储器SDRAM中。
频移相关模块从SDRAM中读取每条方位向数据的最大值和最大值位置运 算获得每条方位向数据的多普勒频率估计初值,存入SDRAM中。
聚焦模块根据聚焦深度划分N个子块,其中每个子块中包含多条方位向数 据,遍历子块中所有方位向数据的多普勒频率估计初值,取其中最大的值作为 该子块统一的多普勒频率估计值,将每个子块统一的多普勒频率估计值及其位 置存入DPRAM中。
剔值模块遍历DPRAM中的N个子块的多普勒频率估计值,去掉一个最大 值和一个最小值,求出剩余的N-2个值的均方差,剔除掉大于10倍均方差的值, 将剔值后的多普勒频率估计值及其对应的位置原位存储回DPRAM中。
均值模块从DPRAM中读取剔值后的多普勒频率估计值,求出剔值后的均 方差。
拟合模块和剔值模块相互配合完成第二次剔值:拟合模块从DPRAM中读 取剔值后的多普勒频率估计值进行一次线性拟合,计算每个剔值后的多普勒频 率估计值偏离拟合结果的误差均值,剔值模块将误差均值超过剔值后的均方差 一定范围的多普勒频率估计值继续剔除。
第二次剔值过程重复执行三次后,拟合模块将第二次剔值后的多普勒频率 估计值进行一次线性拟合,获得拟合系数存入所述DPRAM中;拟合模块依据 所述DPRAM中所存的拟合系数进行多普勒频率估计,获得输出结果。
实施例2、该系统的实施步骤如图2所示,具体为:
步骤一、频谱搬移及中心位置、有效长度计算。
位置计算模块从寄存器中读取卫星参数(脉冲重复频率prf、多普勒带宽 Wdop),以及每条方位向数据的多普勒中心fdc,计算出每条方位向数据的频谱搬移 中心位置Pcent和有效数据长度Leff。具体运算公式如下:
Leff=floor(Wdop×Rline/prf/2)1)
anum=floor(fdc/prf)2)
f′dc=fdc-anum×prf3)
Pcent=floor(fdcamb×Rline/prf)+14)
式中floor为向上取整运算;Rline为距离单元个数;anum为多普勒中心模糊数; f′dc为去模糊后的多普勒中心。计算结果存储到FPGA内部SDRAM中。再根据 SDRAM中这两个参数,从DDR3中读取相应的方位向点数进行IFFT运算,为 了提升系统实时性,FPGA架构采用两个DPRAM及FFTIP核进行并行运算。
步骤二、子频带划分及自相关运算
参照附图3,本步骤具体实现如下:
将经距离向脉冲压缩以及距离徙动矫正后的原始回波数据,存入外接DDR3 SDRAM中。为提高系统处理实时性,采用DPRAM的数据缓存方式,乒乓每组 各2个DPRAM,每组同时可从DDR3中读取两条方位向数据。
对每个距离单元进行IFFT计算前,以f′dc为中心,从RAM中读取2倍Leff长 度的有效频谱数据。以f′dc为界把频谱分为上下两个部分,进行逐点对应进行共 轭复乘运算。
运算后的结果输入FPGA内部的顺序输入,逆序输出FFT核,进行IFFT计 算。在每个距离单元内,对计算后的结果进行遍历操作,取其摸值的最大值及 最大位置,存入FPGA内部SDRAM中。通过同时调用FPGA内部两个FFT核, 对两条共轭复乘结果实现并行处理。频移相关模块从SDRAM中读取最大值位 置计算出多普勒调频率估计值,原位存回数据缓存SDRAM中。
步骤三、聚焦模块根据聚焦深度大小求出子块估计值fdr_focus
根据分辨率计算出聚焦深度大小,划分出N个子块,一个子块内包含多个 距离单元。对每个子块内的多普勒调频率估计值进行遍历,取其中最大的值作 为此子块统一的多普勒调频率估计值,记作fdr_focus,同时记录fdr_focus在这个聚焦 深度出现位置,记作Rd。这两个值存入DPRAM中,做进一步处理。根据图2 所示,为了最大化利用FPGA内部存储,精度优化部分采用两块DPRAM进行 数据乒乓流水操作。
步骤四、剔值模块的剔值操作与拟合模块线性拟合运算
参照附图4,本步骤具体实现如下:
遍历RAM中的N个fdr_focus值,去掉一个最大值和一个最小值,求出剩余的 N-2个值求均方差,剔除掉m个大于10倍均方差的值,将剩余的N-2-m个值及 其对应的最大值位置Rd原位存储回DPRAM中。
从DPRAM中读取N-2-m个估计值,输入均值模块求出均方差fdrstd_error,并 依照式5)~7)剔除偏离拟合结果较大的奇异值:
fdrtempi=Rd×p1i+p2i5)
fdrerrori=fdrtempi-fdr_focus6)
fdrstdi=E(fdrerrori)7)
式中p1i和p2i为两个拟合系数,fdrtempi为拟合值,fdrerrori为误差值,fdrstdi为 误差均值,E()为求均值运算。比较fdrstdi与fdrstd_error,将偏离较大的fdrstdi值和对 应的斜距Rd剔除,剩余的值原位存储回DPRAM。
通过两个DPRAM交换存储,以及复用均值模块、剔值模块、拟合模块, 重复三次6)、7),分别剔除掉m1、m2、m3个奇异值后,再把剩余的 N-2-m-m1-m2-m3个值进行一次线性拟合,最终将得到的拟合的两个系数p14和 p24存入寄存器中,后续运算根据式1)即可得到对应点的多普勒调频率估计值。
实施例3、
本发明的结果可以通过以下实验进一步说明:
实验条件如下:分别采用MATLAB、DSP以及FPGA对该方法进行实验, 输入数据为16384*16384的点目标SAR图像经过距离脉压及徙动校正后数据。
验证和实验结果如下:表一为MATLAB仿真结果与FPGA实现结果对比
表1
由表1可知,FPGA实现的一次线性拟合结果与Matlab仿真理论值相对误 差在10-3,精度满足要求。
表二为FPGA实现该方法与DSP实现该方法效率对比。
表二
由表二可知,本发明提出的基于FPGA并行流水实现架构相较于DSP实现 该方法更适用于星载SAR实时处理系统。
综上,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范 围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均 应包含在本发明的保护范围之内。
机译: 一种高分辨率宽波段星载SAR系统的实现方法
机译: 一种高分辨率宽波段星载SAR系统的实现方法
机译: 一种高分辨率宽波段星载SAR系统的实现方法