(12)发明专利申请
(10)申请公布号 CN 111751782 A(43)申请公布日 2020.10.09
(21)申请号 202010514040.3(22)申请日 2020.06.08
(71)申请人 西安思丹德信息技术有限公司
地址 710077 陕西省西安市高新区丈八六
路49号(72)发明人 张天明 王晨 付雷
(74)专利代理机构 西安通大专利代理有限责任
公司 61200
代理人 王艾华(51)Int.Cl.
G01S 3/12(2006.01)G01S 3/28(2006.01)
权利要求书2页 说明书8页 附图2页
CN 111751782 A(54)发明名称
一种基于FPGA的比幅测角系统及方法(57)摘要
本发明公开了一种基于FPGA的比幅测角系统,包括多波束天线、模数转换芯片和FPGA芯片,在FPGA芯片中内置有存储器ROM;多波束天线的每个通道各连接一个模数转换芯片,模数转换芯片与FPGA芯片连接。本发明还公开了其实现方法,每个通道的天线采集到的模拟信号经过AD转换为数字信号后传给FPGA,FPGA先计算出每个通道内信号的幅度,然后找出幅度最大的相邻三个通道的幅度值,基于最大幅度通道的通道号调用存储器中的通道参数,再根据测角模式调用读幅度的自然对数值,根据响应公式计算出目标到达角。采用了FPGA芯片时延低,并行处理速度快,同时运用存储器ROM存放需要修改的参数文件,并且方便在不同的地理位置场合校正测角值,提高调试效率,易于程序后期的维护。
CN 111751782 A
权 利 要 求 书
1/2页
1.一种基于FPGA的比幅测角系统,其特征在于,包括多波束天线、模数转换芯片和FPGA芯片,在FPGA芯片中内置有存储器ROM;
多波束天线的每个通道各连接一个模数转换芯片,模数转换芯片与FPGA芯片连接,模数转换芯片用于将采集到的模拟信号转换为数字信号,FPGA芯片用于计算目标到达角。
2.根据权利要求1所述的基于FPGA的比幅测角系统,其特征在于,FPGA芯片采用Xilinx的XC7VX690TFFG1927-2I。
3.根据权利要求1所述的基于FPGA的比幅测角系统,其特征在于,存储器ROM包括第一存储器ROM0和第二存储器ROM1,第一存储器ROM0用于存储通道参数,通道参数包括比例系数K值、轴向角和补偿角对应的值;
第二存储器ROM1用于存储幅度的自然对数值。
4.根据权利要求1所述的基于FPGA的比幅测角系统,其特征在于,当通道数为48个时,第一存储器ROM0设有192个地址,地址0~48用于存储ma(n)*100*216对应的值,地址49~97用
4
于存储ca(n)*100*216对应的值,地址97~144用于存储1/(2k(n)*θ地址0)*100*2对应的值,
4
145~192用于存储1/(4k(n)*θ0)*100*2对应的值;
其中,ma(n)表示通道n的轴向角,ca(n)表示通道n的补偿角,k(n)表示通道n的比例系数,θ0表示通道间隔。
5.根据权利要求1所述的基于FPGA的比幅测角系统,其特征在于,第二存储器ROM1设有4096个地址,用于存储扩大212倍的ln1~ln4096。
6.一种基于FPGA实现的比幅测角方法,其特征在于,包括以下步骤:
(1)每个通道的天线采集到的模拟信号经过模数转换芯片为数字信号后,数字信号传送至FPGA中进行计算,得到每个通道内信号的幅度值,先找出最大幅度值对应的通道号,然后找出与该通道号相邻两个通道的幅度值;
(2)FPGA根据最大幅度值和相邻两个通道的幅度值,判断测角模式;(3)FPGA根据最大幅度值对应的通道号,调用存储器ROM中与该通道号对应的通道参数;FPGA根据测角模式调用存储器ROM中的存储的幅度自然对数值;
(4)FPGA最后计算出目标到达角。
7.根据权利要求6所述的基于FPGA的比幅测角方法,其特征在于,通道参数包括比例系数K值、轴向角和补偿角对应的值。
8.根据权利要求6所述的基于FPGA的比幅测角方法,其特征在于,测角模式根据第二高幅度值和第三高幅度值的非零情况来判断,当第二高幅度值和第三高幅度值均不为零时,为三波束测角;当第二高幅度值和第三高幅度值其中一个幅度值为零时,为二波束测角。
9.根据权利要求8所述的基于FPGA的比幅测角方法,其特征在于,测角模式为三波束测角时,目标到达角的计算公式为:
最后计算结果θ*100*216截取16位输出即为FPGA计算出的目标到达角A;
ma(n)表示通道n的轴向角,ca(n)表示通道n的补偿角,k(n)表示通道n的比例系数,θ0表示
2
CN 111751782 A
权 利 要 求 书
2/2页
通道间隔,An+1表示通道n+1的幅度值,An-1表示通道n-1的幅度值。
10.根据权利要求8所述的基于FPGA的比幅测角方法,其特征在于,测角模式为二波束测角时,目标到达角的计算公式为:当An+1=0时,
当An-1=0时,
最后计算结果θ*100*216截取16位输出即为FPGA计算出的目标到达角A;
ma(n)表示通道n的理想轴向角,ca(n)表示通道n的补偿角,k(n)表示通道n的比例系数,θ0表示通道间隔,An表示通道n的幅度值,An+1表示通道n+1的幅度值,An-1表示通道n-1的幅度值。
3
CN 111751782 A
说 明 书
一种基于FPGA的比幅测角系统及方法
1/8页
技术领域
[0001]本发明属于比幅测角技术领域,特别涉及一种基于FPGA的比幅测角系统及方法。背景技术
[0002]目前,比幅测角技术用于多波束阵列天线系统中,阵列天线是由许多相同的单个天线按一定规律排列组成的天线系统,比幅测角技术是通过比较阵列天线系统中相邻的两个或三个窄波束所接收到的信号幅度,按照一定的计算方法计算出目标到达角的技术。[0003]目前在工程实现中,大多采用DSP平台实现比幅测角算法;但是,由于通道比较多,采集的数据量也比较大,DSP的处理能力有限,所以采用基于DSP计算比幅测角时,目标数量较少时可行,如果同时出现的目标较多时,则计算出目标到达角的时延会增大,甚至会丢失部分目标数据。此外,由于多波束阵列天线系统在不同的工作环境以及地理位置下,每个通道内的接收增益及幅度特性等会发生变化,需要在实际工作地点实时进行校正,反复测试调整各项参数,过程比较费时费力;因此,在该系统中使用DSP平台进行测角运算满足不了系统的使用要求。
发明内容
[0004]本发明的目的在于提供一种基于FPGA的比幅测角系统及方法,能够有效地解决在多阵列天线系统中,当同时有多个目标出现时,实时准确地计算出目标到达角的问题。[0005]本发明是通过以下技术方案来实现:[0006]一种基于FPGA的比幅测角系统,包括多波束天线、模数转换芯片和FPGA芯片,在FPGA芯片中内置有存储器ROM;
[0007]多波束天线的每个通道各连接一个模数转换芯片,模数转换芯片与FPGA芯片连接,模数转换芯片用于将采集到的模拟信号转换为数字信号,FPGA芯片用于计算目标到达角。
[0008]进一步,FPGA芯片采用Xilinx的XC7VX690TFFG1927-2I。[0009]进一步,存储器ROM包括第一存储器ROM0和第二存储器ROM1,第一存储器ROM0用于存储通道参数,通道参数包括比例系数K值、轴向角和补偿角对应的值;[0010]第二存储器ROM1用于存储幅度的自然对数值。[0011]进一步,当通道数为48个时,第一存储器ROM0设有192个地址,地址0~48用于存储ma(n)*100*216对应的值,地址49~97用于存储ca(n)*100*216对应的值,地址97~144用于存储
44
1/(2k(n)*θ地址145~192用于存储1/(4k(n)*θ0)*100*2对应的值,0)*100*2对应的值;[0012]其中,ma(n)表示通道n的轴向角,ca(n)表示通道n的补偿角,k(n)表示通道n的比例系数,θ0表示通道间隔。[0013]进一步,第二存储器ROM1设有4096个地址,用于存储扩大212倍的ln1~ln4096。[0014]6、一种基于FPGA实现的比幅测角方法,包括以下步骤:[0015](1)每个通道的天线采集到的模拟信号经过模数转换芯片为数字信号后,数字信
4
CN 111751782 A
说 明 书
2/8页
号传送至FPGA中进行计算,得到每个通道内信号的幅度值,先找出最大幅度值对应的通道号,然后找出与该通道号相邻两个通道的幅度值;[0016](2)FPGA根据最大幅度值和相邻两个通道的幅度值,判断测角模式;[0017](3)FPGA根据最大幅度值对应的通道号,调用存储器ROM中与该通道号对应的通道参数;FPGA根据测角模式调用存储器ROM中的存储的幅度自然对数值;[0018](4)FPGA最后计算出目标到达角。[0019]进一步,通道参数包括比例系数K值、轴向角和补偿角对应的值。[0020]进一步,测角模式根据第二高幅度值和第三高幅度值的非零情况来判断,当第二高幅度值和第三高幅度值均不为零时,为三波束测角;当第二高幅度值和第三高幅度值其中一个幅度值为零时,为二波束测角。[0021]进一步,测角模式为三波束测角时,目标到达角的计算公式为:
[0022]
最后计算结果θ*100*216截取16位输出即为FPGA计算出的目标到达角A;[0024]ma(n)表示通道n的轴向角,ca(n)表示通道n的补偿角,k(n)表示通道n的比例系数,θ0表示通道间隔,An+1表示通道n+1的幅度值,An-1表示通道n-1的幅度值。[0025]进一步,测角模式为二波束测角时,目标到达角的计算公式为:当An+1=0时,
[0023]
[0026]
[0027][0028]
当An-1=0时,
最后计算结果θ*100*216截取16位输出即为FPGA计算出的目标到达角A;[0030]ma(n)表示通道n的理想轴向角,ca(n)表示通道n的补偿角,k(n)表示通道n的比例系数,θAn表示通道n的幅度值,An+1表示通道n+1的幅度值,An-1表示通道n-1的0表示通道间隔,幅度值。
[0031]与现有技术相比,本发明具有以下有益的技术效果:[0032]本发明公开了一种基于FPGA的比幅测角系统,采用了FPGA芯片处理计算多个目标的到达角,实时性好,时延低,并行处理速度快,同时运用存储器ROM存放需要修改的参数文件,并且方便在不同的地理位置场合校正测角值,提高调试效率,易于程序后期的维护,提高了代码的安全性和可维护性;FPGA通过调用存储器中存储的数据,进一步减小了FPGA的运算工作量,缩短了FPGA的运算时间,能够有效地解决在多阵列天线系统中,当同时有多个目标出现时,实时准确地计算出目标到达角的问题。[0033]进一步,采用了两个存储器,一个用于存储通道参数,另一个用于存储幅度对应的自然对数值,降低了对存储器的配置要求,方便工作人员管理,当其中一个存储器出现故障
[0029]
5
CN 111751782 A
说 明 书
3/8页
时,也不会影响另外一个存储器的使用。
[0034]本发明还公开了一种基于FPGA的比幅测角方法,每个通道的天线采集到的模拟信号经过AD转换为数字信号后,把这些数字信号传给FPGA,FPGA先计算出每个通道内信号的幅度,然后找出幅度最大的相邻三个通道的幅度值,基于最大幅度通道的通道号调用存储器中的通道参数,再根据测角模式调用读幅度的自然对数值,根据响应公式计算出目标到达角。本发明基于FPGA实现比幅测角,因为FPGA可以并行处理多路数据,可以同时采集多个通道天线接收到的信号,然后量化幅度,找出幅度较高的相邻两个或三个通道的幅度,然后代入比幅测角公式去计算到达角,运算时间为纳秒级,而传统的DSP平台的运算时间都是毫秒级的,大大提高了运算速度。此外,在实现计算目标到达角的方法中运用了存储器,例如每个通道的轴向角,比例系数K值,计算补偿角等,当确定了最大幅度通道号后,只需要一个时钟周期即可找出计算目标到达角所需的该通道内的参数,并且运用查找表的方法有利于后期调试,在调试过程中,只需要根据测试数据去修改查找表ROM中的参数文件即可,而不用去修改FPGA的源代码,提高了软件的安全性和可维护性。[0035]进一步,根据测角模式给出了相应地计算公式,在计算时,将计算公式拆分成乘法和加法运算,没有使用除法运算,整个计算过程低时延并且可以同时处理多个目标。附图说明
[0036]图1为本发明的多波束比幅测角原理示意图;[0037]图2为本发明的系统框架示意图;[0038]图3为本发明的具体实现流程图。
具体实施方式
[0039]下面结合具体的实施例对本发明做进一步的详细说明,所述是对本发明的解释而不是限定。
[0040]如图2所示,本发明公开了一种基于FPGA的比幅测角系统,包括多波束天线、模数转换芯片和FPGA芯片,在FPGA芯片中内置有存储器ROM;多波束天线的每个通道各连接一个模数转换芯片,模数转换芯片与FPGA芯片连接,模数转换芯片用于将采集到的模拟信号转换为数字信号,FPGA芯片用于计算目标到达角,目标到达角为偏差角、轴向角和补偿角之和。
[0041]每个通道的天线采集到的模拟信号经过AD转换为数字信号后,把这些数字信号传给FPGA。在FPGA中先计算出每个通道内信号的幅度,然后找出幅度最大的相邻三个通道的幅度值,最后计算目标到达角。[0042]FPGA计算目标到达角时,先找出最大幅度通道的通道号以及其相邻通道的幅度值;再根据最大幅度通道的通道号,通过查找表的方法确定该通道内的比例系数K值以及轴向角,补偿角等参数,每个通道号都对应一组特定的参数,参数的获取方法在以下内容会具体介绍。
[0043]FPGA根据第二高幅度值和第三高幅度值的非零情况判断测角模式,当两个幅度值均不为零时为三波束测角,当有一个幅度值为零时为二波束测角;根据各种模式的测角公式,计算出偏差角;二波束测角公式见多波束比幅测向原理中的公式(6)和公式(8);三波束
6
CN 111751782 A
说 明 书
4/8页
测角公式见多波束比幅测向原理中的公式(10)。[0044]最后将偏差角+轴向角+补偿角求和,即为目标的到达角。轴向角是根据侦查空域范围及通道个数决定的,具体计算方法在比幅测向原理中介绍。补偿角是实际入射角与计算得到的目标到达角之间的偏差值,在后期调试校正时测试所得。最终计算时,轴向角和补偿角是通过查找表的方法,根据最大幅度通道的通道号决定的。[0045]下面具体说明多波束比幅测向原理:[0046]假设在一个多波束天线系统中,需要侦查的空域为-45°~45°,通道数为48个。所以通道间隔
假设每个通道的幅度特性一致,则每个通道的轴向角为
设辐射源信号入射角θ位于第n个通道的轴向角附近,如图1所示。由于多波束天线的方向图在一定范围内通常认为是高斯型的,且相对于天线轴对称,则第n个天线以及其相邻2个波束n-1和n+1接收到的信号幅度可表示为:
[0048][0049][0050][0051][0052][0053][0054][0055][0056][0057][0058][0059][0060]
[0047]
式中Ai为各个接收通道的振幅响应;k为比例常数。将式(1)和式(2)取对数并相减:
22
ΔL=lgAn-lgAn-1-k(θ-nθθ-(n-1)θ0)+k(0) (4)假设通道一致,则:
2
ΔL=k[2θθθ (5)0-(2n-1)0]
同理,将式(1)和式(3)取对数并相减,得:
2
ΔR=k[(2n+1)θθθ (7)0-20]
将式(6)和式(8)相加,得:
7
CN 111751782 A
说 明 书
5/8页
[0061]
所以,最终入射角θ可以通过计算最大幅度通道左右相邻通道的信号幅度值的对
数差,然后除以四倍的比例系数k和通道间隔θ再加上最大幅度通道的轴向角nθ就可以0,0,计算出目标的入射角,即目标到达角。
[0063]图2所示为基于FPGA实现比幅测角的系统框架示意图。多波束天线系统有多个通道的天线同时接收信号,每个通道单独用一片模数转换芯片去采集,然后汇总到FPGA中进行比幅测角计算,FPGA选用Xilinx的XC7VX690TFFG1927-2I。因为用FPGA实现计算自然对数比较复杂,所以通过查找表的方法实现求对数运算。每个幅度值对应一个查找表的地址,每个地址对应一个求自然对数后扩大了2^12倍的数。通过查看测量得到的天线数据,幅度最大值不超过2^16,考虑到节约资源,并且因为幅度差别不大时,对应的自然对数值也相差不大,所以通过查找表求自然对数时将幅度截取4位,这样存储自然对数值的存储器ROM大小就为16位宽×4096深度。
[0064]将式(10)拆分成式(11):
[0065]
[0062]
上式中,θ表示测量角度,n表示最大幅度所在的通道号,k(n)表示比例系数,θ0为
常数(90°/48=1.875°),lnAn+1和lnAn-1表示幅度An+1和An-1对应的自然对数值。m_a(n)表示通道n的轴向角,c_a(n)表示通道n的补偿角。
[0066][0067]
因为θk(n)随着不同n不同而变化,所以将0为定值,当作一个整体,通过
matlab计算出来,这样当n确定时,ma(n)、ca(n)均可以通过在存储器ROM中查找得
到。再通过另一个存储器查找得到(lnAn+1-lnAn-1),即可通过简单的乘法和加法计算出结果。
[0068]当然,也可以使用一个存储器,相比之下,两个存储器可以将数据分开存储,对存储器的配置要求降低,更易管理。
[0069]因为期望测角值输出位宽为两字节,取值范围为0~36000,单位0.01°,所以计算出的到达角跟实际到达角比为扩大了100。考虑到FPGA不方便实现小数运算,所以计算时先将(11)式扩大100*2^16次方,最后将计算出的角度值时截取16位。由此得下式:
8
CN 111751782 A
说 明 书
6/8页
[0070]
最后计算结果θ*100*216截取16位输出即为计算出的目标到达角A。
[0072]其中,ma(n)表示通道n的轴向角,ca(n)表示通道n的补偿角,k(n)表示通道n的比例系数,θAn表示通道n的幅度值,An+1表示通道n+1的幅度值,An-1表示通道n-1的0表示通道间隔,幅度值。
[0073]FPGA中的测角模块的输入输出端口如表1所示。[0074]表1 测角模块输入输出端口表
[0071]
[0075]
[0076]
如图3所示,当测角使能信号Measure_EN为高时,先根据MAX_PA、SUB_PA和ADD_PA是否大于0来分为三波束测角或两波束测角,单波束测角可以看作是三波束测角的特殊情况,左右通道幅度相等。[0077]具体地,当SUB_PA和ADD_PA均不为零时,为三波束测角;当SUB_PA和ADD_PA其中一个幅度值为零时,为二波束测角。
9
CN 111751782 A[0078]
说 明 书
7/8页
三波束测角时,采用公式(12)计算目标到达角。
[0079]分清测角条件后,当三波束测角使能时,先根据最大幅度通道号MAX_PA_ROT从ROM0中读出主通道角以及该通道的补偿角,再从第二存储器ROM1中读出SUB_PA和ADD_PA对应的自然对数值,读数时,幅度截取四位后作为读ROM的地址。再从ROM0中读出比例系数K,乘以右通道减去左通道的dB差,这个值则为偏差角。将主通道角、补偿角和偏差角求和,这个结果就是扩大了100*2^16倍的测角值,为32位,最后截取16位输出,所以最后输出的16位数据则为扩大了100倍的测角值。[0080]二波束测角过程类似,只是计算偏差角时有差别,用最大幅度的dB值减去次高幅度的dB值,再乘以比例系数K,如果次高幅度在左通道,则用相乘后的数据减去二分之一的通道宽度;如果次高幅度在右通道,则用二分之一的通道宽度减去相乘后的数据。[0081]具体地,测角模式为二波束测角时,目标到达角的计算公式为:[0082]当An+1=0时,
[0083]
[0084]当An-1=0时,
最后计算结果θ*100*216截取16位输出即为FPGA计算出的目标到达角A。下面来具
体描述K值校正的原理:
[0086]在多波束比幅测向原理介绍时,我们假设理想情况下每个通道的幅度响应是一致的。但实际应用中每个通道的幅度响应特性是不一致的,所以每个通道的比例系数是有差别的,需要通过实际的天线测量数据计算。通过同一通道的相邻两组测试值,可以计算出K值。例如幅度最大值在第4通道的两次测量值,当入射角为-39度时,An-1=13092,An=16635,An+1=9064;当入射角为-38度时,Am-1=7879,Am=16130,Am+1=14061。将上面的两组数据代入到式(10)中,得:
[0085][0087]
[0088][0089][0090][0091]
用(14)-(13)得:
又Am+1,Am-1,An+1,An-1四个幅度已知,计算得比例系数k:
10
CN 111751782 A[0092]
说 明 书
8/8页
通过这个方法将所有的具备条件的数据代入计算,除了个别通道只有一组值之
外,其他通道都可以计算出一个k值。缺失的k值根据变化规律,取旁边两个k值的平均值即可。
[0094]下面具体来介绍存储器:[0095]在比幅测角计算中,用到了两个存储器ROM,第一存储器ROM0为通道参数查找表,深度为32*512;第二存储器ROM1为自然对数查找表,深度为16*4096。[0096]通道参数包括轴向角,补偿角,比例系数K。假设在一个多波束天线系统中,需要侦查的空域为-45°~45°,通道数为48个,则覆盖空域范围为90°,均分为48份,每个通道覆盖角度为1.875°,轴向角为每个通道的中心对应的空域角度,所以48个通道对应的轴向角依次为-44.0625°、-42.1875°、-40.3125°、...、-0.9375°、0.9375°、...、40.3125°、42.1875°、44.0625°共48个值。因为计算偏差角时扩大了100*2^16,所以轴向角也扩大100*2^16后放入参数文件,对应ROM0地址1~48。
[0097]补偿角是实际入射角与计算得到的目标到达角之间的偏差值,在前期现场调试校正时测试所得,目的在于补偿测试角与实际角度的偏差。补偿角扩大100*2^16后放入参数文件,对应ROM0地址49~96。
[0098]比例系数K值的计算方法见上述K值校正的过程。在测角公式中可以看到,在二波束测角计算时,幅度差乘以的系数为1/2Kθ而三波束测角计算时,幅度差乘以的系数为1/0,4Kθθ值为1.875度。将1/2Kθ对应ROM0地址970。0为通道间隔,0扩大100*2^4后放入参数文件,~144;将1/4Kθ对应ROM0地址145~192。0扩大100*2^4后放入参数文件,
[0099]自然对数查找表的使用目的是为了快速得出一个幅度值对应的自然值。通过Matlab计算出1~4096的自然对数值,再扩大2^12后放入ROM1,对应地址为1~4096。
[0093]
11
CN 111751782 A
说 明 书 附 图
1/2页
图1
图2
12
CN 111751782 A
说 明 书 附 图
2/2页
图3
13
因篇幅问题不能全部显示,请点此查看更多更全内容