首页> 中国专利> 一种基于网格跨步循环的GPU+CPU架构雷达信号处理实现方法

一种基于网格跨步循环的GPU+CPU架构雷达信号处理实现方法

摘要

本发明公开了一种基于网格跨步循环的GPU+CPU架构雷达信号处理实现方法,包括:采用CPU通过PCIE数据传输总线连接GPU进行数据交互传输和负责复杂逻辑运算;采用GPU高性能计算能力、高并发性和高访问速度的特性,将需要大量线程进行并行计算的数据放在GPU上进行,提高运算速度;采用GPU片上存储器共享内存建立缓存机制,存储线程频繁访问的回波数据,并以网格跨步循环的方式线程重用,按线程细粒度索引访问共享内存数据,最小化数据访问时间和开辟线程的花销,提高计算速度和效率,快速实现雷达信号处理。这种方法开发成本低、硬件平台搭建简单、线程重用,减少访问数据时间和线程激活和销毁的花销,提高数据计算的速度,快速实现雷达信号处理。

著录项

  • 公开/公告号CN115981846A

    专利类型发明专利

  • 公开/公告日2023-04-18

    原文格式PDF

  • 申请/专利权人 桂林电子科技大学;

    申请/专利号CN202211607365.1

  • 申请日2022-12-14

  • 分类号G06F9/50;G06F9/54;G06F18/10;G01S7/41;

  • 代理机构桂林市华杰专利商标事务所有限责任公司;

  • 代理人罗玉荣

  • 地址 541004 广西壮族自治区桂林市金鸡路1号

  • 入库时间 2023-06-19 19:30:30

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-05-05

    实质审查的生效 IPC(主分类):G06F 9/50 专利申请号:2022116073651 申请日:20221214

    实质审查的生效

说明书

技术领域

本发明涉及雷达技术领域,尤其涉及雷达信号数据处理快速实现,具体是一种基于网格跨步循环的GPU+CPU架构雷达信号处理实现方法。

技术背景

随着无人机等信息技术的不断发展,天空环境日趋复杂化,空中目标可能存在成百上千批无人机、同时还存在有大量的虚假目标,此外各种自然因素及人为干扰使得雷达信号处理系统计算量越来越大,这样对数据处理的实时性要求越来越高,因此基于软件化、通用化的灵活、高性能的快速实现雷达信号处理是未来雷达信号处理系统中的一个重要方向。早期的雷达采用现场可编程门阵列FPGA(Field Programmable Gate Array,简称FPGA)和专用的数字信号处理器DSP(Digital Signal Processing,简称DSP)来构建系统、完成雷达信号处理任务,但进行大规模计算时,对硬件要求高,硬件平台较复杂,灵活性不足,可维护性差。随着科技的发展,Nvidia公司提出基于GPU的统一设备CUDA(Compute UnifiedDevice Architecture,简称CUDA)架构,由此诞生了采用GPU+CPU异构的方式,由CPU负责复杂的逻辑运算,而将需要大量线程进行并行计算的数据存储在GPU的全局内存globalmemory中,当GPU进行并行计算时,核函数调度缓存在全局内存中的数据完成计算任务。随着雷达探测距离变大,通道数变多,导致数据量变大,GPU对大量回波数据进行计算时,回波中的每1个数据均被访问多次,频繁地访问GPU全局内存数据,将会造成极大的延时,因此计算速度比较慢。

发明内容

本发明的目的是针对现有技术的不足,而提供一种基于网格跨步循环的GPU+CPU架构雷达信号处理实现方法。这种方法能提高计算速度和效率,能快速实现雷达信号处理。

实现本发明目的的技术方案是:

一种基于网格跨步循环的GPU+CPU架构雷达信号处理实现方法,包括如下步骤:

1)在CPU主机端初始化雷达参数,开辟内存和显存空间,接收雷达回波信号S

2)CPU通过PCIE数据传输总线,将雷达回波信号S

3)对雷达回波信号S

3-1)CPU主机端通过对原始线性调频信号进行左右翻转,对翻转后的结果进行共轭复数运算,获得脉冲压缩系数S

3-2)将回波信号S

3-3)GPU设备端在脉冲压缩处理核函数中按照块内线程数大小开辟共享内存shared memory空间,通过控制线程索引依次将雷达回波信号S

3-4)采用一维网格跨步Grid-Stride循环、以一个网格内线程数量为循环步长,一维网格线程重用组成线程细粒度索引,一一对应索引向量化后的回波信号S

G

idx=threadIdx.x+blockIdx.x*blockDim.x,

其中,G

3-5)由线程细粒度索引访问缓存在共享内存shared memory中的雷达回波信号S

3-6)将脉冲压缩结果S

4)采用共享内存的方式对脉冲压缩结果S

4-1)将脉冲压缩结果S

4-2)CPU分配动目标显示结果S

4-3)GPU在MTI处理核函数中按照块内线程数大小开辟共享内存shared memory空间,采用控制线程索引方式依次将二维矩阵形式的脉冲压缩结果S

4-4)采用一维网格跨步Grid-Stride循环、以网格内线程数量为循环步长,线程重用组成线程细粒度索引,一一对应索引二维矩阵形式的脉冲压缩结果S

G

idx=threadIdx.x+blockIdx.x*blockDim.x,

idy=threadIdx.y+blockIdx.y*blockDim.y,

其中G

4-5)由线程细粒度索引访问缓存在共享内存shared memory中的脉冲压缩结果S

4-6)将MTI处理结果S

5)对缓存为二维矩阵形式的脉冲压缩结果S

5-1)CPU分配MTD处理结果S

5-2)以一个脉冲信号长度为滑窗大小,对M个脉压数据在相同的距离多普勒维度上进行M点加窗FFT,得到FFT以后的结果S

5-3)对FFT以后的结果S

6)利用缓存在GPU全局内存global memory中的数据S

6-1)GPU初始化恒虚警检测模块的参数并对动目标检测结果S

6-2)CPU分配恒虚警检测显存空间和开辟线程空间,启动恒虚警检测处理核函数;

6-3)GPU在恒虚警检测处理核函数中按照块内线程数大小开辟共享内存sharedmemory空间,采用控制线程索引方式依次将取模后的动目标检测结果S

6-4)采用一维网格跨步(Grid-Stride)循环、以网格内线程数量为循环步长,循环访问共享内存中取模后的动目标检测结果S

6-5)采用滑窗对归约后的待检单元左右两端的参考单元数据求和平均,获得噪声背景信号S

6-6)依据噪声背景数据S

6-7)将检测结果S

本技术方案的目的在于解决传统方案采用FPGA和DSP来构建雷达信号处理系统时对硬件要求高、硬件平台较复杂、可维护性差及在CPU+GPU架构下,采用全局内存缓存大规模数据时访问时间长,计算速度慢的问题,提供了一种基于网格跨步循环的GPU+CPU架构雷达信号快速处理方法。

本技术方案包括脉冲压缩、MTI、MTD、恒虚警检测处理过程,在GPU+CPU架构下,比较GPU内存结构中不同存储类型的访问时间,利用GPU高性能计算能力、高并发性和共享内存shard memory的高访问速度的特性,将雷达终端接收到的大量回波信号数据经过PCIE数据传输总线从CPU传输至GPU全局内存中,在经过脉冲压缩、动目标显示、动目标检测、恒虚警检测等雷达信号处理时,采用网格跨步循环的方式,线程重用,按线程细粒度索引访问共享内存数据,减少大规模数据运算时数据访问时间和线程时间开销,快速实现雷达信号处理,满足雷达实时性的要求。

本技术方案具有以下优点:

1.软件化、模块化数据处理,具有较高的灵活性和可维护性高:在GPU设备端对雷达信号系统中的脉冲压缩、动目标显示、动目标检测、恒虚警检测都采用独立的核函数编写,方便可维护;

2.运算速度快,耗时少:采用GPU具有高并行度、多线程、强大的算术计算能力和高带宽、低延迟的共享内存缓存机制,提高数据计算的速度,减少计算时间,能更好地满足雷达实时性的要求;

3.网格跨步循环,线程重用,最大化内存合并:解决当进行大规模数据运算时需要线程数量远大于SM单元上块内可调度线程数量问题,减少线程激活和销毁的花销;

4.开发成本低、硬件平台搭建简单、降低雷达信号处理对操作人员技术要求:本技术方案采用GPU+CPU作为硬件基础,解决了传统的采用FPGA和DSP作为硬件平台处理数据时硬件设备价格昂贵,平台环境搭建繁琐,硬件设计和调试难度高,软件程序复用性较低的问题;

5.目标检测精度高:本技术方案采用的统一计算设备架构(CUDA)技术含有复数矩阵进行FFT、IFFT、相乘等运算相关库函数,具有较为强大的浮点数运算能力。

这种方法能提高计算速度和效率,能快速实现雷达信号处理。

附图说明

