基于GPU架构的分段归一化最小均方误差杂波对消方法技术

技术编号:8980821 阅读:278 留言:0更新日期:2013-07-31 22:53
本发明专利技术公开了一种基于GPU架构的分段归一化最小均方误差杂波对消方法,主要解决传统基于CPU架构的自适应杂波对消处理难于实现并行和实时处理的问题。其实现步骤为:在CPU主机端对杂波对消的参数进行初始化,将杂波对消的数据分成两段,分别传输至不同的图形处理器GPU显存中;两块GPU对归一化最小均方误差NLMS杂波对消处理涉及到的所有运算进行并行加速,分别得到各自进行杂波对消后的数据;并把两段杂波对消后的数据传输至内存中,CPU将两段对消后的数据拼接成一段完整的数据继续后续的处理。本发明专利技术具有硬件平台搭建简单、稳定性好、运算速度快、精度高、数据扩展性强、易于开发的优点,可用于实际工程中杂波对消实时处理。

【技术实现步骤摘要】
基于GPU架构的分段归一化最小均方误差杂波对消方法本专利技术属于雷达
,主要涉及杂波对消的实现方法,具体来说就是一种基于GPU架构的分段归一化最小均方误差杂波对消方法,可在数学仿真软件MATLAB和微软提供的软件集成开发平台Visual studio上,快速进行杂波对消。
技术介绍
杂波对消广泛应用于各种信号处理系统中,特别是外辐射雷达信号处理系统。杂波抑制一般位于信号处理的前端,是整个信号处理中最重要的模块,杂波抑制的好坏直接影响着后续信号处理的性能高低。杂波对消处理的主要是强直达波、多径杂波干扰的问题,通过主、辅两个通道的信号相关来对消主通道中掺杂的杂波,理想的情况下,主通道中的杂波可以被完全抑制掉。杂波对消主要有最小均方误差LMS、直接矩阵求逆SMI和递归最小二乘RLS三种方法。归一化最小均方误差NLMS属于最小均方误差LMS的升级方法,结构简单,运算量小,但难于进行实时对消处理,如何提高NLMS的处理速度是实现实时对消处理的一个关键问题。现有技术中,NLMS杂波对消是基于CPU架构实现的,杂波对消速度受到了硬件的限制,不能满足各种信号处理系统的需求。
技术实现思路
本专利技术的目的在于针对上述基于CPU架构的NLMS杂波对消的不足,提出一种基于GTO架构的分段归一化最小均方误差杂波对消方法,在不损失处理精度的情况下,实现杂波对消的实时处理,满足各种实时信号处理系统的需求。本专利技术的技术思路是:把杂波对消分两段分别进行,利用图形处理器GPU强大的数据并行能力,对杂波对消中涉及到的矩阵运算进行并行加速,实现杂波对消的实时处理。为实现上述目的,本专利技术方法包括如下步骤:(I)在CPU主机端对归一化最小均方误差NLMS滤波器的参数进行初始化:(Ia)将雷达目标信号、杂波信号和噪声信号作为归一化最小均方误差NLMS滤波器主通道的接收信号sig ;将杂波信号和噪声信号作为归一化最小均方误差NLMS滤波器辅助通道的接收信号ref,这两种信号sigaef的数据长度S根据接收信号的采样率设定,并根据杂波强度设定杂波对消阶数值C ;(Ib)把归一化最小均方误差NLMS滤波器主通道信号sig分为两段,记为sigl、sig2,把辅助通道信号ref分为两段,记为refl、ref2 ;sigl、sig2、refl、ref2数据长度均为SI,sigl和sig2及refl和ref2重叠的数据长度均为L ;(Ic)在CPU主机端分配杂波对消所需的内存、显存资源;(Id)设归一化最小均方误差NLMS杂波对消分段后,杂波对消权向量wlex1、w2cxl的初始值均为CX1 ;(Ie)设杂波对消初始时刻迭代初值Ip I2均为O ;(If)设归一化最小均方误差NLMS杂波对消分两段后,误差信号初始值分别为:el=sigl、e2 = sig2 ;(Ig)在CPU主机端,把主通道信号sig、辅助通道信号ref的数据加载到CPU内存中;(2)在CPU主机端上创建两个杂波对消的工作线程;(3)选择两块能支持计算统一设备架构CUDA的图形处理器GPU,并将两块图形处理器GPU与两个工作线程进行连接;(4)分别确定调用一次图形处理器GPU内核函数所能计算出的数据点数M,调用GPU内核函数的次数N及分段后的数据长度SI ;(5)每个CPU工作线程在图形处理器GPU设备端加载各自分段后的主通道、辅助通道信号数据,分别存入sigl、refl、sig2、ref2中,即:本文档来自技高网...

