星上sar实时成像处理关键技术研究

星上sar实时成像处理关键技术研究

ID:35084529

大小:6.46 MB

页数:150页

时间:2019-03-17

上传者:U-24835
星上sar实时成像处理关键技术研究_第1页
星上sar实时成像处理关键技术研究_第2页
星上sar实时成像处理关键技术研究_第3页
星上sar实时成像处理关键技术研究_第4页
星上sar实时成像处理关键技术研究_第5页
资源描述:

《星上sar实时成像处理关键技术研究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

星上SAR实时成像处理关键技术研究刘小宁2016年1月 中图分类号:TN952UDC分类号:621.3星上SAR实时成像处理关键技术研究作者姓名刘小宁学院名称信息与电子学院指导教师陈禾教授答辩委员会主席王库教授申请学位工学博士学科专业信号与信息处理学位授予单位北京理工大学论文答辩日期2016年1月 KeyTechnologiesinOn-boardReal-timeImagingProcessingforSpaceborneSARCandidateName:XiaoningLiuSchoolorDepartment:SchoolofInformationandElectronicsFacultyMentor:Prof.HeChenChair,ThesisCommittee:Prof.KuWangDegreeApplied:DoctorofEngineeringMajor:SignalandInformationProcessingDegreeby:BeijingInstituteofTechnologyTheDateofDefence:January,2016 研究成果声明本人郑重声明:所提交的学位论文是我本人在指导教师的指导下进行的研究工作获得的研究成果。尽我所知,文中除特别标注和致谢的地方外,学位论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得北京理工大学或其它教育机构的学位或证书所使用过的材料。与我一同工作的合作者对此研究工作所做的任何贡献均已在学位论文中作了明确的说明并表示了谢意。特此申明。签名:日期: 北京理工大学博士学位论文摘要随着星载SAR成像技术的不断进步和应用需求的增加,在星上完成SAR实时成像处理已成为一种发展趋势。星载SAR成像算法复杂、处理量大,在星上环境对系统体积、重量、功耗的严格约束下,星上SAR处理系统的实时性难以保证。为了在单片FPGA上实现星载SAR成像所有处理流程,构建星上SAR实时成像处理系统,本文重点研究了星载SAR成像算法的实时性优化、SAR成像处理矩阵转置存储方法以及星载SAR成像算法中的多种超越函数的实现。论文主要工作及创新成果如下:1.对星载SAR成像算法、星上SAR实时成像核心处理器和系统架构进行研究。选择了以FPGA为核心处理器实现CS成像算法作为构建星上SAR实时成像处理系统的技术途径,提出了标准化、模块化、可扩展的星上SAR实时成像处理系统架构。2.针对星载SAR成像算法在FPGA实现中遇到的运算量大、实时性不足等问题,对多普勒参数估计方法进行选择和优化,研究了相位补偿因子对成像精度和实时性的影响,提出了一种补偿因子区域不变的CS成像算法。该方法在保证星载SAR算法成像质量的前提下,能够有效减小补偿因子的计算量,提高SAR成像算法处理效率。3.针对SAR成像处理过程中转置存储器的数据访问效率过低的问题,对SAR成像处理矩阵转置存储方法进行研究,提出了矩阵分块三维映射法和矩阵分块交叉映射法。这两种转置存储方法充分利用了转置存储器的数据访问时序特性,能够有效提高SAR成像处理过程中转置存储器的数据访问效率,提高SAR成像处理实时性。4.针对星载SAR成像算法中多种超越运算的FPGA实现占用资源过大的问题,对实现正余弦、反正切函数的传统CORDIC算法进行了角度覆盖范围、硬件资源、运算精度等方面的优化和改进,同时对实现反正余弦函数的双迭代结构的CORDIC算法进行了改进,解决了原算法计算结果超出反正余弦函数值域的问题,进而实现了一种多模式CORDIC算法,能够实现正余弦函数和反正余弦函数运算的实时切换,在正余弦、反正余弦函数都需要的算法实现中能够有效减少硬件资源占用。5.本文最后结合各章节研究内容,在单片FPGA上实现了星载SAR成像算法所有处理流程,进而构建了星上SAR实时成像处理系统原理样机,为实现星上SAR实时成像处理奠定了技术基础。关键词:星载SAR;星上实时处理;FPGA;CS因子;矩阵转置;CORDIC算法I 北京理工大学博士学位论文AbstractThespace-borneSAR,on-boardSARimagingprocessinghasbecomingatrend,sincethetechnicaladvanceofimagingandapplicationdemandingincreased.Inspaceenvironment,theon-boardprocessingsystemhadsomelimitedconditionswhicharethehardwaresize,weightandpowerrequirements,soitblockedtoachievingreal-timeprocessingforthespace-borneSARimagingalgorithm;inaddition,theseconditionsmadealgorithmverycomplexandrequiringmorepowerfulprocessingcapability.InordertorealizeSpace-borneSARimagingprocessingonFPGAstructureandbuildon-boardsystemworkflow,thisdissertationwasfocusonstudyingthereal-timeimagingalgorithmoptimization,SARimagingprocessingmatrixtransposemethodandtheimplementationofavarietyoftranscendentalfunctionsinspace-borneSARimagingalgorithm.Allofmainworks’innovationsareasfollows:1.Thefirstpartofresearchincludedthreeaspectswhicharethespace-borneSARprocessingalgorithms,on-boardcoreprocessorandsystemarchitecture.TheFPGAwaschoseason-boardcoreprocessor,andCSalgorithmwasusedtothespace-bornekernelalgorithmachievingbyFPGAstructure.Thenthedissertationwasproposedstandardize,modular,scalableon-boardreal-timeSARimagingprocessingsystemarchitecture.2.AimattheresearchproblemofhugecomputingrequirementandinefficienciesbyachievingCSalgorithminFPGAstructure,focusedontheDopplerparameterestimation,selectionandoptimization.Byanalyzingtheinfluenceofphasecompensationfactoronthereal-timeprocessingofCSimagingalgorithm,thepaperproposedtheCSimagingalgorithmwithareainvariantcompensationfactor.Thismethodasthepremiseofensuringimagingquality,anditcandecreasethecomputationcomplexofcompensationfactorandimproveSARimagingprocessingalgorithmefficiency.3.Matrixblockthree-dimensionalmappingmethodandmatrixblockcross-mappingmethodareproposedtoapproachtheissueofdataaccessefficiencyofthecornerturningmemoryintheSARimagingprocessing.Thesetwomethodstookadvantageoftimingcharacteristicsofthecornerturningmemory,andtheyalsocanimprovethedataaccessII 北京理工大学博士学位论文efficiencyandcapabilityofthereal-timeSARimagingprocessing.4.Thestudyingresearchwasaccordingtoimplementingthetranscendentalfunctionwhichisappearsinthespace-borneSARimagingalgorithmonFPGA.Tocalculatethesine,cosineandarctangentfunctionbytraditionalCORDICalgorithmwasoptimizedinaspectsofanglerangecoverage,hardwareresourcesandaccuracy.Tocalculatethearcsineandarccosinefunctions,thedoubleiterationalgorithmwasimprovedtoavoidthecomputingexceedingthedomainofthefunction.Thenamulti-modeCORDICalgorithmwasproposed,anditcanrealizereal-timeswitchingbetweensine/cosineandarcsine/arccosinefunctions.Thismethodwasveryeffectivelyandcanreducethehardwareresourceswhenthetwokindsoffunctionarebothneeded.5.Finally,thisdissertationcombinestheresearchresultofallchapters,implementalltheprocessingstagesofspace-borneSARimagingalgorithm,andthenbuildtheon-boardreal-timeimagingprocessingprototypesystemforspace-borneSAR.Theresearchresultscanbeservedasfoundationforthesubsequentdevelopmentofon-boardreal-timeprocessingforspace-borneSAR.Keywords:SpaceborneSAR;On-boardreal-timeprocessing;FPGA;CSfactor;Matrixtranspose;CORDICalgorithmIII 北京理工大学博士学位论文目录绪论........................................................................................................................11.1课题的研究背景及意义.........................................................................................11.2国内外发展趋势与研究现状.................................................................................2星载SAR发展历史及研究现状................................................................2星上实时处理技术发展及研究现状..........................................................51.3本文主要工作和成果...........................................................................................111.4本文主要内容安排...............................................................................................12星上SAR实时成像算法与系统架构研究........................................................152.1引言.......................................................................................................................152.2星载SAR成像原理.............................................................................................16基本概念....................................................................................................16SAR回波模型............................................................................................172.3星载SAR成像算法选择.....................................................................................19RD算法......................................................................................................19CS算法.......................................................................................................20波数域算法................................................................................................21算法选择....................................................................................................222.4星上实时成像核心处理器选择...........................................................................252.5星上SAR实时成像处理系统架构.....................................................................27星载SAR成像处理的特点......................................................................28星上SAR实时成像处理系统架构设计原则..........................................29星上SAR实时成像处理系统架构设计..................................................30系统顶层架构设计.........................................................................33系统底层架构设计.........................................................................342.6本章小结...............................................................................................................35V 北京理工大学博士学位论文星上SAR实时成像处理优化策略研究............................................................373.1引言.......................................................................................................................373.2多普勒参数估计算法研究及改进.......................................................................38多普勒中心频率估计算法........................................................................39多普勒调频斜率估计算法........................................................................433.3补偿因子区域不变的CS算法............................................................................46算法流程....................................................................................................47更新步长的确定........................................................................................47仿真验证....................................................................................................513.4SAR成像高效转置存储设计...............................................................................53CTM数据访问效率分析...........................................................................55矩阵分块三维映射法................................................................................56矩阵分块.........................................................................................56跨bank优先数据访问...................................................................58地址映射规律.................................................................................60矩阵分块交叉映射法................................................................................61矩阵分块三维映射法的局限性.....................................................61子矩阵交叉映射.............................................................................63地址映射规律.................................................................................64效率测试与结果分析................................................................................643.5本章小结...............................................................................................................66超越运算设计优化及实现..................................................................................674.1引言.......................................................................................................................674.2CORDIC算法基本原理........................................................................................69CORDIC算法的统一结构.........................................................................69圆周系统下的CORDIC算法...................................................................70正余弦函数运算.............................................................................72反正切函数运算.............................................................................73反正余弦函数运算.........................................................................74VI 北京理工大学博士学位论文CORDIC算法的收敛性.............................................................................754.3正余弦函数优化及实现.......................................................................................76正余弦函数优化........................................................................................77角度覆盖范围的扩展.....................................................................77硬件资源的缩减.............................................................................79运算精度的提高.............................................................................80正余弦函数实现........................................................................................82硬件结构.........................................................................................82性能分析.........................................................................................834.4反正切函数优化及实现.......................................................................................85反正切函数优化........................................................................................85反正切函数实现........................................................................................87硬件结构.........................................................................................87性能分析.........................................................................................884.5反正余弦函数优化及实现...................................................................................90双迭代法基本原理....................................................................................91反正余弦函数优化....................................................................................91硬件资源缩减.................................................................................91误差校正.........................................................................................93反正余弦函数实现....................................................................................94硬件结构.........................................................................................94性能分析.........................................................................................944.6多模式CORDIC算法..........................................................................................97统一迭代结构............................................................................................97多模式CORDIC算法实现.......................................................................99硬件结构.........................................................................................99性能分析.........................................................................................994.7本章小结.............................................................................................................101星上SAR实时成像处理系统实现..................................................................102VII 北京理工大学博士学位论文5.1引言.....................................................................................................................1025.2SAR成像处理FPGA实现.................................................................................102设计思路..................................................................................................102算法实现流程..........................................................................................104FPGA模块划分........................................................................................105状态机设计..............................................................................................108主状态机设计...............................................................................108转置存储控制设计.......................................................................1115.3系统实现.............................................................................................................113系统构成..................................................................................................113系统原理样机..........................................................................................1155.4实验结果.............................................................................................................116成像结果..................................................................................................116实时性分析..............................................................................................1185.5本章小结.............................................................................................................120总结与展望........................................................................................................122参考文献............................................................................................................................124攻读学位期间发表论文与研究成果清单........................................................................132致谢....................................................................................................................................133作者简介............................................................................................................................133VIII 北京理工大学博士学位论文图目录图1.1HJ-1C第一轨SAR遥感影像图(武汉)............................................................5图1.2EO-1和BIRD卫星在轨处理应用模式................................................................6图1.3法国Pleiades-HR星上处理系统...........................................................................7图1.4Tecsat-3在轨处理器结构及组成..........................................................................8图1.5Tecsat-3战术应用示意图......................................................................................8图1.6美国SEAKR公司宇航级信号处理产品..............................................................9图1.7我国卫星遥感地面实时处理系统.......................................................................10图1.8本文内容组织结构图...........................................................................................14图2.1星载SAR照射示意图.........................................................................................16图2.2星载SAR合成孔径示意图.................................................................................17图2.3RD算法流程图....................................................................................................20图2.4ChirpScaling算法流程图....................................................................................21图2.5波数域算法流程图...............................................................................................22图2.6星载SAR成像CS算法详细流程图..................................................................24图2.7RD算法并行映射................................................................................................30图2.8数据分块并行结构...............................................................................................31图2.9多处理器细粒度紧耦合结构...............................................................................32图2.10星上SAR实时成像处理系统架构...................................................................33图2.11单处理器结构的SAR成像处理节点...............................................................35图3.1改进后的时域自相关算法实现流程...................................................................42图3.2改进后的频移相关法实现流程图.......................................................................46图3.3补偿因子区域不变的CS算法流程图................................................................47图3.4ChirpScaling因子相位误差随更新步长的变化................................................49图3.5距离向补偿因子相位误差随更新补偿的变化...................................................50图3.6方位向补偿因子的误差随更新步长的变化.......................................................51图3.7点阵目标不加窗成像结果...................................................................................52图3.8不同更新步长时SAR图像.................................................................................52IX 北京理工大学博士学位论文图3.9RCN与Na关系曲线...........................................................................................57图3.10子矩阵与DDR3一行映射关系.........................................................................58图3.11逐行映射方式中子矩阵所映射bank分布图...................................................58图3.12矩阵分块三维映射法子矩阵所映射bank分布图...........................................59图3.13矩阵分块三维映射法映射图.............................................................................60图3.14距离向数据读取示意图.....................................................................................62图3.15方位向数据读取示意图.....................................................................................63图3.16矩阵分块交叉映射法子矩阵与DDR3一行映射关系.....................................63图3.17距离向/方位向数据读取示意图........................................................................64图4.1CORDIC算法原理...............................................................................................70图4.2旋转模式向量旋转示意图...................................................................................72图4.3向量模式向量旋转示意图...................................................................................73图4.4反正弦运算向量旋转示意图...............................................................................74图4.6定点数的结构.......................................................................................................81图4.7有效位移动示意图...............................................................................................81图4.9正余弦运算模块的硬件结构...............................................................................82图4.10优化的正余弦运算模块仿真结果.....................................................................84图4.11优化的正余弦运算与XILINXIP核相对误差比较.........................................84图4.12反正切运算模块的硬件结构.............................................................................87图4.13反正切运算模块仿真结果.................................................................................89图4.14优化的反正切运算与XILINXIP核相对误差比较.........................................89图4.15双迭代法向量旋转.............................................................................................92图4.16改进后的反正余弦函数实现结构框图.............................................................94图4.17改进后的反正余弦运算仿真波形.....................................................................95图4.18改进前后的双迭代法反正弦运算相对误差比较.............................................96图4.19多模式CORDIC算法实现结构框图................................................................99图4.20多模式CORDIC算法实现仿真波形..............................................................100图4.21多模式CORDIC算法正弦运算相对误差......................................................100图5.1星载SAR成像CS算法实现流程....................................................................105图5.2星载SAR成像处理FPGA模块划分...............................................................107X 北京理工大学博士学位论文图5.3主状态机流程图.................................................................................................110图5.4转置存储控制状态机流程图.............................................................................112图5.5星上SAR实时成像处理系统架构...................................................................113图5.6星上SAR实时成像处理系统各硬件板卡实物图...........................................115图5.7星上SAR实时成像处理系统原理样机实物图...............................................116图5.8点目标成像结果.................................................................................................117图5.9面目标成像结果.................................................................................................117图5.10SAR图像海面溢油检测..................................................................................118XI 北京理工大学博士学位论文表目录表1.1国外星上SAR实时处理预先研究计划...............................................................9表2.1CS算法各个步骤的运算量.................................................................................22表2.2波数域算法各个步骤的运算量...........................................................................23表2.3DSPFPGAASIC性能比较.................................................................................26表2.4三种结构在SAR实时成像处理中的比较.........................................................32表3.1不同更新步长时点目标成像结果性能表...........................................................52表3.2不同更新步长时成像与原图的对比情况...........................................................53表3.3矩阵转置方法效率测试结果对比.......................................................................65表4.1不同系统下的CORDIC算法..............................................................................69表4.2迭代的部分特殊角度...........................................................................................76表4.3象限划分...............................................................................................................78表4.4优化后的角度运算加法器位宽...........................................................................80表4.5正余弦模块的象限恢复.......................................................................................83表4.6正余弦运算模块FPGA综合结果对比...............................................................85表4.7y的加减运算位宽变化........................................................................................86表4.8x的加减运算位宽变化........................................................................................87表4.9象限划分和数据转换...........................................................................................88表4.10反正切运算的象限恢复.....................................................................................88表4.11反正切运算模块FPGA综合结果对比.............................................................90表4.12算法改进前后反正弦结果误差对比.................................................................95表4.13反正余弦运算模块FPGA综合结果对比.........................................................96表4.14正余弦函数输入象限转换.................................................................................97表4.15正余弦函数输出象限恢复.................................................................................98表4.16多模式CORDIC算法与其他方法FPGA综合结果对比..............................101表5.1主状态机各个状态定义.....................................................................................109表5.2Debug_msm_mode[15:0]寄存器定义................................................................109表5.3SAR成像各处理步骤数据访问方式................................................................111XII 北京理工大学博士学位论文表5.4转置存储控制状态机各个状态定义.................................................................112表5.5点目标成像质量评估(单位:dB)................................................................117表5.6单节点SAR成像处理时间对比(单位:s)..................................................119表5.7两种不同的处理方式系统规模比较.................................................................120XIII 北京理工大学博士学位论文绪论1.1课题的研究背景及意义合成孔径雷达(SyntheticApertureRadar,SAR)是一种主动式微波成像雷达,可以对目标进行二维高分辨成像。由于SAR具有全天时、全天候的工作能力,不会受到恶劣天气和光照强度的影响,因此被广泛的用于地球遥感、军事侦察、资源勘探、农作物估产、环境保护、自然灾害监测等诸多国防和国民经济的重要领域[1]-[8]。SAR技术产生于20世纪50年代初,1951年美国GoodYear宇航公司的C.Willy最早提出合成孔径雷达的概念。同年,美国Illinois大学的研究者也通过试验验证了合成孔径雷达基本原理的正确性,并于1953年成功研制了第一部X波段相干雷达系统,获得了第一批非聚焦的SAR图像。1957年8月,Michigan大学与美国军方合作研究的SAR实验系统成功获得了第一幅全聚焦的SAR图像,从此SAR技术进入实用性阶段[6]-[9]。20世纪60年代末,GreenBerg提出将SAR运用于星上的想法,从此,开辟了一个SAR的全新应用领域——星载SAR[11]-[14]。近年来,我国遥感卫星技术取得了迅猛发展,已经成功发射了几颗不同分辨率的星载SAR卫星,新一代更高性能的SAR卫星也已立项研制。随着分辨率、测绘带宽的不断提高,SAR卫星获取的数据量及相应的数据传输速率成数十倍增长,这给星载SAR数据处理带来了巨大压力。目前,SAR遥感卫星任务链主要由地面任务规划、遥感数据星上存储、星地数传、地面接收处理等环节组成,因此普遍存在星上存储无效数据多、卫星载荷利用率低、星地数传压力大、系统反应时间长、地面接收处理系统复杂等问题,具体体现在:(1)有效载荷利用率低受星上存储器容量和卫星数据传输时间、速率的限制,卫星在任务周期内的观测时间都很短,因此很难完成地面目标区域的长时间连续观测。(2)星地数传压力大随着星载SAR分辨率、成像幅宽等指标不断提高,SAR卫星数据率不断增长,受时间窗口限制,星地数传时间有限,这导致星地数据传输速率要求越来越高,系统压力越来越大。1 北京理工大学博士学位论文(3)快速响应能力差传统的遥感卫星应用模式需要经过星上存储、星地数传、地面接收处理多个链路环节,时间延迟长、反应速度慢,难以满足重大事件监测对卫星系统快速响应能力的需求。(4)难以实现遥感信息的广泛应用目前的卫星数据下传速率很高,这导致卫星地面接收处理系统的成本高、实现难度大,且时效性不足,难以实现遥感卫星的广泛应用和产业化发展。由上所述,通过星上SAR实时成像,在轨完成SAR图像特定目标检测,剔除无效数据,仅存储感兴趣目标区域的相关数据,在星地数传中仅传输目标相关信息,可以有效提高载荷利用率,减小星地数传压力,缩短整个卫星信息应用回路时间,保障信息的快速获取,提升快速响应能力,从而推动遥感信息的广泛应用。因此,研究星上SAR实时成像处理技术、实现星载SAR原始数据在轨实时成像处理具有重要意义。本文是在“十二五”国家863计划项目(课题名称:星上实时信息处理技术,课题编号:2011AAXXX3026)的资助下完成。1.2国内外发展趋势与研究现状星载SAR发展历史及研究现状1978年6月28日,美国成功发射了第一颗SAR卫星SEASAT,这标志着SAR技术已成功进入卫星对地观测的新时代。此后,星载SAR技术得到迅速发展,很多国家都陆续发射了SAR卫星。1981年11月美国宇航局(NASA)利用“哥伦比亚”号航天飞机搭载单极化L波段SAR成像雷达SIR-A升空,成功观测到撒哈拉沙漠的地下古河道,显示了合成孔径雷达具有穿透地表的能力,引起国际科技界的震动。1984年10月又利用挑战者号航天飞机搭载SIR-B进行了实验。1988年12月美国又利用“亚特兰蒂斯号”航天飞机将世界上第一颗高分辨率SAR成像卫星“长曲棍球(Lacrosse)”送入预定轨道。1994年美国宇航局、德国空间局(DLR)和意大利空间局(ASI)共同进行了航天飞机成像雷达飞行任务SIR-C/X-SAR,首次实现了利用多频、多极化雷达信号从空中对地球进行观测。欧空局于1991年7月发射了欧洲遥感卫星ERS-1,ERS-1是一颗地球资源卫星,工作在C波段,分辨率为30m,可以对海洋、陆地及气象进行长期跟踪观测,是第一个获得广泛应用的SAR成像卫星;1995年4月欧空局又发射了ERS-2,作为ERS-12 北京理工大学博士学位论文的继任者持续工作至2011年,积累了长达十余年的地球资料。前苏联于1987年和1991年发射了两颗“钻石”SAR卫星,主要用来对人类无法进入的区域进行雷达成像、监测海洋表面污染、鉴别海冰和对厚冰区的舰船进行导航等。日本于1992年发射了地球资源卫星JERS-1,其有效载荷为L波段、水平极化,分辨率为18m,主要用来进行地质研究、地理测绘、农业应用、海洋观测、环境灾害监测等。加拿大航天局(CAS)于1995年发射了第一颗民用SAR卫星RADARSAT-1,首次采用可变视角的扫描工作模式(ScanSAR),有效载荷为C波段、水平极化,该星可以为商业应用和科学研究提供全球冰情、海洋和地球资源数据[18]。进入21世纪以来,各种星载SAR技术发展迅猛。2000年2月美国宇航局和美国国家图像测绘局(NIMA)以及德国与意大利航天机构联合进行了为期11天的航天飞机地形测绘任务(ShuttleRadarTopographyMission,SRTM)。该任务由美国发射的“奋进”号航天飞机上搭载SRTM系统完成,采用60米长的可展开天线杆进行干涉测量,获取了南纬56°至北纬60°之间总面积超过1.19亿平方公里的雷达回波数据,覆盖了地球上超过80%的陆地表面。此次航天测绘覆盖面积之广、采集数据量之大、精度之高在测绘史上是前所未有的,采集的全部原始数据经过两年左右处理最终获取了全球数字高程模型(DEM)。到2005年,美国宇航局先后发射了长曲棍球系列卫星“Lacrosse-1”到“Lacrosse-5”,目前“Lacrosse-5”的最高分辨率可达亚米级。2015年1月31日,美国完成了称为SMAP(SoilMoistureActivePassive)的发射任务,载荷为L波段VV/HH/HV非全极化的SAR系统,SMAP任务由NASAJPL实验室主持,主要是观测全球的土壤水分、冰川、冻土等,可在3天时间内获取全球9km分辨率的土壤湿度数据。欧空局继ERS-1和ERS-2之后,于2002年3月发射了欧洲环境卫星ENVISAT-1,该星上载有10种探测设备,其中最大的设备是先进的合成孔径雷达(ASAR),可以对海洋、海岸、极地冰冠和陆地进行高分辨率成像。2014年4月,欧空局哥白尼计划中的哨兵系列卫星Sentinel-1A发射升空,并计划于2016年中旬发射Sentinel-1B卫星,这两颗卫星作为ERS-1/2的继任者组成双子星座,重访周期为6天,最高分辨率可达5m,能够对船运区域进行定期监视、绘制海冰图像,为海上交通提供有关风浪的信息,实时跟踪土地使用方式的变化、土地的沉降情况以及洪水、地震等灾难应急响应。德国宇航局和民营企业合作于2007年6月发射了X波段SAR卫星TerraSAR-X,具有多种成像模式,其中条带模式的测绘带为30公里、分辨率为3米,扫描模式的3 北京理工大学博士学位论文测绘带为100公里、分辨率为16米,聚束模式的测绘带为10公里、分辨率优于1米。2010年6月德国宇航局又发射了TanDEM-X,TanDEM-X和TerraSAR-X设计类似,这两颗卫星组成双子星座,通过从相距几千米到相距仅200米的编队飞行,构成一台雷达干涉仪,能够获得高精度全球数字高程图。意大利航天局和国防部于2007年6月至2010年10月期间发射了4颗军民两用的宇宙-地中海卫星Cosmo-SkyMed(Cosmo-1/2/3/4),工作在X波段,主要用于地中海周边地区的海洋污染治理、沿海地带监测和险情处理。加拿大航天局和MDA公司于2007年12月发射了新一代商用合成孔径雷达卫星Radarsat-2,为了保持数据的连续性,Radarsat-2继承了Radarsat-1所有的工作模式,并在原有的基础上增加多种功能,共有12种波束模式,支持多极化,测绘条带宽度为20km~500km,分辨率为3m~100m可选。另外,加拿大航天局提出了Radarsat星座任务计划(RadarsatConstellationMission,RCM),RadarsatConstellation由3个比Radarsat-2小的卫星组成星座,能够继续为Radarsat-2的用户提供C波段的SAR数据,但是会比Radarsat-2有更好的性能,该任务计划于2018年发射。日本于2003年发射了第二颗SAR卫星ALOS,其有效载荷为PALSAR,工作在L波段,主要用于发展陆地探测技术。阿根廷国家航天活动委员会(CONAE)和意大利合作,将于近期发射SAOCOM(SARObservation&CommunicationsSatellite)1A/B两颗卫星,主要载荷是全极化、10-100m分辨率、L波段的SAR系统,可用于干涉测量,另外还有一个热红外传感器,SAOCOM将与X-波段的COSMO-SkyMed组成星座,能实现地球任一点的准实时监测。国内对星载SAR成像的研究开始于上世纪80年代末。从1988年开始,中科院电子所开始对星载SAR系统进行总体方案设计和论证,1990年完成了单极化星载SAR系统的可行性论证,1995年通过了样机设计评审,1998年成功研制了星载SAR系统样机。2006年4月,我国成功发射了第一颗星载SAR卫星“遥感卫星一号”,获得了我国第一幅利用自己的卫星得到的星载SAR图像。2007年11月发射了“遥感卫星三号”,主要用于科学试验、国土资源普查、农作物估产和防灾减灾等领域。2012年11月发射了环境与灾害监测预报小卫星HJ-1C,HJ-1C是中国首颗S波段SAR卫星,具有条带和扫描两种工作模式,成像带宽度分别为40公里和100公里,单视模式空间分辨率可到5米,距离向四视时分辨率为20米,如图1.1所示为HJ-1C第一轨SAR遥感影像。此外,中科院电子所、北京理工大学等单位正在进行多频段、多4 北京理工大学博士学位论文极化、多模式星载SAR系统、高分辨率SAR、Mini-SAR系统的研制。2015年5月,我国首颗C波段多极化高分辨率SAR卫星高分三号(GF-3)卫星完成初样转正样研制阶段评审并计划于2016年发射,GF-3卫星可用于获取我国管辖海域的监视数据,提供油气资源勘探开发、船舶作业、岛礁变化、海面溢油等信息,提升海洋权益维护能力;还可以对海洋灾害进行快速检测和评估,提供极端海况等灾害信息,提升防灾减灾能力,完善我国卫星减灾应用体系。图1.1HJ-1C第一轨SAR遥感影像图(武汉)从国内外情况来看,星载SAR成像经历了从单通道到多通道、从单频单极化到多频多极化,从单工作模式到多工作模式的发展过程,其中,数字实时成像处理技术推动了星载SAR技术的发展,目前高性能的现场可编程门阵列处理器(FPGA,ProgrammableGateArray)以及数字信号处理器(DSP,DigitalSignalProcessor)为星载SAR成像处理技术的发展注入了强大的活力。星上实时处理技术发展及研究现状国外对星上SAR实时处理技术以及更加广泛的星上实时处理技术的研究已超过二十年。NASA在1995年的研讨会中,提出美国保持空间微波探测技术优势的关键技术之一就是星上实时信号处理。其发展规划是:2000年采用ASIC(ApplicationSpecificIntegratedCircuit)、FPGA、MCM减小数字系统体积、重量、功耗,2010年实现星上成像处理器(SoC,SystemonChip),处理器要求体积小、重量轻、低功耗,具有合理的体系结构,吞吐率大于4GFlops[23]。欧空局于上个世纪九十年代就开展了星上实时处理技术的研究,1992年完成了芯片级产品开发,包括数字信号处理器、FFT协处理器、固态海量存储器、以及专用的5 北京理工大学博士学位论文基于子波变换的图像压缩器,1995年进行了板卡级开发,1999年研制了星上实时处理系统(TOPAS系统)。自2000年以来,以图像压缩、变化检测、特定目标检测、目标分类等为代表的星上实时处理系统已在美、欧、澳、新等多个国家的卫星中应用,代表了遥感卫星重要的发展方向。美国于2000年发射的多光谱成像卫星EO-1,星上处理器采用两片MongooseVR3000抗辐照芯片,可以在轨完成感兴趣区域自动识别、区域变化检测、云判及无效数据剔除。如图1.2(a)所示为EO-1在轨处理应用模式。德国于2001年发射的BIRD卫星综合可见光、中波红外和热红外3个波段图像,星上处理器采用TMS320C40浮点DSP、Actel抗辐照FPGA和NI1000协处理器,可以在星上完成“热点检测”,如植被火灾、火山活动、油井燃烧等。如图1.2(b)所示为BIRD卫星在轨处理应用模式。(a)EO-1在轨处理应用模式(b)BIRD卫星在轨处理应用模式图1.2EO-1和BIRD卫星在轨处理应用模式美国海军地球绘图观测者卫星NEMO采用了光学实时自适应信号识别系统ORASIS,它可以对星上超光谱数据进行实时分析以及特征提取,并将观测结果实时下传。ORASIS的星上高速图像并行处理器阵列是由32个SHARCDSP构成的,其峰值运算能力达3.8GFlops,并以160Mbit/s的持续数据率接收数据,各个独立的SHARC6 北京理工大学博士学位论文DSP间的通信带宽为320MB/s,系统可以绕过由单粒子翻转或闩锁所引发的错误,减少了成像期间数据的丢失[19]。法国的最新一代高分辨光学卫星Pleiades-HR星座由Pleiades-1A和Pleiades-1B构成,这两颗星分别于2011年12月和2012年12月发射。其星下点全色分辨率为0.7m,多光谱分辨率为2.8m,图像数据下行传输率达4.5Gbit/s。Pleiades-HR采用了以FPGA为核心的MVP模块化处理器实现星上处理,包括辐射校正、几何校正、图像压缩等功能。如图1.3所示为法国Pleiades-HR星上处理系统示意图。图1.3法国Pleiades-HR星上处理系统美国在“快速响应空间计划”实施过程中提出“战术卫星”(TacSat)的概念,其基本理念是构建低成本且具备快速反应能力的空间平台,使得卫星的使用范围由军师级扩展到战区各级指挥员[20]。2006年发射了多光谱成像卫星Tacsat-2,其星上处理器由5片XilinxFPGAXQR2V3000构成,可以在轨完成异常检测、图像压缩等功能。2009年发射了高光谱成像卫星Tacsat-3,是全球第一个能在10分钟内为战场指挥官提供侦查信息的卫星,能快速提供目标检测与识别数据、战备及战场毁伤评估信息。Tacsat-3在轨处理器设计由SEAKR公司设计,包括可重配置计算机RA-RCC4TM和单板计算机G4-SBC,其中RA-RCC4TM主要芯片为1片ActelRTAX2000和3片XilinxV4LX160。图1.4和图1.5分别为Tecsat-3在轨处理器结构和战术应用示意图。7 北京理工大学博士学位论文图1.4Tecsat-3在轨处理器结构及组成图1.5Tecsat-3战术应用示意图为了构建星上实时处理系统,国外的军用设备生产商还开发了众多的星上实时信号处理平台。美国的SEAKR公司针对星上处理机(On-BoardProcessor),推出了多个基于宇航级FPGA和PowerPC处理器的系统平台,并计划于2016年左右推出基于Virtex-7的宇航级信号处理平台。这些平台都采用了可重配置计算技术(ReconfigurableComputing),可应用于星载SAR、光学处理等多个领域。其中,可重配置计算机RCC4TM已经成功应用于Tecsat-3卫星的在轨处理。如图1.6为SEAKR公司的宇航级信号处理产品。8 北京理工大学博士学位论文(a)宇航级CPCI/VME系统平台(b)基于Virtex4的RCC4TM可重配置计算机图1.6美国SEAKR公司宇航级信号处理产品星载SAR数据率高、成像算法复杂、处理量大,SAR实时成像处理需要多个高性能处理器并行工作。受体积、重量、功耗的限制,现有的星上实时处理大多数以光学图像处理为主,对于星载SAR成像处理还主要依赖于地面处理系统。对于星上SAR成像处理和应用,国外研究机构也进行了探索,表1.1为美国2000年之前公布的星上SAR处理预先研究计划。表1.1国外星上SAR实时处理预先研究计划计划/目的实现功能计划时间核心处理器DiscovererII计划GMTI、SAR实时成像1998年CIPSBR计划实时成像处理、MTI2001年FPGASAR成像、动目标检测(MTI)、TechSat212002年PowerPC750地理定位SAR处理器SAR成像处理2004年SoC针对ERS卫星星上SAR实时成像、变化检测2004年FPGA+PowerPC干涉SAR星上SAR干涉处理2009年FPGA与国外发展相比,国内对星上实时处理技术的研究起步较晚。我国中科院电子所、中科院计算所、电子科大等单位基于曙光系列等大规模并行机开展了星载SAR实时处理的研究工作,解决了许多相关技术问题。此外,北京理工大学、北京市遥感信息研究所等单位针对我国自主遥感系列、环境/资源系列卫星,采用高性能嵌入式实时并行处理技术自主构建了多套星载SAR地面实时处理系统,如图1.7所示。通过地面实时处理系统的研制,积累了星载SAR实时成像、星载SAR实时辐射校正、几何校正等多种遥感数据实时处理关键算法。9 北京理工大学博士学位论文(a)遥感系列地面一体化快视系统(b)环境减灾卫星快速反应系统图1.7我国卫星遥感地面实时处理系统由于地面处理系统不受体积、重量、功耗和处理器类型的严格限制,星载SAR数据地面成像处理系统多使用通用CPU、DSP、GPU等高性能处理器实现星载SAR回波数据的成像处理,这些处理器编程灵活,很容易实现SAR成像算法的映射,处理能力的不足也可以通过增加处理器数量来解决。对于星上SAR成像处理系统,受体积、重量、功耗等严格约束,不能简单依靠处理器数量的堆叠来提高系统性能,需要提高处理器的处理能力和处理效率。由于FPGA具有丰富的逻辑资源和强大的并行处理能力则成为首选的星上SAR实时成像的处理器。在同样的处理能力需求下,FPGA比通用CPU、DSP和GPU,具有更高的实时性和更低的功耗,并且可以作为ASIC技术的前期验证,但是FPGA开发周期长,复杂算法开发难度大。星载SAR算法的FPGA实现目前存在很多问题需要解决。首先,星载SAR成像算法运算形式复杂多变,需要反复迭代处理,处理量大,FPGA实现难度大且实时性难以保证。其次,由于SAR成像处理过程中FPGA需要对片外存储器内的数据反复读写,因此数据存储方式和访问效率是影响SAR成像处理实时性的关键因素。数据的访问过程中需要实现矩阵转置,常用的矩阵转置方法效率很低,严重影响SAR成像处理系统的实时性。另外,星载SAR成像处理算法中有多种超越运算,这些超越运算形式复杂,在实现时需要占据大量的硬件资源,并且很难达到较高的运行速率。因此,实现星上SAR实时成像处理需要分别从成像算法和硬件实现出发,对SAR成像算法进行实时性优化,解决星载SAR成像算法在单片FPGA中实现所遇到的转置存储效率过低、超越运算占用资源过大等问题,提高处理器处理效率、减小系统规模,使星上处理系统在体积、重量、功耗的严格约束下满足SAR实时成像的需求。10 北京理工大学博士学位论文1.3本文主要工作和成果本文以构建星上SAR实时成像处理系统为目的,研究工作围绕以FPGA为核心处理器实现星上SAR实时成像处理,分别从算法层面、系统层面、底层运算实现方面研究了星载SAR成像算法的实时性优化、SAR实时成像处理矩阵转置存储方法及SAR成像算法中的多种超越函数的实现等,为实现星上SAR实时成像处理奠定技术基础。(1)星上SAR实时成像算法与系统架构研究对常用的几种星载SAR成像处理算法进行了研究,综合比较成像质量和运算量选择了CS算法作为星上SAR实时成像处理系统要实现的成像算法。对可用于星上实时成像处理的DSP、FPGA和ASIC等处理器进行了比较和分析,选择了FPGA作为星上SAR实时成像处理的核心处理器。总结了星载SAR成像处理的特点和系统架构设计原则,根据系统架构设计原则对星上SAR实时成像处理的系统架构进行选择,并提出相应的硬件设计方案。(2)星载SAR成像处理算法实时性研究及改进为了在单片FPGA上实现星载SAR成像算法所有处理流程,本文对星载SAR成像算法进行了实时性研究和改进。选择了运算量较小同时又能保证成像质量的多普勒参数估计算法,进而研究了相位补偿因子对CS成像处理算法的实时性影响,提出了一种补偿因子区域不变的CS成像算法。以上实时性改进措施使补偿因子的运算量和运算时间成倍减小,能够有效提高SAR成像处理的实时性。(3)高效矩阵转置存储方法研究转置存储器的数据访问效率是影响星载SAR成像处理实时性的关键因素。本文通过有效利用转置存储器的时序特性消除频繁跨行访问带来的效率损失,针对不同的需求提出了两种高效的SAR成像矩阵转置存储方法——矩阵分块三维映射法和矩阵分块交叉映射法,实现了二维SAR数据矩阵到转置存储器三维地址空间的映射,这两种转置存储方法都能够有效提高SAR成像处理过程中转置存储器的数据访问效率。(4)超越运算设计优化及实现分别对计算正余弦、反正切的CORDIC算法进行了角度覆盖范围的扩展、硬件资源的缩减等优化措施;通过对双迭代法进行资源的优化和误差的纠正实现了反正余弦函数运算,进而通过修改双迭代法的向量旋转判定条件实现了多模式的CORDIC算11 北京理工大学博士学位论文法,能够实现正余弦和反正余弦函数运算的实时切换,在SAR成像算法实现中有效减少FPGA硬件资源占用。(5)星上SAR实时成像处理系统设计与实现利用实时性改进后的星载SAR成像处理算法,结合高效矩阵转置存储方法和优化后的超越运算,在单片FPGA上实现了星载SAR成像所有算法处理流程,进而构建了标准化、模块化、可扩展的星上SAR实时成像处理系统原理样机。该原理样机采用数据分块并行机制,多个SAR成像处理节点并行工作对星载SAR原始数据完成实时成像处理。1.4本文主要内容安排全文总共分为六个章节,内容安排如下:第1章绪论阐述了本课题研究的背景及意义,对星载SAR发展历史及研究现状、星上SAR实时成像处理技术发展现状等国内外动态进行了概述,介绍了本文主要工作和成果以及主要内容安排。第2章星上SAR实时成像算法与系统架构研究介绍了星载SAR成像的基本原理和常用的星载SAR成像算法,对这几种算法的性能和运算量进行了分析和比较,选择了CS算法作为本文要实现的星载SAR成像处理算法。对可用于星上SAR成像的处理器进行了分析和比较,提出利用单片FPGA实现SAR成像处理的优势,选择了FPGA作为核心处理器完成星上SAR实时成像处理。总结了星载SAR成像处理的特点和系统架构设计原则,根据星上SAR成像系统架构设计原则设计了以单片FPGA作为单个处理节点处理器的星上SAR实时成像处理系统架构,并提出了硬件设计方案。第3章星上SAR实时成像处理优化策略研究在算法角度研究了星载SAR成像算法中较难实现并且影响SAR成像处理实时性的因素。对多普勒参数估计算法进行研究,选择了合适的多普勒中心频率估计算法和多普勒调频斜率估计算法并给出了实现流程,进而研究了相位补偿因子对CS成像算法实时性的影响,提出了一种补偿因子区域不变的CS算法。在实现角度研究了SAR成像处理过程中转置存储器的数据访问效率对SAR成像12 北京理工大学博士学位论文实时性的影响,根据不同的处理需求提出了两种高效的矩阵转置存储方法,矩阵分块三维映射法和矩阵分块交叉映射法,并给出了地址映射公式。第4章超越运算设计优化及实现介绍了CORDIC算法的基本原理。针对星载SAR成像处理算法中大量的超越运算在FPGA内实现需要占用较多资源的问题,对CORDIC算法进行了优化。针对计算正余弦函数、反正切函数的CORDIC算法进行了角度覆盖范围的扩展、硬件资源的缩减等优化措施;通过对双迭代法进行资源的优化和误差的纠正实现了反正余弦函数运算,进而通过修改双迭代法的向量旋转判定条件实现了多模式的CORDIC算法。这些优化措施能够有效减少超越运算在FPGA中实现所占用的硬件资源,保证星载SAR成像算法所有处理流程的单片FPGA实现。第5章星上SAR实时成像处理系统实现根据各章节研究内容,利用实时性优化后的CS成像算法和矩阵分块三维映射法,结合超越运算的优化实现,在单片FPGA上实现了星载SAR成像算法所有处理流程,进而构建了星上SAR实时成像处理系统原理样机,并对成像结果和处理时间进行了分析讨论,为实现星上SAR实时成像处理奠定了技术基础。第6章总结与展望对本文的工作进行了总结,并提出下一步的研究思路。13 北京理工大学博士学位论文星上SAR实时成像处理系统研究目标星上S星高A载S效超RA越R矩实阵运成算时转像设成置像算计关键技术法存优处储实化理方时及系法性实统研优现架究化构反正反多补正余正普偿余弦切勒因弦多矩矩函函系系参子阵阵数C数C函模统统数区OO数C式C顶底估域分分RDRDOROR层层计不块块ICICDD架架算变三交ICIC研究内容构构法的C维叉算算算算设设实S映映法法法法射射优优计计时成优实法法化化性像化现优算及及及化法实实实现现现系统设计与实现系统实现图1.8本文内容组织结构图14 北京理工大学博士学位论文星上SAR实时成像算法与系统架构研究2.1引言随着星载SAR处理技术的快速发展,在星上完成SAR成像处理以及特定目标检测等功能已成为可能。相比地面处理系统,星上处理系统对体积、重量、功耗有严格的约束,然而星载SAR分辨率、测绘带宽、数据率等指标都在随着技术的进步和应用需求的增加不断提高,这给星上SAR成像处理系统的处理能力带来了巨大压力。高效的算法和合理的硬件架构是提高星上SAR实时成像处理系统处理能力的必要条件,因此需要对星载SAR成像算法、星上SAR成像处理硬件实现进行研究。SAR成像处理有多种成像算法,各种算法在成像质量和运算量方面有很大的差异。成像质量决定了星上SAR成像的结果能否满足指标要求,运算量是影响系统规模的关键因素。因此,需要综合比较各种SAR成像处理算法,在保证成像结果满足指标要求的情况选用运算量低的算法。核心处理器和系统架构是影响星上SAR成像处理硬件性能的重要因素。由于星上工作环境的特殊性,选用的核心处理器除了要具有很高的处理性能、良好的扩展和互联性能之外,还应具有体积小、重量轻、功耗低、抗辐照等特点。因此,需要根据不同处理器的特点,选择合适的处理器完成星上SAR成像处理。在现有技术条件下,由于芯片规模和处理能力限制,单个处理器很难完成SAR实时成像的处理任务。因此,星上SAR实时成像处理系统必然是一个多处理器并行的系统,需要根据星载SAR成像处理的特点,对星上SAR实时处理系统架构进行研究,以满足算法的高效映射。本章安排如下:2.2节介绍了星载SAR的成像原理;2.3节对RD、CS、波数域、等经典的SAR成像处理算法进行了介绍,对这几种算法的成像质量和运算量进行了分析和比较,选择了CS算法作为星载SAR成像处理算法。2.4节对DSP、FPGA、ASIC等几种可用于星上实时处理的处理器的性能进行了分析和比较,选择了FPGA作为星上SAR实时成像的核心处理器。2.5节对星上SAR实时成像处理系统架构进行了研究,根据星载SAR成像处理的特点和系统架构设计原则提出了系统顶层架构和系统底层架构设计方案。2.5节对本章内容进行了总结。15 北京理工大学博士学位论文2.2星载SAR成像原理星载合成孔径雷达(SpaceborneSAR)是一种主动式微波成像雷达,它具有平台运行高度高、作用距离远、测绘带宽、轨迹平稳等优势,因而近年来很多国家都致力于它的发展,发射自己的SAR卫星。星载SAR在沿着飞行方向即方位向上的高分辨率是通过孔径合成得到的。由星载SAR目标回波的多普勒历程可知,正是由于在SAR平台飞行过程中,SAR平台与目标之间的斜距发生了变化,使雷达回波产生了多普勒频移,回波瞬时频率为时间的线性函数,从而体现出线性调频的特性,因而通过脉冲压缩可以获得方位向上的高分辨率[27]-[31]。距离向即垂直于方位向上的高分辨率是通过发射线性调频脉冲信号并将接收到的回波进行脉冲压缩后得到的。由于星载SAR运行高度高、测绘带宽,回波会受到地球自转、球面曲率的影响,产生距离向和方位向的耦合,必须加以校正,从而使信号处理变得较为复杂[24]-[27]。基本概念如图2.1所示,以正侧视星载SAR为例,距离地面高度为H的SAR卫星的天线朝飞行方向的正侧方发射波束。雷达波束照射到地面上某一位置时会覆盖一定区域范围,随着卫星向前运动,必然形成一条测绘带。通常将卫星飞行的方向称为方位向(Azimuth),将与方位向垂直的方向称为距离向(Range),将卫星与测绘带内点目标之间距离称为斜距[1][2]。飞行方向方位向H距离向L测绘带图2.1星载SAR照射示意图如图2.2所示,在某个时刻T0,波束可以在方位向上覆盖地面上A~B的范围,16 北京理工大学博士学位论文此时B点恰好刚刚进入波束;经过TL后,波束将在方位向上覆盖B~C的范围,此时B点刚刚脱离波束照射。SAR卫星在TL时间内飞行的距离为L,通常将L称为一个合成孔径长度,将TL称为一个合成孔径时间,将卫星从T0~T0+TL这段时间内接收到的B点回波的变化称为目标B的多普勒历程。显然,多普勒历程是目标回波沿方位向变化的过程。在时间T0至T0+TL内,只有B点的多普勒历程是完备的,则B点为T0至T0+TL的完全积累点,从A到C之间的其它目标点则称为非完全积累点。T0T0+TLVθ°ABCL图2.2星载SAR合成孔径示意图SAR回波模型SAR是一种二维成像雷达,它在距离向采用线性调频信号获得高分辨率,在方位向由天线平台相对地面目标运动产生的回波多普勒频率变化而获得高分辨率。天线发射的线性调频脉冲为[32]:fP(t)(tnT)(2.1)n其中:t12P(t)rect()expj2(ft0t)(2.2)n2为线性调频率,为发射信号的脉冲宽度,f为发射信号载频,T为脉冲重复0周期。则SAR天线在时刻t,斜距为r1(t)处接收到的回波信号为:st()Wtrt(()/)(cft2()/)rtca11(2.3)Wtrta11()/cptnT2()/rtcnc是光速常数,为目标后向散射系数,Wt()是天线的方向性增益函数。a17 北京理工大学博士学位论文st()经正交解调后可以表示为:st()Wtrta1()/catnT2()/rt1cexp{j[4rt1()/]jtnT(2()/)}rt1cn(2.4)2其中:是发射波长,()tt2st()重写为sxr(,)。则有结论:sxr(,)(,)xrWrr()hxr(,)(2.5)hxr(,)为回波信号的脉冲响应,其表达式为:4222hxr(,)Wxa()exp{jrx1()}((arrx1()))exp{j((rrx1()))}(2.6)cc2由式(2.3)可知,可以经过一次二维匹配滤波将(,)xr恢复。因此有下式成立Ixr(,)sxr(,)hxr(,)(,)xrWrr()hxr(,)hxr(,)(2.7)(,)xrWr()[(,)hxrhxr(,)]r式表示相关处理。上式是SAR二维信号处理的理论基础,虽然二维处理能使处理后的图像具有很高的分辨率,但是二维处理运算量较大,通常都是将二维处理解耦后近似等效为两个一维处理。r为快时间函数,x为慢时间函数,两维解耦,hxr(,)可以近似写为:hxr(,)hxr12(,)hxr(,)(2.8)其中,4hxr1(,)Wxa()exp{jrx1()}[rrx1()](2.9)222hxr2(,)a(r)exp{j(r)}()x(2.10)cc2根据公式(2.5)可得:sxr(,)(,)xrWrr()hxr12(,)hxr(,)(2.11)公式(2.11)表明SAR二维处理可以分解。其中对hxr(,)的相关称为距离维处2理;对hxr(,)的相关称为方位维处理。距离维在忽略多普勒移动所引起的相位失真的1情况下,可以根据发射脉冲的参数精确构造参考函数,进行脉冲压缩,是一维处理;由[rrx()]可知,方位向响应的峰值沿rx()变化,和距离向存在耦合,因此方位向1118 北京理工大学博士学位论文处理本质上仍然是二维处理。2.3星载SAR成像算法选择SAR回波信号就是SAR天线波束照射区内的目标的后向散射系数与雷达系统函数的二维卷积,而SAR成像处理就是通过采用匹配滤波器从回波信号中提取目标后向散射特性的过程,这是一个二维处理运算,通常需要将二维处理分成距离向处理和方位向处理两个部分[33]-[36]。SAR成像处理有多种成像算法,目前常见的SAR成像算法包括:距离-多普勒(RangeDoppler,RD)算法、ChirpScaling(CS)算法、波数域算法(k)算法等,这些算法之间的不同之处在于如何定义SAR天线与目标之间的距离模型以及如何解决距离-方位耦合的问题,解决方法的不同导致了各种算法在成像质量和运算量方面有很大的差异。本节分别对这些算法进行简要介绍。RD算法(1)基本原理RD算法是几种常用SAR成像处理算法中最直观、最基本的方法。RD算法的基本思想是将数据的二维处理分解为两个一维处理级联的形式[32]。CHIALINWU在文献[27]中详细阐述了星载SAR成像处理可以分解成距离向处理和方位向处理的级联。利用驻留相位定理,RD算法将距离压缩后的信号变换到距离多普勒域(即距离向时域,方位向频域)。在距离多普勒域,斜距相同的目标回波的距离徙动曲线会相互重合,斜距不同的目标回波的距离徙动曲线相互平行,因此,在距离多普勒域可以方便地进行距离徙动校正。相比其它SAR成像算法,RD算法具有原理简单、运算量小的优势。但是由于RD算法在进行方位向处理时,依然采用二维参考函数进行匹配滤波,当距离徙动较大时,方位向匹配滤波会使距离分辨率大大下降。1984年CHIALINWU及其合作者提出了采用二次距离压缩算法来解决大距离徙动下的方位压缩,该算法也有较大的计算量[29]。(2)算法流程如图2.3所示为RD算法处理流程,RD算法距离向处理比较简单,只要进行一次脉冲压缩就可以了,方位向处理相对复杂一些,需要先进行方位向FFT把数据变换19 北京理工大学博士学位论文到距离多普勒域,在距离多普勒域进行距离徙动校正后再进行方位向IFFT完成RD算法整个处理流程。原始数据距离向FFT距离压缩参考函数(FFT)距离向IFFT转置存储方位向FFT距离徙动校正多普勒参数估计方位压缩参考函数方位向IFFTSAR图像图2.3RD算法流程图CS算法(1)基本原理CS算法直接精确推导回波信号在距离多普勒域的表达式,通过在距离多普勒域与CS因子相乘,将不同斜距上目标的距离徙动曲线校正到相同形状,然后依次在二维频域和距离多普勒域完成距离处理和方位处理[2]。CS算法通过频域相位补偿完成成像处理,没有太多的近似推导,这种成像处理方法具有良好的相位保持特性。CS算法结构清晰、简洁,仅通过复乘、FFT和IFFT就可以完成整个SAR成像处理过程。(2)算法流程这里根据文献[2]直接给出基于斜视等效距离模型的改进CS算法流程,它比基于正侧视模型的经典CS算法更适合于距离徙动较大的高分辨率星载SAR的精确成像处理。CS算法的处理流程如图2.4所示。首先通过方位向FFT将原始回波信号变换到距离多普勒域,再与CS补偿因子相乘,使所有距离门上的距离徙动曲线补偿到相同的形状;再通过距离向FFT将信号变换到二维频域,与距离补偿因子相乘,同时完成距离徙动曲线校正、二次距离压缩和距离压缩;然后进行距离向IFFT将信号变换回20 北京理工大学博士学位论文距离多普勒域,再与方位补偿因子相乘,完成方位处理;最后利用方位向IFFT将信号变换回时域,得到SAR图像。原始数据方位向FFTChirpScaling因子矩阵转置距离向FFT距离向补偿因子距离向IFFT矩阵转置方位向补偿因子方位向IFFTSAR图像图2.4ChirpScaling算法流程图波数域算法(1)算法原理SAR的工作模式是天线发射电磁波,电磁波被地面目标反射后,再由天线接收,此过程中电磁波为双程传播。如果将电磁波发射和接收过程中的雷达运动忽略,则可以建立另一种模型:把目标看做发射源,电磁波从目标到接收天线单程传播,传播速度为光速的二分之一。这种模型可以近似代替SAR的真实工作模式[2],基于这种散射模式,Cafforio等人提出了波数域算法[41]。波数域算法,也称为ω−k算法,其主要思路是基于波动方程分析距离处理后信号的二维频谱。波数域算法成像可以对距离徙动较大的情况进行成像处理,处理过程较为精确。但是在变量置换时需要运用插值处理,引起计算量增加和成像精度下降,这也是该算法的主要制约因素。(2)算法流程如图2.5所示,波数域算法的成像处理流程可以分为以下几个处理步骤[41]:1)通过二维FFT将回波信号变化到二维频域。2)参考函数相乘。一般选定参考距离来计算参考函数,用于补偿距离徙动、距离方位向的解耦和方位向频率的调制等。这一步处理,实现了参考距离处目标的完全聚焦和非参考距离处目标的部分聚焦。3)Stolt插值。在二维频域用插值操作完成其他目标的聚焦。21 北京理工大学博士学位论文4)通过二维的IFFT将信号变回到时域。原始数据二维FFT参考函数Stolt插值二维IFFT图像图2.5波数域算法流程图算法选择前面对RD、CS、波数域等几种经典的SAR成像处理算法进行了介绍。RD算法在距离徙动不大的情况下,是一种优秀的SAR成像算法。但是由于星载SAR平台运行高度高、测绘带宽,受地球曲率的影响,距离徙动量会很大,随着距离徙动的增加,计算量也急剧增加。因此,RD算法不适合作为星载SAR高分辨成像处理的首选算法,而改进的CS算法和波数域算法均能在距离徙动较大的情况下对星载SAR回波信号进行精确成像,因此本节将主要对这两种算法的运算量进行分析比较。设单景星载SAR回波数据的距离向点数为N,方位向点数为M。CS算法各个步骤的运算量如表2.1所示。表2.1CS算法各个步骤的运算量序号步骤操作运算量(/次浮点运算)1方位向FFTN次M点的FFT5NMlog2M2CS因子相乘N次M点的复乘6NM3距离向FFTM次N点的FFT5NMlog2N4距离向因子相乘M次N点的复乘6NM5距离向IFFTM次N点的IFFT5NMlog2N6方位向因子相乘N次M点的复乘6NM7方位向IFFTN次M点的IFFT5NMlog2M22 北京理工大学博士学位论文由表2.1可计算出CS算法的总运算量为18NM10log(2NM)次浮点运算。波数域算法各个步骤的运算量如表2.2所示。表2.2波数域算法各个步骤的运算量序号步骤操作计算量(/次浮点运算)1距离向FFTN次M点的FFT5NMlog2M距离参考函数进行21次M点的FFT5MMlog2一次FFT距离参考函数频域3N次M点的复乘6NM复乘4方位向FFTM次N点的FFT5NMlog2N5补偿因子复乘M次N点的复乘6NM每个数据点插值需要4×11+6Stolt插值58NM4×2+3×2次浮点运算5NMlogMN次M点的IFFT和27二维IFFTM次N点的IFFT+5NMlog2N波数域算法的总运算量为70NM10NMlog(22NM)5MlogM次浮点运算。以16K×16K点的回波数据为例,波数域算法的运算量大约是改进的CS算法的1.2倍。另外,波数域算法需要插值运算,运算过程较为复杂,而改进的CS算法结构相对简单,只需要FFT(IFFT)和复乘就能够完成成像过程,所以改进CS算法更适合于星载SAR成像处理。因此,本文选择CS算法作为星上SAR实时成像处理系统要实现的SAR成像算法,对CS算法进行实时性研究和改进,优化算法结构,减少运算量,提高算法处理效率,保证星上SAR实时成像处理系统的实现。星载SAR成像CS算法详细流程如图2.6所示。23 北京理工大学博士学位论文原始数据数据转置计算数据的直流分量卫星的星历参数解算实虚部数据去直流实虚部数据去直流多普勒参数初始值方位向FFT的计算多普勒中心频率估计与ChirpScaling因子计算补偿因子所需相乘的参数计算多普勒中心频率拟合系数计算数据转置ChirpScaling因子生成距离向FFT距离向补偿因子生成与距离向补偿因子相乘距离向IFFT数据转置多普勒调频斜率估计多普勒调频斜率的拟合运算矩阵转置方位向补偿因子生成与方位向补偿因子相乘多普勒参数计算方位向IFFTCS因子补偿运算FFT/IFFT图像量化图2.6星载SAR成像CS算法详细流程图24 北京理工大学博士学位论文2.4星上实时成像核心处理器选择星上SAR实时成像处理系统是嵌入式处理系统,因此需要使用高性能的嵌入式处理器完成SAR成像处理。近年来,嵌入式处理器技术取得了很大进步,涌现了大量新架构的处理器,不同类型处理器之间的优劣态势也随着处理器技术的进步发生改变。目前,适合星上实时成像处理的处理器主要有三种:DSP、FPGA和ASIC。以下就各种处理器的特点进行分析比较[26]:(1)DSPDSP具有运算性能较高、可编程能力强、开发容易、运行时间可以预测等特点。DSP与一般的通用处理器相比,最大特点是内部具有硬件乘加单元(MAC),以及特殊的存储器和总线结构,能提高数字信号处理的效率,因此DSP是当前嵌入式处理系统,尤其是地面实时处理领域采用的主流处理器。(2)FPGAFPGA内部的逻辑单元和存储器能够根据用户的需要配置为不同的模式,同一个芯片可以改变结构实现不同的功能,可以实现大规模的并行运算,因此FPGA具有很高的处理效率。FPGA具有大量的用户可编程I/O,具有很强的扩展能力和很高的灵活性。FPGA既具有ASIC的大规模、高集成度、高可靠性的优点,又克服了普通ASIC设计周期长、成本高、灵活性差的缺点。FPGA的主要缺点是开发相对困难,开发语言主要是硬件描述语言,开发流程与软件开发尚有一定的差距。因此在FPGA中实现复杂的算法要比DSP困难很多。但是,随着FPGA技术的成熟、基于高级语言的开发平台的出现和IP核资源的不断丰富,FPGA的开发将逐步向软件开发转变。(3)ASICASIC的主要优点是针对专门应用定制开发,因此处理性能极高,在相同的处理能力下相比其它处理器具有最小的体积、重量和功耗。缺点是开发技术门槛高、周期长、成本高、风险大,适应性和灵活性较弱。在宇航工作环境中,ASIC比DSP和FPGA具有更好的抗单粒子翻转等辐射效应影响的能力。美国Discoverer-II计划中的10万亿次/秒(1TFLOPS)处理器,就是基于ASIC技术制作的专用处理芯片[63][72]。25 北京理工大学博士学位论文以上是三种处理器的各自特点,由于星上工作环境的特殊性,除了选用的核心处理器要具有很高的处理性能、良好的扩展和互联性能之外,还应具有体积小、重量轻、功耗低、抗辐照等特点。表2.3给出了这三种处理器主要性能的综合比较。表2.3DSPFPGAASIC性能比较性能DSPFPGAASIC定点计算能力中强强浮点计算能力强中强存储器接口带宽中(恒定)高(可扩展)自定制多片扩展能力强强自定制处理速度中高高抗单粒子能力较好不好好单位功耗处理能力低中高宇航级产品缺少高端产品多高端产品自定制开发成本低中高开发难度易中难开发风险低低高开发周期短较长最长星载SAR成像算法大体可以分为两种运算:一种是运算形式单一、运算量大、对处理芯片并行处理能力要求很高的线性运算,例如CS算法流程中的大量复乘和FFT/IFFT运算;一种是运算形式复杂,对运算精度要求高的复杂超越运算。从技术难度和开发成本考虑,采用单一处理器实现星上SAR实时成像处理的难度较大,采用多种处理器相结合的异构系统实现星上SAR实时成像处理是很有效的方法。在星上SAR实时成像处理系统还处于系统设计与可实现性研究阶段,FPGA+DSP的异构系统通常被用于在地面构建星上SAR实时成像处理系统的原型。FPGA用来完成SAR成像算法中的大规模并行运算,DSP用来完成算法中对精度要求高、运算形式复杂的超越运算。虽然采用FPGA+DSP异构的方式能够较快的实现星上SAR实时成像处理系统原型验证,但是由于缺少高端的宇航级DSP产品,现有宇航级DSP处理能力低,商业级DSP产品抗单粒子能力差,很容易受到空间辐射环境的影响。星上SAR实时成像处理技术研究是一个循序渐进的技术积累过程,系统研制前期,开展通用性的系统设计,不局限于某种体制的星载SAR或者某种特定的星载SAR成像算法进行研究,因此,采用FPGA和DSP技术实现系统快速开发,验证系统原26 北京理工大学博士学位论文理和性能。系统研制中期,随着基于高级语言的开发平台的出现和IP核资源的不断丰富,FPGA的开发将逐步向软件开发转变,FPGA开发难度降低,在星上SAR实时成像处理系统方面也积累了一定的技术经验,可以逐步将DSP所做的功能转移到FPGA中去做。这样FPGA+DSP异构的星上SAR实时成像处理系统就转变成了单FPGA处理的同构系统,甚至用单片FPGA就可以完成星载SAR成像算法所有处理流程。单FPGA成像的优点是可以有效降低系统功耗、降低系统硬件设计复杂程度,提高系统可靠性。同时,FPGA有丰富的用户自定义IO资源,可以有效避免由于IO带宽不足引起的系统实时性的降低。由于FPGA技术与ASIC技术在开发上具有很强的相似性,此阶段也可作为ASIC技术的前期验证。由于FPGA+DSP异构的星载SAR成像处理方式已经得到实现,并有效运用于地面原型系统验证,项目开发过程中积累了大量的经验。本文将重点研究星载SAR成像处理的FPGA实现,从算法角度对SAR成像实时性进行优化,解决星载SAR算法在FPGA上实现过程中遇到的难题,实现以FPGA为核心处理器的星上SAR实时成像处理系统。系统研制末期,可以将FPGA的处理任务,大部分划分到ASIC技术实现,小部分利用反镕丝的宇航级FPGA实现。ASIC具有运算能力强、功耗低、抗单粒子能力强等优势,采用宇航级FPGA又能弥补ASIC在扩展能力上的灵活性。最终采用宇航级FPGA+ASIC的并行异构的方式能够极大的提高星上SAR实时成像处理系统的处理性能、降低系统功耗、提高系统可靠性。这些将在以后的工作过程中进行研究实现。2.5星上SAR实时成像处理系统架构星上SAR实时成像处理系统首先是一种专用系统,需要研究星载SAR成像处理的特点,以之作为系统架构设计的前提条件。从数据特征的角度看,SAR原始数据具有二维有限相关性。从软件流程的角度看,SAR成像算法复杂且多样。从系统规模的角度看,SAR成像对整个处理系统的处理能力和存储能力都有相当大的要求。从算法实现的角度看,SAR成像处理算法是基于像素级的运算,且算法具有部分重叠性。因此,星上SAR实时成像处理系统架构的设计需要综合考虑这几个特点。另外,在保持专用系统特点的同时,系统设计需要考虑系统构建和二次开发的便捷性,这样有利于后期维护和功能扩展、升级。针对宇航环境应用,考虑空间辐射带27 北京理工大学博士学位论文来的影响,系统设计又要具有一定的冗余、容错性。因此,星上SAR实时成像处理系统应该是一种高性能、可扩展、可容错的专用系统。星载SAR成像处理的特点(1)数据的二维有限相关性SAR在单个脉冲内使用线性调频信号来提高距离分辨能力,在方位向则利用多个脉冲间的多普勒频率变化来合成方位高分辨,所以SAR原始数据具有二维特性。距离向的数据长度由雷达接收机对回波信号采样的波门宽度决定,通常是一个常数。方位向的数据长度则随着雷达的横向移动而不断增长。SAR原始数据不但是二维的,而且具有二维相关性,相关长度有限且相对稳定。距离向上数据的相关长度等于脉冲宽度;方位向上数据的相关长度等于一个合成孔径时间内的脉冲个数,也就是波束的照射宽度。这里的数据相关长度是指:保证两个原始数据点之间不相关的最小间隔。当两个数据点的间隔大于相关长度时,它们之间就是不相关的,处理其中一个点的时候不需要另一个点的信息。由于SAR数据的二维有限相关特性,使得SAR成像处理系统可以将整个SAR数据划分为若干个有限相关的数据块后分别进行处理。(2)对运算和存储能力要求高高分辨率和大的测绘带宽是星载SAR的发展方向,随之带来的就是大数据量和高数据率。例如:一个星载SAR系统,分辨率为5m,距离向测绘带宽50km,采样率66MHz,脉冲重复频率PRF为2000Hz,其数据率为280Mbps,连续接收10分钟,数据量可以达到20GB。要完成全测绘带宽的实时成像处理,要求系统具备约100亿次浮点的计算能力,以及单处理节点2GB以上存储能力。由此可以看出,SAR实时成像处理系统应具有相当高的运算和存储能力。(3)算法的复杂性及处理流程的顺序性SAR的成像处理过程实际上是一个二维反卷积过程[2],多数实用的算法都通过傅立叶变换实现卷积操作。从算法流程的角度看,这些SAR成像算法都需要在方位和距离两个方向上的频域/时域之间进行多次变换才能获得成像结果。FFT、复乘以及三角函数运算是几乎所有成像算法都要用到的。无论何种算法,每一步运算的结果可以顺序用于下一步骤的处理。例如,RD算法中方位向匹配处理,只需要用到距离向压缩后经过距离徙动校正的数据,而不再需要之前的原始数据。28 北京理工大学博士学位论文(4)处理算法基于像素级运算从算法实现上可以看出,成像过程中对SAR数据的每个像素都经过了相同的处理,即经过像素级运算,这是造成SAR成像处理量大的关键原因之一。(5)处理算法的部分重叠性通过比较各种不同的SAR成像算法可以看出,在一些基本运算方面,不同成像算法之间存在一定的重叠性,即不同的成像算法都会存在一些相似或者完全相同的运算,比如FFT、复乘、查表、二维数据矩阵的转置(这里将数据矩阵的转置也视为对数据的一种运算操作)等。SAR成像算法的部分重叠特性对于星上SAR实时成像处理系统的通用化设计非常有利。提取出重叠计算的操作并将其固化到系统设计中,通过专门的处理单元完成固定的计算操作,对于不同的算法实现,只需针对差异部分修改设计重新实现。星上SAR实时成像处理系统架构设计原则针对星载SAR成像处理的特点和系统的宇航应用环境,系统架构设计应围绕以下几个原则进行:(1)标准化、模块化标准化设计贯穿体系结构的每个具体技术细节,包括标准总线、标准的通信协议、标准的软件结构技术、标准的软件接口技术、标准的互连技术、标准的物理接口、标准的板卡结构等方面,标准化设计可以使软硬件模块具有更好的通用性和互换性。在标准化的基础上,可以将多种独立的功能设计为相对独立的功能模块,并定义尽可能完善的功能模块以满足整个处理系统的需求,整个系统由可编程的标准模块构成,通过对模块的编程、模块数量的扩展就可以适应不同的应用需求。(2)可实现性用目前现有的技术手段可以实现,并兼顾该技术未来的发展趋势。处理系统结构的设计不能片面的追求性能的提升,需要考虑空间环境适应性、高速高等级器件的可获得性、系统的可靠性与安全性以及系统的体积、重量、功耗等综合因素,达到性能与可实现的最佳平衡。(3)可扩展性将系统设计成独立的功能模块,模块之间通过具有可扩展性的互连网络进行连接,从而使系统可以通过增加(或删除)某个模块,带来功能或者能力的增加(或减少),或者说可以通过扩展系统规模的方法达到更高的处理能力。29 北京理工大学博士学位论文(4)可重构性通过模块之间互连形式的调整、数据流的调整或动态重新配置系统中处理器的程序,调整系统的处理功能,以适应不同的工作模式,使用较少的资源实现功能最大化。(5)可容错性容错设计是提高星载SAR成像系统可靠性的关键,当部分模块出现故障时,系统能够自动检测并纠正错误,不影响整个SAR成像系统的正常工作。星上SAR实时成像处理系统架构设计星上SAR实时成像处理系统架构设计,既要满足处理实时性和数据量的需求,又要考虑星载SAR的成像算法结构,便于实现算法的高效映射。在现有的技术条件下,由于芯片规模和处理能力限制,单处理器很难完成SAR实时成像的处理任务。因此,星上SAR实时成像处理系统必然是一个多处理器并行的系统,需要运用并行计算机的理论,针对特定的处理器设计适合的系统架构。多处理器并行系统可以采用数据并行的方式,也可以采用线程并行的方式,或者是两者的一种组合。下面对星上SAR实时成像处理系统并行模式进行分析:基于并行计算机系统中的单指令流多数据流(SIMD)、多指令流单数据流(MISD)和多指令流多数据流(MIMD)三种结构[87],结合SAR成像算法将其在SAR成像处理系统上进行映射,SAR成像处理系统的结构可以分成以下三类:(1)多级流水线结构多级流水线结构由若干级串行的处理节点组成,各个节点的任务根据算法流程的先后顺序编排。各个节点运行不同的处理流程,联合处理同一个数据流,因此它属于MISD结构。如图2.7所示,以RD算法为例,流水线结构的RD成像系统由3级节点组成,分别是距离脉压节点、转置存储节点和方位脉压节点。距离脉压节点将输入的原始数据进行脉冲压缩处理并传送给转置存储节点;转置存储节点对脉压后的距离线进行积累,然后沿方位向提取数据发送给方位脉压节点;方位脉压节点对方位线进行脉冲压缩处理并输出最终的复图像。原始距离向方位向SAR转置存储数据脉冲压缩理脉冲压缩图像图2.7RD算法并行映射多级流水线结构的优点有:30 北京理工大学博士学位论文1)处理效率高:针对具体算法对各个节点进行专门设计,系统运行效率较高。2)实现简单:各个节点的功能相对单一,系统实现比较简单。多级流水线结构的缺点有:1)算法适应能力差:整个处理算法分布在各个模块上实现,导致系统结构和算法流程紧耦合。算法的修改往往会导致整个系统的重新设计。2)扩展能力差:当输入数据率提高而需要提高处理能力时,多级流水线结构无法进行节点级的扩展。(2)数据分块并行结构数据分块并行结构的SAR成像处理系统由多个完全相同的处理节点构成,原始数据分块分发到各个处理节点,每个节点独立完成一景数据的全部成像处理流程,各个节点输出的图像汇总以后形成连续图像并输出。数据分块并行结构中各个节点运行相同的处理流程处理不同的数据块,因此它属于SIMD结构,如图2.8所示。数据块1处理结果1处理节点1数据块2处理结果2处理节点2图像原始数据SAR汇总数据分块图像....拼接..数据块n处理结果n处理节点n图2.8数据分块并行结构数据分块并行结构的优点有:1)通用性强:对于不同的算法,系统的拓扑结构相对固定。2)处理能力强:通过增加处理节点的数量,可以提高系统的处理能力。3)可维护性好:所有处理节点处理流程相同,易于维护和升级。数据分块并行结构的缺点是:1)处理效率偏低:系统结构不针对具体算法设计,会出现设计冗余。如各景SAR数据之间的重叠,会造成处理效率的损失。2)处理节点设计难度大:每个处理节点都必须运行完整的SAR成像处理流程,节点设计难度大,降低了系统的可实现性。(3)多处理器细粒度紧耦合结构多处理器细粒度紧耦合结构由多个紧密互联的处理器以及存储器构成,存储器的31 北京理工大学博士学位论文形式可以是共享存储器或分布式存储器,如图2.9所示。处理节点处理节点处理节点存储器存储器存储器...12n处理节点处理节点处理节点...12n总线互连共享存储器总线互连共享存储器结构分布式存储器结构图2.9多处理器细粒度紧耦合结构在共享存储器结构中,SAR原始数据矩阵存储在共享存储器中,各个处理器按照规定的协作流程联合处理整个数据矩阵并生成图像。在分布式存储器结构中,数据矩阵分布存储在各个局部存储器中,各个处理器通过互联系统的消息传递机制交换数据并进行处理。与多级流水线结构相比,该结构中各个处理器负责处理不同的数据;与分块并行结构相比,该结构的数据分配粒度较小,各处理器之间需要紧密的数据交换。多处理器细粒度紧耦合结构中各个处理器处理不同的数据,且处理流程也不尽相同,因此可视为MIMD结构。特殊情况下,当各个处理器的功能和地位完全对称时,该结构又可以简化为SIMD结构。当系统内有良好的互连性能时,多处理器细粒度紧耦合结构具有最强的算法灵活性。其缺点是扩展能力有限,随着处理器数目的增加,处理器之间的互连将变成瓶颈。表2.4三种结构在SAR实时成像处理中的比较多处理器多级流水线数据分块并行细粒度紧耦合高效性好略差较好灵活性差好最好可实现性好略差略差可扩展性最差好较差从表2.4中可以看出,数据分块并行结构的综合性能最佳,多处理器细粒度紧耦合结构的灵活性最佳,对算法的适应性最强。对于算法确定的SAR成像系统,多级流水线结构是最佳选择,具有最好的系统可实现性和高效性。数据分块并行结构的最大问题是单个处理节点的设计难度比较大,每个处理节点都必须运行完整的SAR成像处理流程,在处理器处理能力和存储扩展能力足够强大时,使用单个处理器就能满足单个处理节点的需求,这会大大简化单处理节点的设计32 北京理工大学博士学位论文难度。系统顶层架构设计通过上述对比分析,一个高效的、通用化、可扩展、可重构的星上SAR实时成像处理系统应该具有如下的架构:系统顶层采用数据分块并行机制,由多个松耦合的独立并行处理节点构成,每个处理节点负责处理一个SAR数据块。系统底层即处理节点内部采用单个高性能处理器加存储器结构,该结构组成简单并且具有充分的并行处理能力。星上SAR实时成像处理系统顶层架构如图2.10所示。功能层粒度分发SAR成像SAR成像SAR成像图像输出SAR与预处理处理节点处理节点…处理节点节点节点12NSAR图像原始数据链路层双冗余总线系统监控总线决策层系统监测系统控制单元单元图2.10星上SAR实时成像处理系统架构如图2.10所示,该系统架构由功能层、链路层和决策层三个部分构成:(1)功能层:包含几种功能模块完成相应的数据处理功能。1)粒度划分及预处理节点:粒度划分及预处理节点是系统的输入部分。其功能是对输入的SAR原始数据进行合理的粒度划分,然后通过高速互连总线将处理粒度输送给处理节点或直接存储到存储节点。与此同时,该节点还可以完成数据格式转换、FIR滤波等预处理工作。2)SAR成像处理节点:SAR成像处理节点是系统中实现SAR成像算法的核心处理单元,也是本文的重点研究对象。主要处理芯片为FPGA、DSP、ASIC33 北京理工大学博士学位论文等高性能嵌入式处理器,或者多处理器相互配合实现整个SAR成像算法的处理流程。另外,SAR成像处理节点还要有足够的存储器缓存单个粒度的SAR原始数据或者中间处理结果。3)图像输出节点:图像输出节点将不同处理节点处理之后的图像数据汇总,然后输出。处理节点的处理结果可以不经过存储,直接通过图像输出节点输出。(2)链路层:系统设计采用多层次可靠互联机制,包括双冗余的数据总线、低速监控总线等。1)双冗余总线:各模块之间的数据互联采用双冗余总线的形式,包括原始数据分发、成像结果汇总等,两套总线功能相同,互为备份,能够保证数据传输的可靠性。2)低速监控总线:负责向监测单元传输各个功能模块的工作状态和控制单元向各个功能模块发出的控制命令。(3)决策层:作为星上SAR实时成像处理系统的决策层,有系统监测和系统控制两种功能。1)系统监测单元:可以实时的监测由空间辐射效应产生的错误,当发现系统中某个节点内核心处理器的工作状态产生异常时,系统监测单元可以自动读取相应的配置文件对处理器的程序进行恢复。2)系统控制单元:能够根据卫星的主控计算机的指令实时控制成像系统中各个节点的工作。系统底层架构设计前面已经讲到,相比FPGA+DSP的异构系统,纯FPGA处理的同构系统成像的优点是可以有效降低系统功耗、降低系统硬件设计复杂程度,提高系统可靠性。随着嵌入式处理器技术的发展,目前FPGA已经发展到数千万门的级别,具有足够强大的并行运算能力。因此,本文的SAR成像处理系统底层设计采用单片FPGA作为SAR成像处理核心芯片。SAR成像处理节点总共分存储单元、处理单元、监控单元三个部分,如图2.11所示。(1)存储单元存储单元负责接收并存储单粒度的SAR原始数据,缓存SAR成像处理的中间结果。由于存储单元需要完成SAR成像处理过程中的矩阵转置功能,因此存储单元又34 北京理工大学博士学位论文称作转置存储器。转置存储器一般由DDRSDRAM、DDR2SDRAM、DDR3SDRAM等大容量高速存储器件构成,它的数据访问效率是制约SAR成像实时性的关键因素。(2)处理单元处理单元为单片FPGA,完成SAR成像算法中的所有数据处理流程。该FPGA需要具有较强的数据处理能力、接口扩展能力和数据带宽,能够实时接收SAR原始数据,将其存放在存储单元中,SAR成像过程中需要反复从存储单元读取数据进行处理,并将处理后的中间结果写回存储单元,最后需要将成像结果发送至图像输出节点。(3)监控单元监控单元由反熔丝FPGA和PROM构成,反熔丝FPGA能够在空间辐射环境下稳定工作,具有很高的可靠性,PROM负责存储成像FPGA的程序。反熔丝FPGA定期通过SelectMap方式回读成像FPGA的配置程序并与PROM内存储的配置文件进行比对校验以完成监控功能。当成像FPGA受到空间辐射的影响发生配置信息错误时,对其进行动态重配置,以恢复成像FPGA的功能。监控单元通过监控总线与系统监测单元和系统控制单元进行实时通信以报告SAR成像节点的状态并完成对它的控制。成像DDRDDRFPGAM反熔丝监控ORPFPGASelectMap加载监控总线双冗余数据总线图2.11单处理器结构的SAR成像处理节点2.6本章小结本章对星载SAR成像算法、星上SAR实时成像处理核心处理器和系统架构进行了研究,主要的内容有:星载SAR成像处理算法选择。从基本概念和SAR回波模型出发介绍了SAR成像的基本原理,进而介绍了RD、CS、波数域等三种经典的SAR成像算法,并对它35 北京理工大学博士学位论文们的成像性能和运算量进行了分析和比较,选择了适合于星载SAR成像处理的CS算法并给出了详细的处理流程。星上实时成像处理器选择。通过比较DSP、FPGA和ASIC三种类型的处理器用于星上处理的优势和不足,选择了FPGA作为星上SAR实时成像处理的核心处理器,为本文使用FPGA实现星上SAR实时成像处理提供了依据。星上SAR实时成像处理系统架构研究。总结了星载SAR成像处理的多方面特点和星上SAR实时成像处理系统架构设计原则,根据设计原则选择了适用于星上SAR实时成像处理的系统架构,并提出了相应的硬件设计方案。36 北京理工大学博士学位论文星上SAR实时成像处理优化策略研究3.1引言本文第二章对星载SAR成像算法、星上SAR实时成像处理核心处理器和系统架构进行了研究,通过综合分析选择了在FPGA上实现CS成像算法作为星上SAR实时成像处理的技术途径。为了保证星上SAR实时成像处理系统的顺利实现,需要解决CS成像算法在FPGA上实现遇到的算法实现难度大,实时性不足等问题,提高算法运行效率和FPGA处理能力。CS成像算法处理流程可以分为多个步骤,其中多普勒参数估计和补偿因子计算不仅运算复杂而且运算量大。目前基于地面的SAR成像处理系统都会使用DSP或其它通用处理器来实现,这种方法实现简单,但是较大的运算量使DSP等处理器很难满足星载SAR成像的实时性需求。对于补偿因子的计算,文献[40]在DSP内使用提前计算并存储部分参数的方法,能够有效降低补偿因子的计算量,提高处理实时性,但是这种方法只能对已知场景下的星载SAR数据成像,灵活性不够。使用FPGA实现时虽然可以大大提高计算速度,但编程复杂,逻辑资源占用量大。因此,需要对多普勒参数估计算法和补偿因子计算方法进行比较选择和实时性改进,充分考虑算法的工程实用化,在保证算法处理精度的同时降低算法运算量、节约硬件资源、减少处理时间。矩阵转置在SAR成像处理过程中是必不可少的,星上SAR实时成像处理系统的矩阵转置功能是在处理器对外挂存储器进行数据访问时通过地址跳变来实现的。受存储器时序访问特性的影响,频繁的地址跳变会极大降低存储器的数据访问效率,如果矩阵转置处理不好,存储器访问效率很难满足处理器对数据存取速度的需求,矩阵转置则会成为整个成像处理的最大瓶颈,影响SAR成像处理的实时性。文献[96]-[101]分别根据不同情况下的应用提出了多种转置存储方法,但是这些方法的数据访问效率均不能满足星载SAR成像处理的实时性需求。本文对SAR成像矩阵转置存储方法进行了深入研究,充分利用转置存储器的时序访问特性,提高转置存储器的数据访问效率。本章安排如下:3.2节对多普勒参数估计算法进行了研究,通过比较算法精度和37 北京理工大学博士学位论文运算量选择了合适的多普勒中心频率估计算法和多普勒调频斜率估计算法并给出了实现流程。3.3节分析了补偿因子对SAR图像分辨率的影响,进而提出了补偿因子区域不变的CS算法,在保证运算精度的前提下提高SAR成像实时性、节约逻辑资源,保证整个SAR成像处理过程能在单片FPGA内实现。3.4节对SAR成像矩阵转置存储方法进行了研究,针对不同的处理和存储需求提出了两种高效的矩阵转置存储方法,并给出了具体的地址映射公式。3.5节对本章内容进行了总结。3.2多普勒参数估计算法研究及改进SAR图像的距离向高分辨率是依靠发射线性调频信号并对回波进行距离向脉冲压缩实现的,但方位向高分辨率的获得是依靠目标和SAR平台之间相对运动产生的多普勒效应,而这也造成了SAR回波信号的多普勒频移,进而带来方位向与距离向的耦合问题。因此,多普勒参数的精确程度决定了距离向与方位向的解耦合以及SAR成像的质量。多普勒参数包括多普勒中心频率和多普勒调频斜率,多普勒中心频率简称为Fdc(DopplerCenterFrequency),它与平台和目标之间的径向速度有关,多普勒调频斜率简称为Fdr(DopplerFrequencyRate),它是平台和目标之间的径向速度和切向速度共同作用的结果。多普勒参数估计值的精确程度是影响SAR成像的关键因素,过大的多普勒中心频率误差将导致生成的SAR图像信噪比降低,方位模糊性增加,同时图像上目标的位置也会产生偏移,而多普勒调频斜率的误差将导致方位脉冲展宽,使图像散焦、分辨率下降。多普勒参数估计对SAR图像的质量有着重大影响,因此SAR成像算法的研究很大一部分都着重于研究精确的多普勒参数估计算法。早期的多普勒参数通过SAR平台的运动参数进行计算,由于运动传感器的测量精度有限,多普勒参数的精度难以保证,越来越多的研究转向于从SAR接收的回波信号中精确估计多普勒参数。由于多普勒参数估计算法的复杂性,大部分算法都会使用DSP或其它通用处理器来实现,这种方法实现简单,但是较大的运算量使DSP等处理器很难满足星载SAR成像的实时性需求。使用FPGA实现时虽然可以大大提高计算速度,但逻辑资源占用量大。通过调研发现,见诸各文献的SAR实时成像处理多因多普勒参数的复杂性难以在FPGA内实现。本文针对多普勒参数估计算法进行深入研究,在保证计算结果满足精度需求的同时选择适合在FPGA内实现的多普勒中心频率估计算法和多普勒调频斜率估计算法,使得整个SAR成像处理过程能在单片FPGA内实现。38 北京理工大学博士学位论文多普勒中心频率估计算法(1)算法选择为了获取精确的多普勒中心频率,需要从雷达回波信号中对参数进行估计。在SAR成像技术发展过程中,出现了很多种多普勒中心频率估计算法[44]-[49],主要分为频域估计法和时域估计法两类。频域估计法的原理是方位向回波在某个多普勒频率上的能量一定来自雷达波束的某个特定方向上的目标,而多普勒中心频率的值对应着雷达波束中心照射在点目标上时的位置,以这种方法对多普勒中心频率进行估计。频域估计法主要有方位谱峰值法[42]-[45]、杂波锁定法[47]和能差逼近法[46]等,算法较复杂,且计算量很大,不利于硬件实现,但是估计精度较高。时域估计法主要是利用了相关函数和功率谱之间的傅里叶变换对偶关系,在时域对多普勒中心频率进行估计,常用的时域估计法有基于自适应滤波的时域估计法[48]和时域自相关法[49]。相比于频域估计法,时域估计具有算法简单、实现容易、计算量小等优势,适于实时处理。多普勒中心频率估计算法的选择除了考虑算法本身的优缺点以外,还要结合SAR成像算法及成像系统的设计需求,综合考虑实时性和成像精度的要求,本文选择时域自相关法进行多普勒中心频率的估计。(2)时域自相关算法原理时域自相关算法利用信号的自相关函数和功率谱之间的傅里叶变换关系来实现多普勒中心频率的估计。该方法在计算量和实时性方面有着较大的优势,下面对其原理及性能进行分析。设信号un()为随机过程,它的功率谱和中心频率分别为Sfh()和fdc,则Sf()Sf(f)(3.1)h0dc其中,Sf()为没有多普勒中心频移时回波方向的功率谱。Sf()的傅里叶逆变00换即为回波信号的自相关函数Rk():01/2T12jkTfRk0()F{()}Sf0TSfe0()df(3.2)1/2T由于Sf()为实偶函数,故Rk()为实序列。00设un()相隔k点的样本之间的相关函数为:39 北京理工大学博士学位论文*Rk()Euknun{()()}(3.3)h同样,它为Sf()的傅里叶逆变换,故有:hRk()ej2kTfdcRk()(3.4)h0上式中,T为信号的采样周期且T1/PRF,k为整数。由于Rk()为实序列,故0求Rk()的辐角即可估计出多普勒中心频率,即:h1farg(Rk())(3.5)dch2kT相比随机过程的相关函数,随机序列的相关函数更容易计算,如下式:^1N*Rkh()uknun()()(3.6)Ni1多普勒中心频率的估计值可以表示为:^^1farg(Rk())(3.7)dch2kT但这样会造成估计结果的偏差,偏差范围为:1f(3.8)kT为了尽量减小偏差范围,k通常取1。为了避免多普勒历程不完整的目标对回波的影响,需要使用经方位向处理后的数据进行多普勒中心频率估计。经方位向压缩后的数据频谱可以表示为:Sf()Sf(f)(Sff)(3.9)edccdp上式中Sf()表示距离压缩后受多普勒调制效应调制的信号的频谱,Sf()表示方ec位压缩滤波器的频率特性。f为方位压缩匹配滤波器的频率中心。则Sf()对应的自dp相关函数为:1/2Tj2kTfRk()TSf(f)(Sff)edfedccdp1/2T(3.10)1/2Tej2kTfdcSfSf()(fe)j2kTfdfec1/2Tfff(3.11)dpdc由上式可以看出,经过方位压缩后的数据的相关函数的辐角中包含多普勒中心频率。因此,多普勒中心频率值可通过方位压缩后的数据的相关函数来进行估计。为了减小估计误差需要将整数k取1。40 北京理工大学博士学位论文由于Sf()f,Sf()f是对称的,当f的值为0时,Rk()为实数,利用相edccdp关函数法估计出的多普勒中心频率为f;当f不为0时,估计出的多普勒中心频率dc近似为f的线性函数。可通过下列两种方法对多普勒中心频率进行估计:'11)求出fdc(2kT)arg{()}Rk与fdp的关系式,这样多普勒中心频率值可由'fff求出。dpdpdc2)利用相关函数的辐角和f的线性关系,即:'1farg{()}Rkff(3.12)dcdc2kT因此:'ffdcdpf(3.13)dc1同样取k1,可通过试验或理论计算求出比例系数的值。这样便可以通过方位处理后的数据的相关函数来计算出多普勒中心频率的估计值。由上述计算过程可知,通过时域自相关算法进行多普勒中心频率估计算法简单、结构清晰,便于实现流水运算,适合于FPGA硬件实现。虽然相比于频域估计法,时域自相关法更适于实时处理,但时域自相关法中的反正切运算依然较为复杂。反正切运算属于超越运算,无法用有限次的加、减、乘、除来表示,通常用CORDIC算法进行有限次逼近,本文将在第四章对包含反正切在内的超越运算的FPGA实现进行研究。(3)算法流程为了保证多普勒中心频率估计的结果精度和实时性,本文对时域自相关法做如下改进:一是减少运算量。由于星载SAR幅宽较大,距离向采样点数能够达到几十k甚至上百k,如果对所有方位向上的多普勒中心频率值进行估计,利用这些值进行距离徙动校正和CS因子补偿,计算量将会很大,如果运算能力不足则会影响成像的实时性。因此,为了减少运算量,本文对传统的时域自相关算法进行改进,在算法实现时,利用聚焦深度的思想对数据进行距离向分块处理,即相邻M条方位向数据视为一个处理深度,在同一处理深度内,每条方位向数据的多普勒中心频率估计值f求平均dc得到f。dc1Mfdcfdc()i(3.14)Mi141 北京理工大学博士学位论文同一处理深度内的M条方位向数据采用相同的多普勒中心频率值f,在进行dcCS因子计算和补偿时就可以不必每一条数据都更新一次因子,这样可以大大减少运算量,为下一节提出的补偿因子区域不变法提供了支撑。二是保证算法的计算精度。理论分析表明这样估计出的多普勒中心频率方差较大,是一个非平稳随机信号,即有一部分的f值是偏离真值较远的奇异值,需要进dc行奇异值剔除。由于SAR回波数据的多普勒中心频率是随斜距变化的,可以近似为一次曲线,因此可以通过f值和斜距拟合多项式系数,从而获得可靠的估计参数。dc奇异值剔除有两种方法,一是理论计算寻找奇异值,二是从数据集本身出发寻找奇异值。理论计算的方式就是借助星历参数解算出多普勒调频斜率的参考值,来筛选可信数据。基于数据集本身的方法,就是根据数据集的统计特性,将偏离均值较大的点去除。本文采用基于数据集本身寻找并剔除奇异值。需要剔除的奇异值包括最大值、最小值、偏离均值较大的值和偏离拟合值较大的值,其中剔除偏离拟合值较大的值模块循环三次,三次是通过Matlab仿真得到的经验值,是计算精度和复杂度的折中。由此,本文得出在FPGA内使用改进后的时域自相关算法进行多普勒中心频率估计的实现流程,如图3.1所示。原始数据基自相关本的时域自求系数PRF/2π相CORDIC算法求辐角关处理相乘得fdc_base分块求均值奇异值剔除优化部曲线拟合分输出图3.1改进后的时域自相关算法实现流程42 北京理工大学博士学位论文多普勒调频斜率估计算法(1)算法选择在SAR的方位向压缩处理中,多普勒调频斜率是一个重要参数,它决定了SAR图像的聚焦效果。由于回波信号中的二次相位误差是图像散焦的主要原因,SAR成像处理需要对多普勒调频斜率进行准确估计才能有效地对二次相位误差进行补偿,避免图像散焦。早期的多普勒调频斜率的计算是基于SAR载荷平台仪表测量的运动数据。该方法最大的优点在于运动传感器输出的数据率较高,适合于实时处理。但是由于运动传感器灵敏度及测量精度有限,导致这种多普勒调频斜率计算方法很难满足SAR成像处理的需求。更为精确的方法是直接从SAR回波信号中提取相位信息对多普勒调频斜率进行估计,即自聚焦算法。根据数据的处理方式不同,自聚焦算法又分为基于距离压缩数据的自聚焦[60]-[62]、基于复图像的自聚焦[63]以及采用图像准则的自聚焦算法等[64]-[67]。基于距离压缩数据的自聚焦算法。包括子视图相关算法(MapDrift,MD)、相位差分法(PhaseDifference,PD)和频移相关算法(Shift_And_Correlate,SAC)等。MD算法和PD算法都是经两个非重叠子孔径的分割的方法来对二次相位误差系数进行估计,两者聚焦效果相当但MD算法的计算量较大并且要求成像场景有明显的散射特性。SAC算法是把回波数据的方位向功率谱分成对等的高低两段,先对两段谱对应的信号进行频移再做相关运算,然后通过相关峰的位置来确定多普勒调频斜率[60]-[62]。SAC算法的精度与传统的MD算法相当且相对MD算法计算复杂度非常低。基于复图像的自聚焦算法。相位梯度自聚焦(PhaseGradientAutofocus,PGA)算法是一种常用的基于复图像的自聚焦算法。PGA算法通过迭代的方法来逐渐改进图像聚焦,可以适用于任意阶误差估计[63],但是计算量很大。采用图像准则的自聚焦算法。这类方法的本质是以某一图像评价函数准则优化补偿相位的待估计参数。可采用的图像准则有很多,如能量对比度最大准则、幅度最大准则、以及最小香农熵准则等[64]-[67]。这种算法适用于任何场景的多普勒调频斜率估计并且可以去除各阶相位误差,但算法实现困难且计算量很大。对比以上几类常用自聚焦算法,SAC算法的复杂度相对较低,且精度与常用的MD算法相当,是一种适合于硬件实现的多普勒调频斜率估计算法,因此本文选用SAC算法在SAR成像实现中对回波数据的多普勒调频斜率进行估计。43 北京理工大学博士学位论文(2)SAC算法原理SAC算法是J.Dall在1991年提出的[55],它的基本运算是频移和互相关。SAR的点目标回波的多普勒历程是线性调频信号,对回波信号进行带通滤波形成两次观察,一次观察相对于另一次观察作频率位移,并对两次观察的信号做互相关运算产生脉冲压缩。多普勒调频斜率的值可以从脉冲压缩后的数据产生尖峰的位置和所提供的频率位移获得。在距离多普勒域上将回波信号的频谱分为高低两段,这两段频谱进行互相关运算,则相位只余一次项。由于具有线性相频特性的带限信号的时域为sinc函数形式,因此,我们可根据sinc函数的最大值位置进行多普勒调频斜率估计[60]。根据驻定相位原理,信号在方位频域的表达式为:2fBBGfexp(j)dd其中,f(3.15)f22dr其中,f为方位向频率,B为多普勒带宽,f为多普勒调频斜率。ddrB在方位频域将Gf()分成两段对称的频谱Gf()和Gf(),每段带宽为dhlBm,2则:Bm2()fBm2(3.16)Gf()Gf()exp(j)h2fdrBm2()fBm2(3.17)Gf()Gf()exp(j)l2fdr将Gf()与Gf()共轭相乘,得出:hlBmG()fGf()conjGf(())exp(j2)(3.18)mlhfdr对Gf()做逆傅里叶变换,得:mBmSt()IFFTG(())sin(fct)(3.19)mmfdrBm由于sinc函数的最大值位置在t处,因此得出多普勒调频斜率的估计值:mfdr44 北京理工大学博士学位论文Bmf(3.20)drtmSAC算法的优点是计算量较小,即不需要完整的方位向处理,也不需要迭代运算就可以计算出多普勒调频斜率的估计值,实际运算为复乘、累加和FFT。(3)算法流程虽然SAC算法不需要迭代,运算量比传统自聚焦算法少,但相对于FFT等较规律的运算来说,计算的复杂性还是较高。因此,为了保证在单片FPGA上实现整个CS算法的所有处理流程,需要对SAC算法进行改进,减少逻辑资源的占用。对SAC算法的改进主要有两个方面:一是减少运算量。基本的SAC算法需要估算每个距离单元上的f值。但由聚焦dr深度的概念可知,匹配滤波器的参数不需要每个距离单元都作改变,而是在聚焦深度内使用同一个f。聚焦深度内多普勒调频斜率f的求解方法是将聚焦深度内每个距drdr离单元计算出的S的最大值进行比较,并求出其中的最大值,将这个最大值所对应的m该方位向的f值选做该聚焦深度内的多普勒调频斜率。dr由于多普勒中心频率和多普勒调频斜率是计算CS补偿因子的重要参数,通过这样的方式在进行CS因子计算和补偿时就可以不必针对每一条数据都更新f和fdcdr值,这样可以大大减少运算量,以提高运算速度,为下一节提出的补偿因子区域不变法提供支撑。二是保证算法的计算精度。由于SAC算法估计出的结果是一个服从Gamma分布的非平稳随机信号,有较大的方差,估计出的多普勒调频斜率初值会有偏离真值较远的奇异值,这将严重影响SAR图像的聚焦。由于SAR回波信号的多普勒调频斜率随斜距的变化曲线可以近似为一次或二次曲线,因此可以根据多普勒调频率的初值进行多项式系数拟合,从而获得可靠的多普勒调频率估计值。首先需要将偏离真值较远的奇异值剔除,奇异值的剔除采用和多普勒中心频率估计同样的方式,然后剩余的多普勒调频斜率值与斜距做曲线拟合,从而得到可靠的多普勒调频斜率。改进后的多普勒调频斜率估计算法流程如图3.2所示,整个过程分成两个阶段:首先根据SAC算法计算出各个距离单元上的多普勒调频斜率值;然后通过比较得出各个聚焦深度内的多普勒调频斜率,筛选出可信的估计结果建立数据集,并进行拟合得出最终的结果。45 北京理工大学博士学位论文方位向数据根据fdc计算方位频带中心位置以方位频带中心划分成上子频带Tmp1和下子频带Tmp2基本子频带共轭相乘的SAC算IFFT法检测最大值位置,并记录最大值Smax根据Smax的位置计算多普勒调频率估计值fdr每个聚焦深度内,寻找出Smax最大值对应的fdr和斜距r优奇异值剔除化部分曲线拟合输出图3.2改进后的频移相关法实现流程图3.3补偿因子区域不变的CS算法在CS算法成像处理过程中,有3种补偿因子的计算,且每种补偿因子的计算结果都需要在距离-多普勒域与所有方位向数据进行复乘或在二维频域与所有距离向数据进行复乘,以完成SAR成像算法中的因子补偿运算。然而CS成像算法中补偿因子的计算复杂,包括多种超越运算,需要较长的运算时间和很大的存储空间。如果对于每条距离向或方位向数据都更新一次补偿因子[80][81],补偿因子的计算速度无法跟上距离向或方位向数据读取的速度,也就无法实现因子补偿的流水运算,这会极大的增加算法的处理时间,严重影响SAR成像处理的实时性。本文针对这种问题,提出了一种补偿因子区域不变的CS算法[79],即选定一个更新步长,每个步长内只计算一次补偿因子,用于相邻几个距离向或方位向数据的因子46 北京理工大学博士学位论文补偿计算。如果由此带来的成像质量的损失在可接受的范围内,那么补偿因子的计算量将会成倍降低,从而可以有效减少补偿因子的计算时间,提高SAR成像处理的实时性。对于补偿因子计算中超越运算的实现,将在第四章进行研究实现。算法流程多普勒中心频率和多普勒调频斜率是计算补偿因子的重要参数,为了保证补偿因子区域不变的CS算法的实现,3.2节中多普勒中心频率估计和多普勒调频斜率估计都采用了聚焦深度的思想,在一定距离单元内的f和f值保持不变。dcdr与传统的CS算法一样,补偿因子区域不变的CS算法也需要3种补偿因子,对于ChirpScaling因子和方位向补偿因子改进的算法是保持因子在n个距离单元内不变,而距离向补偿因子则是保持在n个方位单元内不变,其中n表示补偿因子的更新步长。利用补偿因子区域不变的CS算法成像时,每个更新步长内的n条距离向或方位向数据计算一次补偿因子,超过更新步长就重新计算补偿因子。这样只要在n倍的距离向或方位向数据读取时间内完成补偿因子的计算能够保证因子补偿运算的流水实现。补偿因子区域不变的CS算法流程如图3.3所示。原始数据方位向FFT更新步No超过更长模块新步长?Yes更新补偿因子距离向FFT距离向补偿因子更新步长模块距离向IFFT方位向补偿因子更新步长模块方位向IFFTSAR图像图3.3补偿因子区域不变的CS算法流程图更新步长的确定补偿因子区域不变的CS算法的关键在于更新步长的确定。补偿因子区域不变会47 北京理工大学博士学位论文造成相位误差,故更新步长的确定取决于补偿因子相位误差的大小,所以需要分析不同的更新步长时3个补偿因子的相位误差。(1)ChirpScaling因子ChirpScaling补偿因子的表达式为[82]:2(,;fr)exp{jKfr(;)Cf()[()]}f(3.21)1refsrefsref上式中的f为方位向频率,为距离向时间,rref为参考距离,ref()f为信号在参考距离处的相位中心,即:2()fr(1Cf())(3.22)refrefsc上式中的K和C分别为等效的距离向调频常数和弯曲因子,表示如下:ssKKfr(;)sreff2()22V(3.23)1Krrefc2f23/2[1()]2V1Cf()1sf2(3.24)1()2()VrV(r)代表不同距离处对应的运行速度,则第n个距离单元内的ChirpScaling补偿因子的相位1可以表示为:2R022()nKC[(n1)/fr(1C)](3.25)1sssrefscc上式中的R0为最近斜距,fs为采样频率,n代表距离单元的序号。在补偿因子区域不变的CS算法中,在相邻的几个距离单元内补偿因子不发生变化,假设更新步长为n,则相位误差为:()n(nn)1112R2KCss{[0(n1)/fsrref(1Cs)]2cc2R022(3.26)[(nn1)/fssrref(1C)]}cc4R4RKCnfs/[0(2nn2)/fref(1C)]ssccss从上式可以看出,相位误差随更新步长的变化如图3.4所示。当更新步长不超过16时,ChirpScaling因子的相位误差不超过3×10-9。48 北京理工大学博士学位论文图3.4ChirpScaling因子相位误差随更新步长的变化(2)距离向补偿因子距离补偿因子表达式为:2f42(,;ffrref)exp{j}exp{jfrCfrefs()}(3.27)Kfr(;)[1Cf()]csrefs第n个方位向单元内的距离补偿因子的相位可以表示为:224f2()nfrCnrefs()(3.28)cKnr(;)[1Cn()]srefs上式中,f为距离向频率,Cs和Ks随着方位向频率变化,n为方位向单元的序号。在补偿因子区域不变的CS算法中,相邻的几个方位向单元内补偿因子不发生变化,设更新步长为n,则相位误差为:()n(nn)22224f[frCn()]refscKnss()[1Cn()](3.29)24f[frCn(n)]refscKn(n)[1Cn(n)]ss把其他的参数固定,可以分析更新步长对相位误差的影响,得到相位误差随着更新步长的变化如图3.5所示。当更新步长不超过16时,距离向补偿因子的相位误差不超过3.5×10-5。49 北京理工大学博士学位论文图3.5距离向补偿因子相位误差随更新补偿的变化(3)方位向补偿因子方位向补偿因子的表达式为:2f21/23(,;frref)exp{jc{1[1()]}j(;)}fr(3.30)2(Vrc/2)其中,42(;)frKfr(;)[1CfCfrr()]()()(3.31)2srefssrefc则方位向补偿因子的相位可以表示为:342()nKfr(;)[1CfCfrr()]()()32srefssrefc(3.32)2f21/2c{1[1()]}2(Vrc/2)式中Ks和Cs随着方位向频率变化,与距离向变化无关。平台速度V和方位向频率f是每个距离向聚焦深度内更新一次,但是在进行因子抽取的时候不会跨越聚焦深度(一般聚焦深度为几百,但是更新步长一般不会超过20),所以可以认为V和f的值不受更新步长的影响。而和r是随着距离单元变化的,即:2R1min(n1)(3.33)cfsccrR(n1)(3.34)min22fs42f21/2设p122Ks(1CCps)s,c{1[1()]},则:cV22Phase3p(rr)p(3.35)12ref设定更新步长为n,则相位误差可以表示为:50 北京理工大学博士学位论文cc22pR[((n1)r)(R(nn1)r)]31min22ffrefminrefss11p2[ff(n1)(nn1)](3.36)sscc1pnR[2(2nn2)2r]pn1222fminfreffsss把其他的参数固定,可以分析更新步长n对相位误差的影响,得到相位误差随着更新步长的变化如图3.6所示。当更新步长不超过16时,方位向补偿因子的相位误差不超过4×10-7。图3.6方位向补偿因子的误差随更新步长的变化通过前面3个补偿因子相位误差随更新步长的变化可以看出,当更新步长小于16时,3个补偿因子的相位误差均小于6×10-5,误差很小,一般可以满足系统要求。更新步长可选定为n[1,16]。仿真验证本文采用Matlab对这种补偿因子区域不变的CS算法进行仿真验证。在硬件实现时,只要保证更新步长为能够满足实时性要求即可。由于SAR成像的实时性同时受转置存储器的数据访问带宽的限制,所以在满足实时性要求的情况下继续增大更新步长也不会提高成像的速度。根据实际系统需求,本文只考虑更新步长小于16的情况。(1)点阵目标成像首先利用补偿因子区域不变的CS算法对16K×16K大小的点阵数据进行成像,其中距离向和方位向均没有经过加窗处理,得到的成像结果如图3.7(a)所示。选取其中一个点目标进行分析,其评估结果如图3.7(b)所示。采用不同的更新步长对点目标进行成像,其成像结果性能如表3.1所示。51 北京理工大学博士学位论文(a)成像结果(b)评估结果图3.7点阵目标不加窗成像结果表3.1不同更新步长时点目标成像结果性能表方向距离向方位向更新步长峰值旁瓣比积分旁瓣比峰值旁瓣比积分旁瓣比1-13.27437-10.07202-13.23406-10.262332-13.27569-10.08757-13.23941-10.563904-13.23738-10.25196-13.20073-10.909988-13.24194-10.10070-13.24154-10.6423016-13.25416-10.08136-13.22701-10.49324从表3.1可以看出,当更新步长不超过16时,利用补偿因子区域不变的CS算法对点阵目标成像的结果性能变化很小。(2)实测目标成像对一组16K×16K大小的海岸线数据进行成像,利用补偿因子区域不变的CS算法,不同更新步长时得到的图像如图3.8所示。(a)更新步长=2(b)更新步长=4(c)更新步长=8(d)更新步长=16图3.8不同更新步长时SAR图像52 北京理工大学博士学位论文为了对这种补偿因子区域不变的CS算法的性能进行分析,分别对不同更新步长时的SAR图像的质量进行了评估。不同更新步长时成像结果与传统CS算法得到图像的对比情况如表3.2所示。表3.2不同更新步长时成像与原图的对比情况图像指标原图像更新步长=2更新步长=4更新步长=8更新步长=16标准差7.71597.71587.715807.716607.71840信息熵4.53914.53914.539104.539204.53960相关系数110.999990.835070.74745表3.2中,标准差是衡量图像信息丰富程度的一个重要指标,可以用来评价图像反差的大小[83],其计算公式为:1/2n12()xxi(3.37)n1i1上式中,x表示图像像素的均值,x表示图像的像素值。i信息熵的大小表示图像所包含的平均信息量的多少[83],可以定义为:L-1H-piilgp(3.38)0上式中的H代表图像的信息熵,L表示图像总的灰度级数,pi表示灰度值为i的像素数Ni与图像总像素数N值比,即pi=Ni/N。相关系数的大小可以反映不同更新步长时得到的成像结果与原图像的相似程度,定义如下:n1xy(xixy)(iy)/x/y(3.39)n1i1上式中的xi和yi分别代表两幅图像的像素值,x和y分别代表两幅图像像素的均值,αx和αy分别代表两幅图像的标准差。对于SAR成像系统,在满足实时性要求和硬件资源约束的前提下,需要尽可能选择最小的更新步长以提高成像的精度。3.4SAR成像高效转置存储设计矩阵转置(MatrixTranspose)在星载SAR成像处理中是必不可少的,由于SAR成像算法需要多次交替进行距离向处理和方位向处理,两种方向的处理之间需要对存53 北京理工大学博士学位论文储器内缓存的数据矩阵进行转置,因此这里的存储器又叫转置存储器(CornerTurningMemory,CTM)。如果转置处理不好,存储器数据访问带宽会成为整个成像处理的最大瓶颈,因此有必要研究大规模数据的高效矩阵转置方法。从理论角度来讲,矩阵转置就是矩阵中各个元素行、列地址的互换。当数据量不大时,数据可以存储在高速内存中,此时只需要简单的改变索引地址,而不必在实际物理内存中将数据进行重新排列。但是对于SAR实时成像处理而言,大规模的数据矩阵必须存储在外部存储器中,如果存储前不改变数据的存储方式,而仍采用频繁的地址跳变(特别是行地址跳变)对外部存储器进行访问,这样会极大降低转置存储器的数据访问效率。不同的SAR成像算法中矩阵转置的次数是不同的,RD算法在成像处理过程中至少需要一次矩阵转置,CS算法至少需要三次矩阵转置[94],每一次矩阵转置都需要遍历访问CTM内的数据。针对SAR成像处理,MorioOnoe提出了无数据转置的快速处理方法[95]。随着SAR成像技术的发展,SAR成像分辨率越来越高,SAR成像所处理的数据量和运算量也随之增大,这种情况下无数据转置的处理方法已经很难适应。现有的矩阵转置方法有行进列出法、列进行出法、两页式[96][97]、三页式[98][99]矩阵转置法、矩阵分块线性映射法[100]以及实时矩阵转置方法[101]等。行进列出法、列进行出法会造成距离向和方位向上的数据访问效率极为不均衡。两页式、三页式矩阵转置方法实际上是列进行出法和行进列出法的综合应用,适合于需要单次转置的SAR成像算法(如RD算法)的流水实现,而对于需要多次矩阵转置的SAR成像算法(如CS算法)则需要多个CTM来完成SAR成像处理中的多次矩阵转置,难以实现单板单节点的SAR成像,不利于降低成本和系统集成。矩阵分块线性映射法和实时矩阵转置方法两者相近,给出了距离向和方位向效率均衡的矩阵转置方法,但是没有充分利用CTM的数据访问特性以发挥更高的数据访问效率。针对以上问题,本文提出了矩阵分块三维映射法和矩阵分块交叉映射法。矩阵分块三维映射法是一种可以在同一CTM内完成多次矩阵转置的原位存储方法,该方法结合矩阵分块的思想,将CTM视为三维的存储空间,并有效利用CTM的数据访问特性,同时实现了距离向和方位向数据的二维高效访问,使矩阵转置不再成为影响SAR成像实时性的瓶颈。矩阵分块交叉映射法是针对矩阵分块三维映射法在实际应用时有可能遇到的内存空间有限及其造成的二维数据访问效率不均衡的问题进行的优化和改进。54 北京理工大学博士学位论文CTM数据访问效率分析SAR成像处理数据量和运算量巨大,例如,条带模式下对50Km×50Km的场景进行5m分辨率成像,需要处理的数据量高达2GB。要达到实时高精度成像,需要高速海量存储作为CTM。目前,能够达到此要求的存储芯片有DDRSDRAM、DDR2SDRAM和DDR3SDRAM等几种存储芯片。这几种存储芯片的存储原理和数据访问特性类似,存储空间都划分为数个bank,数据访问都为突发式访问方式(Burst)。本节以DDR3为例,利用其结构和数据访问特性讲述矩阵分块三维映射法。DDR3的存储空间根据具体型号的不同,划分为8或16个bank,每个bank有8K、16K或32K行(Row),每行有1K或2K个存储单元,也称作列(Column),每个存储单元可以存储8bit或16bit数据[102]。DDR3的访问效率受多个时间参数约束[103],读数据和写数据的时序有所不同,因此读效率和写效率也略有差别。本文仅对影响DDR3访问效率的两个主要因素刷新和跨行访问进行分析。DDR3工作时,平均每隔tREFI时间都需要占用tRFC的时间对内部存储单元进行刷新(Refresh),以保证DDR3内的数据不会丢失,刷新期间无法对DDR3内的数据进行访问。其中,tREFI为刷新时间间隔,典型值为7800ns;tRFC为刷新时间,典型值为110ns。另外,对DDR3内某bank中一行的数据访问,需要先对该行进行激活操作(Active),tRCD时间后才能对该行进行数据访问;对当前活动行的数据访问完成后,需要时间tRP对该行进行预充电操作(Precharge)以关闭当前活动行。其中,tRCD为激活操作与内部数据访问之间需的时间间隔,最小值为13ns;tRP为预充电操作的执行时间,最小值为13ns。因此,DDR3的数据访问效率η是数据访问的有效时间tDATA占访问该数据所耗费的所有时间的比值,即:tttDATAREFIRFC100%(3.40)ttttDATARPRCDREFI对DDR3进行连续顺序访问时,在用户时钟频率为200Mhz的情况下,每连续访问一行1024点数据,数据访问有效时间为256个时钟周期,即tDATA=1280ns,理论效率最高可达η1=96.6%。而对DDR3进行频繁跨行访问时,特别是当每行只进行一次读操作时,每行访问8点数据,数据访问有效时间为2个时钟周期,即tDATA=10ns,此时的访问效率降低为η2=27.4%。由此可见,对于DDR3连续地址空间的数据访问即逐行顺序访问时,数据访问效率很高,但是对于频繁跨行访问的情况下,数据访问效率则降低数倍。55 北京理工大学博士学位论文带有bank划分的存储介质还存在一种数据访问特性,在满足一定时序条件下,在对当前bank中某一行进行数据访问的同时可以对另一bank中的某一行执行激活或者预充电操作[102]。当对某一bank中的一行进行数据访问时便激活需要访问的处于不同bank的一行,该行访问完毕后,对该行执行预充电操作的同时便可以对另一bank中已经激活的行进行数据访问。此种每访问一行都要跨bank的数据访问方式能够屏蔽掉激活和预充电操作带来的效率损失。因此,该数据访问方式比在同一bank内连续跨行的数据访问方式效率高[102],能够使对DDR3的数据访问最高效率达到:ttREFIRFC100%98.6%(3.41)maxtREFI本文将这种每次换行都要跨bank的数据访问方式称为跨bank优先数据访问方式,当数据访问需要频繁跨行时,跨bank优先数据访问方式的效率优势会非常明显。矩阵分块三维映射法矩阵分块三维映射法结合了矩阵分块和跨bank优先数据访问方式的优势。首先,将SAR成像要处理的二维数据矩阵分成大小相等的子矩阵,每个子矩阵的数据正好能够映射至CTM中的一行。然后,将每个子矩阵按照跨bank优先数据访问方式映射至CTM的每一行。这样便实现了将SAR成像所处理的二维数据矩阵内的数据由其逻辑地址至物理地址的映射。其中,逻辑地址为该点数据在二维数据矩阵内的行列位置,物理地址为该数据点在CTM三维存储空间内的存储地址。矩阵分块设SAR成像所处理的二维数据矩阵为A(x,y),0≤x≤NA-1,0≤y≤NR-1。其中,NR为距离向采样点数,NA为方位向采样点数。SAR成像处理过程中需要进行FFT运算,因此NR和NA一般为2的整数次幂。DDR3为一个三维存储空间,记为B(i,j,k)。其中,i为行地址,j为列地址,k为bank地址。Cn为DDR3的列数,Bn为bank数,而行数可以根据二维数据矩阵A(x,y)的大小通过外加存储器的方法进行扩展。则,0≤i≤NANR/(CnBn)-1,0≤j≤Cn-1,0≤k≤Bn-1。为了均衡DDR3内距离向和方位向的数据访问效率,需要把矩阵A(x,y)划分为多个子矩阵,然后将子矩阵映射至DDR3的一行。这样在DDR3的一行中既有在同一距离向上的相邻数据,又有在同一方位向上的相邻数据。56 北京理工大学博士学位论文划分后的子矩阵大小为NaNr。其中,Na为子矩阵的方位向点数,Nr为子矩阵的距离向点数,且NaNr=Cn。完整访问完该行的数据需要跨行的次数RCN(RowCrossingNumber)为:CnRCN=N+N=N+ara(3.42)Na当Cn=1K时,RCN的值与Na的关系曲线如图3.9所示。12001000800600RCN400200012481632641282565121024Na图3.9RCN与Na关系曲线由图3.9可以看出,当Na=Nr=32时,RCN取最小值64,这样距离向和方位向的数据访问效率最为均衡。当Cn=2K时,则Na=32、Nr=64或者Na=64、Nr=32,RCN取最小值96。如公式(3.43)所示,将原始数据矩阵A(x,y)分成M×N个大小相等的子矩阵,每个子矩阵用Am,n表示。其中,0≤m≤M-1,0≤n≤N-1。M为方位向上子块的个数,M=N[103]A/Na;N为距离向上子块的个数,N=NR/Nr。A0,0A0,1...A0,(N1)AA...AA1,01,11,(N1)(3.43)............A(M1),0A(M1),1...A(M1),(N1)子矩阵Am,n内数据与DDR3存储空间的一行的映射关系如图3.10所示。Nr0,00,1...0,Nr-11,01,1...1,Nr-1...Na...Na-1,0Na-1,1...Na-1,Nr-1子矩阵0,0...0,Nr-11,0...1,Nr-1......Na-1,Nr-1C=0...Nr-1Nr...2Nr-1......NaNr-1DDR3一行图3.10子矩阵与DDR3一行映射关系57 北京理工大学博士学位论文跨bank优先数据访问矩阵分块后,通常的做法是将二维数据矩阵的子矩阵沿距离向从DDR3存储空间的bank0的第0行开始逐行映射,直到bank0的最后一行映射完毕后再从bank1的第0行开始逐行映射,一直到最后一个子矩阵映射完毕。这种逐行映射的方式是先将当前的bank映射完毕后再将其后的子矩阵映射至下一bank,每个子矩阵映射至DDR3存储空间后所处的bank分布如图3.11所示。距离向NR点000000000…0000000000…0…111111111…1111111111…1方位向NA点……Bn-1Bn-1Bn-1Bn-1Bn-1Bn-1Bn-1Bn-1Bn-1…Bn-1Bn-1Bn-1Bn-1Bn-1Bn-1Bn-1Bn-1Bn-1Bn-1…Bn-1每个Block里的数字代表该Block映射到存储空间后所处的Bank号图3.11逐行映射方式中子矩阵所映射bank分布图上图中的每个小方块为一个子矩阵,方块内的数字代表该子矩阵映射至DDR3存储空间后所处于的bank号。可以看出,距离向上每个相邻的子矩阵在DDR3存储空间内处于同一bank不同行,这样在对距离向数据进行访问时,每次访问32点数据都要跨行一次,占用激活时间tRCD和预充电时间tRP。用户时钟频率为200Mhz的情况下单纯的数据访问时间tDATA=40ns,此时的数据最高访问效率为η3=59.7%。同样,方位向数据访问的最高效率也近似等于η3。因此,简单的依靠矩阵分块仅能使距离向和方位向的数据访问效率有所均衡,不能避免由于频繁的跨行带来的访问效率损失。本文提出的的矩阵分块三维映射法采用跨bank优先数据访问方式来解决上述问题,通过使距离向和方位向数据的跨行访问都以跨bank优先的方式进行,能够有效的避免由于频繁的跨行访问所导致的效率降低[103]。为了保证对DDR3内距离向数据和方位向数据的访问都以跨bank优先的方式进行,同时需要使沿距离向分布的相邻子矩阵和沿方位向分布的相邻子矩阵映射至58 北京理工大学博士学位论文DDR3存储空间的不同bank内,形成如图3.12所示的子矩阵bank分布。距离向NR点012…Bn-10……Bn-2Bn-1123...01……Bn-10234...12……01…Bn-101…Bn-2Bn-1……Bn-3Bn-2方位向012…Bn-10……Bn-2Bn-1NA点……Bn-101…Bn-2Bn-1……Bn-3Bn-2图3.12矩阵分块三维映射法子矩阵所映射bank分布图为了达到上述效果,本文的矩阵分块三维映射法做了如下设计:1)将第0行距离向上N个子矩阵A0,0~A0,N-1以跨bank优先的方式逐一映射至bank0~bankBn-1的第0行,然后是bank0~bankBn-1的第1行,按照此方式依次映射,直至子矩阵A0,N-1映射至bankBn-1的第N/Bn-1行。2)对于第1行距离向子矩阵A1,0~A1,N-1,则从bank1的第N/Bn行开始映射,映射至bankBn-1的第N/Bn行后再返回bank0的第N/Bn行,然后是bank1的第N/Bn+1行,如此继续下去直至A1,N-1映射至bank0的第2N/Bn-1行。这样,映射起始于bank1,结束于bank0。按照如上规律,对于第m行子矩阵Am,0~Am,N-1(0≤m≤M-1),映射起始于bankp的第mN/Bn行,结束于bankq的第(m+1)N/Bn-1行。其中p=mod(m,Bn),0≤p≤Bn-1,q=mod(m+Bn-1,Bn),0≤q≤Bn-1(mod(x,y)为对x/y取余)。如此映射下去将会得到如图3.12所示的子矩阵所映射bank分布图。图3.13为当Bn=8时,每个子矩阵在DDR3三维存储空间内的位置分布。按照矩阵分块三维映射法将二维数据矩阵映射至DDR3三维存储空间后,无论是在距离向还是在方位向上,二维数据矩阵中每个相邻的子矩阵都分布在DDR3不同的bank中。这样,在对DDR3进行距离向或方位向数据访问时,都可以充分利用跨bank优先数据访问方式的优势,从而使距离向和方位向数据访问的效率同时达到最优。59 北京理工大学博士学位论文A0,7k7A0,6naA0,5B~A00,4k距离向NR点anA0,3BA0,2A0,0A0,1…A0,N-1A0,1i=0A0,0i=1A0,8A1,0A1,1……方位向A0,N-8…i=N/8A1,7NA点A1,15………A1,N-132点AM-1,0AM-1,N-1……i=(M-1)×N/8AM-1,132点AM-1,9……i=M×N/8-1AM-1,N-7二维数据矩阵DDR3三维存储空间图3.13矩阵分块三维映射法映射图地址映射规律利用矩阵分块三维映射法实现SAR成像矩阵转置存储时,处理器芯片所执行的程序需要依照该矩阵转置存储方法的地址映射规律将二维数据矩阵内数据的逻辑地址映射至DDR3存储空间的物理地址。对存储在DDR3内的二维数据矩阵进行距离向或方位向数据的读写则按照该地址映射规律执行。二维数据矩阵A(x,y)内任意一点的数据的逻辑地址为(x,y),其中,0≤x≤NA-1,0≤y≤NR-1,则:xmNa其中,0mM1,a01aN,MNNaaA(3.44)ynNrb其中,0nN1,01bN,NNNrrRDDR3存储空间B(i,j,k)内的存储单元对应的物理地址为(i,j,k)。本文在矩阵分块三维映射法中,实现了SAR成像处理过程中的数据由其逻辑地址(x,y)至物理地址(i,j,k)的映射。按照矩阵分块三维映射法,(x,y)与(i,j,k)之间有如下映射关系:ifloormN((n)/B)其中,0iMNB/1nnjaNrb其中,0jNNar1(3.45)kmodmnB(),其中,0kB1nn注:floorx为对x向下取整,modxy,/为对xy取余60 北京理工大学博士学位论文此映射关系将对二维数据矩阵中逻辑地址(x,y)的数据访问转化成了对DDR3三维存储空间中物理地址(i,j,k)的访问。SAR成像矩阵转置的数据访问的物理地址跳变规律较为复杂,而逻辑地址跳变特别简单,只需要在当前逻辑地址的基础上加固定的行偏置或列偏置。进行程序设计时,根据此映射关系设计一个地址变换器,物理地址则由逻辑地址通过地址变换得到,能够有效简化物理地址生成程序的复杂度。矩阵分块交叉映射法上一节提出的矩阵分块三维映射法结合矩阵分块的思想,充分利用了DDR3的数据访问特性,将二维数据矩阵划分为多个子矩阵并按地址映射规律映射至DDR3存储器的每一行中。按照该方法,二维数据矩阵的距离向和方位向的数据都能够以跨bank优先数据访问方式被访问,因此能够有效提高SAR成像处理过程中的存储器数据访问效率。这种方法地址映射简单,但是为了保证数据访问效率,需要占用较大的芯片内部存储空间。本节针对该问题进行了分析,对矩阵分块三维映射法的子矩阵映射方式进行了改进,提出了矩阵分块交叉映射法。该方法能够有效减少芯片内部存储空间占用,并且使距离向和方位向数据访问效率更加均衡。矩阵分块三维映射法的局限性如图3.10所示,矩阵分块三维映射法将矩阵分块后的子矩阵Am,n内数据映射到了DDR3存储空间的一行中。在这种映射方式下,DDR3存储空间相邻的Nr个地址中的数据属于同一距离向数据。由于无论DDR等器件的读和写访问均为突发式(Burst),其中,DDR的突发长度(BurstLenth,BL)为BL=2,DDR2的BL=4,DDR3的BL=4或8。这些器件在进行数据读写时每次访问会将相邻的BL个存储单元内的数据进行输出或者需要向BL个连续的存储单元写入数据。这样,这连续的BL个存储单元对应的数据必然为同一距离向上的数据,也就是这BL个数据分别属于BL个相邻的方位向。以BL=4为例,在进行距离向数据读取时,每次读取的4个数据属于同一距离向,但是在进行方位向数据访问时,读完一条方位向数据的同时也读取了另外相邻的3条方位向数据。如果将其余3条方位向数据丢弃,转置存储器访问带宽将变为原来的1/4。这很可能会使方位向的数据访问带宽不能满足处理器对数据率的需求,从而影响SAR成像的实时性。如果将这4条方位向数据全部保留,则芯片内部缓存需求会变为原来61 北京理工大学博士学位论文的4倍。以方位向长度为16K点的单精度浮点数据来说,每一条方位向数据所占的内存为1Mb,4条方位向存储会占用4Mb的芯片内部存储空间,如果采用乒乓缓存的话,则会消耗8Mb的芯片内部存储空间。以Xilinx的XC6VLX240TFPGA为例,其内部RAM空间总共有14Mb,仅仅数据缓存就占据一半以上的内存空间,则很难为FFT等其他运算模块提供充足的存储空间。这种消耗内存的数据存储方式在芯片内部存储空间充足的情况下不会对SAR成像的实时性产生影响,但是当芯片内部存储空间有限的情况下,需要舍弃部分方位向数据,降低CTM的有效数据访问效率,会严重影响SAR成像处理的实时性。另外,无论突发式访问是BL=4还是BL=8,DDR2和DDR3都会在一个时钟周期下输出相邻的的4个连续存储单元的数据。处理芯片内部缓存一般采用几个独立的RAM单独存放不同的距离向或方位向数据。如图3.14所示,在进行距离向数据读取时,一个时钟周期会从CTM内读出4个属于同一距离向上的数据,而这4个连续的数据需要分4个时钟周期才能写入同一个RAM。同样,将RAM内的距离向数据写回CTM时也需要积累4个时钟周期才能写入一次CTM。这样由于RAM的瞬时写入带宽成为了瓶颈,造成数据阻塞,会造成距离向数据访问效率大大降低。如图3.15所示,对于方位向数据访问,每个时钟周期读取的4个分属于不同方位向上的数据可以在一个时钟周期内写入不同的RAM中,虽然不会造成数据阻塞,但是需要多个RAM作为缓存,浪费芯片内部存储空间。假设数据访问在200MHz时钟下,每一点数据位宽为64bit。距离向数据瞬时访问带宽为1.6GB/s,方位向数据瞬时访问带宽可达6.4GB/s。因此,这种子矩阵映射方式会造成距离向和方位向访问效率的不均衡。瞬时带宽:1.6GB/s200MHz距离向12341234RAM0CTM图3.14距离向数据读取示意图62 北京理工大学博士学位论文瞬时带宽:6.4GB/s200MHz方位向12341RAM0CTM2RAM13RAM24RAM3图3.15方位向数据读取示意图子矩阵交叉映射为了有效利用CTM的数据访问带宽,节省芯片内部存储资源,本文进而对矩阵分块三维映射法中的子矩阵的映射方式进行了改进,提出了子矩阵交叉映射方法。子矩阵交叉映射方法将子矩阵中每相邻的两条距离向数据交叉映射至DDR3的一行。如图3.16所示,红色虚线框内的4个数据映射至DDR3的一行中连续的四个存储空间,这4个数据分属于两条距离向数据,也分属于两条方位向数据。以这种方式进行外部存储器访问时,无论距离向数据读写还是方位向数据读写,都会同时读取相邻两条距离向或方位向数据。图3.17为距离向数据读取时的存储时序示意图,方位向数据读取时的存储时序和瞬时访问带宽与之相同,仅仅是将数据2和数据3相互交换位置即可。这样,SAR成像处理芯片内部缓存只需要占用原先容量的一半便可以缓存所有从DDR3读取的数据,并且距离向和方位向数据访问效率完全一致,从而不会带来额外的效率损失。Nr0,00,1...0,Nr-11,01,1...1,Nr-1......NaNa-1,0Na-1,1...Na-1,Nr-1Na-1,0Na-1,1...Na-1,Nr-1子矩阵0,01,00,11,1...0,Nr-11,Nr-1......C=0123...2Nr-1......NN-1arDDR3一行图3.16矩阵分块交叉映射法子矩阵与DDR3一行映射关系63 北京理工大学博士学位论文瞬时带宽:3.2GB/s200MHz距离向/方位向123413RAM0CTM24RAM1图3.17距离向/方位向数据读取示意图需要特殊说明的是,矩阵分块交叉映射法和矩阵分块三维映射法没有本质的区别。矩阵分块交叉映射法是针对芯片内部存储空间有限的情况下进行的数据访问效率和存储空间占用的折中,在不考虑芯片内部存储空间大小的情况下两者的数据访问效率在理论上保持一致。在工程应用时应该根据实际需求对这两种矩阵转置方法进行选择。地址映射规律由于矩阵分块交叉映射法仅仅是对矩阵分块映射法在子矩阵映射至CTM的一行时的方式上进行了修改,每个子矩阵块在CTM中所在的行和bank不会改变。因此,矩阵分块交叉映射法由逻辑地址映射至物理地址(i,j,k)的公式中,行地址i和bank地址k的表达式不会有所改动,列地址j的地址映射表达式需要按照新的映射方式进行。如下式所示:ifloormN((n)/B)其中,0iMNB/1nnjfloor(a/2)*2+2bmoda(),2其中,0jNNar1(3.46)kmodmnB(),其中,0kB1nn注:floorx为对x向下取整,modxy,/为对xy取余效率测试与结果分析本文采用Xilinx公司的ML605开发板作为测试平台,ISE14.3作为软件开发环境。通过ML605开发板上的XC6VLX240T完成对片外存储空间DDR3SODIMM的访问,并对矩阵分块三维映射法、矩阵分块交叉映射法及其它矩阵转置方法进行效率了测试。测试方法为将一个SAR成像所要处理的8192×8192点二维数据矩阵按照地址映射规律分别沿距离向(方位向)写至开发板上的片外DDR3SODIMM,然后以方位向(距离向)的方式读回数据并校验其正确性,同时,以计数器的方式计算出所访问数64 北京理工大学博士学位论文据的个数Data_count和数据访问时间Time_count。数据访问效率的公式如下:数据量实际数据访问带宽传输时间最高数据带宽IO时钟频率2数据位宽(3.47)Datacount_256bitTimecount_5nsDatacount_100%400Mhz264bitTimec_ount由上式可以看出,数据访问效率等于所访问数据的个数与传输数据所用的时间的比值。以同样的方法分别对行进列出法和矩阵分块线性映射法进行了效率测试,并与本文中的矩阵分块三维映射法和矩阵分块交叉映射法进行对比。各种矩阵转置方法效率测试结果如表3.3所示。由表3.3中的测试结果可以看出,行进列出法或者列进行出法在一个方向上的数据访问效率很高,而在另一个方向上数据访问效率很低。矩阵分块线性映射法两个方向的数据访问效率相对均衡,但是都与顺序访问的效率相差很远。矩阵分块三维映射法和矩阵分块交叉映射法相对于其他的矩阵转置方法有很大的效率优势,距离向和方位向的读写效率都能够达到90%以上,接近于顺序访问的效率。表3.3矩阵转置方法效率测试结果对比距离向距离向方位向方位向效率读效率写效率读效率写效率行进列出法[96]97.8%91.8%17.9%13.4%矩阵分块48.5%36.6%87.2%76.2%线性映射法[100]矩阵分块97.8%91.8%97.8%91.8%三维映射法矩阵分块97.8%91.8%97.8%91.8%交叉映射法由于本文仅仅对CTM距离向和方位向数据读写效率进行测试,不会对芯片内部的缓存数量和大小进行限制。因此,矩阵分块三维映射法和矩阵分块交叉映射法的数据读写效率完全相同,这与之前给出的结论保持一致。65 北京理工大学博士学位论文3.5本章小结本章内容主要分为三个部分,分别从算法复杂度、运算量、和存储器访问效率等方面进行了优化设计,解决了星载SAR成像算法在FPGA中实现时遇到的运算量大、实时性不足等问题,提高了SAR成像处理效率,保证星上SAR实时成像处理系统的顺利实现。多普勒参数估计算法研究及改进。对CS算法中难以在FPGA中实现的多普勒参数估计算法进行了研究,综合比较精度和运算复杂度选择了适合于在FPGA内实现的多普勒中心频率估计算法和多普勒调频斜率估计算法,并给出了优化后的算法流程,为补偿因子区域不变法的CS算法的提出提供支撑。提出了补偿因子区域不变的CS算法。分析了补偿因子对SAR图像分辨率的影响,进而提出了补偿因子区域不变的CS算法,在保证运算精度的前提下使补偿因子的运算量成倍减小,保证SAR成像处理过程中因子补偿运算的流水实现,提高了星载SAR成像算法的处理效率。高效转置存储方法研究。对SAR成像处理过程中影响实时性的关键因素转置存储进行了研究,提出了两种SAR成像处理矩阵转置存储方法——矩阵分块三维映射法和矩阵分块交叉映射法。这两种转置存储方法将二维SAR数据矩阵按地址映射规律映射至转置存储器的三维地址空间中,使二维SAR数据矩阵的距离向和方位向数据都能够以跨bank优先数据访问方式被访问。这两种转置存储方法能够有效提高SAR成像处理过程中的转置存储器的数据访问效率,保证星上SAR成像处理系统的实时性。66 北京理工大学博士学位论文超越运算设计优化及实现4.1引言星载SAR成像处理算法的运算量很大,无论哪种成像算法都需要各种类型的线性运算和非线性运算。其中,线性运算主要包括乘法和加法,以及可以拆解为乘法和加法的FFT运算、FIR滤波器。非线性运算主要包括除法、乘方、开方等初等代数运算,以及正余弦、反正余弦、反正切等超越运算。线性运算在SAR成像处理中占据了大部分的运算量,这些运算形式单一,很容易使用FPGA内的查找表(LUTs,LookUpTables)和寄存器(Registers)等逻辑资源来组合实现,并且可以以较高的速率进行流水运算。非线性运算主要包括星历参数解算、多普勒参数估计和CS补偿因子计算中的正余弦、反正余弦、反正切等超越运算,这些超越运算形式复杂、精度和实时性要求都很高,在实现时需要占据大量的硬件资源。由于FPGA逻辑资源有限,如果不对这些超越运算的FPGA实现进行改进和优化,则很难在单片FPGA上实现整个星载SAR成像算法处理流程。因此,需要对这些超越运算算法进行研究,改善算法性能,减少算法的硬件资源占用。坐标旋转数字计算(CORDIC,CoordinateRotationDigitalComputer)算法是J.Voider[104]等人于1959年在美国航空控制系统的设计中提出来的,其基本思想是用一系列只与运算基数相关的角度的不断偏摆从而逼近所需旋转的角度。由于CORDIC算法是一种规则化的算法,它能将复杂的超越函数的运算分解为统一的加减、移位运算,满足了硬件对算法的模块化、规则化的要求[105],为硬件实现超越函数提供了很好的方法。CORDIC算法一经提出就受到了各界的普遍关注,对于采用硬件实现的算法来说,速度和面积往往是算法在硬件上实现时考虑的重点。近年来,为了在保证运算精度的前提下使算法能够以更少的硬件资源、更快的速度实现,CORDIC算法的研究者们提出了各种改进算法和优化方案来适应各自的应用。Y.H.Hu在文献[106]中提出了角度编码(AngleRecoding,AR)CORDIC算法,该算法使得每次选择的旋转角度是距离剩余角度最近的,该算法在旋转角度已知的情况下能够减少迭代次数,但是由于为了减少迭代次数而选用的角度选择函数太过复杂,大大增加了算法的迭代时间和面积消耗。C.S.Wu等人在文献[107]中基于角度编码67 北京理工大学博士学位论文CORDIC算法提出了一种的更加灵活的方法来分解旋转角度,但是这种方法对于未知角度的计算所需要的时钟周期远远多于传统CORDIC算法。AnindyaS.Dhar等人在文献[108]中最先提出了无缩放因子的CORDIC旋转算法,但是由于满足条件的旋转角度值非常小,该方法只能在[0,/8]角度范围内收敛。为了扩展算法的收敛域范围,K.Maharatna等人在文献[109]中使用区间折叠技术将整个坐标区间都映射到[0,/8],但是这种方法会产生常数缩放因子1/2,并且随着位宽的增加,算法的迭代次数呈指数增加,这会大大的增加算法的硬件资源消耗。传统的CORDIC算法在计算反正弦函数和反余弦函数时需要对旋转的向量进行实时缩放补偿,进而带来乘法和开方运算。因此,使用传统的CORDIC算法实现反正余弦函数运算不仅有很高的复杂度,而且算法收敛域范围仅为[-0.98,0.98][110]。1993年Mazenc,C等人在文献[117]中对常规CORDIC算法的迭代结构进行了改进,提出了双迭法,能够相对准确的计算反正弦和反余弦函数,但是这种方法需要占据较多的硬件资源,同时在当输入参数接近于1时,计算结果会出现较大的误差,甚至超出值域范围。T.Lang在文献[119]和[121]中给出了利用常规CORDIC迭代结构进行反正余弦运算的方法,但是需要引入乘法运算,并且运算较为复杂。另外,每一种超越运算的CORDIC迭代结构不完全相同,甚至有很大的差别。在实际工程应用中,一个复杂算法中的多种超越运算会消耗掉大量的硬件资源,甚至超出所用芯片的资源范围,若使用同一种CORDIC结构实现多种超越函数势必会大大减少算法的硬件占用。针对以上问题,本文对传统的CORDIC算法进行了角度覆盖范围、硬件资源占用以及计算精度等方面提出了一系列改进措施,在FPGA上实现了正余弦函数、反正切函数的运算,并且相比其它方法在硬件资源占用上具有很大的优势。针对反正余弦运算,本文在双迭代法的基础上提出了改进的方法,能够有效减少硬件资源占用,并且通过角度跟踪的方法发现并解决了双迭代法在输入参数接近于1时计算结果误差较大的问题。同时,本文对改进后的双迭代法进行了进一步的修改,在增加了很少资源的情况下实现了正余弦和反正余弦双工作模式的CORDIC算法,在正余弦和反正余弦都需要的算法实现中,相比分别使用不同的迭代结构实现,该方法能够有效减少算法的硬件资源占用。由于浮点运算在硬件上实现会占用过大的资源,本文内容全部基于定点运算进行讨论和优化,对于浮点数的超越运算可以采取将浮点数转换成定点数进行运算,再将运算结果转化成浮点数的形式。68 北京理工大学博士学位论文本章安排如下:4.2节讲述了CORDIC算法的基本原理。4.3节和4.4节针对传统CORDIC算法的不足,分别对计算正余弦函数和反正切函数的CORDIC算法进行了资源、精度方面的优化并予以实现。4.5节对计算反正余弦运算的双迭代结构的CORDIC算法进行了改进,改进后的算法能够占用更少的硬件资源并解决了之前的算法存在的运算结果误差较大的问题。4.6节在双迭代法的基础上实现了多模式CORDIC算法,在增加很少硬件资源的情况下能够实现正余弦函数和反正余弦函数运算的实时切换。4.7节对本章内容进行了总结。4.2CORDIC算法基本原理CORDIC算法根据旋转轨迹的不同可以分为圆周系统、线性系统、双曲系统。其中,圆周系统用于三角函数运算、极坐标系和直角坐标系的相互转换,线性系统用于计算乘法和除法,而双曲系统则用于计算双曲函数和开方运算等。根据旋转方向的判别方式不同又分为旋转模式和向量模式两种不同的工作模式。CORDIC算法的统一结构为了能计算更多的基本函数,1971年J.S.Walther在文献[105]中提出了统一的CORDIC算法实现结构,引入参数m表示工作模式:m1为圆周系统、m0为线性系统、m1为双曲系统,并将三种系统统一到同一个CORDIC迭代方程中,表示为:ixxm(2)yi1iiiiyi1yii(2),xii0,1,2,...,N1(4.1)zzi1iii其中,不同系统中的取值不同:iiarctan2,m1ii2,m0(4.2)iarctanh2,m1如表4.1所示,不同系统用于计算不同函数。69 北京理工大学博士学位论文表4.1不同系统下的CORDIC算法CORDIC旋转模式(zN0)向量模式(yN0)x(1k)(xcoszysinz)x(1k)x22y圆周系统Nc0000Nc00(m1)y(1k)(xsinzycosz)1Nc0000zztan(yx)N000线性系统xxN0xxN0(m0)yyxzzzyxN000N000双曲系统x(1k)(xcoshzysinhz)x(1k)x22yNh0000Nh00(m1)yNh(1k)(y0coshz0x0sinhz0)zNz0arctanh(yx00)NN111NN111其中,kcicos,khicosh2i2iii0012ii0012。圆周系统下的CORDIC算法设向量''''(,)xy,旋转角后得到新的向量(,xy),如图4.1所示。1122y'y1'y2x'x'x21图4.1CORDIC算法原理根据坐标变换规则,两者有如下关系:'''xcos-sinx1-tanx211cos(4.3)'sincos'tan1'y2y1y1N1将旋转角分解为N个递减的小旋转角i之和,即ii,其中i0,i1i0时逆时针旋转,1时顺时针旋转。那么对于每次小的旋转都有:ixxi11-taniiicos,iN0,1,2,...,1(4.4)yytan1i1iii70 北京理工大学博士学位论文圆周系统下,CORDIC算法的基本思想是不直接利用tan进行运算,而是选择i一系列满足下面公式的特殊角度进行运算。iarctan(2),iN0,1,2,...,1(4.5)ii也就是tan2,带入公式(4.4),则有:iixx1-2i1iicos,iN0,1,2,...,1(4.6)yyiii1i21向量''''(,)xy经过N次旋转运算之后到达向量(,xy),可以表示为:1122'NN11ii''x1-2x1-2x2ii11'cosiii'k'(4.7)y2ii00ii21y121y1其中,k为模畸变因子,且有:NN111kcosi(4.8)2iii0012当N时,k0.607253,可以将k看作一个常量。这样旋转式(4.6)可以变换为如下迭代运算:ixx1-2i1ii,iN0,1,2,...,1(4.9)yyiii1i21上式仅含移位、加减运算,特别适合用硬件实现。为硬件快速计算三角函数提供了一种新的算法,这也是提出CORDIC算法的初衷。迭代计算时,为了跟踪已经旋转的角度,还需要引入一个新的变量,定义为:zz(4.10)i1iiizi1用于表示第i次旋转后的剩余角度。圆周系统下得CORDIC算法的基本迭代关系如下:ixxy2i1iiiiyi1yiiix2(4.11)zzi1iii根据的取值方式不同,CORDIC算法又分为两种工作模式:旋转模式和向量模i式。71 北京理工大学博士学位论文正余弦函数运算上一节已经提到圆周系统下的CORDIC算法分为旋转模式和向量模式两种工作模式。旋转模式是通过一系列的角度的旋转逼近目标角的工作方式,用于正弦和余弦的运算。图4.2是圆周系统的旋转模式工作示意图。y前3级向量旋转(x1,y1)(x3,y3)-12(x2,y2)tan2-11tan2目标角-10tan2(x0,y0)x图4.2旋转模式向量旋转示意图如上图所示,初始向量(图中绿色箭头所示)通过一系列特定旋转角度的旋转逼近,角度累加值逐渐趋近于0,也就是说旋转的角度趋近目标角(图中红色虚线所示)。从图中也可以看出旋转的次数越多,越逼近目标角,旋转的误差越小。旋转模式下,的取值满足:i1ifz0ii,iN0,1,2...,-1(4.12)1ifz0i旋转模式的完整迭代公式如下:ixxy2i1iiiiyyx2i1iii(4.13)zzi1iiisignz()ii假设目标角为,经过N次旋转迭代之后,zN0,同时:N11xNi(cos)(x0cosy0sin)(1)(kx0cosy0sin)i0(4.14)N11yNi(cos)(x0siny0cos)(1)(kx0siny0cos)i072 北京理工大学博士学位论文如果取xk0,y00,则有:xcosN(4.15)ysinN式(4.15)表明,圆周系统的旋转模式能用于计算正弦和余弦函数。反正切函数运算与旋转模式不同,向量模式是通过一系列角度旋转逼近目标向量的工作方式,可用于反正切和模值运算。y前3级向量旋转(x0,y0)初始向量(x1,y1)-10tan2(x3,y3)-11tan2-12目标向量tan2x(x2,y2)图4.3向量模式向量旋转示意图如上图所示,目标向量(图中绿色箭头所示)通过旋转不断逼近参考向量(x轴正半轴,图中红色箭头所示),当目标向量与参考向量重合时就得到了目标向量在直角坐标中所处的方向,也就是角度值。向量模式下,的取值满足:i1ify0ii,iN0,1,2...,-1(4.16)1yif0i向量模式的完整方程如下:ixxy2i1iiiiyyx2i1iii(4.17)zzi1iiisigny()ii经过N次迭代后yN0,得到:73 北京理工大学博士学位论文N1122xN(cos)x00yi0(4.18)1zztan(yx)N000如果取z00,则有:1ztan(yx)(4.19)N00式(4.19)表明,圆周系统下的向量模式可以用于计算反正切函数。反正余弦函数运算反正弦函数的同样是利用向量模式来完成迭代运算,但是与计算反正切函数有所不同。反正切函数在迭代时,初始向量xy00,通过旋转逐渐逼近x轴,因此需要将旋转后的向量xyii,的纵坐标yi与0进行比较判定下一级的旋转方向。而反正弦函数sin-1(t)在迭代时,初始向量为x轴上的单位向量xy,(1,0),向量xy,旋转的目00ii标是以y逼近输入参数t的方式逼近目标单位向量(1tt2,)以达到计算反正弦的目i的。由于每次旋转后向量xyii,的模值会放大为原来的122i倍。因此,每次旋转后都需要对目标向量进行相应的补偿才能正确的计算出反正弦函数,如下图所示:y前3级向量旋转(x2,y2)t3t2(x3,y3)t1t0(x1,y1)-12tan2-11tan2-10tan2初始向量x(x0,y0)图4.4反正弦运算向量旋转示意图上图中绿色箭头所示向量为初始向量xy00,(1,0),红色箭头所示部分为逐级补偿后的目标向量,目标向量的纵坐标可以表示为:2itt12,其中tti,0,1,2...,N-1(4.20)ii10因此,要不断的使旋转向量纵坐标yi趋近于ti才能准确的计算反正切函数。74 北京理工大学博士学位论文反正弦函数的迭代方程如下:ixxy2i1iiiiyyx2i1iii(4.21)zzi1iii2itt12ii1的取值满足:i1ifytiii,iN0,1,2...,-1(4.22)1yiftii经过N次迭代后,得到:-1zzsin()t(4.23)N0如果取z00,则可以得到反正弦值:-1ztsin()(4.24)N同样,反余弦函数cos-1(t)在迭代时,初始向量为x轴上的单位向量xy,(1,0),00向量xy,旋转的目标是以x逼近t的方式逼近目标单位向量(,1tt2)以达到计算iii反余弦的目的。反余弦函数的迭代方程和反正弦函数迭代方程完全一样,只是旋转方向的判定条件有所不同。对于反余弦运算,的取值满足:i1ifxtiii,iN0,1,2...,-1(4.25)1ifxtii经过N次迭代后,得到:-1zzcos()t(4.26)N0如果取z00,则可以得到反正弦值:-1ztcos()(4.27)NCORDIC算法的收敛性圆周系统下的CORDIC算法是由一系列满足iarctan(2)的特殊角组成,表4.2i所示为用于CORDIC旋转迭代的部分角度。75 北京理工大学博士学位论文CORDIC算法是否收敛,如果收敛,收敛域是多少,这些直接影响着CORDIC算法的在实际中的应用。这里首先讨论CORDIC算法的收敛域,即如果一直沿同一方向旋转角,i0,1,2,...,CORDIC算法能否收敛于某一最大角。i表4.2迭代的部分特殊角度iiii045.00051.789126.56560.895214.03670.44737.12580.22343.57690.111从表4.2可以看出,[0,2)。而对于任意角[0,2),都有:iarctan(4.28)因此:iiiarctan(2)2114.6(4.29)i0i0i0N1式(4.29)表明旋转角i之和有上界。由于所有i都为正,部分和i随着NN1i0单调递增。根据数学分析理论“单调增加有上界数列必有极限”,i必收敛。收敛的i0最大角度由数值计算得到:i99.827(4.30)i0也就是说CORDIC算法的收敛域为99.827,99.827,不能覆盖整个圆周范围,这也是传统CORDIC算法的一个缺点。4.3正余弦函数优化及实现传统的CORDIC算法在圆周系统下的覆盖范围只有[]99.82,99.82,并没有覆盖整个圆周。同时,CORDIC算法具有迭代性,为了提高算法精度,需要反复进行迭代计算或者增加流水线长度。反复迭代计算节省硬件资源但是运算速度慢,增加流水线长度会造成运算资源的增加。针对上述问题,各种优化改进方法不断被提出。文献[111]中提出增加多次第一级迭代,将算法的覆盖范围扩展到完整的圆周,,但是这种76 北京理工大学博士学位论文方法中校正因子为变量,需要增加额外的资源去调整。文献[112]中提出直接得出特殊角度如/4的值,以减少迭代次数,但是不能有效的减少所有角度的运算迭代次数;文献[113]对旋转角度值进行编码以减少旋转次数,这种方法能有效减少迭代次数,但是同样会改变校正因子。针对传统CORDIC算法的不足,本节结合定点运算的特点提出了一些解决方案和优化措施。主要包括角度覆盖范围的扩展、硬件资源的缩减和运算精度的提高三个方面。针对传统算法角度覆盖范围不够的问题,提出了重复迭代和数学变换两种解决方式。其中,重复迭代适合用于反馈迭代结构实现,数学变换适合流水线结构实现。为了减小流水线结构带来的硬件资源消耗,结合CORDIC算法的逼近特性和定点运算的特点,从理论上提出了一些能够有效缩减运算资源,并在一定程度上提高运算精度的优化措施。正余弦函数优化角度覆盖范围的扩展由于圆周系统下的传统CORDIC算法的角度覆盖范围为[99.827,99.827],无法覆盖整个圆周范围。这就需要对角度覆盖范围进行扩展,常用的扩展有两种方式,重复迭代和数学变换。其中,重复迭代是利用某些特定的迭代单元的重复迭代来扩大角度覆盖范围,一般选用第一级迭代单元,是直接扩展角度范围的方式,适用于反馈迭代结构;数学变换是利用函数之间数学关系式对输入数据进行变换,将输入数据变换到角度覆盖范围内,间接扩展角度覆盖范围,适用于流水线结构。本节主要介绍流水线结构下的三角函数的实现,这里只对重复迭代做简单介绍。(1)重复迭代重复迭代是通过对特殊迭代单元的重复迭代来扩大角度覆盖范围的。显然,对最大旋转角所在的迭代单元进行重复迭代是能最有效的扩大CORDIC算法的角度覆盖范围的。从表4.2中可以看出,对45角的重复迭代是最好的选择。传统的CORDIC算法的收敛域是[99.827,99.827],增加两级45角的迭代后,收敛域扩大到[189.827,189.827],覆盖到了整个圆周范围。也就是说,重复迭代就是将旋转序列从原来的iN0,1,2,...,1,扩展为iN0,0,0,1,2,...,1。在流水线结构中,增加一级迭代意味要增加3个加减法器和2个移位,增加额外的硬件开销。而相对于流水线结构,反馈迭代结构不会增加额外的硬件开销,只会增77 北京理工大学博士学位论文加运算延时。重复迭代的方式主要用于CORDIC算法的反馈迭代结构中。(2)数学变换数学变换是利用函数之间的数学变换关系,将输入数据转换到传统CORDIC算法的角度覆盖范围[99.827,99.827],间接扩大角度覆盖范围。圆周系统下的数学变换又称分象限法,将整个圆周划分为4个象限,通过三角函数关系式将整个圆周范围内的输入转换到在角度覆盖范围内的象限内,也就是0象限。表4.3所示为4个象限的划分,与传统的象限划分不同。表4.3象限划分象限范围0(,]4431(,]4432(,]44333[,][,]44利用下面的三角函数变换关系式,可以通过简单的加减或者符号变化,将1、2、3象限的数据都转换到0象限。'sin(2)cos'cos(2)sin(4.31)'sin()sin'cos()cos旋转模式下是将输入的角度转换到0象限,也就是45,45;向量模式下是将输入的向量xy,转换到0象限范围内。很明显,0象限在CORDIC算法的收敛域内。如果去掉第一级迭代,也就是45旋转,CORDIC算法的收敛域将变成54.827,54.827,同样包括0象限。即通过数学转换后可以舍弃第一级迭代,将迭代序列变为iN1,2,3,...,1。由于输入数据经过变换,输出数据需要根据对应的象限信息进行恢复,恢复到对应的象限。数据的恢复同样采用数学变换的方式,是输入变换的一个逆向过程。数学变换会带来额外的资源消耗,不适用于反馈结构。但是数学变换减少了一级78 北京理工大学博士学位论文迭代,相对于重复迭代来说整体减少了3级迭代,数学变换更加适用于流水线结构。硬件资源的缩减硬件资源的缩减主要是利用CORDIC算法运算过程中的数据变化趋势以及定点运算的特点,对运算过程中数据位宽进行缩减的方式减少资源。由于旋转模式和向量模式的逼近方式不同,数据变化趋势也不一样,因此资源缩减的方式也有所不同。圆周系统下的CORDIC算法的旋转模式用于实现正弦和余弦运算。旋转模式是通过一系列的角度的旋转逼近目标角的工作方式,角度累加器z逐渐趋近于零旋转模式i下的硬件资源缩减就是利用角度累加器的变化趋势实现的。arctan()x函数的泰勒级数:357911xxxxxarctan()xx,||1x(4.32)357911i可以将iarctan(2)展开成级数:ii13i15i17i19i111iarctan(2)=222222(4.33)i357911显然:iiarctan(2)<2(4.34)i同时:ii132i154i17i6198i22arctan(2)=22222(4.35)i13579则有:13i32i15i5i417i7i62(22)(22)(22)ii1357(4.36)0即:2(4.37)ii1由4.2.2.1节的第i级的迭代公式可以得出:zz(4.38)i1ii经过数学变换后,输入的角度范围变为45,45,即:z452=53.12(4.39)11代入式(4.38),得到:79 北京理工大学博士学位论文zz2(4.40)211111结合式(4.37)可以推导出:zz2322222zz2433333(4.41)zz2i1iiiii结合式(4.34)可以得出:iz2(4.42)ii1也就是说定点化后的i和zi的有效位都是在不断的减少的,那么对于旋转角zi的运算,运算位宽是随着迭代级数减少的。假设输入角度的位宽为24bits,那么优化后的每一级角度运算加法器的运算位宽变化如表4.4所示。表4.4优化后的角度运算加法器位宽角度加法器迭代级数i运算位宽(bits)124223322421520……223角度加法器的位宽逐级缩减,只保留有效数据进行运算,去掉了无效位运算占用的硬件资源,有效的避免了不必要的资源浪费。运算精度的提高运算精度的提高主要通过数学变换后的数据格式化以及对运算路径位宽的扩展来达到。经过数据变换后,输入数据的有效位减少了,数据格式化就是通过移位的方式将减少的有效位补上,间接扩大了运算的数据位宽,提高运算精度。运算路径的扩展一方面是为了提高运算精度,另一方面是为了保证某些特殊角的输出值。(1)数据格式化数据格式化是通过将定点数的有效位进行移位的方式去除无效位,扩展有效位80 北京理工大学博士学位论文宽,从而达到增加运算精度的。定点数由符号位(S)、整数位(I)和小数位(F)三部分组成,如图4.5所示。符号位整数位小数位SIIFFFFFF……图4.5定点数的结构数据转换将,范围内的角度转换到4,4范围内,也就是说运算过程中角度的最大值变为原来的14。这意味着除符号位以外的第一个有效位移动到了第四位,也就是增加了两个无效位,如图4.6所示。符号位有效位SIIFFFFF…………符号位无效位有效位S××FFFFF…………图4.6有效位移动示意图数据转换后两个无效位占据有效位的位置,这样不仅造成了资源的浪费,同时也降低了运算的精度。数据格式化就是将有效位向左移动两位,保证有效位位宽不变。同时也将用于旋转的特殊角也向左移动两位,保证运算的一致性。i同样在进行数学变换前坐标x的范围为-1,1,进行数学变换后,迭代运算部分都是在0象限下进行的。此时坐标x的范围缩小为-0.707,0.707,也就是说完全在小数范围内,整数位变为无效位。将有效位向左移动一位,保证有效位宽不变。数据格式化后,有效数据的位宽进行了扩展,能够在一定程度上提高运算精度。(2)扩展数据路径的位宽迭代次数以及数据路径的位宽直接影响着CORDIC算法的运算精度,1992年,HuYuHen在文献[111]提出了一种算法,可以解决CORDIC算法迭代中基于总量化误差(OQE)的问题。YuHenHu提出的OQE由两种误差组成,分别是近似误差和舍入误差。其中,近似误差是CORDIC旋转角度存在有限个基本角度量化所带来的量化误差,由迭代次数和最大向量的模值v0决定;舍入误差取决于实际运算中使用的有限精确度的代数运算,由数据路径的位宽b决定。YuHenHu推导出的近似误差和为:81 北京理工大学博士学位论文n1AEv(0)v(0)cos(arctan(2))(4.43)舍入误差为:b0.5GnRE21(4.44)Kn()n1n1Gn()1ki()(4.45)j1ijnn112iKn()ki()12(4.46)ii00总量化误差为:OQEAERE(4.47)从式(4.35)和式(4.36)可以看出,迭代次数n的增加和数据路径位宽b扩展都能提高运算的精度。由于式(4.35)中包含的余弦函数的特性,当迭代次数n较大时,继续增加迭代次数对近似误差的影响将很小。而数据路径位宽每扩展1位,都将使舍入误差缩小为原来的1/2。因此,数据路径位宽的扩展是提高运算精度的最佳选择。由于CORDIC算法是一种逼近算法,运算结果与真实值之间始终存在一定误差,数据路径扩宽之后进行运算,最后再对数据进行截位舍入处理,能保证最终的输出数据更加接近真实值。正余弦函数实现硬件结构圆周系统下的旋转模式用于正余弦函数的运算,根据输入的角度计算出对应的正余弦值。高速信号处理对实时性以及数据吞吐量要求比较高,本设计采用流水线结构实现。正余弦模块的硬件实现结构如图4.7所示。预处理N级迭代后处理xx01xncos数数象输据y0y1限出学1st格2nd……nth转y恢舍式n换化z0z1复入sinclkrstrdynd控制逻辑控制逻辑控制逻辑图4.7正余弦运算模块的硬件结构从图中可以看出,正余弦模块包括预处理、CORDIC迭代运算和后处理三个部分。82 北京理工大学博士学位论文其中预处理部分实现输入寄存、数据转换和数据格式化,输入寄存可以根据具体应用选用;CORDIC迭代运算部分完成硬件资源缩减后的CORDIC旋转迭代运算;后处理部分根据预处理部分得到的象限信息,对输出数据进行象限恢复和截位处理。角度输入一般可以分为弧度(Radians)和比例弧度(ScaledRadians),弧度的输入范围为[,],比例弧度的输入范围为[1,1]。本文输入角度值采用比例弧度。当采用比例弧度时输入参数:phasein_(4.48)其中,为弧度值。也就说[,]的输入范围转换为[1,1]。这样做的好处是只需要计算弧度值的系数,而不用将弧度值计算出来。同时也降低了输入的动态范围,使有限个有效位能够表示更高的精度。输出数据的象限恢复如表4.5所示,其中x和y是CORDIC迭代运算最后一级的输出。表4.5正余弦模块的象限恢复象限象限恢复0cosine=xsine=y1cosine=-ysine=x2cosine=ysine=-x3cosine=-xsine=-y性能分析性能分析包括仿真结果分析和综合结果分析,仿真结果分析主要是对模块实现的功能以及运算精度进行分析,综合结果分析主要是对模块占用的硬件资源和工作频率进行评估。(1)仿真波形本设计在ISE14.3开发软件下,采用VHDL硬件编程语言实现,使用Modelsim10.1a进行仿真测试,并用MATLAB验证仿真结果的正确性以及相对误差。在[-π,π]范围内均匀取点2000个,用MATLAB生成包含大批量测试数据的数据文件作为仿真的激励,图4.8是优化的正余弦模块在Modelsim10.1a下的仿真结果。从图4.8中可以看出,优化的正余弦运算模块的角度覆盖范围已经达到[-π,π],完成了一整个圆周范围内的正余弦运算。83 北京理工大学博士学位论文图4.8优化的正余弦运算模块仿真结果(2)运算精度为了验证该优化算法的精度,在[0,π/2]范围内均匀取2000个点,用MATLAB生成激励数据。然后对正余弦运算模块进行仿真,并将仿真结果写入数据文件中。最后通过MATLAB将仿真数据读入,与MATLAB的自带的双精度浮点正余弦运算的结果进行比较。图4.9是优化的正余弦模块的误差分析图。XILINX的24bits正余弦运算IP核相对误差-4优化24bits正余弦运算相对误差10-410-510-510-610-610-710-8-710RlativeError10RlativeError-910-810-1010-11-9101000.10.20.30.40.500.10.20.30.40.5Phase(pi)Phase(pi)(a)优化的正余弦运算相对误差(b)XILINXIP核正余弦运算相对误差图4.9优化的正余弦运算与XILINXIP核相对误差比较从图4.9(a)中可以看出,正余弦运算模块运算结果相对误差基本都在10e-7~10e-6左右,只有输出数据非常小接近零的地方,相对误差较大。为了比较优化结构实现的性能,图4.9(b)给出了XILINX的24bits正余弦运算IP核在相同的输入下的相对误差分析图。比较图4.9(a)和(b)可以看出,优化的正余弦运算模块比XILINX的正余弦运算IP核的相对误差低。例如在输入角度为15°时,优化的正弦运算的相对误差为2.2463e-07,而XILINX对应的正弦运算的相对误差为1.6177e-06。(3)资源与速度84 北京理工大学博士学位论文仿真通过后利用XILINX公司的XST综合工具,选用Virtex6系列的XC6VLX240T-1FF1156芯片分别对优化的正余弦模块和XILINX的正余弦运算IP核进行综合,输入输出均为24bit,综合结果如表4.6所示。由表4.6可以看出,优化的正余弦模块比XILINX的IP核节省了20%以上的逻辑资源,两个模块的最高工作频率没有太大差别,这是由于XILINX的IP核同样采用了扩展5bits数据路径的方式,两个模块的关键路径都是29bits的加法器的进位链。表4.6正余弦运算模块FPGA综合结果对比FPGA逻辑资源占用最高频率RegistersLUTsXINLINXIP核22412301298.556Mhz正余弦模块优化的17871838294.977Mhz正余弦模块资源节省率23.7%20.1%--4.4反正切函数优化及实现反正切函数优化在4.3节中,对于正余弦函数的优化有角度覆盖范围的扩展、硬件资源的缩减和运算精度的提高等三种措施。对于反正切函数,同样可以采取这三种措施来进行优化,其中,角度范围的扩展和运算精度的提高这两种优化措施是和对正余弦函数的优化措施是相同的,硬件资源的缩减有所不同。圆周系统下的CORDIC算法的向量模式用于反正切的运算,向量模式是通过一系列向量旋转逼近目标向量的工作方式,坐标y逐渐趋近于零。向量模式下的硬件资源优化就是利用坐标y的变化趋势,对运算过程中x,y的运算位宽进行缩减。由反正切函数运算的第i级迭代公式可以得出:iixxy22xyi1iiiii(4.49)iyyx2i1ii从式(4.49)可以看出,xi是单调递增的。经过数学变换后,x和y的关系满足:yx,1x0(4.50)也就是:85 北京理工大学博士学位论文yx,1x0(4.51)111代入式(4.49)可以得出:111yyx2x22(4.52)2111'由于x是单调递增的,可以推导出:i222yyx2x223222333yyx2x224333444(4.53)yyx2x225444iiiyyx2x22i1iii式(4.53)说明定点运算中y的有效位是不断减少的,对于y的加减运算位宽可以随着迭代级数逐级缩减。假设输入数据位宽为24bits,那么优化后每一级的y的加减运算位宽变化如表4.7所示。表4.7y的加减运算位宽变化y的加减法迭代级数i运算位宽(bits)124223322421520……223如表4.7所示,y的加减运算位宽逐级缩减,只保留有效位进行运算,将无效位的运算占用的资源去掉,能够有效的避免不必要的资源浪费。i由于y的有效位宽不断缩小,坐标x运算中的yi2项有效位宽也在不断的缩小。i假设输入数据的位宽为bits,则在第i级y的有效位宽为Nibits,yi2项的有效位宽为Ni2bits。i当Ni20时,yi2项的由于移位造成Nbits无法容纳,也就是:iy20(4.54)i当iN/2时,对于坐标x的计算将变为:86 北京理工大学博士学位论文ixxy20xx(4.55)i1iiiiiiN/2时,坐标x的加减运算将没有意义,可以将其去掉,减少不必要的资源浪费。假设输入数据位宽为24bits,优化后的x的加减运算位宽变化如表4.8所示。表4.8x的加减运算位宽变化x加减法迭代级数-i运算位宽(bits)124224324……1124120……220对向量xyii,的优化,都是基于CORDIC算法的数据变化趋势以及定点运算的特点,不断的去掉无效位以及无效运算,避免了不必要的运算资源的浪费,有效节省了硬件资源。反正切函数实现硬件结构圆周系统下的向量模式用于反正切函数的运算,根据输入的向量xy,计算出对应的反正切值。反正切运算模块同样采用流水线结构设计,硬件结构如图4.10所示。预处理N级迭代后处理Xinxx01xn数数象输据y0y1限出学1stYin格2nd……nth转y恢舍式n换zz复入化01clkrstrdynd控制逻辑控制逻辑控制逻辑图4.10反正切运算模块的硬件结构如上图所示,反正切运算模块主要包括预处理、CORDIC迭代运算和后处理三部分。预处理部分主要完成数据转换和数据格式化,数学转换部分用于将输入的向量转87 北京理工大学博士学位论文换到[4,4]范围内,并记录象限信息,输入向量的象限划分以及数据转换方式如表4.9所示;CORDIC迭代运算部分主要完成改进后的CORDIC旋转迭代运算;后处理部分主要完成输出数据的截位和恢复,象限恢复如表4.10所示,其中z是CORDIC迭代运算最后一级的输出。表4.9象限划分和数据转换象限范围转换''0(,]xxyy443''1(,]xyyx443''2(,]xyyx4433''3[,][,]xxyy44表4.10反正切运算的象限恢复象限象限恢复0phase=z1phase=z+pi/22phase=z-pi/2phase=z+pi(z<0)3phase=z-pi(z>=0)性能分析(1)仿真波形本设计在ISE14.3开发软件下,采用VHDL硬件编程语言实现,使用Modelsim10.1a进行仿真测试,并用MATLAB验证仿真结果的正确性以及相对误差。在[-π,π]范围内均匀取点2000个,用MATLAB对所取得的点做正余弦运算,将正余弦运算的结果作为该程序的输入数据,并生成包含大批量测试数据的文件作为仿真的激励,图4.11是反正切模块在Modelsim10.1a下的仿真结果。从图4.11中可以看出,优化CORDIC算法的角度范围已经覆盖到了整个圆周范围内,可以计算整个圆周范围内的角度。88 北京理工大学博士学位论文图4.11反正切运算模块仿真结果(2)运算精度为了验证优化的反正切模块的精度,在[0,π/2]范围内均匀取2000个点,用MATLAB生成激励数据。然后对反正切运算模块进行仿真,并将仿真结果写入数据文件中。最后通过MATLAB将仿真数据读入,与MATLAB的自带的双精度浮点反正切函数比较进行误差分析。图4.12(a)为优化反正切运算的相对误差分析图。从图中可以看出,反正切运算模块的运算精度基本都在10e-7左右,只有输出数据非常小接近零的地方相对误差较大。为了对优化结构实现的性能进行分析,图4.12(b)给出了采用相同输入数据时,XILINX反正切运算IP核的相对误差分析图。对比两图可以看出,优化的反正切运算的精度比XILINX的反正切运算IP核的精度高。优化24bits反正切运算相对误差-4XILINX的24bits反正切运算IP核相对误差-41010-5-51010-6-61010-7-71010RlativeErrorRlativeError-8-81010-9-91010-10-10101000.10.20.30.40.500.10.20.30.40.5Phase(pi)Phase(pi)(a)优化的反正切运算相对误差(b)XILINXIP核反正切运算相对误差图4.12优化的反正切运算与XILINXIP核相对误差比较(3)资源与速度仿真通过后利用XILINX公司的XST综合工具,选用Virtex6系列的XC6VLX240T-1FF1156芯片分别对优化的反正切模块和XILINX反正切模块IP核的89 北京理工大学博士学位论文进行综合,输入输出均为24bits,综合结果如表4.11所示。表4.11反正切运算模块FPGA综合结果对比FPGA逻辑资源占用最高频率RegistersLUTsXINLINXIP核21742203448.977Mhz反正切模块优化的15001552449.245Mhz反正切模块资源节省率31.0%29.5%--从表4.11中可以看出,相对于IP核,本文设计的反正切模块节省了大约30%的逻辑资源。由于24bits的反正切模块的关键路径同样为29bits的加法器进位链,两者的最高频率没有太大差别。4.5反正余弦函数优化及实现前几节所描述的常规CORDIC算法可以用来计算正余弦、反正切等多种超越函数。由于在计算反正余弦函数时需要对向量旋转带来的增益进行补偿,进而引入乘法和平方根运算,增加了硬件实现难度,因此常规的CORDIC算法不适合于反正余弦函数的运算。文献[115]和[116]便用了传统的CORDIC算法,在没有对向量进行增益补偿的情况下分别实现了反正弦函数和反余弦函数,这种运算方法虽然实现简单,但是运算结果精度很差。1993年Mazenc.C等人对常规CORDIC算法的迭代结构进行了改进,提出了双迭法,能够较为精确的计算反正弦和反余弦函数[117],但是需要进行改进和优化。T.Lang在文献[119]和[121]中给出了利用常规CORDIC迭代结构进行反正余弦运算的方法,但是需要引入乘法运算,也不适用于下一节中的正余弦和反正余弦统一结构实现。由于计算正余弦函数的常规CORDIC算法和计算反正余弦函数的双迭代法的结构不同,因此在两种函数都需要计算的算法实现中,计算这两种三角函数需要分别占据硬件资源,这样会造成过多的硬件资源消耗。本节对双迭代法进行了资源的优化和误差的校正,然后将正余弦函数和反正余弦函数运算统一到双迭代法的迭代结构中,最后将改进后的算法在FPGA上采用流水结构进行硬件实现。改进后的算法具有正余弦和反正余弦两种工作模式,用户可以根据需求对算法功能进行实时切换,因此在实际应用中相比使用两个单独的CORDIC运算核能够有效节省硬件资源占用面积。90 北京理工大学博士学位论文双迭代法基本原理常规的CORDIC算法迭代结构在计算反正余弦函数时,为了补偿向量旋转带来的增益,会引入乘法和平方根运算。平方根运算无法用简单的加法、减法或者移位操作来代替,会在很大程度上增加计算复杂度和资源消耗。Mazenc.C在文献[117]中提出了双迭代法“DoubleIterationAlgorithm”,双迭代法的主要优势在于将随着向量旋转而变化的参数由12iiti1ti/costan2ti12(4.56)变成了221iiti1ti/costan2ti12(4.57)这样乘法和平方根变成了加法和移位运算。双迭代法的迭代关系如下式所示:x1,y0,z0,tt0000dsign()xifytelsesign()xiiiiixx1d2i2ii1i(4.58)iyyd21ii1i1izz2dtan2i1iittt22ii1ii111函数的反正弦值可由sintz得到,反余弦值可由costt=/2sin得到。对i1于双迭代法,函数的收敛域为:11ii22ii00tan2,tan2[3.486,3.486](4.59)因此,对于任何的t1,1,都可通过双迭代法求得其反正余弦值。反正余弦函数优化硬件资源缩减在实际工程应用中,使用流水结构实现CORDIC算法时,每一级迭代都需要占据硬件资源,例如LUTs(Look-UpTables)和Flip-Flops。为了保证计算结果的精度,最简单的方法就是增加迭代次数和扩展数据路径位宽,但是这种方式会线性的增加硬件资源消耗。本文通过研究双迭代法的向量旋转趋势,在不影响算法结果精度的前提下减少了前两级迭代,从而达到了缩减硬件资源的目的。由于反正弦函数是奇函数,公式(4.58)可以做如下修改:91 北京理工大学博士学位论文x1,y0,z0,tabst()0000dsign()xifytelsesign()xiiiiixx1d2i2ii1i(4.60)iyyd21ii1i1izz2dtan2i1iittt22ii1ii1公式(4.60)中,反正弦函数的运算结果由sintsign(t)z计算得出。这i1样修改后,向量(xi,yi)会一直在第一象限和第二象限旋转,向量旋转过程中yi和zi一直会是正值。由公式(4.60)可以得出,初始向量(x0,y0)为X轴上的单位向量。如图4.13所示,在第一级迭代中,由于初始向量在x轴上,d0的值必然为1,向量(x0,y0)会逆时针旋转,旋转角度为2*tan-1(2-0)=90。这样经过旋转,(x1,y1)为Y轴上的一个向量。在第二级迭代中,由于目标角所在区间为[90,90],因此d1=-1,(x1,y1)会顺时针旋转2*tan-1(2-1)。由此可以得知,无论目标角多大,前两级迭代的向量旋转方式是固定不变的。y(x1,y1)-11tan2-11(x2,y2)tan2-10tan2-10tan2(x0,y0)x图4.13双迭代法向量旋转根据以上分析,对于任意的t1,1,向量(x0,y0)经过前两级旋转后总会得到固定的向量(x2,y2)。这样,通过将初始向量变为和(x2,y2)同方向的单位向量,就可以将前两级迭代省略掉,从而减少了前两级迭代所占用的硬件资源。修改后的迭代公式如下:92 北京理工大学博士学位论文x0.8,y0.6,tabst()2221011z2tan22tan22dsign()xifytelse,sign()xiiiii2ixxii11di2(4.61)iyyd21ii1izz2dtan21ii1ii2ittt2i1ii误差校正双迭代法通过改进原有的CORDIC算法给出了计算反正弦函数的迭代结构,对于任意属于定义域的输入来说,都应该通过该迭代方法得出正确的反正弦值。事实上,当输入参数的的绝对值接近于1的时候,通过该迭代方法得出的结果有可能会超出反正弦函数的值域范围[90,90]。为了研究这一问题,本文跟踪记录了每一级迭代的向量旋转对角度累加值带来的影响,发现当输入参数接近于1的时候,向量(xi,yi)有可能在某一级迭代中旋转至第二象限。因此,xi会得到负值,zi会得到大于90的值。本文通过如下公式计算出有可能导致这一问题出现的最小角度:n11iznz22tan2(n3,4,5...)(4.62)i2经计算,当n≥8时,zn的值会超过90,z8=91.7153。由此得出结论,当目标角度超过z7≈89.9249时,向量(xi,yi)有可能在某一级迭代中旋转至第二象限,对应输入为t≈0.9999992,即当t>0.9999992时,通过双迭代法迭代计算得出的反正弦值有可能与实际值发生偏离。例如,利用公式(4.61)的迭代关系,当输入为t=0.9999993时,会得出90.0696,很显然结果已经超出了反正弦函数的值域范围。为了纠正双迭代法的这种错误,需要在判断向量旋转方向di时加一个限定条件,即在任意一级迭代中,无论yi和ti关系和xi的符号,只要向量(xi,yi)旋转至第二象限,必须在下一级迭代中旋转回第一象限。迭代关系如公式(4.63)所示。反正弦函数的1计算结果由sintsign(t)z得出。i1利用改进后的迭代关系,当输入t=0.9999993时,会得到正确的反正弦值89.9283。93 北京理工大学博士学位论文x0.8,y0.6,tabst()2221011z2tan22tan22d1ifx(0)ory(t),else1iiii2ixxii11di2(4.63)iyyd21ii1izz2dtan21ii1ii2ittt2i1ii反正余弦函数实现硬件结构本文在Xilinx公司的Virtex6系列FPGAXC6VLX240T上使用VHDL硬件编程语言对改进后的算法进行了实现。算法在硬件结构上采用了流水实现的方式,为了节省硬件资源,使用定点运算代替浮点,定点运算数据路径位宽和迭代次数可以根据不同的精度需求进行设置。改进后的算法实现结构框图如图4.14所示:预处理N级迭代后处理xx23π/2-cos-1t向量y2y3sign(t)zn初始化n-2z21stz32nd……thznsin-1ttABS()t2t3sign(t)zn输入求模clkrst控制逻辑控制逻辑控制逻辑rdynd图4.14改进后的反正余弦函数实现结构框图算法实现主要分为三个模块,预处理模块、N级迭代和后处理模块。预处理模块完成输入数据求模和初始向量赋值功能,并将相应的值寄存输出给第一级迭代。N级迭代模块完成向量旋转,由于省略了前两级迭代,因此只需要N-2级便可以完成N级迭代所能完成的运算,最后一级将结果zn寄存输出给后处理模块;由于采用了流水实现,控制逻辑负责将预处理模块记录的输入参数的符号逐级向后传递。后处理模块根据预处理模块记录的输入参数的符号将zn转换为输入参数的反正弦、反余弦值并寄存输出。性能分析(1)仿真波形本文利用Modelsim10.1a仿真工具对FPGA代码进行仿真。输入数据由[-1,1]均匀94 北京理工大学博士学位论文采样2000点,使用MATLAB生成可用的激励文件。仿真时,连续输入2000点反正余弦输入数据,仿真波形如图4.15所示。图4.15改进后的反正余弦运算仿真波形(2)运算精度仿真完成后,本文以Matlab的自带反正弦函数运算结果为标准,对算法改进前后的反正弦运算结果进行了误差对比。输入参数在0.9999992附近进行选取,数据路径位宽和迭代次数分别为29和20,结果如表4.12所示。表4.12算法改进前后反正弦结果误差对比Matlab双迭代法[117]改进后的算法输入参数反正弦值反正弦值误差反正弦值误差0.999999089.9190°89.9198°0.0008°89.9198°0.0008°0.999999189.9231°89.9250°0.0019°89.9250°0.0019°0.999999289.9275°90.0737°0.1462°89.9248°-0.0027°0.999999389.9322°90.0696°0.1374°89.9283°-0.0039°0.999999689.9488°90.0548°0.1060°89.9454°-0.0034°0.999999889.9638°90.0413°0.0775°89.9597°-0.0041°0.999999989.9744°89.9702°-0.0042°89.9702°-0.0042°由表4.12可以看出,改进前的双迭代法部分计算结果会超出反正弦函数的值域[0,90],而改进后的算法反正弦结果都在范围内,并且有更小的误差。为了验证改进后算法的精度,在[0,1]范围内均匀取1000个点,用MATLAB生成激励数据。然后对反正余弦运算模块进行仿真,并将仿真结果写入数据文件中。最后通过MATLAB将仿真数据读入,与MATLAB的自带的双精度浮点反正弦运算的结果进行比较。图4.16(a)是改进后的双迭代法反正弦运算结果相对误差分析图。从图4.16(a)中可以看出,改进后的双迭代法运算精度基本都在10e-7~10e-6之间,只有输出数据非常小接近零的地方,相对误差较大。为了比较改进结构实现的95 北京理工大学博士学位论文性能,图4.16(b)给出了原双迭代法反正弦运算在相同的迭代级数下的相对误差分析图,运算结果相对误差基本都在10e-6~10e-5之间。比较图4.16(a)和(b)可以看出,在相同的迭代级数下改进后的双迭代法比改进前有更好的精度。例如在输入参数为0.5时,改进的双迭代法的相对误差为-8.1956e-07,而原双迭代法的相对误差为-6.2734e-06。改进的双迭代法反正弦运算相对误差双迭代法的反正弦运算相对误差-3-31010-410-410-510-5-61010-7相对误差10相对误差-610-810-710-910-10-8101000.10.20.30.40.50.60.70.80.9100.10.20.30.40.50.60.70.80.91输入参数输入参数(a)改进的算法反正弦运算相对误差(b)原双迭代法反正弦运算相对误差图4.16改进前后的双迭代法反正弦运算相对误差比较(3)资源与速度本文使用ISE中XST工具对代码进行了综合,通过综合报告查看该程序的硬件资源占用情况和最高频率,并将其与改进前的双迭代法综合结果进行了对比。表4.13是在数据路径位宽为20bit、迭代次数为12的情况下算法改进前后的最高频率和硬件资源占用情况。表4.13反正余弦运算模块FPGA综合结果对比FPGA逻辑资源占用最高频率RegistersLUTs双迭代法[117]9111545256.130Mhz改进后的算法7471265259.177Mhz资源节省率18.0%18.1%--由表4.13可以看出,由于减少了前两级迭代,改进后的算法能够在没有对计算结果造成影响的情况下有效减少硬件资源占用,迭代级数越小,资源节省率越高。改进前后的算法最高运行速率没有明显变化,原因是两者的关键路径都是20bits比较器和加法器的进位链。对比表4.6可以看出,反正余弦模块的最高频率低于前面正余弦模块的最高频率,这是由于反正余弦模块的迭代结构中向量旋转方向的判定条件需要96 北京理工大学博士学位论文进行数据的比较,进而增加了比较器的进位链延迟时间。可以通过在每一级迭代内的关键路径处穿插寄存器的方法提高最高频率,但这会增加寄存器数量。4.6多模式CORDIC算法统一迭代结构由于反正余弦运算和正余弦运算的迭代结构不同,在实际工程应用中,当所要实现的算法中既有正余弦函数运算又有反正余弦运算时,两种运算都要占用相应的硬件资源。如果将正余弦运算和反正余弦运算统一成同一种迭代结构,只在输入和输出时作相应处理,就能用同一硬件资源实现两种不同类型的运算,这样能够有效减少算法的硬件资源占用。传统的CORDIC算法的迭代结构不适用于反正余弦函数的运算,而用来计算反正余弦函数的双迭代结构可以通过适当修改完成正余弦函数运算。因此,本文采用改进后的双迭代法的迭代结构来统一实现两种函数运算。由于改进后的双迭代法只在第一象限内作有效旋转,利用双迭代法计算正余弦函数时,需要利用三角函数关系式将输入数据转换至[0,90]范围内,如表4.14所示。表4.14正余弦函数输入象限转换输入范围(,](0,](-,0][-,-]2222象限q2143'-+输出结果2由公式(4.57)可以计算出,采用双迭代法时,每一级旋转迭代后,向量的模值就会变为原来的221iiAN1122i变1/costan212倍,因此缩放因子由原来的ni0为A2N1(122i)。ni0设输入为t,计算正余弦函数时采用改进后的双迭代法的初始向量和初始条件为:22x0.8/A,y0.6/A2n2n1011z22tan22tan2(4.64)tchg(t)297 北京理工大学博士学位论文其中chg(t)表示根据三角函数关系式对输入数据t做角度转换。计算反正余弦时的初始向量和初始条件为:xy0.8,0.6221011z22tan22tan2(4.65)tabs(t)2其中abs(t)表示对输入t求绝对值。对于正余弦运算,向量旋转方向的判定条件是:d1ifz(0),else1(4.66)ii对于反正余弦运算,向量旋转方向的判定条件是:d1ifx(0)(oryt),else1(4.67)iiii正余弦运算和反正余弦运算的迭代结构完全一致,如下式所示:2xx1d2iii1iiyyd21ii1i(4.68)1izz2dtan2i1iittt22ii1ii因此,两种运算可以采用共同的硬件结构来实现,能够有效减少硬件资源占用。经过N级迭代,对于正余弦运算结果,可以通过最后一级迭代输出的x和y经NN过象限恢复得到,如表4.15所示。表4.15正余弦函数输出象限恢复输出输入数据所在象限正余弦值1234cosx-x-xxNNNNsinyy-y-yNNNN对于反正余弦值,可以通过下面的公式求得:1sintsign(t)zasinN(4.69)1costsign(t)zacosN298 北京理工大学博士学位论文多模式CORDIC算法实现硬件结构本文在Xilinx公司的Virtex6系列FPGAXC6VLX240T上使用硬件编程语言VHDL对改进后的算法进行了实现。算法在硬件结构上采用了流水实现的方式,能够实现正余弦函数和反正余弦函数的流水运算和实时切换。为了节省硬件资源,使用定点运算代替浮点,定点运算数据路径位宽和迭代次数可以根据不同的精度需求进行设置。改进后的算法实现结构如图4.17所示。如图4.17所示,算法的实现分为三个模块,预处理模块根据所要实现的函数功能对输入数据进行初始化,设置初始向量的值。N级迭代模块根据设置的迭代级数,对完成算法的向量旋转运算。后处理模块则根据预处理模块传递过来的对应输入数据的象限信息或者数据符号将最后一级迭代输出的数据转换成正余弦值或者反正余弦值,并将结果寄存输出。预处理N级迭代后处理x2x3x3cos-1t/cost向量y2y3yt3初始化n-2输出数据z21stz32nd……zth3象限恢复ndsin-1t/sint输入t2t3mod初始化clkrst控制逻辑控制逻辑控制逻辑rdy图4.17多模式CORDIC算法实现结构框图性能分析(1)仿真波形本文利用Modelsim10.1a仿真工具对VHDL代码进行仿真,迭代次数和数据路径位宽分别为12和20。正余弦运算输入数据由,均匀采样2000点,反正余弦运算输入数据由[-1,1]均匀采样2000点。仿真时,连续输入2000点正余弦运算输入数据和2000点反正余弦输入数据,仿真波形如图4.18所示。由图4.18可以看出,本文提出的多模式CORDIC算法能够正确输出正余弦和反正余弦波形,并且实现正余弦和反正余弦两种运算模式的即时切换。99 北京理工大学博士学位论文图4.18多模式CORDIC算法实现仿真波形(2)运算精度由于该算法是在改进后的双迭代法上进行了功能的扩展,在同样的数据路径位宽和迭代级数下结果精度和上一节中改进的双迭代法完全一致,在此不再另外分析。对于正余弦运算结果精度,在[0,45]范围内均匀取1000个点,用MATLAB生成激励数据。然后对该运算模块进行仿真,并将仿真结果写入数据文件中。最后通过MATLAB将仿真数据读入,与MATLAB的自带的双精度浮点正弦运算的结果进行比较,如图4.19是多模式CORDIC算法的正弦运算结果相对误差分析图。多模式CORDIC算法正弦运算相对误差-310-410-510-610-7相对误差10-810-910-101000.050.10.150.20.250.30.350.40.450.5输入参数(pi)图4.19多模式CORDIC算法正弦运算相对误差由图4.19可以看出,多模式CORDIC算法的正弦运算结果相对误差基本都在10e-7~10e-6左右,和4.3节中优化的正余弦模块精度基本一致,因此该多模式CORDIC算法在工程实现时可以起到替换反正余弦和正余弦两个模块以减少硬件资源占用的功能。(3)资源与速度通过ISE14.3的综合工具XST产生的综合报告,将用来实现反余弦运算的双迭代法、优化的正余弦模块和多模式CORDIC算法的FPGA硬件资源占用以及最高频100 北京理工大学博士学位论文率进行了比较占用情况如表4.16所示。表4.16多模式CORDIC算法与其他方法FPGA综合结果对比FPGA逻辑资源占用最高频率RegistersLUTs双迭代法[117]9111545256.130Mhz多模式10401678233.372MhzCORDIC算法资源增加率14.1%8.6%--由表4.16可以看出,多模式的CORDIC算法比原始的双迭代法多占用14.1%的寄存器和8.6%的查找表,但是改进后的算法能够完成正余弦和反正余弦双模式实时切换。结合表4.6优化的正余弦运算模块资源占用情况可以看出,在正余弦和反正余弦两种函数运算都需要的算法中,多模式的CORDIC算法能够节省大约一半的硬件资源。由于多模式的CORDIC算法在进行旋转方向判定时的条件比双迭代法复杂,因此最高频率略低于前两种方法。4.7本章小结本章对星载SAR成像算法中用到的多种超越运算函数在FPGA上的实现进行了研究。对计算正余弦、反正切函数的传统的CORDIC算法提出了角度覆盖范围、硬件资源、运算精度等方面的优化和改进措施,给出了详细的实现结构,并对实现的结果进行了仿真和综合,将运算结果精度和硬件资源占用情况进行了分析对比,结果表明本文提出的优化和改进措施能够有效减少正余弦、反正切函数在FPGA中实现时的硬件资源占用。对计算反正余弦函数的双迭代结构的CORDIC算法进行了改进,通过修改初始向量的方式减少了两级迭代,修正了原算法计算结果超出反正余弦函数值域的问题,并给出了实现结构。在增加很少硬件资源的情况下用统一的迭代结构实现了多模式的CORDIC算法,这种统一的迭代结构在流水实现时能够进行正余弦函数和反正余弦函数的实时切换,在正余弦、反正余弦函数都需要的算法实现中能够有效减少硬件资源占用,具有很大的实用价值。101 北京理工大学博士学位论文星上SAR实时成像处理系统实现5.1引言为了构建星上SAR实时成像处理系统,本文前几章分别在算法层面、系统层面和底层运算实现层面上对星载SAR成像算法的FPGA实现进行了实时性优化和资源的改进。在算法层面上,针对CS成像算法中影响系统实时性的CS补偿因子计算进行研究和改进,提出了补偿因子区域不变的CS算法,提高星载SAR成像算法处理效率。在系统层面,针对SAR成像处理过程中转置存储器数据访问效率过低的问题,提出了矩阵分块三维映射法和矩阵分块交叉映射法,提高SAR成像处理实时性。在底层运算实现层面,针对CS算法中的多种超越运算占据资源过大的问题,对CORDIC算法进行了研究和改进,减少FPGA硬件资源占用,保证在单片FPGA上实现星载SAR成像算法所有处理流程。本章将利用前几章提出的优化和改进措施,实现星载SAR成像算法全部处理流程在单片FPGA上的映射,并构建星上SAR实时成像处理系统原理样机。该原理样机能够针对某型号星载SAR数据实现全分辨率全实时成像处理,为星上SAR实时成像处理在轨应用奠定了技术基础。本章安排如下:5.2节对星载SAR成像处理算法在FPGA上进行了实现,重点讲述了算法的实现流程、FPGA模块划分以及主要的状态机设计。5.3节利用第2章提出的数据分块并行架构,由多块硬件板卡构建了星上SAR实时成像处理系统原理样机。5.4节对所构建的星上SAR实时成像处理系统的成像结果和实时性进行了评估和比较。5.5节对本章内容进行了总结。5.2SAR成像处理FPGA实现本节描述了在Xilinx的Virtex6系列FPGAXC6VSX315T上完成单节点的SAR成像处理所有流程的实现方式。单节点的处理粒度为16K*16K点单精度浮点数据,总共需要2GB存储空间,FPGA外挂容量为2GB的DDR3SDRAM作为转置存储器。设计思路由于FPGA具有强大的并行处理能力、良好的扩展和互联性能,相比其它类型的102 北京理工大学博士学位论文处理器更适合于在星上处理系统严格的体积、重量、功耗约束下完成处理任务。随着半导体技术的发展,利用单片可编程处理器实现SAR实时成像处理是必然的技术趋势。基于单片FPGA实现星上SAR实时成像处理,能够大大减小系统硬件资源,提高系统实时性,同时降低系统设计复杂度、提升系统可靠性。为了在单片FPGA上实现整个星载SAR成像算法处理流程,需要将算法的各个步骤的运算映射到FPGA中分模块实现。算法映射需要考虑算法处理过程中的运算类型、运算量、数据存储需求、数据输入输出带宽、时间先后顺序等各种因素,选择合适的处理方式。设计思路如下:(1)提高算法并行度FPGA内部有丰富的逻辑资源和较多的硬件乘法器,可以实现大规模的并行运算。为了提高SAR成像处理的实时性,算法实现时需要将不具有时间前后关系、可以同时运算的步骤进行并行设计,缩短整个处理时间。因此,需要对算法实现流程进行重新优化设计,充分利用FPGA内的硬件资源,合理安排处理流程,提高算法并行度。(2)合理的功能模块划分功能模块划分是进行FPGA设计的必要步骤,每个模块都需要占据一定的FPGA硬件资源,在不影响处理实时性的前提下,需要将算法各步骤中不同时执行但具有相同功能的运算用同一个模块实现,减少硬件资源占用。例如,算法中的方位向FFT/IFFT、距离向FFT/IFFT属于同一种运算,星历参数解算、补偿因子计算也会多次用到同一种超越运算,这些功能相同的运算不会同时在算法处理流程中出现,因此可以使用同一功能模块实现,并且不会影响SAR成像处理的实时性。(3)提高IO吞吐效率由于FPGA片内缓存有限,星载SAR成像处理的多个步骤都需要FPGA对转置存储器进行读/写交替访问。因此,FPGA片内存储需要采用乒乓缓存的形式,对同一缓存的数据读写和数据处理不会同时进行。为了保证数据处理进行乒/乓缓存切换时,将要进行处理的乒缓存或乓缓存内数据已经准备好,需要采用矩阵分块三维映射法提高转置存储器的数据访问效率,以保证成像过程每个步骤的流水处理。(4)提高处理能力在转置存储器的数据访问效率足够高的情况下,可以在同一功能模块中采用多个相同的处理单元并行处理的方式,这样能够成倍运算模块提高处理能力,减少单步骤处理时间。103 北京理工大学博士学位论文(5)节约硬件资源为了保证成像质量,星载SAR成像的数据处理和数据存储都是采用单精度浮点格式。单精度浮点运算会消耗大量的FPGA硬件资源,对于算法中的FFT/IFFT和多种超越运算的CORDIC算法实现,都是采用将单精度数据转换成定点数据,内部运算过程采用定点处理,处理后的结果再转成单精度浮点数据的方法,这样能够有效减少硬件资源占用,通过对内部运算的位宽进行控制,处理精度不会造成太大影响,能够保证处理精度在系统指标可接受的范围内。(6)提高实现流程灵活性整个星载SAR成像处理流程的每个步骤都是由FPGA内各个功能模块通过不同形式的组合实现的。星载SAR成像处理流程复杂,系统调试困难,需要对每个步骤进行单步调试。因此,需要专门对状态机进行设计,既能无条件完成整个SAR成像处理流程,又能根据用户指令实现单个步骤的数据写入、处理、数据读出,便于系统调试。算法实现流程为了提高算法处理并行度,缩短处理时间,本文对星载SAR成像算法实现流程进行了优化设计,如图5.1所示。星载SAR成像CS算法实现流程分为主流程和CS补偿因子生成两个部分。(1)主流程主流程为虚线框内部分,总共分为七个步骤,顺序执行。主要运算或数据操作为数据读写、相关运算、FFT/IFFT、和复乘等。主流程中的每一步骤都需要将转置存储器中的原始数据或中间结果读入FPGA进行处理,有的步骤还需要将处理后的数据原位写回转置存储器。其中,第1步和第4步是距离向数据访问,其余为方位向数据访问。(2)CS补偿因子生成虚线框以外部分为CS补偿因子生成部分,主要为星历参数解算、多普勒中心频率(Fdc)估计、多普勒调频斜率(Fdr)估计和CS补偿因子计算。其中,Fdc估计和Fdr估计分别有一部分需要按方位向对数据进行遍历处理,这两个部分需要放到主流程中去完成。CS补偿因子生成部分对计算精度要求高,运算复杂,而且由于每条距离向/方位向数据都要进行因子补偿,CS补偿因子计算的速度也会影响SAR成像处理的实时性。104 北京理工大学博士学位论文原始回波数据星历参数解算①数据解析,存储②Fdc估计CS参数计算③方位向FFT,与CS_1因子相乘CS_1因子④距离向FFT,CS_2因子与CS_2因子相乘,距离向IFFT⑤Fdr估计CS参数计算⑥与CS_3因子相乘,CS_3因子方位向IFFT⑦图像量化图5.1星载SAR成像CS算法实现流程FPGA模块划分结合星载SAR成像算法的实现流程,对FPGA内要实现的代码进行了模块划分,各个功能模块通过不同形式的组合实现不同步骤的运算。为了减少资源占用,模块的划分充分考虑了各个步骤之间相同运算的复用,例如方位向FFT/FFT、距离向FFT/IFFT,这几个步骤都是FFT运算且不会同时进行,因此采用同一个模块进行实现。如图5.2所示为星载SAR成像处理FPGA模块划分。每个模块的功能说明如下:1)MSM:主状态机,实现整个SAR成像流程的控制。主状态机有成像模式和调试模式两种工作模式。成像模式下按顺序执行各个步骤;调试模式下,主状态机根据DEBUG模块的提前写入的控制命令决定由哪个步骤开始和哪个步骤结束,并能通过DEBUG模块获取中间处理结果。2)时钟/复位模块:利用FPGA内置的时钟管理IP核,对输入时钟进行分频、倍105 北京理工大学博士学位论文频产生各种模块所需频率的时钟,并将系统复位信号同步化。3)DDR_CTRL:转置存储控制模块,完成FPGA对外部缓存DDR3SDRAM的数据访问控制。转置存储模块采用本文第三章提出的矩阵分块三维映射法,内置的地址产生器可以根据所要访问数据的逻辑地址自动产生对应在DDR3存储空间内的物理地址,实现SAR成像处理过程中的大规模数据矩阵转置功能,距离向和方位向的数据访问速度均能满足FPGA内的运算单元对数据的需求,保证了SAR成像处理的实时性。对DDR3进行读取时,转置存储控制模块将读取的数据写入乒乓缓存控制模块,向DDR3内存储数据时,转置存储控制模块由乒乓缓存控制模块读取数据并写入DDR3。4)RAM_CTRL:乒乓缓存控制模块,分为乒RAM、乓RAM和两个RAM读写控制模块构成。乒RAM和乓RAM都是由4个64bit位宽16K深度的双口RAM(DPRAM)构成,两个RAM读写控制模块分别控制乒乓RAM的A和B两侧端口。乒乓RAM的A端口负责与转置存储控制模块交互,B端口通过DATA_MUX其他模块交互。5)COMPUTE_CORE:主运算模块,完成SAR成像处理过程中的FFT/IFFT运算、CS因子复乘、Fdc估计中的自相关运算、Fdr估计中的互相关运算等。由乒乓缓存控制模块读取数据,并将处理后的数据写回乒乓缓存控制模块。其中,FFT内部为定点运算,通过首尾的定/浮点转换实现单精度浮点运算。6)CS_FACTOR:CS补偿因子计算模块,分为星历参数解算、Fdc估计、Fdr估计、CS因子计算多个子模块以及CORDIC算法等运算模块。其中,CS补偿因子的计算采用了第三章提出的补偿因子区域不变法,每4条距离向/方位向数据更新一次因子,使补偿因子的运算量成倍减小,保证了COMPUTE_CORE模块内的CS因子复乘能够流水进行,大大减小了系统实时处理的压力。另外,星历参数解算、多普勒参数估计和CS因子计算中都有大量的超越运算,算法中的反正切运算采用了第四章中优化的反正切函数实现,正余弦运算和反正余弦采用多模式CORDIC算法实现,多次用到的同一种超越运算分时共享同一CORDIC运算模块。通过优化的CORDIC算法实现,大大节省了FPGA的硬件资源。7)LVDS_IN:原始数据输入模块,解析包含在原始数据中的星历数据,发送给星历参数解算模块;接收IQ各4bit的SAR原始数据,并转换成64bit单精度106 北京理工大学博士学位论文浮点数据写入乒乓缓存控制模块。8)QUANTIFY:量化输出模块,SAR成像的最后阶段,根据收到的IO板的命令启动量化功能,将SAR成像处理后的64bit单精度浮点数据转化成8bit定点格式的灰度图像并输出。9)DEBUG:调试模块,SAR成像FPGA与上位机交互的接口,在系统调试时使用。DEBUG模块有三种功能,一是上位机可以通过DEBUG模块向MSM主状态机写入命令字控制SAR成像处理的起始步骤和结束步骤;二是能够在选择的起始步骤之前写入相应的测试数据,在结束步骤之后读出中间处理结果至上位机,三是根据主状态机的状态跳转记录SAR成像处理每一步骤的时钟周期。DDR3SDRAMFPGADDR_CTRLCS_FACTORSDRAM控制器星历参数解算CORDIC算法REG_CTL(MIG)REGFdc估计atanRD_CTRLADDR_GENWR_CTRLRAM_CTLFdr估计asin/acosDDR_WORK_STATEDPRAM16K*64bitDPRAMCS补偿因子sin/cos16K*64bit计算RAM_CTRLXUM_APing_RAM:4×16K×64bitTADMSMPang_RAM:4×16K×64bit主状态机COMPUTE_COREDEBUGDDAALFFT_CTLFFT/IFFTTREGTTC时钟AA_CTL___MPDA/复位CDEMUL_CTLCOMPLEX_MULI_RRTFPGAC_CS_TLFIFOTATLADFDC_CTLSELF_CORE回波数据源LVDS_INQUANTIFYSAR图像图5.2星载SAR成像处理FPGA模块划分以上多个模块相互配合,并行工作,共同完成星载SAR成像处理所有流程。其中,转置存储控制模块中采用的转置存储方法和CS补偿因子计算模块中多普勒参数估计、补偿因子计算以及用于因子计算的超越函数的优化实现是本文的研究重点。通过第三章和第四章的研究,解决了星载SAR成像算法在FPGA中实现遇到的实时性107 北京理工大学博士学位论文低、资源占用过大等问题。状态机设计主状态机设计由于SAR成像流程复杂,FPGA编程实现过程中很容易出现编程错误或时序问题,需要逐个步骤进行调试。为了便于系统调试,本文对主状态机进行了专门设计,如图5.3所示。主状态机(MSM)模块是控制整个星载SAR成像处理流程的重要模块,它负责根据算法流程分阶段调度各个功能模块完成相应处理。SAR成像处理有多个步骤,每一个步骤的执行都要靠主状态机的状态来启动,主状态机根据相应模块的反馈信号确定该阶段是否完成,若完成则跳转至下一状态。(1)主状态机总共有13个状态,每个状态定义如表5.1所示。(2)主状态机工作流程MSM总共有13个状态,在系统上电后为IDLE状态,直至系统初始化完成时MSM跳至WAIT状态,等待由DEBUG模块或者LVDS_IN模块的数据流驱动,进行状态跳转,主状态机有两种工作模式:1)调试模式:Debug_msm_mode[15:0]的某几个Bit值为’1’,M_WAIT状态时,如果收到DEBUG模块或者LVDS_IN模块的数据流驱动信号时,状态机则根据寄存器Debug_msm_mode的值执行跳转。调试模式下,可以实现某一个或连续的几个步骤的单独调试。Debug_msm_mode[15:0]的定义如表5.2所示。2)成像模式:Debug_msm_mode[15:0]的所有Bit值为零,收到LVDS_IN模块的数据流驱动信号时MSM依次执行状态STORE~QUANTIFY,最后跳至WAIT状态进入下一轮循环。如表5.2所示,在调试模式下,在进行成像处理之前将Debug_msm_mode的Bit[1]或Bit[2]置为’1’,SAR成像处理过程中要调试的步骤对应的Bit[3]~Bit[8]置为’1’,Bit[9]或Bit[10]置为’1’,寄存器设置完成后,可以利用上位机软件,经过DEBUG模块以距离向或方位向的方式将回波数据或中间处理结果下传并存储至转置存储器,待FPGA执行完相应步骤的处理后,再由DEBUG将处理结果上传至上位机,上传后的结果可以用来与Matlab仿真数据进行结果比对,或者用于Matlab成像处理的其它步骤以判断FPGA处理正确与否。108 北京理工大学博士学位论文表5.1主状态机各个状态定义序号状态名定义1IDLE空闲状态,上电后初始化之前的状态2WAIT等待状态,系统完成初始化之后的状态3STORE原始数据存储阶段,由LVDS_IN模块输入距离向数据4FDCFDC估计阶段,由DDR读出方位向数据做自相关运算CS1阶段,由DDR读出方位向数据,做方位向FFT、与CS5CS1补偿因子复乘,并将结果写回DDRCS2阶段,由DDR读出距离向数据,做距离向FFT、与距离6CS2补偿因子复乘、距离向IFFT,并将结果写回DDRFDR估计阶段,由DDR读出方位向数据,完成频移相关运算,7FDR并作IFFTCS3阶段,由DDR读出方位向数据,与方位补偿因子复乘、8CS3做方位向IFFT,并将结果写回DDR9QUANTIFY量化输出阶段,将SAR成像结果量化输出为灰度图像中间结果距离向读取状态,按距离向将成像处理中间结果读10DEBUG_RD_R取并存储至上位机中间结果方位向读取状态,按方位向将成像处理中间结果读11DEBUG_RD_A取并存储至上位机中间结果距离向读取写入状态,按距离向将原始数据或成像12DEBUG_WR_R处理中间结果由上位机写入至DDR中间结果方位向读取写入状态,按方位向将原始数据或成像13DEBUG_WR_A处理中间结果由上位机写入至DDR表5.2Debug_msm_mode[15:0]寄存器定义Debug_msm_mode定义说明3选1,分别对应STORE、必选,有且只能有一个Bit置Bit[0]~Bit[2]DEBUG_WRITE_R、为’1’,表示该Bit对应的状态需DEBUG_WRITE_W三个状态要执行可选,原则是几个置为‘1’的Bit分别对应FDC、CS1、CS2、FDR、Bit[3]~Bit[8]位必须是相邻的,即需要执行的CS3、QUANTIFY等6个状态几个步骤必须是连续的2选1,分别对应必选,有且只能有一个Bit置Bit[9]、Bit[10]DEBUG_WRITE_R、为’1’,表示该Bit对应的状态需DEBUG_WRITE_W两个状态要执行Bit[11]~Bit[15]保留109 北京理工大学博士学位论文IDLEPhy_init_doneelseWAITReg[15:0]=X”0000”Reg[2]=’1’Reg[1]=’1’OrReg[0]=’1’DEBUG_DEBUG_elseSTOREWR_AWR_RReg[15:0]=X”0000”OrReg[3]=’1’Reg[3]=’1’elseFDCelseReg[15:0]=X”0000”OrReg[4]=’1’Reg[4]=’1’elseCS1elseReg[15:0]=X”0000”OrReg[5]=’1’Reg[5]=’1’elseCS2elseReg[15:0]=X”0000”OrReg[6]=’1’Reg[6]=’1’elseFDRelseReg[15:0]=X”0000”OrReg[7]=’1’Reg[7]=’1’elseCS3elseReg[15:0]=X”0000”OrReg[8]=’1’Reg[8]=’1’DEBUG_DEBUG_QUATFYRD_RRD_AelseReg[9]=’1’Reg[10]=’1’elseelse图5.3主状态机流程图110 北京理工大学博士学位论文转置存储控制设计SAR成像处理过程中,每个步骤都需要通过DDR_CTRL模块对转置存储器进行访问,DDR_CTRL对转置存储器的访问方向总共有两种,距离向和方位向。每种方向的访问都会有只读、只写和读写交替进行三种情况。其中,只读方式用于FDC、FDR计算或者调试过程中要把中间结果数据发送出去的情况,只写方式用于原始数据存储,读写交替进行方式用于中间处理过程中需要将处理后的数据再原位存回转置存储器的情况。表5.3所示是SAR成像各处理步骤的数据访问方式。表5.3SAR成像各处理步骤数据访问方式访问方向读写方式步骤距离向(R)方位向(A)只读(RO)只写(WO)读写交替(RW)STORE√√FDC√√CS1√√CS2√√FDR√√CS3√√QUANTIFY√√DEBUG_RD_R√√DEBUG_RD_A√√DEBUG_WR_R√√DEBUG_WR_A√√由于每个步骤的数据访问的组合方式不同,这导致转置存储器的访问控制非常复杂。因此,除了需要利用矩阵三维映射法的地址映射公式简化地址跳变复杂度外,还需状态机对转置存储的读写方式进行专门控制。如图5.4所示为转置存储控制状态机DDR_WORK_STATE的设计流程图。由于FPGA内部缓存有限,SAR成像处理过程中每次对转置存储器的读写只能搬移4条16K点的距离向或方位向数据。因此,在SAR成像处理过程的每个步骤中,即主状态机每个状态下,转置存储控制状态机需要完成4K次读/写状态的转换才能将全部16K×16K点数据处理完成。(1)转置存储控制状态机总共有7个状态,每个状态定义如表5.4所示。(2)转置存储控制状态机工作流程1)主状态机每个状态跳转后,处于IDLE状态的转置存储控制状态机根据主状态111 北京理工大学博士学位论文机状态判断该状态下需要进行距离向还是方位向数据访问,然后跳入RANGE_INIT或AZIMUTH_INIT状态。2)RANGE_INIT或AZIMUTH_INIT状态下,根据主状态机状态判断访问方式是只读、只写还是读写交替,然后进入数据读或写状态。3)读或写状态下完成一次4K条16K点数据的搬移并进行一次状态计数,然后根据计数器判断是否完成全部4K次数据的搬移,如果没有完成则继续跳入数据读或写状态,如果完成则跳入IDLE状态,等待下一次主状态机的跳转。AZIMUTHRANGE_INIT_INITRO或RWRANGEAZIMUTHRO或RWWOStartStartWOAZIMUTHOthersRANGE_RDRO最后一次读IDLERO最后一次读Others_RDRW非第一次读最后1次写最后1次写RW非第一次读RW并且不是最后二次写RW并且不是最后二次写AZIMUTHRANGE_WR_WROthersOthers距离向数据访问方位向数据访问读/写模式:只读(RO)、只写(WO)、读写交替(RW)三种方式图5.4转置存储控制状态机流程图表5.4转置存储控制状态机各个状态定义序号状态名定义1IDLE空闲状态,每4K次的读/写完成后跳转到空闲状态。距离向访问初始化,一个周期后自动跳转至RANGE_RD或2RANGE_INITRANGE_WR状态。距离向读,从DDR读取4条16K点距离向数据至FPGA内部3RANGE_RD缓存。距离向写,将FPGA内部缓存的4K条16K点距离向数据写4RANGE_WR回至DDR。112 北京理工大学博士学位论文方位向访问初始化,一个周期后自动跳转至AZIMUTH_RD5AZIMUTH_INIT或AZIMUTH_WR状态。方位向读,从DDR读取4K条16K点方位向数据至FPGA内6AZIMUTH_RD部缓存。方位向写,将FPGA内部缓存的4K条16K点方位向数据写7AZIMUTH_WR回至DDR。5.3系统实现系统构成本文采用第2章提出的数据分块并行处理架构构建了星上SAR实时成像处理系统,除了SAR成像处理外,该系统还集成了溢油、水域检测功能。该星上SAR实时成像处理系统架构如图5.5所示。回波模拟SAR图像接收数据源与显示设备系统主IO接口板输入节点输出节点控节点原始数据分发总线SAR图像汇总总线监控SAR成像处理板0成像节点0成像节点1单元原始回波数据监控SAR成像处理板1成像节点2成像节点3单元SAR图像数据监控总线IO接口板SAR成像处理板_0监控检测板检测节点0检测节点1SAR成像处理板_1单元……CPCI总线检测板CPU板上位机软件CPCICPU板图5.5星上SAR实时成像处理系统架构如图5.5所示,星上SAR实时成像处理系统由IO接口板、SAR成像处理板、检测板、CPU板等构成。(1)SAR成像处理板SAR成像处理板为整个星上SAR实时成像处理系统的核心,采用CPCI6U板型,每个板卡有两个成像节点,包括处理单元、存储单元两个部分;另外,板卡上还有一个监控单元,实现对两个成像节点的监控功能。如图5.6(a)所示。1)处理单元:由一片Virtex6FPGAXC6VSX315T实现,完成SAR成像处理所113 北京理工大学博士学位论文有流程。2)存储单元:由一组2GBDDR3SDRAM组成,作为SAR成像处理的转置存储器,存储原始数据和中间处理结果。3)监控单元:由一片Virtex5FPGAXC5VLX30T实现,有两部分功能,一是负责连接处理FPGA和上位机,在调试模式下使用;二是验证星载系统中反熔丝FPGA的功能,作为监控模块实时监控处理FPGA的状态,对处理FPGA内的Bit文件进行回读校验和动态重配置。(2)IO接口板IO接口板负责星上SAR实时成像处理系统的对外连接和系统控制功能,采用和SAR成像处理板相同的板型。主要由三部分功能单元组成:输入节点、输出节点、系统主控节点,如图5.6(b)所示。1)输入节点:由一片Virtex6FPGAXC6VLX240T及LVDS输入接口组成,完成星上SAR实时成像处理系统架构中的粒度分发与预处理节点的功能。通过LVDS输入接口接收数据源发送的原始回波数据,按照帧格式进行解析,并向各个SAR成像处理节点分发单个粒度的数据。2)输出节点:由一片Virtex6FPGAXC6VLX240T及LVDS输出接口组成,完成星上SAR实时成像处理系统架构中的图像输出节点的功能。负责接收各个SAR成像处理节点处理后的SAR图像并将SAR图像发送至SAR图像接收与显示设备。3)系统主控节点:由一片Virtex5FPGAXC5VLX30T实现,负责与各个板卡的监控单元通信,监测、控制各个节点的状态信息,完成星上SAR实时成像处理系统架构中系统监测和系统控制单元的功能。(3)检测板检测板负责星上SAR实时成像处理系统的溢油和水域检测功能,采用CPCI6U板型,由板卡上的两个Zynq7000子板完成检测功能,如图5.6(c)所示。(4)主机板主机板为研华CompactPCI单板计算机,调试模式下作为上位机使用。通过CPCI接口与SAR成像处理板连接,通过上位机软件可以向SAR处理板发送调试指令或下传数据,并将处理后的结果数据上传。如图5.6(d)所示。以上各板卡的功能节点之间通过多种总线互连,共同组成星上SAR实时成像处114 北京理工大学博士学位论文理系统。1)原始数据分发总线:由输入节点向各个成像节点分发原始回波数据,每个节点接收单个粒度的数据进行成像处理,相邻两个节点接收的数据粒度有一个孔径的重叠。2)SAR图像汇总总线:各个成像节点按时间顺序依次把处理后的SAR图像通过共享的总线发送给输出节点和检测节点,同时检测节点也可以通过该总线将目标标记信息发送给输出节点。3)监控总线:系统主控节点通过监控总线对其它各节点的状态进行监测和控制。4)CPCI总线:在系统调试过程中,CPU板通过CPCI接口由上位机软件与各个板卡进行数据交互。(a)SAR成像处理板(b)IO接口板(c)检测板(d)CPU板图5.6星上SAR实时成像处理系统各硬件板卡实物图系统原理样机如图5.7所示,星上SAR实时成像处理系统原理样机由以下部分组成:1)6U、7槽位的CPCI定制机箱;2)1块IO接口板;115 北京理工大学博士学位论文3)2块SAR成像处理板,最多支持4块;4)1块检测板;5)1块CPU板。图5.7星上SAR实时成像处理系统原理样机实物图另外,为了配合该星上SAR实时成像处理系统原理样机工作,还需要外接SAR回波模拟数据源和SAR图像接收与显示设备。以下是星上SAR实时成像处理系统原理样机插入在2块SAR成像处理板下的系统指标:1)处理能力:>100GFLOPS2)存储能力:32GB(可扩展)3)体积:32cm×24cm×20cm4)重量:<10Kg5)功耗:<80W5.4实验结果本文利用多种场景下的星载SAR数据对该星上SAR实时成像处理系统原理样机进行了功能和性能测试,并对单节点成像处理时间进行了计算。成像结果本文利用分别利用点目标和面目标原始回波数据对这两种星上SAR成像系统进行了测试,并对点目标成像的峰值旁瓣比也积分旁瓣比进行了评估。点目标成像结果如图5.8所示。116 北京理工大学博士学位论文(a)单FPGA点目标成像结果(b)FPGA+DSP点目标成像结果图5.8点目标成像结果评估结果如表5.5所示。表5.5点目标成像质量评估(单位:dB)方向指标FPGAFPGA+DSP峰值旁瓣比-20.26-21.82距离向积分旁瓣比-30.28-31.13峰值旁瓣比-21.48-21.70方位向积分旁瓣比-29.37-29.58由图5.8所显示的点目标图像和表5.5所列的点目标质量评估结果可知,两种成像方式均能够准确对点目标进行成像,并且成像质量没有明显的区别。表5.5中的峰值旁瓣比和积分旁瓣比远远优于表3.1中的结果,这是由于在因子计算过程中进行了加窗处理。两种情况下的的星上SAR成像处理系统对面目标进行正确成像,成像结果如图5.9所示。(a)单FPGA成像结果(b)FPGA+DSP成像结果图5.9面目标成像结果117 北京理工大学博士学位论文由以上分析可知,单FPGA成像和FPGA+DSP成像结果并没有明显区别,这是由于FPGA内的数据处理同样采用了单精度浮点处理方式。以上为单个SAR程序节点的点目标和面目标成像结果。另外,该系统还能够通过检测节点对生成的SAR图像进行溢油、水域检测,如图5.10所示为该系统对海面溢油区域进行SAR成像并完成检测的结果。(a)SAR图像(b)溢油检测标记图5.10SAR图像海面溢油检测实时性分析由SAR回波模拟数据源回放原始回波数据,单个处理粒度的数据为16K×16K点,数据回放时间5.39s,SAR成像处理板上FPGA主要模块处理频率为100MHz。通过在线逻辑分析仪ChipscopePro所记录的每个步骤执行的周期数对各步骤的处理时间进行了计算。本文用同样的方法对没有采用本文提出的矩阵分块三维映射法和补偿因子区域不变法的SAR成像处理FPGA实现进行了处理时间计算,并与本文采用了多种实时性优化后的的处理时间进行了对比,如表5.6所示。表5.6中,Case1没有采用任何实时性优化方法,Case2采用了矩阵分块三维映射法提高了SAR成像处理过程中的转置存储器的数据访问效率,Case3采用了补偿因子区域不变法解决了CS补偿因子计算实时性不足的问题,Case4同时采用了矩阵分块三维映射法和补偿因子区域不变法对SAR成像处理进行了实时性优化。由表5.6中的单步骤处理时间可以看出,Case2中的Fdc估计、Fdr估计和量化输出三个步骤的处理时间远远小于Case1中相应步骤的处理时间。这是由于Fdc估计118 北京理工大学博士学位论文中的自相关运算、Fdr估计中频移相关运算和量化输出都是基于数据流的流水运算,而Case2采用了矩阵分块线性映射法,能够为这三个步骤的流水运算提供足够高的数据访问效率,每个步骤的处理时间约等于数据访问时间。Case3的CS1、CS2、CS3三个步骤的处理时间略小于Case1中相应步骤的处理时间。这是由于Case3采用了补偿因子区域不变法,能够避免补偿因子计算时间过长带来的实时性不足的问题。然而由于这三个步骤的处理过程中,从转置存储器中读出的数据经过处理后还需要写回转置存储器,存储器访问效率成为影响实时性的瓶颈,因此即使Case3采用了补偿因子区域不变法,这三个步骤的处理时间也没有明显减小。由于Case4同时采用矩阵分块映射法和补偿因子区域不变法两种实时性优化措施,除了数据积累时间不可改变外,其余每个步骤的处理时间都远小于Case1中相应步骤的处理时间。由表5.6中的各种情况下实时成像所需的节点数可以看出,没有采用任何实时性优化措施的Case1需要6个SAR成像处理节点才能完成原始回波数据的实时成像,只采用一种实时性优化措施的Case2和Case3需要5个SAR成像处理节点,而同时采用了两种优化措施的Case4只需要3个SAR成像处理节点。SAR成像处理节点的数量直接决定了系统的体积、重量、功耗,因此,单节点SAR成像处理的实时性的增加能够有效减小系统规模。表5.6单节点SAR成像处理时间对比(单位:s)步骤Case1Case2Case3Case4是否采用补偿因子区域不变法否否是是是否采用矩阵分块三维映射法否是否是①数据积累5.395.395.395.39②Fdc估计2.561.342.561.34③CS15.305.303.211.84④CS25.725.724.623.05⑤Fdr估计2.571.362.571.36⑥CS35.315.313.201.84⑦量化输出2.561.342.561.34数据处理时间*24.0220.3718.7210.77总时间29.4125.7624.1116.16实时成像所需节点数6553*表中的数据处理时间不包括数据积累时间另外,本文在同样的原始数据率下对FPGA+DSP并行异构的处理方式和4片DSP119 北京理工大学博士学位论文并行处理的方式进行了测试和系统规模估计。DSP为ADI公司的TS101,主频为300Mhz,其它条件不变,与本文结果对比如表5.3所示。表5.7三种不同的处理方式系统规模比较处理芯片FPGAFPGA+DSP[86]DSP×4单节点成像时间16.16s30s40s实时成像所需节点数量368实时成像所需板卡数量234需要存储容量8GB12GB16GB成像板卡功耗30w40w40wIO板功耗18w18w18w整机体积32cm×24cm×12cm32cm×24cm×16cm32cm×24cm×18cm整机重量8kg10kg12kg整机功耗78w138w178w如表5.7所示,相比FPGA+DSP并行异构的处理方式和4片DSP并行处理的方式,本文单FPGA实现的星上SAR实时成像处理系统具有更短的单节点处理时间和更低的单板功耗,系统达到实时处理所需的板卡数更少,因此具有更小的系统体积、重量、功耗。由上面的分析可以得出结论,本文提出的矩阵分块三维映射法和补偿因子区域不变法在提高SAR成像处理过程中的数据访问效率的同时减少了补偿因子计算的时间。这两种实时性优化方法共同作用,能够有效提高SAR成像处理的实时性,减小系统规模,在体积、重量、功耗的严格约束下保证星上SAR实时成像处理系统的顺利实现。5.5本章小结本章研究了星上SAR实时成像处理系统的实现,主要内容和结论如下:SAR成像处理FPGA实现。综合各章节内容和提出的优化方法,解决了星载SAR成像算法实现中的各种问题,并给出了主状态机和转置存储控制状态机设计方法,在单片FPGA上实现了星载SAR成像所有处理流程。构建了星上SAR实时成像处理系统原理样机。根据第3章提出的系统架构,由IO接口板、SAR成像处理板、检测板、CPU板等硬件板卡构建了星上SAR实时成像处理系统原理样机,各硬件板卡通过多种总线相连,共同完成星上SAR实时成像处理功能。120 北京理工大学博士学位论文对星上SAR实时成像处理系统的成像结果和单节点处理时间进行了分析和比较。分析结果表明,本文采用的实时性优化方法能够有效降低星上SAR实时成像处理系统的规模,且成像结果可以满足应用需求。121 北京理工大学博士学位论文总结与展望星载SAR具有全天时、全天候的工作能力,不会受到恶劣天气和光照强度的影响,因此被广泛的用于地球遥感、军事侦察、资源勘探、环境保护、农作物估产、自然灾害监测等诸多国防和国民经济的重要领域。星载SAR技术的快速发展推动着星上实时信息处理技术的不断进步,如果在星上构建SAR实时处理系统,在轨完成SAR实时成像,实现无效数据剔除,将会大大减少数据量、降低星地数传压力,从而有效提高信息获取的时效性和载荷利用率。本文结合笔者在星载SAR实时处理领域的科研工作,分别从星载SAR处理算法、高效转置存储方法等方面对星上SAR成像处理的实时性进行了深入挖掘,并对星载SAR成像算法中多种超越运算在FPGA中的实现进行了资源优化,在单片FPGA上实现了星载SAR成像算法所有处理流程,并构建了星上SAR实时成像处理系统原理样机。论文主要工作及创新成果总结如下:(1)研究了星载SAR成像处理算法的实时性改进,提出了一种补偿因子区域不变的CS算法。针对星载SAR成像,对多普勒参数估计算法进行研究和优化,选择了适合在FPGA内实现的多普勒中心频率估计算法和多普勒调频斜率估计算法并给出了优化后的实现流程,进而研究了相位补偿因子对CS成像处理算法的实时性影响,提出了一种补偿因子区域不变的CS成像算法,该方法在保证成像质量的损失在系统可接受范围的条件下,能够有效减小补偿因子的计算量,提高SAR成像处理的实时性。(2)研究了转置存储器数据访问效率对SAR成像处理实时性的影响,提出了高效的SAR成像矩阵转置存储方法。转置存储器的数据访问效率是影响星载SAR成像处理实时性的关键因素,本文针对不同的需求提出了两种高效的SAR成像矩阵转置存储方法——矩阵分块三维映射法和矩阵分块交叉映射法,通过有效利用转置存储器的时序特性消除频繁跨行访问带来的效率损失,使用这两种转置存储方法,距离向和方位向数据访问效率都能达到90%以上,能够有效提高SAR成像处理的实时性,减小系统规模。(3)针对星载SAR成像算法中的超越运算,对CORDIC算法提出多种优化措施,提出了多模式CORDIC算法。122 北京理工大学博士学位论文分别对计算正余弦、反正切的CORDIC算法进行了角度覆盖范围的扩展、硬件资源的缩减等方面的优化和改进。通过对双迭代法进行资源的优化和误差的纠正实现了反正余弦函数运算,进而通过修改向量旋转判定条件实现了多模式CORDIC算法,能够实现正余弦和反正余弦函数运算的实时切换,在星载SAR成像算法实现中有效减少FPGA硬件资源占用。(4)构建了星上SAR实时成像处理系统原理样机。结合各章实时性改进和资源优化措施,对星载SAR成像算法实现流程进行并行优化,并结合优化后的算法实现流程进行FPGA功能模块划分和状态机设计,分步骤利用多个模块的不同组合在单片FPGA上实现了星载SAR成像算法所有处理流程,进而构建了以FPGA为核心处理器的星上SAR实时成像处理系统原理样机。本研究以构建星上SAR实时成像处理系统为目的,对星载SAR成像算法实时性优化、高效转置存储方法、超越函数的优化实现等做了研究。但是星上实时处理技术非常复杂,因此仍有许多研究工作需要展开,其中包括:(1)星上SAR成像处理专用集成电路(ASIC)研究。(2)多模式一体化SAR成像处理系统研究。(3)星上实时处理系统可靠性研究。在今后的科研工作中,笔者将结合已经取得的研究成果,针对上述问题作进一步的探索,对星上SAR实时成像处理系统进行更加全面、细致的研究。123 北京理工大学博士学位论文参考文献[1]张澄波.综合孔径雷达原理-系统分析与应用[M].北京:科学出版社,1989.[2]魏钟铨.合成孔径雷达卫星[M].北京:科学出版社,2001.2.[3]刘永坦.雷达成像技术[M].哈尔滨:哈尔滨工业大学出版社,1999.[4]保铮,邢孟道,王彤.雷达成像技术[M].北京:电子工业出版社,2006.[5]GonzalezF.I.Beal,R.C.Brown,W.E.Jr.Deleonibus.SEASATSyntheticapertureradar:Oceanwavedetectioncapabilities.Science,Vol.204,1979.[6]G.Buchossois.OverviewandstatusoftheERS-1Programme.Proc.ofIGARSS’86Symp,Zurich,8-11,1986.[7]郭华东.雷达对地观测理论与应用[M].北京:科学出版社,2000.12.[8]JohnC.Curlander.合成孔径雷达-系统与信号处理[M].北京:电子工业出版社,2006.[9]刘志刚,张伟,陈振.星载合成孔径雷达技术进展与趋势分析[J].国家安全地球物理丛书(七)——地球物理与核探测,2011.[10]吴一戎,朱敏慧.合成孔径雷达技术的发展现状与趋势[J].遥感技术与应用,2000,15(2):121-124.[11]WilliamMBrown.SyntheticApertureRadar[J].IEEETransAerospElectron,1967,Syst.Vol.AES-3,No.2.[12]D.A.AushermanAdamKozma,JackL,WalkerandHarrisonMJones.DevelopmentsinRadarImaging[J].IEEETransAerospElectron,1984,Syst.Vol.AES-20,No.4:363-400.[13]G.Franceschetti,R.Lanari,E.S.Marzouk.EfficientandHighPrecisionSpace-VariantProcessingofSARData[J].IEEETransactionsonAerospaceandElectronicSystem,JANUARY1995,Vol.18,No.1:227-237.[14]C.Elachi,J.BicknellRolando,L.JordanandChailinWu.SpaceborneSyntheticApertureImagingRadar[J].Application,TechniqueandTechnology,Proc.IEEE,1982,Vol.70,No.10.[15]C.Heer,etal.AnoutlookforEuropeanSpaceborneSAR[J].Proc.IGARSS97,1997:p1990-93.[16]E.Velten,C.Heer.FutureOperationalSpaceborneSARSystemConsiderations[J].Proc.IGARSS97,1997:p1993-95.[17]R.Zahn,etal.X-BandSARDemonstratorDevelopment[J].Proc.IGARSS97,1997:p1935-37.124 北京理工大学博士学位论文[18]李飞.世界星载SAR发展综述[DB/OL].(2006-12)http://wenku.baidu.com.[19]高昆,刘迎辉,倪国强,等.光学遥感图像星上实时处理技术的研究[J].航天返回与遥感,2008,29(1):50-54.[20]张睿,李智.美国作战快速响应太空计划中的卫星发展近况[J].国际太空,2010(1):24-26.[21]王峰,郭金生,李晖.商用现货器件在卫星中的应用[J].航天器工程,2013,22(4):87-94.[22]张召才.国外商用现货技术在空间任务中的发展与应用[J].卫星应用,2015(1):54-57.[23]Fang,W.C.,M.Y.Jin.OnboardprocessordevelopmentforNASA'sspaceborneimagingradarwithVLSIsystem-on-chiptechnology[C].Proceedingsofthe2004InternationalSymposiumonCircuitsandSystems(ISCAS'04),2004,2:II-901-4.[24]边明明,李盛林,岳荣刚.星载SAR在轨成像实时处理算法研究[J].航天器工程,2013,22(6):97-103.[25]王虹现.机载合成孔径雷达成像算法及实时处理研究[D].西安:西安电子科技大学,2004.[26]谢宜壮,朱柏承,汪精华.星载SAR实时成像处理系统结构设计[J].兵工学报,2010(S2):33-37.[27]ChialinWu,K.Y.LIU,MichealJin.ModelingandaCorrelationAlgorithmforSpaceborneSARSignals[J].IEEETransactionsonAerospaceandElectronicSystem,1982,Vol.AES-18,No.5.9.[28]李眈.高分辨率雷达信号处理的理论与实现[D].北京:北京理工大学,2001.[29]MichaelY.Jin,ChialinWU.ASARCorrelationAlgorithmwhichAccommodatesLarge-RangeMigration[J].IEEETransactionsonGeoscienceandRemoteSensing,1984,Vol.GE-22,No.6,November,p592-597.[30]臧铁飞.合成孔径雷达成像算法及硬件实现[D].北京:北京理工大学,2003.[31]黄永红.星载合成孔径雷达成像处理与运动补偿[D].北京:北京航空航天大学,1992.[32]皮亦鸣,杨建宇,付毓生,等.合成孔径雷达成像原理[M].成都:电子科技大学出版社,2007.[33]SergioBarbarossa,AlronsoFarina.Space-Time_FrequencyProcessingofSyntheticApertureRadarSignals[J].IEEETransactionsonAerospaceandElectronicSystems,1994,AES-18(2):563-574.[34]R.K.Raney.ProcessingSyntheticApertureRadarData[J].INT.J.RemoteSensing,1982,Vol.3,No.3:p243-257.[35]蒋辉.合成孔径雷达数字成像技术及应用算法设计[D].北京:中国科学院电子学研究所,1995.125 北京理工大学博士学位论文[36]李春生,李景文,周荫清.星载合成孔径雷达成像处理[J].电子学报,1991,19(1):20-24.[37]李春生,李景文,周荫清.星载SAR数字成像处理的实现方法[J].电子学报,1993,21(9):55-58.[38]张卫杰,金烨,龙腾.星载合成孔径雷达成像斜地校正算法研究[J].北京理工大学学报,2004,24(011):990-993.[39]李眈.高分辨率雷达信号处理的理论与实现[D].北京:北京理工大学,2001.[40]何岷,周荫清,陈杰,等.基于星载平台的SAR实时成像处理实现方法[J].宇航学报,2006,27(5):892-896.[41]Cafforio,C.Prati,C.andRocca,F.SARdatafocusingusingseismicmigrationtechniques[J].IEEETransactionsonAerospaceandElectronicSystems,1991,27(2):194-206.[42]J.R.Bennett.TheDigitalProcessingofSeasatSyntheticApertureRadarData.IEEEInternationalRadarConference,ArlingtonVa,April28,1980:168~175[43]王梦云.合成孔径雷达多普勒参数研究与设计实现[D].北京:北京理工大学,2014.[44]E.A.Herland.SeasatSARProcessingattheNorwegianDefenceResearchEstablishment.ProceedingsofanEARSeL-ESASymp.Norway,1981:247~253[45]R.N.McDonough,B.E.Raff,J.L.Kerr.ImageFormationfromSpaceborneSyntheticApertureRadarSignals.JohnsHopkinsAPLTechnicalDigest,1985,6(4):300~312[46]F.Li,D.N.Held,etal.DopplerparameterestimationforSpaceborneSyntheticApertureRadars.IEEETransactionsonGeoscienceandRemoteSensing.1985,GE-23(1):47~55[47]J.C.Curlander,C.WuandA.Pang.AutomatedPreprocessingofSpaceborneSARData.IGARSS'82,Munich,WGer,1982,2:1~6[48]M.Y.Jin.OptimalDopplerCentroidEstimationforSARDatafromaQuasi-homogeneousSource.IEEETransactionsonGeoscienceandRemoteSensing.1986,24(6):1022~1027[49]S.N.Madsen.EstimatingtheDopplerCentroidofSARData.IEEETransactionsonAerospaceandElectronicSystems.1992,v(n):134~140.[50]Mancill.C.E,Swiger.J.N.AmapdriftautofocustechniqueforcorrectinghigherorderSARphaseerrors[J],Proc.Tri-serviceRadarSympMonterey,1981,391[51]G.N.Yoji,PhaseDifferenceAutoFocusingforSyntheticApertureRadarImaging,UnitedStatesPatentNo.4,999,635,Mar.12,1991[52]A.Moreira,ImprovedMultilookTeehniquesAppliedtoSARandSCANSARImagery,IEEE126 北京理工大学博士学位论文TransaetionsonGeoseieneeandRemoteSensing,1991,29(4):529-534.[53]P.H.Eiehel,C.V.Jakowatz.Jr.PhaseGradientAlgorithmasAnOptimalEstimatorofthePhaseDerivative,optiesLetters,1989,14(20):1101-1103.[54]邱晓晖,HengWangChengAlice,YeoSiewYam等.ISAR成像快速最小熵相位补偿方法[J].电子与信息学报,2004,26(10):1656-1660.[55]J.Dall.ANewFrequencyDomainAutofocusAlgorithmforSAR[J].ProceedingsofIGARSS,1991,1069-1072.[56]武昕伟,朱兆达.利用对比度最大化实现SAR图像自聚焦[J].现代雷达,2002,24(3):20-22.[57]姚萍.高分辨率SAR成像及SAR实时成像处理系统研究[D].中国科学院电子学研究所,2003.[58]高许岗,苏卫民,顾红等.一种基于最小熵准则的新的自聚焦优化算法[J].兵工学报,2010,31(12):1659-1662.[59]谭覃燕,宋耀良.一种自聚焦的弹载SAR成像方法[J].南京理工大学学报(自然科学版),2009,33(5):663-667.[60]张新,吴一戎,丁赤飚等.一种改进的SAC自聚焦算法[J].现代雷达,2006,28(3):44-46,50.[61]解培中.合成孔径雷达位移和相关法自聚焦的研究[D].南京电子工程研究中心,1995.[62]韦立登,吴一戎,向茂生等.一种实用的合成孔径雷达自聚焦算法[J].电子与信息学报,2005,27(9):1370-1374.[63]钟睿,毛士艺.一种改进的PGA最大似然相位估计法[J].航空学报,2003,24(6):537-540.[64]邓云凯,王宇,杨贤林等.基于对比度最优准则的自聚焦优化算法研究[J].电子学报,2006,34(9):1742-1744.[65]吴一戎,胡东辉,彭海良.ChirpScalingSAR成像算法及其实现[J].电子科学学刊,1995,17(3):256-260.[66]刘月花,荆麟角.对比度最优自聚焦算法[J].电子与信息学报,2003,25(1):24-30.[67]肖靖,胡学成,章宏等.基于最小熵的斜视SAR多普勒调频斜率估计[J].现代雷达,2013,35(1):46-48,54.[68]陈皓.基于FPGA+DSP的斜视SAR实时处理技术[D].西安电子科技大学,2012.[69]陈亮,龙腾.星载合成孔径雷达实时快视成像系统[J].北京理工大学学报,2008,28(6):545-548.[70]原涛.弹载SAR实时成像信号处理机设计[D].西安电子科技大学,2013.[71]Wai-ChiFangandMichaelY.Jin.OnBoardProcessorDevelopmentForNasa’sSpaceboneImagingRadarwithVLSISystem-On-ChipTechnology[J].JetPropulsionLaboratory,California127 北京理工大学博士学位论文InstituteofTechnology,IEEE,2004:pp901-904.[72]MartinSuess,ChristophSchaeferandRolfZahn.TheTechnologyDevelopmentofaSpaceborneOn-BoardSAR-ProcessorandStorageDemonstrator.DornierSatelliteSystems,EuropeanSpaceAgency(2000),p.557.[73]WuChialin,LiuKY,JinMichael.ModelingandaCorrelationAlgorithmforSpaceborneSARSignals[J].IEEETransactionsonAerospaceandElectronicSystems,1982,AES-18(5):563-575.[74]RaneyRK,RungeH,BamlerR,PrecisionSARprocessingusingchirpscaling[J].IEEETransactionsonGeoscienceandRemoteSensing,1994,32(4):786-799.[75]DingZegang,LongTeng,ZengTao.HighlySquintAirborneSARReal-timeImaging[C],IEEERadarConference,2006:1030-1033.[76]LvShouye,LongTeng.StudyontheAirborneSARReal-timeImagingSystem[C],IEEEInternationalConferenceonSignalProcessing,ICSP,2004:2163-2166.[77]周荫清,何岷,李春生,等.基于星上实时信号处理机的ChirpScaling算法实现方法[J].北京航空航天大学学报,2005,31(2):142-147.[78]WangLiang,WangJian,HuangXiaotao.Researchonphasecompensatingfactorsinchirpscalingalgorithm[J].JournalofElectronicsandInformationTechnology,2007,29(1):6-11.[79]闫雯,陈禾,谢宜壮,刘小宁.一种补偿因子区域不变的CS成像算法[J].北京理工大学学报.2014,34(3):304-309.[80]CummingIG,WongFH.Digitalprocessingofsyntheticapertureradardata[M].AlgorithmsandImplementation,PublishingHouseofElectronicsIndustry,Beijing,2007.[81]石长振,王贞松.基于ChirpScaling算法的相位补偿优化[J].计算机工程,2011,37(24):239-244.[82]JohnC.Curlander,Syntheticapertureradar:systemsandsignalprocessing[M].PublishingHouseofElectronicsIndustry,2006.[83]焦李成,张向荣,侯彪.智能SAR图像处理与解译[M].北京:科学出版社,2008.[84]HarryF.Jordan,GitaAlaghband.并行处理基本原理[M].北京:清华大学出版社,2004.[85]谢宜壮.星上SAR实时成像处理体系架构与实现研究[D].北京:北京理工大学,2009.[86]边明明.星上合成孔径雷达实时处理技术研究[D].北京:北京理工大学,2012.[87]JohnL.Hennessy,DavidA.Patterson.计算机体系结构:量化研究方法[M].北京:人民邮电出版社,2013.128 北京理工大学博士学位论文[88]KaiHwuang著,王鼎兴等译.高等计算机系统结构:并行性、可扩展性、可编程性[M].北京:清华大学出版社,1995.[89]刘峰.标准化、模块化、可扩展、可重构雷达数字信息处理系统的研究[D].北京:北京理工大学,2004.[90]李方慧.标准化、可扩展、可重构雷达信号并行处理系统研究.北京理工大学博士后研究工作报告,北京:北京理工大学,2002.[91]屈玉贵,梁晓雯.并行处理系统结构[M].合肥:中国科学技术大学出版社,1999.[92]DavidE.Culler著,李晓明译.并行计算机体系结构:硬件/软件结合的设计与分析[J].北京:机械工业出版社,2002.[93]陈国良.并行计算—结构、算法、编程[M].北京:高等教育出版社,1999.[94]熊君君,王贞松,姚建平,等.星载SAR实时成像处理器的FPGA实现[J].电子学报,2005,33(6):1070-1072.[95]OnoeMorio,KubotaIchiro,MasubuchiYoshio.FastProcessingofSyntheticApertureRadarwithoutDataTransposition.Proceedingsofthe13thInt’lSymponSpaceTechnologyandScience[C].Tokyo:AGNEPublCo,1982:p1305-1310.[96]卢世祥,韩松,王岩飞.合成孔径雷达实时成像转置存储器的两页式结构与实现[J].电子与信息学报,2005,27(8):1226-1228.[97]谢应科,张涛,韩承德.实时SAR成像系统中矩阵转置的设计和实现[J].计算机研究与发展,2003,40(1):6-11.[98]李早社,禹卫东,汪亮,等.基于SDRAM的星载SAR星上实时成像转置存储器[J].信号处理,2007.23(3):433-436.[99]RenG,HanJ,HanC.CTMonMultiprocessor:SolutionforBottleneckofSAR.Proceedingsofthe5thInternationalConferenceonSignalProcessing[C].Beijing:IEEE,2000:1915-1920.[100]边明明,毕福昆,汪精华.实时SAR成像系统矩阵转置方法研究与实现[J].计算机工程与应用,2011,47(22):117-119.[101]鲍胜荣,周海斌.SAR实时成像高效矩阵转置研究和实现[J].现代雷达,2013,35(3):24-27.[102]MicronTechnologyInc.1Gb_DDR3_SDRAM.pdf[DB/OL].http://www.micron.com,2009.[103]LiuXiaoning,ChenHe,XieYizhuang.ResearchandImplementationofCTMforReal-TimeSARImagingProcessing.ProceedingsoftheIETInternationalRadarConference2013[C].Xian,IET,2013:0228.129 北京理工大学博士学位论文[104]VolderJE.TheCORDICtrigonometriccomputingtechnique[J].IRETransactionsonElectronicComputers,1959,8(3):330-334.[105]WaltherJS.Aunifiedalgorithmforelementaryfunctions[J].AFIPSSpringJointComputerConference,197l,38:379-385.[106]Y.H.Hu,S.Naganathan.AnAngleRecodingMethodforCORDICAlgorithmImplementation[J].IEEETransactionsonComputers,1993,42(1):99-102.[107]C.S.Wu,A.Y.Wu,C.H.Lin.Ahigh-performance/low-latencyVectorRotationalCORDICArchitectureBasedonExtendedElementaryAngleSetandTrellis-BasedSearchingSchemes.IEEETransactionsonCircuitsSystemII:AnalogDigitalSignalProcessing,2003,50(9):589-601.[108]AnindyaS.Dhar,SwapnaBanerjee.AnArrayArchitectureforFastComputationofDiscreteHartleyTransform.IEEETransactionsonCircuitsandSystems,1991,38(9):1095-1098.[109]K.Maharatna,S.Banerjee,E.Grass,M.Krstic,A.Troya.ModifiedVirtuallyScaling-FreeSdaptiveCORDICRotatorAlgorithmandArchitecture.IEEETransactiononCircuitsSystemsforVideoTechnology,2005,15(11):1463-1474.[110]LigonIIIWB,MonnG,StanzionD,etal.ImplementationandAnalysisofNumericalComponentsforReconfigurableComputing[C].Proceedingsof1999IEEEAerospaceConference.IEEE,1999,2:325-335.[111]Y.H.Hu.ThequantizationeffectsoftheCORDICalgorithm[J].IEEETrans.onSignalProcessing,1992,40:834-844.[112]MaharatnaAS.AVLSIarrayarchitectureforrealizationofDFT,DHT,DCTandDST[J].SignalProcessing,2001,81(9):1813-1822.[113]李滔,韩月秋.基于流水线CORDIC算法的三角函数发生器[J].系统工程与电子技术,2000,22(4):85-87.[114]DongC,HeC,XingS,etal.ImplementationofSingle-PrecisionFloating-PointTrigonometricFunctionswithSmallArea[C].ControlEngineeringandCommunicationTechnology(ICCECT),2012InternationalConferenceon.IEEE,2012:589-592.[115]谢珊英,齐伟民,蔡晓宁.基于FPGA的反正弦函数的实现[J].电子器件,2010,33(3):344-347.[116]胡海凤,赵建平,吴冬梅,等.基于FPGA的反余弦函数的实现[J].电子技术,2013,6:5-8.[117]MazencC,MerrheimX,MullerJM.ComputingFunctionsArccosandArcsinUsingCORDIC[J].130 北京理工大学博士学位论文IEEETransactionsonComputers,1993,42:118-122.[118]AggarwalS,KhareK.HardwareEfficientArchitectureforGeneratingSineCosineWaves[C].VLSIDesign(VLSID),201225thInternationalConferenceon.IEEE,2012:57-61.[119]LangT,AnteloE.CORDIC-basedComputationofArcCosandArcSin.Proceedingsofthe1997IEEEInternationalConferenceonApplicationSpecificSystemsArchitecturesandProcessors[C].IEEE,1997:132-143.[120]AndrakaR.ASurveyofCORDICAlgorithmsforFPGABasedComputers[C].Proceedingsofthe1998ACM/SIGDASixthInternationalSymposiumonFieldProgrammableGateArrays.ACM,1998:191-200.[121]LangT,AnteloE.CordicVectoringwithArbitraryTargetValue[J].IEEETransactionsonComputers,1998,47(7):736-749.131 北京理工大学博士学位论文攻读学位期间发表论文与研究成果清单学术论文[1]LiuXiaoning,ChenHe,XieYizhuang.ResearchandImplementationofCTMforReal-TimeSARImagingProcessing[C].IETInternationalRadarConference2013.Xian,IET,2013:0228.(EI会议,检索号:20141017418893)[2]刘小宁,谢宜壮,陈禾,等.CORDIC算法的优化及FPGA实现[J].北京理工大学学报.(EI期刊,已录用)[3]刘小宁,谢宜壮,陈禾,等.一种二维访问效率均衡的SAR数据矩阵转置方法[J].电子学报.(EI期刊,已录用)[4]刘小宁,谢宜壮,陈禾,等.多模式CORDIC算法结构改进与实现[J].电子学报.(EI期刊,已录用)[5]XiaoningLiu,YizhuangXie,HeChen,etc.ImplementationonFPGAforCORDIC-basedComputationofArcsineandArccosine[C].IETInternationalRadarConference2015.(EI会议,已录用)[6]刘小宁,胡善清,龙腾.通用机载雷达信号处理硬件平台设计[C].全国第五届信号和智能信息处理与应用学术会议.银川,2011.08.(会议,已发表)[7]闫雯,陈禾,谢宜壮,刘小宁.一种补偿因子区域不变的CS成像算法[J].北京理工大学学报.2014,34(3):304-309.(EI期刊,检索号:20142317791774)[8]BingyiLi,YizhuangXie,XiaoningLiu,etc.ANewReconfigurableMethodologytoImplementtheShift-and-Correlate(SAC)AlgorithmforReal-timeSARAutofocusing[C].IETInternationalRadarConference2015.(EI会议,已录用)发明专利[1]一种合成孔径雷达成像处理转置存储方法和数据访问方法.申请号:201310011564.0.(第二作者)[2]一种基于SAC算法的星载SAR自聚焦实现方法.申请号:201510543371.9(第三作者)[3]一种基于SoPC的SAR图像水域检测实现方法.申请号:201510423012.X(第四作者)132 北京理工大学博士学位论文致谢时光荏苒,转眼五年半的研究生生涯即将结束。回首这几年的工作、学习和生活,紧张而又充实,经历过失落、辛酸和挫折,但更多的是快乐、感动和收获。值此论文完成之际,向那些曾经支持和帮助过自己的老师、同学、朋友和家人表示诚挚的谢意。感谢我的导师陈禾教授,在这几年的博士生活学习中,陈老师都倾注了极大地关怀、帮助和鼓励。陈老师为人和善,和蔼可亲,总是处处为学生着想,尽力给我们提供良好的学习环境。无论是在工作、学习还是生活上,您总是能给予我极大的支持和帮助,在我迷茫、无助的时候给我指点方向。在此对您为我们所做的一切表示感谢。感谢谢宜壮老师,在我的工作和学习中给予了我很多指导,在我遇到问题的时候耐心为我答疑解惑,生活中像兄长一样照顾和帮助我。感谢陈亮老师,对我工作和学习的支持与帮助,对所有学生的宽容和理解。感谢我的硕士导师胡善清老师,在我刚进入雷达所的时候给予我鼓励和帮助,教我很多知识,让我快速适应这里的学习和工作环境,支持我读博。感谢王长杰、张旭,耐心的指导我、督促我完成项目。感谢庞龙师兄、于文月师姐、马翠梅师姐、章学静师姐给予我学业上的帮助。感谢实验室的师皓、马龙、王崇磊、闫雯、杨晨、庒胤、刘颖、章菲菲、赵博雅、李炳沂、刘文超、刘璐娇、魏航、杨小婷、齐保贵、贾增增、周昕、申金晶、铁雯婕、买志宏、刘福强、王主彬,以及其他已经毕业的兄弟姐妹们,我们一起奋斗过、努力过,正因为有了你们的陪伴,才让我觉得博士生涯并没有那么漫长。感谢硬件部的好兄弟张磊、林炜翔、乐亮、还有李兴明师兄,能够结识你们是我的荣幸。特别感谢一直在默默为我付出的父母,他们对我寄予了很高的期望,是他们用辛勤的汗水支持我一步一步完成学业。感谢姐姐、哥哥陪我一起长大,关心爱护我。感谢已经去世的奶奶,看着我长大成人,期盼我成家立业,没能带您看看外面的世界,没能见您最后一面,是我莫大的遗憾。最后,再次感谢所有在我成长路上支持和帮助过我的人。2015年11月于北京133 北京理工大学博士学位论文作者简介姓名:刘小宁性别:男出生年月:1987年11月政治面貌:中共党员民族:汉籍贯:山东德州学院:信息与电子学院专业:信息与通信工程方向:信号与信息处理研究领域:嵌入式实时信号处理、星载SAR成像处理134

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
大家都在看
近期热门
关闭