CN116430382A - 一种基于嵌入式gpu和fpga异构的实时成像处理系统及方法 - Google Patents
一种基于嵌入式gpu和fpga异构的实时成像处理系统及方法 Download PDFInfo
- Publication number
- CN116430382A CN116430382A CN202310203515.0A CN202310203515A CN116430382A CN 116430382 A CN116430382 A CN 116430382A CN 202310203515 A CN202310203515 A CN 202310203515A CN 116430382 A CN116430382 A CN 116430382A
- Authority
- CN
- China
- Prior art keywords
- data
- signal
- real
- fpga
- kernel function
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003384 imaging method Methods 0.000 title claims abstract description 135
- 238000012545 processing Methods 0.000 title claims abstract description 128
- 238000000034 method Methods 0.000 title claims abstract description 44
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 claims abstract description 22
- 230000006870 function Effects 0.000 claims description 86
- 238000006243 chemical reaction Methods 0.000 claims description 32
- 230000008569 process Effects 0.000 claims description 27
- 238000004364 calculation method Methods 0.000 claims description 21
- 239000011159 matrix material Substances 0.000 claims description 21
- 230000017105 transposition Effects 0.000 claims description 20
- 238000003672 processing method Methods 0.000 claims description 8
- 238000003860 storage Methods 0.000 claims description 7
- 238000012937 correction Methods 0.000 claims description 4
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 claims description 3
- 230000006378 damage Effects 0.000 claims description 3
- 238000011065 in-situ storage Methods 0.000 claims description 3
- 238000000638 solvent extraction Methods 0.000 claims description 3
- 238000005452 bending Methods 0.000 claims description 2
- 230000000903 blocking effect Effects 0.000 claims description 2
- 230000035485 pulse pressure Effects 0.000 claims description 2
- 238000012887 quadratic function Methods 0.000 claims description 2
- 238000013507 mapping Methods 0.000 claims 2
- 230000011218 segmentation Effects 0.000 claims 1
- 230000008901 benefit Effects 0.000 abstract description 9
- 230000001133 acceleration Effects 0.000 abstract description 3
- 238000004891 communication Methods 0.000 description 7
- 238000011161 development Methods 0.000 description 6
- 238000000605 extraction Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000007667 floating Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 230000007334 memory performance Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S13/00—Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
- G01S13/88—Radar or analogous systems specially adapted for specific applications
- G01S13/89—Radar or analogous systems specially adapted for specific applications for mapping or imaging
- G01S13/90—Radar or analogous systems specially adapted for specific applications for mapping or imaging using synthetic aperture techniques, e.g. synthetic aperture radar [SAR] techniques
- G01S13/9021—SAR image post-processing techniques
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S7/00—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
- G01S7/02—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S13/00
- G01S7/41—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S13/00 using analysis of echo signal for target characterisation; Target signature; Target cross-section
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0421—Multiprocessor system
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0423—Input/output
Landscapes
- Engineering & Computer Science (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Automation & Control Theory (AREA)
- Electromagnetism (AREA)
- Radar Systems Or Details Thereof (AREA)
Abstract
本发明公开了一种基于嵌入式GPU和FPGA异构的高帧率实时成像处理系统及方法,将信号的产生和采集部分在FPGA上实施,而将可并行计算的实时成像处理部分在嵌入式GPU上进行加速处理。本发明结合FPGA的高数据吞吐率和嵌入式GPU的并行计算优势,有效提升成像效率;可以实现不小于10Hz的实时成像帧率,能够满足视频SAR实时成像的要求。
Description
技术领域
本发明属于SAR成像系统技术领域,涉及一种基于嵌入式GPU和FPGA异构的实时成像处理系统及方法。
背景技术
合成孔径雷达(Synthetic Aperture Radar,SAR)通过发射宽带调频信号和脉冲压缩技术获得距离向的高分辨率,通过合成孔径技术获得方位向的高分辨率,具有全天时、全天候的工作特点,广泛应用于军事侦察、灾害监测、资源勘查和环境保护等重要领域。
由于传统的SAR成像的帧率较低,因此无法区分场景中的静止目标和运动目标,也无法获得运动目标的轨迹和速度,对于运动目标的检测具有一定的局限性。随着视频SAR成像的提出,这一问题得以解决。视频SAR系统通过对目标区域的持续监测,将场景目标的回波数据进行成像处理,最终以连续帧的图像进行呈现,可以有效反映出场景区域的变化情况。
对于视频SAR成像的研究,如何获取更高的成像帧率是一个重要的研究方向。视频SAR成像系统的特点是数据吞吐率大、成像帧率高,这对成像算法流程和成像处理平台的选取都提出了非常高的要求。对于成像帧率的提升,不仅需要对成像算法流程进行优化,还需要选取合适的实时成像处理平台,并在成像处理平台上对算法的进行优化以获取最大的实时处理性能,从而达到更高的成像帧率。
目前主流的实时信号处理平台主要包括CPU、DSP、FPGA和GPU。CPU的主频高,但是串行计算的特点使其无法提供足够的处理性能;DSP的运算资源有限,且工作主频较低无法实现高速率的并行计算;基于FPGA的处理系统是目前应用最广泛的实时信号处理平台,不仅可以进行并行计算且功耗非常低,数据的吞吐率也很高,但是其进行浮点运算占用的资源更多,且对于时钟频率的提升较困难,如果进行大量并行计算其有限的计算资源很难满足要求,性能的提升需要和受限的计算资源之间需要进行平衡,因此开发周期较长。
GPU是专用于高性能计算的处理平台,具有成百上千个处理核心使其非常适合于并行度高且计算复杂度高的计算任务,且开发周期较短。但是传统的GPU体积和功耗较高,难以应用于实时成像处理领域,且与CPU之间采用离散架构,需要通过PCIE总线进行通信,对于较大数据的吞吐存在瓶颈。
近年来,随着采用集成架构的嵌入式GPU的出现,为实时信号处理领域提供了新平台。嵌入式GPU具有高性能低功耗的特点,不仅具有传统GPU的并行计算的优势,还克服了CPU和GPU之间的通信瓶颈,在实时信号处理领域具有非常好的应用前景。在嵌入式GPU上实施视频SAR成像算法,不仅需要对整个成像算法的流程进行优化,还需要对计算过程中的内存和并行计算的性能进行优化,才能够满足视频SAR成像对高帧率高分辨的成像要求。
现有技术采用在FPGA作为视频SAR实时成像处理平台时,由于视频SAR原始数据量大和处理流程复杂的特点,而浮点运算在FPGA上占用的资源较多,因此FPGA的并行处理能力会受限于资源的占用,很难提升成像帧率。GPU的峰值性能远远高于FPGA平台,虽然FPGA平台可以通过架构优化来弥补运行速度上的优势,但是对于SAR成像的大量可并行计算的特点,GPU更适合做加速处理。传统的GPU平台多用于地面加速处理,由于体积和功耗的原因,无法应用于实时处理领域。
发明内容
本发明解决的问题在于提出了一种基于嵌入式GPU和FPGA异构的高帧率视频SAR实时成像处理系统及方法,基于FPGA和嵌入式GPU的处理优势以及视频SAR实时成像的处理流程,可以实现不小于10Hz的视频SAR实时成像帧率。
本发明是通过以下技术方案来实现:
一种基于嵌入式GPU和FPGA异构的高帧率视频SAR实时成像处理系统,包括处理雷达信号FPGA信号产生/采集模块,其将处理得到的零中频基带信号通过PCIE总线,发送至嵌入式GPU实时信号处理模块进行SAR实时成像处理;
所述FPGA信号产生/采集模块包括分别与FPGA相连接并由其控制的信号产生部分和信号采集部分,信号产生部分包括DDS信号产生模块和数模转换模块,信号采集部分包括模数转换、数字下变频模块和DDR3模块;
嵌入式GPU实时信号处理模块包括设备端和主机端;设备端包括并行运行的处理零中频基带信号实时成像的RD部分、进行运动误差估计与补偿的MD部分;主机端处理雷达参数的生成部分。
所述信号产生部分通过DDS信号产生模块产生宽带线性调频信号,由数模转换模块将宽带线性调频信号由数字信号转换为中频模拟信号;
雷达发射机将中频模拟信号处理并将辐射到观测区域;雷达接收机接收到回波信号并进行下变频处理,得到中频模拟信号;
所述信号采集部分通过模数转换模块将中频模拟信号转换为数字信号,由数字下变频处理模块将数字信号经数字下变频处理得到零中频基带信号;
零中频基带信号分为相同的两路数据,一路通过PCIE总线传输到嵌入式GPU实时信号处理模块进行实时成像处理;另一路发送至DDR3模块并行存储。
所述的嵌入式GPU实时信号处理模块集成架构,CPU和GPU共享同一块物理内存空间,并使用统一内存管理的方式开辟内存空间;采用矩阵转置使内存访问过程中达到合并内存访问;采用共享内存以及内存填充优化全局内存的访问。
一种基于嵌入式GPU和FPGA异构的高帧率视频SAR实时成像处理方法,由FPGA信号产生/采集模块处理雷达信号并生成零中频基带信号,通过PCIE总线发送至嵌入式GPU处理模块;由嵌入式GPU处理模块并行运行距离-多普勒算法处理视频SAR初步成像、图像偏移算法处理运动误差的补偿;其中,距离-多普勒算法生成视频SAR初步成像后,先将成像结果进行截取,在不损失精度的前提下降低运算量,然后进行运动误差补偿,再经过方位向去斜处理后得到最终的成像结果;
嵌入式GPU处理模块采用集成架构,CPU和GPU共享同一块物理内存空间;在嵌入式GPU中使用统一内存管理的方式为原始数据开辟内存空间;核函数计算后采用原位输出。
与现有技术相比,本发明具有以下有益的技术效果:
本发明提出的基于嵌入式GPU和FPGA异构的视频SAR高帧率实时成像处理系统,将信号产生和采集部分在FPGA上实施,而实时成像处理部分在嵌入式GPU上实现,结合FPGA高数据吞吐以及高速接口丰富和嵌入式GPU并行计算的优势,两个平台的体积和功耗都能满足实时成像处理平台的要求,二者通过PCIE总线进行通信,能够有效提升视频SAR实时成像处理的成像帧率。本发明所提出的基于嵌入式GPU和FPGA异构的视频SAR实时成像处理系统具有实时性更好和开发周期更短的优势,可以有效提升视频SAR实时成像系统的成像帧率。
与目前主流的GPU实施SAR实时成像加速处理相比,本发明针对嵌入式GPU的硬件架构,在嵌入式GPU中使用统一内存管理避免CPU和GPU之间的通信,节约了内存空间和通信延迟;同时使用共享内存和合并内存访问的方式对核函数的计算进行优化,大大提升处理效率。
本发明针对嵌入式GPU实时成像处理模块的实现提出了适用于成像流程的优化方法,采用统一内存管理的方式,避免了在传统GPU上内存重复开辟以及CPU和GPU之间的通信延迟,也避免了使用零拷贝内存带来的系统性能下降,能够节省内存空间,并减少通信延迟。本发明采用合并内存访问的方式提高内存访问效率,采用共享内存优化全局内存的访问,大大提升核函数执行效率;通过内存和性能的优化,在嵌入式GPU上的实时成像处理的时间大幅降低,有效提升成像帧率。
本发明结合嵌入式GPU和FPGA的优势,合理分配视频SAR实时成像处理平台的处理任务,有效提升了成像处理效率,从而提高成像帧率。相比于在FPGA上完成成像处理,基于嵌入式GPU和FPGA异构的视频SAR实时成像处理系统具有更高的成像帧率和更短的开发周期;相比于在GPU上完成成像处理,本发明提出的基于嵌入式GPU和FPGA异构的视频SAR实时成像处理系统功耗更低、体积更小,能够应用于无人机载视频SAR实时成像处理。
附图说明
图1为基于嵌入式GPU和FPGA的高帧率视频SAR实时成像处理系统示意图;
图2为嵌入式GPU和FPGA的高帧率视频SAR实时成像方法流程图;
图3为图像偏移算法处理SAR初步成像流程图;
图4为运动误差补偿流程图。
图5为本发明处理后的效果图。
具体实施方式
下面结合实施例对本发明做进一步详细描述,所述是对本发明的解释而不是限定。
如图1所示,本发明提出的一种基于嵌入式GPU和FPGA异构实时成像处理系统,包括处理雷达信号FPGA信号产生/采集模块,其将处理得到的零中频基带信号通过PCIE总线,发送至嵌入式GPU实时信号处理模块进行SAR实时成像处理;
所述FPGA信号产生/采集模块包括分别与FPGA相连接并由其控制的信号产生部分和信号采集部分,信号产生部分包括DDS信号产生模块和数模转换模块,信号采集部分包括模数转换、数字下变频模块和DDR3模块;
嵌入式GPU实时信号处理模块包括设备端和主机端;设备端采用统一内存管理的方式开辟内存空间,其包括处理零中频基带信号实时成像的RD部分、进行运动误差估计与补偿的MD部分;主机端处理雷达参数的生成部分。
具体的,FPGA信号产生部分包括DDS信号产生和数模转换模块,FPGA信号采集部分包括模数转换、数字下变频模块和DDR3模块,这些模块在硬件上与FPGA芯片相连,由FPGA控制这些硬件电路完成相应的功能。
嵌入式GPU实时信号处理模块集成了嵌入式GPU芯片,其提供的接口十分丰富,可以直接在嵌入式GPU的平台上进行相应的软硬件开发;
两个模块之间通过PCIe总线进行连接;目前嵌入式GPU支持×8PCIe4.0,传输速率可以达到16GT/s。
下面分别对FPGA信号产生/采集模块、GPU实时信号处理模块进行说明。
1、本发明将信号产生、采集在FPGA中实施,信号产生部分包括DDS信号产生和数模转换模块,信号采集部分包括模数转换、数字下变频处理和DDR3存储模块;
DDS信号产生模块,用于产生宽带线性调频信号;
数模转换模块,用于将宽带线性调频信号由数字信号转换为中频模拟信号;
模数转换模块,用于将中频模拟信号转换为数字信号;
数字下变频处理模块,用于将数字信号经数字下变频处理得到零中频基带信号;
DDR3存储模块用于将数据进行缓存;
这些模块在处理流程上需要较高的数据吞吐才能满足实时性的要求,且需要高速接口完成信号的产生和采集,而FPGA不仅具有数据吞吐量高的特点,还具有丰富的高速接口。因此,将信号的产生和采集模块在FPGA上实施是最佳的方案。
具体的,FPGA信号产生/采集模块首先产生宽带线性调频信号(DDS信号),通过数模转换模块将宽带线性调频信号转换成中频模拟信号。
雷达发射机将中频模拟信号进行混频、滤波、放大等处理后,将信号辐射到观测区域;雷达接收机接收到回波信号后进行下变频处理,得到回波中频模拟信号。
回波中频模拟信号经过模数转换模块采样,得到回波的数字信号。对数字信号进行正交变换、FIR滤波器、多倍抽取、触发采集等处理后得到零中频基带信号。模数转换、正交变换、FIR滤波器、多倍抽取、触发采集等处理均属于回波信号经过雷达接收天线后的数据预处理部分,是在FPGA上完成的,回波信号经雷达天线接收和下变频处理后得到中频模拟信号的过程是本技术领域常用的技术手段。
零中频基带信号分为相同的两路数据,一路通过PCIE总线传输到嵌入式GPU实时信号处理模块进行实时成像处理;另一路通过高速固态存储模块并行存储,用于数据的地面分析。
2、嵌入式GPU实时成像处理模块首先使用距离-多普勒算法完成对零中频信号的实时成像,然后使用图像偏移算法完成运动误差估计与补偿,得到最终的成像结果。
针对嵌入式GPU的架构,本发明从内存占用和计算性能两个方面对视频SAR成像处理流程在嵌入式GPU上的实现进行了优化,进而提升视频SAR的实时成像处理帧率。
针对内存占用,本发明将在嵌入式GPU实施的成像算法流程中的核函数计算后采用原位输出,避免重复开辟内存;对于嵌入式GPU的集成硬件架构,本发明通过采用统一内存管理的方式开辟内存空间,有效避免了CPU和GPU之间的数据传输延迟。
针对计算性能,本发明首先通过将视频SAR实时成像处理任务合理地分配在嵌入式GPU的主机端和设备端,视频SAR实时成像算法流程主要包含RD算法和MD算法两个部分,这两个算法的特点是具有高度可并行化计算的特点,因此十分适合于在GPU的设备端通过CPU和GPU异步并行执行的特点最大化处理效率;CPU和GPU本身是独立执行的,一旦设备端核函数被调用,控制权立即被传回主机端,因此核函数在GPU上运行,CPU可以执行其它任务;这样通过进行并行计算来提高成像效率;
其次,通过共享内存、合并内存访问的方式:
共享内存是GPU的一个重要的内存空间,延迟和带宽是优化内存性能时要度量的两个关键属性。共享内存相比较于全局内存而言,延迟要低大约20~30倍,带宽大约要高10倍,因此可以使用共享内存来隐藏全局内存延迟和带宽对性能的影响。当每个线程块开始执行时,都会分配一定数量的共享内存,这个共享内存的地址空间被线程块中所有的线程所共享。当所访问的多个地址属于同一个bank,就会发生bank冲突,必须以串行的方式进行请求,那么满足这些访问所消耗的时间将大大增加。在使用共享内存时必须要避免bank冲突,在不能进行并行访问和广播访问的情况下,可以使用内存填充的方法避免bank冲突。
合并内存访问是指一个线程束中所有的线程访问一个连续的线程块,合并的内存访问方式只需要一次数据传输就可以完成数据访问。全局内存是GPU中最大的、最常使用的内存,多数GPU应用程序容易受到内存带宽的限制。因此,最大限度地利用全局内存带宽是优化核函数性能的关键。尽可能使用合并内存访问可以最大化内存访问的效率,在读写数据时达到最佳的性能,以优化计算性能,提高数据处理的效率。
因此,本发明采用统一内存管理的方式避免了内存的重复开辟和占用,也避免了CPU与GPU之间的通信延迟;采用矩阵转置的手段使内存访问过程中达到合并内存访问的目的,有效提升内存访问的效率;采用共享内存以优化全局内存的访问,以及内存填充的方法避免bank冲突,有效提升核函数的计算效率。
参见图2,本发明的处理方法由FPGA信号产生/采集模块处理雷达信号并生成零中频基带信号,通过PCIE总线发送至嵌入式GPU处理模块;由嵌入式GPU处理模块并行运行距离-多普勒算法处理视频SAR初步成像、图像偏移算法处理运动误差的补偿;其中,距离-多普勒算法生成视频SAR初步成像后,先将成像结果进行截取,在不损失精度的前提下降低运算量,然后进行运动误差补偿,再经过方位向去斜处理后得到最终的成像结果;
本发明在嵌入式GPU上对原始数据进行实时成像处理过程中,对于距离-多普勒算法和图像偏移算法均利用GPU并行计算优势,通过合理利用计算资源,在算法实现过程中通过适当的数据截取,来降低数据的运算量,从而提升成像处理效率,进而提升成像帧率。
为了实现高分辨率的视频SAR成像,必须进行运动误差的补偿。运动误差的补偿包括两种方法,一种是基于惯导信息的硬件层面的补偿,还有一种是通过回波信号中提取运动参数从而使用数字信号处理的方法对运动误差进行补偿。
本发明首先在距离-多普勒算法成像阶段使用惯导信息对运动误差进行补偿,在得到初步成像的结果后使用自聚焦算法通过信号处理的方法对运动误差进行精确补偿。常用的自聚焦算法包括图像偏移算法(MD算法)和相位梯度自聚焦算法(PGA)算法。MD算法通过对子孔径图像作互相关来估计相对偏移,从而估计出二次相位误差。PGA算法通过估计图像中强点的散焦情况来补偿图像,二次和高次相位误差均可被校正。PGA算法相比MD算法的运动误差补偿精度更高,但是其计算量也更大,对于实时性要求较高的视频SAR实时成像中,在满足一定的高精度条件下,使用MD算法可以有效降低计算量,提高成像系统实时性,因此本发明使用MD算法完成SAR成像的运动补偿,实现高精度的视频SAR实时成像系统。
视频SAR实时成像处理流程主要包括距离-多普勒算法和图像偏移算法两个模块。距离-多普勒算法和图像偏移算法在算法上都具有高度可并行计算的特点,FPGA虽然也可以进行并行计算,但是对于视频SAR中的浮点复数数据的处理,需要消耗大量的资源,会造成严重的资源紧张和功耗的增加,同时开发周期也会变得更长。嵌入式GPU是专用于高性能计算的实时处理平台,在并行计算具有显著优势,具有高性能低功耗的特点,且开发周期更短,因此,将可并行计算的实时成像处理模块在嵌入式GPU上实现是非常适合的。
下面对RD算法和MD算法分别进行说明。
3、FPGA预处理后的数据通过PCIE总线传输到嵌入式GPU中,首先进行距离-多普勒算法的处理,距离多普勒算法的具体处理流程为(参见图3):
S1,嵌入式GPU不同于传统的GPU,其系统采用集成架构,CPU和GPU共享同一块物理内存空间。因此在嵌入式GPU中使用统一内存管理的方式为原始数据开辟内存空间能够避免内存的重复开辟,同时在调用核函数计算的前后也可以避免通信延迟,提升计算效率;
S2,原始数据最初在嵌入式GPU中是按照距离向连续存储的,首先将数据进行距离向FFT处理,调用CUDA中的cuFFT库函数对原始数据进行一维距离向傅里叶变换。
调用cuFFT库函数需要配置cuFFTplan,执行FFT运算后需要销毁cuFFT plan,cuFFT plan的配置和销毁会造成额外的时间开销,在整个算法实施中需要多次调用cuFFT库函数,反复配置和销毁会消耗大量的时间,因此仅在第一次调用cuFFT函数时配置,而在最后一次调用cuFFT函数后进行销毁;
cuFFT的配置首先使用cufftHandle创建句柄;然后对句柄进行配置,包括配置句柄对应的FFT信号长度、执行FFT信号的输入类型和输出类型、执行FFT信号的个数、在内存中的存储形式等信息;
执行FFT操作后使用cufftDestroy()函数释放GPU资源,可以有效节省时间开销;
S3,设置第一核函数,并行计算距离向FFT后的数据与距离向去斜函数相乘;第一核函数的作用是并行计算距离向FFT后的数据与距离向去斜函数相乘;
在GPU上执行的函数称为CUDA核函数,核函数会被GPU上多个线程执行,在整个视频SAR成像算法流程中,为了方便描述,将各个核函数进行命名区分,每个核函数的作用均进行了相应描述;
具体的,本发明中核函数的配置中二维线程块(block.x,block.y)的大小为(32,32),网格(grid.x,grid.y)大小为((Nr+block.x-1)/block.x,(Na+block.y-1)/block.y),并在核函数中通过(blockIdx.x×blockDim.x+threadIdx.x,blockIdx.y×blockDim.y+threadIdx.y)建立线程索引映射到矩阵坐标上;
S4,将距离向去斜处理后的数据进行截取,降低运算点数,以降低计算量,提高计算效率,截取后的数据执行距离向FFT处理;
此处的数据截取一般指进行2倍抽取,目的是降低数据量,从而提升计算效率,此处的数据截取不是必须的,当成像帧率满足要求的情况下可以不进行数据截取。例如:距离向去斜时采用8192点,去斜之后再截取至4096点进行后续处理,这样既能保证去斜的精度又能在截取后不影响后续处理的处理速度;
S5,设置第二核函数,并行计算距离走动矫正与惯导补偿因子与距离向FFT处理后的相乘结果;
S6,设置矩阵转置核函数,将第二核函数的输出数据由按照距离向连续排列转置为按照方位向连续排列;
进行矩阵转置的目的是为了后续在方位向处理时,数据是连续读取的,在核函数中进行内存访问时可以合并访问,提升内存访问的带宽,减少访存延迟。同时矩阵转置核函数使用共享内存来优化全局内存的访问,提升核函数执行效率。
在矩阵转置中使用共享内存,具体的共享内存在核函数中使用__shared__申请共享内存,然后将转置前的全局内存中的数据首先读到共享内存中,再将共享内存中的数据写入到转置后的全局内存中,用来缓存整个线程块中的数据,共享内存具有低延迟和大带宽的特点,可以用来加速矩阵转置过程。
为避免矩阵转置过程中的bank冲突,将共享内存的大小设置为[32,32+1],并且使用阻塞函数进行线程块同步,然后将整个线程块的数据读取到共享内存中,最后将共享内存中的数据按照转置后的索引输出到转置后的矩阵中;
S7,将转置后的数据执行方位向FFT运算,并设置第三核函数,由其并行计算二次距离脉压函数和距离弯曲校正函数与方位向FFT后的数据相乘的结果;
S8,调用矩阵转置核函数,将第三核函数的计算结果数据进行转置操作,数据由按照方位向连续排列转置为按照距离向连续排列;
S9,对转置后的数据执行距离向IFFT运算,并设置第四核函数,由其并行计算根号转二次函数与IFFT运算后的数据相乘的结果,进行相位补偿;
S10,调用矩阵转置核函数,将按照距离向存储的原始数据转置为按照方位向连续存储,并对转置后的数据执行方位向IFFT运算,完成距离-多普勒算法的成像流程。
原始数据经距离-多普勒算法处理后,完成初步成像处理。
4、初步成像的结果进入图像偏移算法处理流程,首先将初步成像结果进行截取,在不损失精度的前提下降低运算量,提升计算效率。然后进行运动误差的估计,将截取后的初步成像结果进行运动误差补偿。最后,经过方位向去斜处理后得到最终的成像结果。具体流程如下:
S1,首先将初步成像结果进行截取,在不损失精度的前提下降低运算量,提升计算效率;然后通过原始数据对运动误差进行估计(如图4所示);
此处的数据截取一般指进行2倍抽取,目的是降低数据量,从而提升计算效率,此处的数据截取不是必须的,当成像帧率满足要求的情况下可以不进行数据截取;
S2,对截取后的数据进行分块,分块时在方位向上进行分块,将数据进行方位重叠分块,所分子块最小单元应为2的偶数次幂,对于最小子块的大小选取不应过大或过小,合理即可;
设置第五核函数,并由其分别对每块数据的进行方位向去斜处理;
S3,将去斜处理后的数据分割成两个大小相同的次子块数据,然后对分割后的两个子块进行方位补零操作后分别执行方位向FFT运算;
S4,将两个次子块数据FFT后的结果取方位向的频域幅度,即对FFT后的结果取绝对值;再对取绝对值后的两个次子块数据进行方位向FFT运算;
S5,设置第六核函数,并由其并行计算方位向FFT后的两个次子块数据的相乘结果,然后对相乘的结果执行方位向IFFT运算;
S6,设置第七核函数,并由其并行计算IFFT后的数据的方位幅度,并对距离向进行求和操作;
S7,设置第八核函数,并由其并行计算误差拟合估计的结果;
重复步骤S3~S7,直至得到全孔径的运动误差;
S8,设置第九核函数,并由其并行计算运动误差与初步的成像结果相乘的结果,完成运动误差的补偿;
S9,设置第十核函数,并由其并行计算运动误差补偿后的数据与方位向去斜函数相乘的结果,得到最后的成像结果。
通过上述步骤,完成整个视频SAR实时成像处理流程,将最终的成像结果进行存储,方便后续对成像结果的调取和回放。
本发明通过上述步骤,使用基于JetsonAGX Orin和Xilinx Virtex7异构的平台,对原始数据为2048*8192点的SAR原始数据进行处理,可以实现不小于10Hz的实时成像帧率,能够满足视频SAR实时成像的要求(成像结果如图5所示),实时性相比目前其他方案更具有优势。
以上给出的实施例是实现本发明较优的例子,本发明不限于上述实施例。本领域的技术人员根据本发明技术方案的技术特征所做出的任何非本质的添加、替换,均属于本发明的保护范围。
Claims (9)
1.一种基于嵌入式GPU和FPGA异构的高帧率视频SAR实时成像处理系统,其特征在于,包括处理雷达信号FPGA信号产生/采集模块,其将处理得到的零中频基带信号通过PCIE总线,发送至嵌入式GPU实时信号处理模块进行SAR实时成像处理;
所述FPGA信号产生/采集模块包括分别与FPGA相连接并由其控制的信号产生部分和信号采集部分,信号产生部分包括DDS信号产生模块和数模转换模块,信号采集部分包括模数转换、数字下变频模块和DDR3模块;
嵌入式GPU实时信号处理模块包括设备端和主机端;设备端包括并行运行的处理零中频基带信号实时成像的RD部分、进行运动误差估计与补偿的MD部分;主机端处理雷达参数的生成部分。
2.如权利要求1所述的基于嵌入式GPU和FPGA异构的高帧率视频SAR实时成像处理系统,其特征在于,所述信号产生部分通过DDS信号产生模块产生宽带线性调频信号,由数模转换模块将宽带线性调频信号由数字信号转换为中频模拟信号;
雷达发射机将中频模拟信号处理并将辐射到观测区域;雷达接收机接收到回波信号并进行下变频处理,得到中频模拟信号;
所述信号采集部分通过模数转换模块将中频模拟信号转换为数字信号,由数字下变频处理模块将数字信号经数字下变频处理得到零中频基带信号;
零中频基带信号分为相同的两路数据,一路通过PCIE总线传输到嵌入式GPU实时信号处理模块进行实时成像处理;另一路发送至DDR3模块并行存储。
3.如权利要求1所述的基于嵌入式GPU和FPGA异构的高帧率视频SAR实时成像处理系统,其特征在于,所述的嵌入式GPU实时信号处理模块集成架构,CPU和GPU共享同一块物理内存空间,并使用统一内存管理的方式开辟内存空间;采用矩阵转置使内存访问过程中达到合并内存访问;采用共享内存以及内存填充优化全局内存的访问。
4.一种基于嵌入式GPU和FPGA异构的高帧率视频SAR实时成像处理方法,其特征在于,由FPGA信号产生/采集模块处理雷达信号并生成零中频基带信号,通过PCIE总线发送至嵌入式GPU处理模块;由嵌入式GPU处理模块并行运行距离-多普勒算法处理视频SAR初步成像、图像偏移算法处理运动误差的补偿;其中,距离-多普勒算法生成视频SAR初步成像后,先将成像结果进行截取,在不损失精度的前提下降低运算量,然后进行运动误差补偿,再经过方位向去斜处理后得到最终的成像结果;
嵌入式GPU处理模块采用集成架构,CPU和GPU共享同一块物理内存空间;在嵌入式GPU中使用统一内存管理的方式为原始数据开辟内存空间;核函数计算后采用原位输出。
5.如权利要求4所述的基于嵌入式GPU和FPGA异构的高帧率视频SAR实时成像处理方法,其特征在于,所述距离-多普勒算法处理包括以下操作:
1)调用CUDA中的cuFFT库函数对原始数据进行一维距离向傅里叶变换,将待处理信号进行距离向FFT处理;其中仅在第一次调用cuFFT函数时配置,而在最后一次调用cuFFT函数后进行销毁;
2)设置第一核函数并通过其并行计算距离向FFT后的数据与距离向去斜函数相乘;并在核函数中建立线程索引映射到矩阵坐标上;
3)将距离向去斜处理后的数据进行截取,截取后的数据执行距离向FFT处理;
4)设置第二核函数并通过其并行计算距离走动矫正与惯导补偿因子与距离向FFT处理后的相乘结果;
5)设置矩阵转置核函数,将第二核函数的输出数据由按照距离向连续排列转置为按照方位向连续排列;在矩阵转置中使用共享内存,将共享内存中的数据按照转置后的索引输出到转置后的矩阵中;
6)将转置后的数据执行方位向FFT运算,并设置第三核函数通过其并行计算二次距离脉压函数和距离弯曲校正函数与方位向FFT后的数据相乘的结果;
7)调用矩阵转置核函数,将第三核函数的计算结果数据进行转置操作,数据由按照方位向连续排列转置为按照距离向连续排列;
8)对转置后的数据执行距离向IFFT运算,并设置第四核函数由其并行计算根号转二次函数与IFFT运算后的数据相乘的结果,进行相位补偿;
9)调用矩阵转置核函数,将按照距离向存储的原始数据转置为按照方位向连续存储,并对转置后的数据执行方位向IFFT运算,完成距离-多普勒算法,得到视频SAR初步成像结果。
6.如权利要求5所述的基于嵌入式GPU和FPGA异构的高帧率视频SAR实时成像处理方法,其特征在于,在执行FFT操作后使用cufftDestroy()函数释放GPU资源,以节省时间开销;
核函数的配置中二维线程块(block.x,block.y)的大小为(32,32),网格(grid.x,grid.y)大小为((Nr+block.x-1)/block.x,(Na+block.y-1)/block.y),并在核函数中通过(blockIdx.x×blockDim.x+threadIdx.x,blockIdx.y×blockDim.y+threadIdx.y)建立线程索引映射到矩阵坐标上。
7.如权利要求5所述的基于嵌入式GPU和FPGA异构的高帧率视频SAR实时成像处理方法,其特征在于,共享内存在核函数中使用__shared__申请共享内存,然后将转置前的全局内存中的数据首先读到共享内存中,再将共享内存中的数据写入到转置后的全局内存中,用来缓存整个线程块中的数据;
为避免矩阵转置过程中的bank冲突,将共享内存的大小设置为[32,32+1],并且使用阻塞函数进行线程块同步,然后将整个线程块的数据读取到共享内存中,最后将共享内存中的数据按照转置后的索引输出到转置后的矩阵中。
8.如权利要求4所述的基于嵌入式GPU和FPGA异构的高帧率视频SAR实时成像处理方法,其特征在于,图像偏移算法处理运动误差的补偿包括以下操作:
S1)先将视频SAR初步成像结果进行数据截取,在不损失精度的前提下降低运算量;
S2)对截取后的数据进行分块,设置第五核函数并由其分别对每块数据的进行方位向去斜处理;
S3)将去斜处理后的数据分割成两个大小相同的次子块数据,然后对分割后的两个子块进行方位补零操作后分别执行方位向FFT运算;
S4)将两个次子块数据FFT后的结果取方位向的频域幅度,即对FFT后的结果取绝对值;再对取绝对值后的两个次子块数据进行方位向FFT运算;
S5)设置第六核函数由其并行计算方位向FFT后的两个次子块数据的相乘结果,然后对相乘的结果执行方位向IFFT运算;
S6)设置第七核函数由其并行计算IFFT后的数据的方位幅度,并对距离向进行求和操作;
S7)设置第八核函数由其并行计算误差拟合估计的结果;
重复步骤S3~S7,直至得到全孔径的运动误差;
S8)设置第九核函数,由其并行计算运动误差与初步成像结果相乘的结果,完成运动误差的补偿;
S9)设置第十核函数,由其并行计算运动误差补偿后的数据与方位向去斜函数相乘的结果,得到最后的成像结果。
9.如权利要求8所述的基于嵌入式GPU和FPGA异构的高帧率视频SAR实时成像处理方法,其特征在于,分块时在方位向上进行分块,将数据进行方位重叠分块,所分子块最小单元应为2的偶数次幂。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310203515.0A CN116430382A (zh) | 2023-03-06 | 2023-03-06 | 一种基于嵌入式gpu和fpga异构的实时成像处理系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310203515.0A CN116430382A (zh) | 2023-03-06 | 2023-03-06 | 一种基于嵌入式gpu和fpga异构的实时成像处理系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116430382A true CN116430382A (zh) | 2023-07-14 |
Family
ID=87086273
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310203515.0A Pending CN116430382A (zh) | 2023-03-06 | 2023-03-06 | 一种基于嵌入式gpu和fpga异构的实时成像处理系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116430382A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117849474A (zh) * | 2024-03-06 | 2024-04-09 | 西安辉道电子科技有限公司 | 一种宽频瞬态电磁脉冲信号采集装置 |
-
2023
- 2023-03-06 CN CN202310203515.0A patent/CN116430382A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117849474A (zh) * | 2024-03-06 | 2024-04-09 | 西安辉道电子科技有限公司 | 一种宽频瞬态电磁脉冲信号采集装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103257341B (zh) | 基于fpga的自聚焦算法快速实现方法 | |
CN111856461B (zh) | 基于改进pfa的聚束sar成像方法及其dsp实现 | |
CN105844580A (zh) | 基于单片fpga的弹载sar成像系统架构设计 | |
CN106896360A (zh) | 一种sar信号处理算法的fpga实现方法 | |
CN116430382A (zh) | 一种基于嵌入式gpu和fpga异构的实时成像处理系统及方法 | |
CN102298139A (zh) | 基于fpga的sar成像系统的二维加窗方法 | |
CN105137428A (zh) | 去斜率信号的极坐标格式成像算法的fpga实现方法 | |
CN111289975B (zh) | 一种多gpu并行计算的快速成像处理系统 | |
CN109613536B (zh) | 一种星载sar实时处理装置及方法 | |
CN113359134B (zh) | 基于嵌入式gpu的sar数据分布式实时成像处理系统及方法 | |
CN113219434A (zh) | 一种基于Zynq芯片的自适应宽带数字调零系统和方法 | |
CN110954860B (zh) | 一种doa和极化参数估计方法 | |
CN111665492A (zh) | 机载分布式综合射频传感器系统 | |
CN111257874A (zh) | 一种pfa的fpga并行实现方法 | |
Li et al. | The FPGA implementation of real-time spotlight SAR imaging | |
CN110658502A (zh) | 一种幅相误差校正方法 | |
CN103135097B (zh) | 一种基于fpga的16通道双模式雷达数字下变频方法 | |
CN111443336B (zh) | 一种降低fmcw雷达系统数据传输吞吐量的方法 | |
CN113344765A (zh) | 一种频域天文图像目标检测方法及系统 | |
CN111272169A (zh) | 一种脉冲星信号消干扰装置、系统和方法 | |
CN111025293A (zh) | 一种应用于小卫星sar的高效fpga实时成像系统 | |
CN114397657B (zh) | 一种在轨实时sar成像方法 | |
Yang et al. | The distributed imaging processing method of space-borne SAR based on embedded GPU | |
Xiaoguang | Signal Processing System of Back-Projection Algorithm with Multi GPU s | |
Gao et al. | Design and implementation of a multi-channel space-borne SAR imaging system on Vivado HLS |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |