基于fpga的sar成像方法

文档序号:6217092阅读:301来源:国知局
专利名称:基于fpga的sar成像方法
技术领域
本发明属于数字信号处理技术领域,涉及雷达成像方法,可应用于雷达实时信号处理系统设计和遥感、导弹等领域。
背景技术
合成孔径雷达SAR具有二维距离和方位高分辨率,能对场景作高分辨率的二维成像。可以全天候、全天时、远距离对目标进行检测和定位,在军用和许多民用领域发挥着重要作用。常见的SAR成像算法有距离-多普勒R-D算法、线频调变标CS算法等。距离-多普勒成像算法作为合成孔径雷达成像的一种主要算法,在合成孔径雷达成像领域占有重要作用。目前常用的雷达成像平台多采用FPGA+DSP形式,利用FPGA并行度高和DSP灵活性强的特点,两种开发工具协作完成雷达成像任务。FPGA作为主处理器,DSP作为从处理器的设计方法既可以满足运算量巨大的信号处理任务,又可以一定程度上减轻散热问题。在这种形式中,DSP虽然有完成复杂运算的能力,但是它是基于串行性实现的,其并行度较低,资源利用率不足,运算速度慢。并且FPGA+DSP的复杂多板卡形式对系统空间和散热条件要求高,而弹载SAR系统环境空间和散热条件有限,不能满足FPGA+DSP多板卡成像平台的要求。

发明内容
本发明的目的在于针对上述已有技术的不足,提供一种基于现场可编程门阵列FPGA的SAR成像方法,以简化系统结构,降低功耗,提高雷达成像的信号处理速度。为实现上述目的,本发明包括如下步骤:(I)用Matlab软件产生16384点的hamming窗,并将其量化成9bit有符号定点数存入ROM中,将雷达回波距离向数据与ROM中的hamming窗相乘,以实现对距离向数据的加窗;(2)对加窗后的距离向数据进行FFT运算,完成距离脉压;(3)根据雷达前端惯导的斜距、斜视角、飞行速度,计算成像场景中心所在位置,并以此为中点左右各截取1024点共2048点数据作为成像数据,当产生地址越界时从特殊点O或14337开始截取;(4)对雷达回波数据在方位向上按雷达发射脉冲的重频积累512个脉冲,得到512列数据作为一个子孔径数据,将子孔径数据转置后存储;(5)分别对步骤(4)中子孔径数据的每行方位向数据计算,得到2048个多普勒中心值,将得到的2048个方位向多普勒中心值求和取平均作为该子孔径的多普勒中心;(6)根据雷达前端惯导的载机速度、斜视角和斜距计算多普勒调频率;(7)根据步骤(5)得到的多普勒中心,得到多普勒频移函数,根据步骤(6)得到的多普勒调频率,得到多普勒调频率函数;并用Matlab软件产生512点的hamming窗,并将其量化成16bit有符号定点数存入ROM中;(8)将步骤(4)中子孔径数据的每行方位向数据分别与步骤(7)中的多普勒频移函数、多普勒调频率函数、hamming窗数据相乘,完成方位Dechirp前期处理;(9)对经过步骤(8)处理后的子孔径数据按其方位向作FFT运算,得到子孔径数据的方位频域,对方位频域的每个数据求模值,得到最终成像数据。本发明具有如下优点:第一,本发明采用FPGA作为核心处理芯片,由于FPGA有丰富的内部资源,在数据处理过程中可调用FPGA内部的IP核实现数据的读入、复乘、相位计算等功能,运算速度快;且FPGA并行处理度高,处理速度快,提高了雷达成像的信号处理速度。第二,传统成像算法实现采用FPGA+DSP复杂多板卡形式处理数据,其中,用FPGA实现对雷达回波距离向数据的加窗及距离脉压,用DSP实现对雷达回波方位向数据的加窗和方位Dechirp,而在本发明中,FPGA不仅用来处理距离向数据,并且处理方位向数据,这样整个系统中信号处理仅使用了 FPGA —种芯片,使系统结构简化,功耗降低,可靠性增加。