【技术保护点】
一种基于GPU架构的分段归一化最小均方误差杂波对消方法,其特征在于包括如下步骤:(1)在CPU主机端对归一化最小均方误差NLMS滤波器的参数进行初始化:(1a)将雷达目标信号、杂波信号和噪声信号作为归一化最小均方误差NLMS滤波器主通道的接收信号sig;将杂波信号和噪声信号作为归一化最小均方误差NLMS滤波器辅助通道的接收信号ref,这两种信号sig、ref的数据长度S根据接收信号的采样率设定,并根据杂波强度设定杂波对消阶数值C;(1b)把归一化最小均方误差NLMS滤波器主通道信号sig分为两段,记为sig1、sig2,把辅助通道信号ref分为两段,记为ref1、ref2;sig1、sig2、ref1、ref2数据长度均为S1,sig1和sig2及ref1和ref2重叠的数据长度均为L;(1c)在CPU主机端分配杂波对消所需的内存、显存资源;(1d)设归一化最小均方误差NLMS杂波对消分段后,杂波对消权向量w1C×1、w2C×1的初始值均为[00...00]C×1;(1e)设杂波对消初始时刻迭代初值l1、l2均为0;(1f)设归一化最小均方误差NLMS杂波对消分两段后,误差信号初始值分别为:e1=sig1、e2=sig2;(1g)在CPU主机端,把主通道信号sig、辅助通道信号ref的数据加载到CPU内存中;(2)在CPU主机端上创建两个杂波对消的工作线程;(3)选择两块能支持计算统一设备架构CUDA的图形处理器GPU,并将两块图形处理器GPU与两个工作线程进行连接;(4)分别确定调用一次图形处理器GPU内核函数所能计算出的数据点数M,调用GPU内核函数的次数N及分段后的数据长度S1;(5)每个CPU工作线程在图形处理器GPU设备端加载各自分段后的主通道、辅助通道信号数据,分别存入sig1、ref1、sig2、ref2中,即:sig1=sig[12...S1?1S1]S1×1,ref1=ref[12...S1?1S1]S1×1,sig2=sig[S1?L+1S1?L+2...S?1S]S1×1,ref2=ref[S1?L+1S1?L+2...S?1S]S1×1;(6)在两块图形处理器GPU设备端上,分别调用内核函数进行归一化最小均方误差NLMS杂波对消处理:(6a)设两个内核函数的线程格grid均为(1,1),线程块block均为(C,1),其中,其中(1,1)表示内核函数由一个线程块block组成,(C,1)表示线程块block由C个图形处理器GPU线程组成;(6b)在两块图形处理器GPU设备端上,分别设置各自迭代初值为:k1=0、k2=0;(6c)在第一块图形处理器GPU设备端上,获取k1+l1×M时刻的主通道信号和辅助通道参考信号(6d)在第二块图形处理器GPU设备端上,获取k2+l2×M时刻的主通道信号和辅助通道参考信号(6e)在两块图形处理器GPU设备端上,利用k1+l1×M时刻和k2+l2×M时刻的主通道信号和辅助通道参考信号分别计算这两个时刻的误差信号(6f)在两块图形处理器GPU设备端上,利用k1+l1×M时刻和k2+l2×M时刻的辅助通道参考信号分别计算步长因子μ1、μ2;(6g)在两块图形处理器GPU设备端上,利用k1+l1×M时刻和k2+l2×M时刻的误差信号和步长因子μ1、μ2,分别更新杂波对消权向量w1C×1、w2C×1;(6h)在两块图形处理器GPU设备端上,分别更新各自的迭代值:k1=k1+1,k2=k2+1;(7)重复迭代步骤(6c)~步骤(6h)共M次,在两块GPU设备端上,分别得到M点杂波对消后的误差信号数据,并存入e1、e2中的对应位置;(8)在CPU主机端两个工作线程中分别更新各自的迭代值:l1=l1+1、l2=l2+1;(9)重复迭代步骤(6)~步骤(8)共N次,在每个GPU设备端上,得到进行杂波对消后的误差信号e1、e2;(10)将e1、e2的数据传输至CPU主机端内存中;(11)设置CPU与GPU同步,等待两块GPU显存中的数据全部传输完成后,在CPU主机端上,将误差信号e1、e2拼接成长度为S的误差信号e并保存,保存后释放进行杂波对消所分配的内存、显存资源。FDA00002943846500021.jpg,FDA00002943846500022.jpg,FDA00002943846500023.jpg,FDA00002943846500024.jpg,FDA00002943846500025.jpg,FDA00002943846500026.jpg,FDA00002943846500027.jpg,FDA00002943846500028.jpg,FDA00002943846500031.jpg...

