一种基于Vivado-HLS的LCMV旁瓣抑制方法

文档序号:31053661发布日期:2022-08-06 09:42阅读:157来源:国知局
一种基于Vivado-HLS的LCMV旁瓣抑制方法
一种基于vivado-hls的lcmv旁瓣抑制方法
技术领域
1.本发明属于信息处理技术领域,具体涉及一种基于vivado-hls的lcmv旁瓣抑制方法。


背景技术:

2.随着现代雷达技术的发展,雷达的干扰形式和类型越来越多样化,其中,抑制旁瓣干扰是雷达抗干扰技术的一个热门研究方向。
3.现有技术中,通常基于线性约束最小方差波束形成算法(lcmv,linearly contrained minimum variance)进行自适应抑制旁瓣干扰。
4.但是,现有技术在进行开发的过程中,通常先进行软件仿真,再将算法基于fpga进行实现。由于verilog语言的局限性,不能保证上述算法的运算精度,且具有可移植性差、算法开发周期长和时序逻辑调节难度大等缺点。


技术实现要素:

5.为了解决现有技术中存在的上述问题,本发明提供了一种基于vivado-hls的lcmv旁瓣抑制方法。本发明要解决的技术问题通过以下技术方案实现:
6.一种基于vivado-hls的lcmv旁瓣抑制方法,所述方法包括:步骤1:获取回波信号数据矩阵、期望目标的角度信息;其中,所述角度信息包括俯仰角和方位角;步骤2:基于回波信号数据矩阵,获取所述回波信号数据矩阵对应的自相关矩阵和自相关矩阵的逆矩阵;步骤3:根据所述期望目标的角度信息,计算静态空域导向矢量;步骤4:将所述自相关矩阵的逆矩阵与所述静态空域导向矢量进行点乘处理,以得到最优权矢量;步骤5:基于vivado hls,将所述最优权矢量生成为目标ip核;步骤6:通过fpga调用所述目标ip核,以实现旁瓣抑制。
7.在本发明的一个实施例中,所述步骤1包括:步骤1-1:对获取的基带的回波信号数据矩阵进行抽样处理;其中,回波信号数据矩阵表示为:x=[n
×
m],其中,n表示通道个数,m表示采样后回波信号的长度信息;步骤1-2:将抽样处理后的回波信号数据矩阵,表示为:
[0008][0009]
其中,k表示抽取倍数;步骤1-3:将获取的期望目标的俯仰角表示为期望目标的方位角表示为θ。
[0010]
在本发明的一个实施例中,所述步骤2包括:步骤2-1:设m/k为ns,得到回波信号数据矩阵x对应的自相关矩阵,表示为:
[0011][0012]
其中,ns表示原始数据长度经k倍抽样后的长度;步骤2-2:对自相关矩阵求逆,以
得到自相关矩阵的逆矩阵,表示为:其中,自相关矩阵和自相关矩阵的逆矩阵的大小均为n
×
n。
[0013]
本发明的有益效果:
[0014]
1、本发明能够利用vivado hls工具采用c++语言编写,提高运算结果的精度,提高计算简易度,有效提高了算法的开发效率,生成可以直接被fpga调用的ip核,大大提高了算法的可移植性;
[0015]
2、本发明能够先对获取到的回波信号数据矩阵进行抽样处理,能够能够在保证有效数据不失真的前提下,极大地减少数据量,从而提高后续自相关矩阵与自相关矩阵的逆矩阵的计算效率;
[0016]
3、本发明通过vivado hls,对数据进行并行计算,以对整体代码或者部分代码进行综合优化或者流水线优化等,能够提高算法效率,降低资源消耗。
[0017]
以下将结合附图及实施例对本发明做进一步详细说明。
附图说明
[0018]
图1是本发明实施例提供的一种基于vivado-hls的lcmv旁瓣抑制方法示意图;
[0019]
图2是本发明实施例提供的一种天线模型平面示意图。
具体实施方式
[0020]
下面结合具体实施例对本发明做进一步详细的描述,但本发明的实施方式不限于此。
[0021]
本发明是在目标回波信号经过初步信号处理至基带后,对其进行lcmv算法处理,最终达到在目标方向没有失真同时进行旁瓣抑制。本发明基于vivado hls软件用c++语言进行抗干扰算法的实现,并最终生成可以被fpga调用的ip核,能够克服verilog语言自身造成的精度低、可移植性差等缺陷,本发明能够大大降低了算法开发周期。
[0022]
实施例
[0023]
请参见图1,图1是本发明实施例提供的一种基于vivado-hls的lcmv旁瓣抑制方法示意图,所述方法包括:
[0024]
步骤1:获取回波信号数据矩阵、期望目标的角度信息;其中,所述角度信息包括俯仰角和方位角。
[0025]
可选的,所述步骤1包括:
[0026]
步骤1-1:对获取的基带的回波信号数据矩阵进行抽样处理;其中,回波信号数据矩阵表示为:
[0027]
x=[n
×
m],
[0028]
其中,n表示通道个数,m表示采样后回波信号的长度信息。
[0029]
m个点中包含了目标的速度距离等有效信息。示例如,将m设为4096,n设为12,表示12路通道信号。
[0030]
步骤1-2:将抽样处理后的回波信号数据矩阵,表示为:
[0031][0032]
其中,k表示抽取倍数。
[0033]
所述目标回波信号数据矩阵为n
×
m维矩阵,表示接收机有n个接收通道,每个通道数据采样点数为m,对每个通道的回波数据做k倍的抽样,抽样后的回波数据点数为m/k,用ns表示,ns需满足ns≥2n的条件。
[0034]
由于回波数据的长度通常较长,因此数据矩阵需占用较大的资源且不便于计算自相关矩阵以及自相关矩阵的逆矩阵。在本发明中首先将获取到的回波信号数据长度进行抽样,抽取之后的数据点数为m/k。需要说明的是,抽取得到的点数可由本领域技术人员根据业务需要进行设置,只要能够简化计算,缩小数据点数即可。示例如,设k为64,所以最终得到的数据长度为64个点,即x=[12
×
64]。
[0035]
步骤1-3:将获取的期望目标的俯仰角表示为期望目标的方位角表示为θ。
[0036]
所述期望目标方位角与俯仰角的角度信息通过fpga提供。
[0037]
步骤2:基于回波信号数据矩阵,获取所述回波信号数据矩阵对应的自相关矩阵和自相关矩阵的逆矩阵。
[0038]
可选的,所述步骤2包括:
[0039]
步骤2-1:设m/k为ns,得到回波信号数据矩阵x对应的自相关矩阵,表示为:
[0040][0041]
其中,ns表示原始数据长度经k倍抽样后的长度。
[0042]
可选的,所述步骤2-1包括:
[0043]
步骤2-11:将所述回波信号数据矩阵x分类为n组第一向量。
[0044]
步骤2-12:将所述n组第一向量分别乘以xh,以得到n组行向量。其中,xh表示数据矩阵的共轭转置。
[0045]
步骤2-13:设m/k为ns,并将所述n组行向量进行组合并除以ns,以得到回波信号数据矩阵x对应的自相关矩阵。
[0046]
步骤2-11至步骤2-13能够利用矩阵的性质,对矩阵与矩阵的成乘积进行优化,以实现高层次仿真和综合,通过添加dataflow指令实现并行计算,极大地提高了数据流的输出效率,增强实时性,提高运算效率。
[0047]
步骤2-2:对自相关矩阵求逆,以得到自相关矩阵的逆矩阵,表示为:其中,自相关矩阵和自相关矩阵的逆矩阵的大小均为n
×
n。
[0048]
步骤3:根据所述期望目标的角度信息,计算静态空域导向矢量。
[0049]
可选的,所述步骤3包括:
[0050]
步骤3-1:计算各个阵元对三维空间上目标方向的导向矢量,表示为:
[0051][0052]
[0053]
其中,相邻两个子阵之间的水平方向间距为dx,竖直间距为dy;λ表示波长;
[0054][0055][0056]
需要说明的是,l(dx,λ)是与阵元天线的排布,阵元间距与雷达信号波长有关的函数,向量的点数与形式与天线排布与技术人员定义的零相位位置有关。l(dy,λ)同理。
[0057]
步骤3-2:基于ay和az计算克罗内克积(kronecker积),以得到静态空域导向矢量,表示为:
[0058]
ω=kron(ay,az)。
[0059]
ω的点数为n。
[0060]
参考图2,如图2所示在本实例中的天线包括12个阵元也就是对应12个通道,每个通道有16个子阵。根据参考图2可以看出相邻两个子阵之间的水平方向间距为dx,竖直间距为dy。在本发明中天线是4
×
4,将整个天线的中心作为相位的零点。得到16个子阵对应的静态空域导向矢量。
[0061]
图2中12路通道,在16个阵元中最左上、左下、右上、右下方位的子阵不包含在内,所以ω抽取出第2、3、5、6、7、8、9、10、11、12、14、15个元素,这些点与图2中的子阵1、子阵2、子阵3、子阵4、子阵5、子阵6、子阵7、子阵8、子阵9、子阵10、子阵11和子阵12所一一对应。本实例中的通道个数和子阵排列顺序均为特例,对于其余实例只需将对应实例的天线阵元排布与信号有效通道个数进行匹配,并把导向矢量中对应的有效元素单独提出来组合成新的导向矢量便可。
[0062]
步骤4:将所述自相关矩阵的逆矩阵与所述静态空域导向矢量进行点乘处理,以得到最优权矢量。
[0063]
即,基于线性约束最小方差波束形成算法(lcmv,linearly contrained minimum variance)技术的最优权矢量ω
opt