图1为实施例的方法流程示意图;

图2为实施例中一维网格跨步循环索引雷达回波信号示意图;

图3为实施例中一维网格跨步循环索引二维矩阵形式脉冲压缩数据示意图;

图4为实施例中恒虚警检测处理流程图;

图5为实施例中采用本例方法和采用全局内存缓存数据处理时间方法比较图;

图6为实施例中采用本例方法和采用全局内存缓存数据处理时间方法线性比较图。

具体实施方式

下面结合附图和实施例对本发明的内容做进一步的阐述,但不是对本发明的限定。

实施例:

参照图1,一种基于网格跨步循环的GPU+CPU架构雷达信号处理实现方法,包括如下步骤:

1)在CPU主机端初始化雷达参数,开辟内存和显存空间,接收雷达回波信号S

2)CPU通过PCIE数据传输总线,将雷达回波信号S

3)对雷达回波信号S

3-1)CPU主机端通过对原始线性调频信号进行左右翻转,对翻转后的结果进行共轭复数运算,共轭复数获得脉冲压缩系数S

3-2)将回波信号S

3-3)GPU设备端在脉冲压缩处理核函数中按照块内线程数大小开辟共享内存shared memory空间,通过控制线程索引依次将雷达回波信号S

3-4)采用一维网格跨步Grid-Stride循环、以一个网格内线程数量为循环步长,一维网格线程重用组成线程细粒度索引,一一对应索引向量化后的回波信号S

G

idx=threadIdx.x+blockIdx.x*blockDim.x,

其中,G

3-5)由线程细粒度索引访问缓存在共享内存shared memory中的雷达回波信号S

3-6)将脉冲压缩结果S

4)采用共享内存的方式对脉冲压缩结果S

4-1)将脉冲压缩结果S

4-2)CPU分配动目标显示结果S

4-3)GPU在MTI处理核函数中按照块内线程数大小开辟共享内存shared memory空间,采用控制线程索引方式依次将二维矩阵形式的脉冲压缩结果S

4-4)采用一维网格跨步Grid-Stride循环、以网格内线程数量为循环步长,线程重用组成线程细粒度索引,一一对应索引二维矩阵形式的脉冲压缩结果S

G

idx=threadIdx.x+blockIdx.x*blockDim.x,

idy=threadIdx.y+blockIdx.y*blockDim.y,

其中G

4-5)由线程细粒度索引访问缓存在共享内存shared memory中的脉冲压缩结果S

4-6)将MTI处理结果S

5)对缓存为二维矩阵形式的脉冲压缩结果S

5-1)CPU分配MTD处理结果S

5-2)以一个脉冲信号长度为滑窗大小,对M个脉压数据在相同的距离多普勒维度上进行M点加窗FFT,得到FFT以后的结果S

5-3)对FFT以后的结果S

6)利用缓存在GPU全局内存global memory中的数据S

6-1)GPU初始化恒虚警检测模块的参数并对动目标检测结果S

6-2)CPU分配恒虚警检测显存空间和开辟线程空间,启动恒虚警检测处理核函数;

6-3)GPU在恒虚警检测处理核函数中按照块内线程数大小开辟共享内存sharedmemory空间,采用控制线程索引方式依次将取模后的动目标检测结果S

6-4)采用一维网格跨步(Grid-Stride)循环、以网格内线程数量为循环步长,循环访问共享内存中取模后的动目标检测结果S

6-5)采用滑窗对归约后的待检单元左右两端的参考单元数据求和平均,获得噪声背景信号S

6-6)依据噪声背景数据S

6-7)将检测结果S

一、试验验证条件:对本例方法的性能进行仿真试验分析,本例采用Window系统下的Visual Studio 2017、CUDA 11.4编程作为软件架构,以Intel Core i5-10400型号CPU和NVIDA Telsa A100 GPU显卡作为硬件平台,采用不同的GPU缓存机制在16个雷达脉冲时每个脉冲480个采样点的条件下进行测试;

二、实验效果:图5为采用本例方法和采用GPU全局内存缓存16个雷达脉冲、每个脉冲480个采样点回波数据进行雷达信号脉冲压缩、动目标显示、动目标检测、恒虚警检测结果对比图,图6是GPU两种缓存形式的折线图,从两幅图中可看出,本例方法采用网格跨步循环的方式,线程重用和共享内存存储数据比目前普遍采用全局内存缓存处理进行雷达信号处理方法,速度更快、耗时更少,更能满足雷达信号处理实时性的要求。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号