【技术特征摘要】
1.一种基于GPU架构的分段归一化最小均方误差杂波对消方法,其特征在于包括如下步骤: (1)在CPU主机端对归一化最小均方误差NLMS滤波器的参数进行初始化: (Ia)将雷达目标信号、杂波信号和噪声信号作为归一化最小均方误差NLMS滤波器主通道的接收信号sig ;将杂波信号和噪声信号作为归一化最小均方误差NLMS滤波器辅助通道的接收信号ref,这两种信号sigief的数据长度S根据接收信号的采样率设定,并根据杂波强度设定杂波对消阶数值C ; (Ib)把归一化最小均方误差NLMS滤波器主通道信号sig分为两段,记为sigl、sig2,把辅助通道信号ref分为两段,记为refl、ref2 ;sigl、sig2、refl、ref2数据长度均为SI,sigl和sig2及refl和ref2重叠的数据长度均为L ; (Ic)在CPU主机端分配杂波对消所需的内存、显存资源; (Id)设归一化最小均方误差NLMS杂波对消分段后,杂波对消权向量wlex1、w2exi的初始值均为CX1 ; (Ie)设杂波对消初始时刻迭代初值Ip I2均为O ; (If)设归一化最小均方误差NLMS杂波对消分两段后,误差信号初始值分别为:el =sigl、e2 = sig2 ; (Ig)在CPU主机端,把主通道信号sig、辅助通道信号ref的数据加载到CPU内存中; (2)在CPU主机端上创建两个杂波对消的工作线程; (3)选择两块能支持计算统一设备架构CUDA的图形处理器GPU,并将两块图形处理器GPU与两个工作线程进行连接; (4)分别确定调用一次图形处理器GPU内核函数所能计算出的数据点数M,调用GPU内核函数的次数N及分段后的数据长度SI ; (5)每个CPU工作线程在图形处理器GPU设备端加载各自分段后的主通道、辅助通道信号数据,分别存入sigl、refl、sig2、ref2中,即: sigl = sig[12...S1-1S1]S1X1, refl = ref [12...S1_1S1]S1X1, sig2 = sig[Sl-L+lSl-L+2...S_lS]slxl, ref2 = ref [S1-L+1S1-L+2...S_lS]slxl ; (6)在两块图形处理器GPU设备端上,分别调用内核函数进行归一化最小均方误差NLMS杂波对消处理: (6a)设两个内核函数的线程格grid均为(1,I),线程块block均为(C,1),其中,其中(I, I)表示内核函数由一个线程块block组成,(C,I)表示线程块block由C个图形处理器GPU线程组成; (6b)在两块图形处理器GPU设备端上,分别设置各自迭代初值为^ = 0、k2 = O ; (6c)在第一块图形处理器GPU设备端上,获取!^+I1XM时刻的主通道信号+c+/,xM 丄丄li和辅助通道参考信号U (6d)在第二块图形处理器GPU设备端上,获取k2+l2 XM时刻的主通道信号和辅助通道参考信号; (6e)在两块图形处理器GPU设备端上,利用!^+I1XM时刻和k2+l2XM时刻的主通道信号、...

【专利技术属性】
技术研发人员:王俊武勇汤涛夏斌
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1