图1是本发明的流程图;图2是本发明处理雷达回波数据成像的结果图。
具体实施方案下面结合附图对本发明做进一步的描述。参照图1,本发明的具体实施步骤如下:步骤1.距离脉冲压缩1.1)加窗处理:1、Q两路数据是雷达回波数据的实虚部,调用两个FPGA内部的乘法IP核,分别将雷达回波数据的1、Q两路数据乘以窗函数。其中,窗函数是用Matlab软件产生的16384点的hamming窗,将其归一量化成9bit有符号数后存入FPGA的ROM中;1、Q两路数据是雷达AD采集到的回波数据,均为12bit,前端补零后拼接成16bit数据,乘法器输出结果为25bit,由于后续FFT要求数据位数是2的幂次方,所以将25bit数据截取成16bit,截取时取乘法器输出数据的第24位作为截取后的数据的符号位,第6位到第20位作为该数据的数据位;1.2)调用FPGA内部FFT核,对上一步乘法器输出后经截位的数据做FFT处理,设置FFT核输入数据宽度和相位位宽均为16bit,采用Scaled模式,使输出数据也为16bit。步骤2.截取距离向数据根据雷达惯导提供的斜距、斜视角、飞行速度计算场景中心所在位置X,以X为中点左右各截取1024点共2048点数据作为距离向有效场景数据,当X小于1023或大于15360时,就不能在X左右两边各截取1023点,当X小于1023时以场景首个点开始截取;当X大于15360时则以14337为起点开始截取。步骤3.数据积累及转置。FPGA外挂2组IGB的DDRII,步骤2完成距离向数据截取后,将每列2048点数据存入DDRII中,积累512列后作为一个子孔径的数据,根据DDRII快速转置算法实现数据转置,使子孔径数据按方位向512点排列,以便进行后续方位向数据处理。步骤4.估计子孔径多普勒中心和多普勒调频率。4.1)估计多普勒中心值:4.1.1)调用FPGA内部的复数乘法IP核,将一行方位向数据错位共轭点乘,得到自相关向量,复数乘法IP核输入为两路实虚部分别为16bit的复数,输出为一路实虚部分别为16bit的复数;4.1.2)对自相关向量求和取平均值得到自相关值,调用FPGA内部的CORDIC IP核计算自相关值的相位角α,这里CORDIC IP核的输入为自相关值的实虚部,输出即为该自相关值的相位角;4.1.3)根据上一步得到的自相关值相位角α,通过如下公式计算多普勒中心fd。:fdc = a XPRF/2/ π ,其中,PRF是雷达发射信号的重频。这里多普勒中心的计算是调用FPGA内部的乘法器实现的,乘法器的一路输入为自相关值相位角α,另一路是PRF/2/π,这里需要先在Matlab软件里将其量化成与自相关值R相角具有相同位宽的有符号定点数,再作为乘法器的输入。4.1.4)重复步骤4.1.1)到步骤4.1.3)的三个步骤,直至得到所有方位向的多普勒中心值,将得到的2048个方位向多普勒中心值求和取平均作为该子孔径的多普勒中心;4.2)调用FPGA内部的乘法器,根据雷达前端惯导的载机速度V、斜视角Θ和斜距Rs,通过如下公式计算多普勒调频率ka:ka = -2v2cos2 Θ / λ /Rs,其中,λ是雷达发射信号的波长。步骤5.方位向Dechirp操作。5.1)加窗处理将经过步骤I到步骤3处理后数据的1、Q两路数据分别乘以窗函数。其中,1、Q两路数据分别是指数据的实部和虚部;窗函数是用Matlab软件产生的512点的hamming窗,将其归一量化成16bit有符号数后存入FPGA的ROM中;调用两个FPGA内部的乘法IP核,从ROM中读出16bit的hamming窗数据作为乘法IP核的一路输入,方位向512点16bit数据的实部、虚部分别作为两个乘法IP核的另一路输入,相乘后得到32bit数据,即完成了加窗操作;5.2)构造多普勒频移函数多普勒频移函数是根据步骤4.1)中估计出的多普勒中心构造的,具体步骤如下:5.2.1)用FPGA内部的always模块产生从-255到256间隔为1,长度为512的向量,其中每个数据的位宽设置为IObit ;5.2.2)用Matlab软件将2X π X fdc/PRF量化成IObit有符号定点数,存入FPGA的ROM中,其中fd。是步骤4.1)中估计出的多普勒中心;5.2.3)调用FPGA内部乘法IP核,将步骤5.2.1)得到的向量和步骤5.2.2)得到的定点数作为乘法IP核的两组输入,输出为长度为512的向量;5.2.4)调用FPGA的CORDIC IP核,将步骤5.2.3)中得到的向量量化成IObit有符号数据作为CORDIC IP核的输入,输出为一个复数向量,其中输出向量的实部为输入向量的三角函数cos,虚部为CORDIC IP核输入向量的三角函数sin,输出向量即为多普勒频移函数。5.3)构造多普勒调频率函数多普勒调频率函数是利用步骤4.2)中估计得到的多普勒调频率构造的,具体步骤如下:5.3.1)用Matlab软件产生从-255到256的间隔为1,长度为512的向量,向量中的每个元素均除以雷达发射信号重频PRF后求平方,然后将该数据量化成16bit有符号数,存储至Ij FPGA的ROM中;5.3.2)调用FPGA乘法IP核,将步骤5.3.1)得到的向量作为乘法IP核的一路输入,将步骤4.2)中估计得到的ka截取成位宽为16bit的数据后,作为乘法IP核的另一路输入,乘法IP核的输出为一组位宽为32bit的新向量;5.3.3)调用FPGA的CORDIC IP核,将步骤5.3.2)中得到的向量作为CORDIC IP核的输入,输出为一个复数向量,其中输出向量的实部为输入向量的三角函数cos,虚部为CORDIC IP核输入向量的三角函数sin,输出向量即为多普勒调频率函数;5.4)方位向数据配置调用两次FPGA复数乘法IP核,第一次复数乘法IP核将雷达回波的方位向数据与步骤5.2)得到的多普勒频移函数相乘,输出为48bit复数;将第一次复数乘法的输出作为第二个复数乘法IP核的一路输入,另一路输入为步骤5.3)中估计得到的多普勒调频率函数,输出为64bit的数据,经数据截位成实虚部均为32bit的数据。5.5)方位向数据FFT调用FPGA内部的FFT IP核,将步骤4.4)产生的结果向量作为FFT IP核的输入,FFT IP核输出位宽为32bit的数据即为最终的成像数据,至此,雷达回波数据的处理全部完成。本发明的效果可以通过以下实测进一步说明:仿真内容,将机载雷达照射某地区的一组回波数据作为本发明待处理的雷达回波数据,用本发明方法处理该数据,用处理后的数据画灰度图,如图2所示。图2中可以清晰的看出桥梁、河流、公路以及农田,成像效果良好,可见本发明提供的基于FPGA的SAR成像方法合理可行。
权利要求
1.一种基于FPGA的SAR成像方法,包括如下步骤: (1)用Matlab软件产生16384点的hamming窗,并将其量化成9bit有符号定点数存入ROM中,将雷达回波距离向数据与ROM中的hamming窗相乘,以实现对距离向数据的加窗; (2)对加窗后的距离向数据进行FFT运算,完成距离脉压; (3)根据雷达前端惯导的斜距、斜视角、飞行速度,计算成像场景中心所在位置,并以此为中点左右各截取1024点共2048点数据作为成像数据,当产生地址越界时从特殊点0或14337开始截取; (4)对雷达回波数据在方位向上按雷达发射脉冲的重频积累512个脉冲,得到512列数据作为一个子孔径数据,将子孔径数据转置后存储; (5)分别对步骤(4)中子孔径数据的每行方位向数据计算,得到2048个多普勒中心值,将得到的2048个方位向多普勒中心值求和取平均作为该子孔径的多普勒中心; (6)根据雷达前端惯导的载机速度、斜视角和斜距计算多普勒调频率; (7)根据步骤(5)得到的多普勒中心,得到多普勒频移函数,根据步骤(6)得到的多普勒调频率,得到多普勒调频率函数;用Matlab软件产生512点的hamming窗,并将其量化成16bit有符号定点数存入ROM中; (8)将步骤(4)中子孔径数据的每行方位向数据分别与步骤(7)中的多普勒频移函数、多普勒调频率函数、hamming窗数据相乘,完成方位Dechirp前期处理; (9)对经过步骤(8)处理后的子孔径数据按其方位向作FFT运算,得到子孔径数据的的方位频域,对方位频域的每个数据求模值,得到最终成像数据。
2.根据权利要求1所述的基 于FPGA的SAR成像方法,其中步骤(3)所述的根据雷达前端惯导的斜距、斜视角、飞行速度,计算成像场景中心所在位置,通过如下公式计算: X = 2XNX y XR/c/fs, 其中,X是场景中心,N是雷达回波距离向数据点数,Y是雷达发射线性调频信号的调频率,R是雷达到目标的距尚,c是光速,fs是米样频率。
3.根据权利要求1所述的基于FPGA的SAR成像方法,其中步骤(5)所述的分别对步骤(4)中子孔径数据的每行方位向数据计算,得到2048个多普勒中心值,按如下步骤进行: 首先,调用FPGA内部的复数乘法IP核,将一行方位向数据错位共轭点乘,得到自相关向量; 然后,对自相关向量求和取平均值得到自相关值,调用FPGA内部的CORDIC IP核计算自相关值的相位角a ; 最后,根据得到的自相关值相位角a,通过如下公式计算多普勒中心:fdc = a XPRF/2/ji, 其中,fdc是多普勒中心,PRF是雷达发射信号的重频。
4.根据权利要求1所述的基于FPGA的SAR成像方法,其中步骤(6)所述根据雷达前端惯导的载机速度、斜视角和斜距计算多普勒调频率,通过如下公式计算:ka = -2v2cos2 0 / A /Rs, 其中,ka是多普勒调频率,V是载机速度,0是斜视角,Rs是斜距,\是雷达发射信号的波长。
全文摘要
本发明公开了一种基于FPGA的SAR成像方法,主要解决现有系统结构复杂、数据处理速度慢的问题。其实现方法是,调用FPGA中乘法器,将每列距离向数据与量化后的hamming窗数据相乘后进行FFT运算,完成距离脉压;由惯导参数计算距离向场景中心位置,进行距离向数据截取;将截取得到的数据转置,实现子孔径数据按方位向存储;根据惯性导航参数估计出多普勒中心值和多普勒调频率;根据估计出的多普勒中心值和多普勒调频率构造多普勒频移函数、多普勒调频率函数和方位hamming窗函数;将做完距离脉压后的每行方位向数据与上述三个函数相乘后进行FFT运算,得到最终成像数据。本发明简化了SAR成像系统结构,提高了处理速度,可用于在弹载模式下的SAR成像。
文档编号G01S13/90GK103197317SQ20131010104
公开日2013年7月10日 申请日期2013年3月26日 优先权日2013年3月26日
发明者全英汇, 陈露露, 邢孟道, 李亚超, 李艳红, 何振 申请人:西安电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1