[0064]
所述步骤4表示为:
[0065][0066]
可选的,所述步骤4包括:
[0067]
步骤4-1:将自相关矩阵的逆矩阵按行分成n组第二向量。
[0068]
步骤4-2:将所述n组第二向量分别乘以静态空域导向矢量,以得到n个数值。
[0069]
步骤4-3:将所述n个数值进行组合,以得到最优权矢量。
[0070]
步骤4-1至步骤4-3能够利用矩阵的性质,对矩阵与向量的成乘积进行优化,以实现高层次仿真和综合,通过添加dataflow指令实现并行计算,极大地提高了数据流的输出效率,增强实时性,提高运算效率。
[0071]
另外,需要说明的是,本发明能够基于vivado hls对程序中的单次for循环使用pipeline指令同步运算优化或者对多个不相关联的for循环使用merge优化进行合并循环,能够在一定程度上降低循环的latency,有效降低资源的消耗。对嵌套层的for循环对中间层做流水进行imperfect loop nest优化。即,对for循环进行优化。
[0072]
步骤5:基于vivado hls,将所述最优权矢量生成为目标ip核。
[0073]
需要说明的是,所述目标ip核指的是fpga可直接调用的ip核。
[0074]
本发明通过生成fpga可直接调用的ip核,能够降低资源占用,增强可移植性,减小开发人员的重复劳动。
[0075]
步骤6:通过fpga调用所述目标ip核,以实现旁瓣抑制。
[0076]
综上,本发明有益效果:
[0077]
1、本发明能够利用vivado hls工具采用c++语言编写,提高运算结果的精度,提高计算简易度,有效提高了算法的开发效率,生成可以直接被fpga调用的ip核,大大提高了算法的可移植性;
[0078]
2、本发明能够先对获取到的回波信号数据矩阵进行抽样处理,能够能够在保证有效数据不失真的前提下,极大地减少数据量,从而提高后续自相关矩阵与自相关矩阵的逆矩阵的计算效率;
[0079]
3、本发明通过vivado hls,对数据进行并行计算,以对整体代码或者部分代码进行综合优化或者流水线优化等,能够提高算法效率,降低资源消耗。
[0080]
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1