基于流水线设计的相控阵天线波束控制码计算方法及系统与流程

文档序号:16755195发布日期:2019-01-29 17:17阅读:660来源:国知局
基于流水线设计的相控阵天线波束控制码计算方法及系统与流程

本发明涉及一种在使用vm调制器芯片的相控阵天线系统中对波束控制码的计算方法,具体是一种基于流水线设计的相控阵天线波束控制码计算方法及系统。



背景技术:

相控阵天线是由许多相同的辐射单元按一定规律排布构成的阵列天线。相控阵天线通过特定的馈电方式,智能化地控制和调整阵列每个单元的幅度和相位,使波束赋形和无惯性地灵活扫描。

相控阵天线的一个重要应用是星间通信,星间通信距离长,链路损耗大,随着通信速率需求的不断增长,发展大型ka频段相控阵是必然的趋势。波控系统主要是在嵌入式处理芯片的控制下,产生需要的波束指向控制码,并送至每个单元组件,完成波束的定向控制。在某些应用场景中,比如ka频段运载中继测控,天线阵面规模大,波束窄,扫描角速度较大,对波束的指向精度和计算速度提出了更高的要求。波束控制码的计算是整个波控系统的核心,计算的准确性与效率直接决定波束指向的成败。

在相位和控制码地址计算时,有很多个步骤,包括理论相位计算、相位补偿、温度补偿、幅度补偿和频率补偿,通常认为这些操作具有相对独立性,设计师容易想到分模块进行计算,而不是统一起来采用流水线计算。分开来计算虽然看上去直观,但是会产生几个缺点:第一,模块与模块之间的通信增加了资源开销;第二,后面的模块需要等待前面的模块计算完才开始计算,整体计算速度受影响;第三,采用传统的量化方法计算,得到的相位值有正有负,阵面规模较大时,最大相位有几千度,除了数据位宽增加,还需增加求余运算模块,不仅增加了设计难度,而且增加了资源消耗。



技术实现要素:

本发明的技术解决问题是:克服现有技术的不足,提供一种波束控制码的高效计算方法,实现了大规模相控阵天线波控码的计算,同时兼顾准确性、灵活性、计算速度和资源消耗。

本发明的技术方案如下:

波束控制码计算包括:指向误差修正模块、三角函数计算模块、地址计算模块、查表模块。

指向误差修正模块完成相控阵天线波束指向误差修正,输入为离轴角θ和旋转角输出为经过修正之后的离轴角θ和旋转角位宽均为16。

三角函数计算模块完成输入角度的三角函数计算,输入经指向误差修正之后的离轴角θ和旋转角输出和sinθ。

地址计算模块完成控制码的存储地址计算,输入为三角函数和sinθ,阵元坐标,频率,温度,幅度补偿数据存储表,相位补偿数据存储表,温度补偿数据存储表,输出全部通道的量化数据在flash中的存储地址。

该模块采用一种基于fpga的流水线计算方法,流水线共分13级,最大延迟13个时钟周期。包括理论相位计算、相位补偿、温度补偿、频率首地址计算、通道号首地址计算、幅度等级计算、幅度等级首地址计算、相位等级地址计算、量化方式转化、控制码地址写入。

量化数据存储地址按下式计算:

量化数据存储地址=频率首地址+通道号首地址+幅度等级首地址+相位等级地址。

其中,

频率首地址=每个频率的字节数/2*频率等级=921600*频率等级;

通道号首地址=每个通道的字节数/2*通道编号=3600*通道编号;

幅度等级首地址=幅度等级*360;

相位等级地址=相位等级*2。

频率等级与输入频率编号一一对应。

幅度等级是输入频率、通道号的函数,存储在幅度补偿数据存储表中。

相位等级由通过计算得到的相位确定,相位计算公式如下

相位=理论相位+相位补偿+温度补偿

其中理论相位计算公式如下:

式中x和y分别是阵元的横坐标和纵坐标,λ是波长,λ=c/f,其中c是光速,f是频率。

相位补偿数据是输入频率及通道号的函数,通过整机装配后的通道校准得到,存储在相位补偿数据存储表中。

温度补偿数据是输入温度及通道号的函数,存储在温度补偿数据存储表中。

相位计算完成之后,需要乘以一个常数k,再截位,目的是将按整数次幂等分量化的相位转化为180个相位等级,进而求出相位地址。

相位地址、幅度等级首地址、频率等级首地址三者相加之后得到量化数据存储地址,然后依次存入ram中,供后续模块使用。

查表模块完成波束控制码的flash读取。输入为存储在ram中的波控码flash存储地址,输出为波控码数据。

本发明的有益效果如下:

(1)控制码是离轴角、旋转角、阵元坐标、频率、温度、幅度补偿数据存储表、位补偿数据存储表、温度补偿数据存储表等输入变量的函数,自由度高,功能全面,兼容性和可扩展性强。

(2)地址计算模块采用13级流水线计算方法,只消耗9个加法器和6个乘法器,从第一个数据输入到最后一个数据输出仅隔n+13个时钟周期,其中n为阵元个数。若以40m时钟计算速度来算,整个计算时间仅为6.725us(n=256),计算效率非常高。

(3)相位计算、相位补偿、温度补偿等数据采用2的整数次幂等分量化法,前面采用不低于16位的位宽进行计算,相位计算全部完成后再截去高位和低位,相当于求余和取整计算,保证了计算精度且无需再进行求余操作,降低了计算复杂度和资源消耗。

附图说明

图1为本发明模块组成框图;

图2为本发明地址计算模块流水线计算框图;

具体实施方式

现结合实施例、附图对本发明作进一步描述:

本发明包括指向误差修正模块、三角函数计算模块、地址计算模块和查表模块。

指向误差修正模块完成相控阵天线波束指向误差修正,输入为离轴角θ和旋转角位宽均为16,输出为经过修正之后的离轴角θ和旋转角位宽均为16。角度量化方法如下:

其中mod(x,2n)表示x对2n求余,round()表示就近取整,n表示量化位宽取n=16。

函数计算模块完成输入角度的三角函数计算,输入指向修正之后的离轴角θ和旋转角位宽为16,输出和sinθ,位宽为16。输出三角函数数据量化方法采用如下公式:

三角函数量化值=round(三角函数值*(2(n-1)-1))

其中round()表示就近取整,n是量化位宽,取n=16。本发明所述地址计算模块完成控制码的存储地址计算,该模块输入为三角函数和sinθ,阵元坐标,频率,温度,幅度补偿数据存储表,相位补偿数据存储表,温度补偿数据存储表,输出全部通道的量化数据在flash中的存储地址。

量化数据在flash中的存储地址是输入参数的函数,根据量化数据存储格式表,量化数据共分12个频率等级,256个通道,10个幅度等级,180个相位等级,i、q两路,每路2字节数据,一共12*256*10*180*2*2=22118400字节数据,flash存储位宽为2字节。

量化数据存储地址按下式计算:

量化数据存储地址=频率首地址+通道号首地址+幅度等级首地址+相位等级地址。

其中,

频率首地址=每个频率的字节数/2*频率等级=921600*频率等级;

通道号首地址=每个通道的字节数/2*通道编号=3600*通道编号;

幅度等级首地址=幅度等级*360;

相位等级地址=相位等级*2。

频率等级与输入频率编号一一对应。

幅度等级是输入频率、通道号的函数,存储在幅度补偿数据存储表中,存储格式见幅度补偿数据存储格式表,共256*12=3072个数据,每个数据位宽为4。

相位等级由通过计算得到的相位确定,相位计算公式如下

相位=理论相位+相位补偿+温度补偿

其中理论相位计算公式如下:

式中x和y分别是阵元的横坐标和纵坐标,λ是波长,λ=c/f,其中c是光速,f是频率。坐标x和y与其中一个频点的波长λ相除后一起进行量化,量化公式如下(以x为例):

其中mod(x,2n)表示x对2n求余,round()表示就近取整,n表示量化位宽,取n=16。得到的16位二进制值的最高位表示符号,第高2位到高4位表示‘整数’,低12位表示‘小数’。

相位补偿数据是输入频率及通道号的函数,通过整机装配后的通道校准得到,存储在相位补偿数据存储表中,存储格式见相位补偿数据存储格式表,共12*256=3072个数据,每个数据位宽为16。先计算补偿相位存储地址,再查表即可得出,相位补偿数据的量化方法如下:

其中mod(x,2n)表示x对2n求余,round()表示就近取整,n是量化位宽,取n=16。

温度补偿数据是输入温度及通道号的函数,存储在温度补偿数据存储表中,存储格式见温度补偿数据存储格式表,共16个温度等级。温度补偿数据量化方法与相位补偿数据量化方法一致。

相位计算完成之后,需要乘以一个常数k,再截位,目的是将按整数次幂等分量化的相位转化为180个相位等级,进而求出相位地址。

相位地址、幅度等级首地址、频率等级首地址三者相加之后得到量化数据存储地址,然后依次存入ram中,供后续模块使用。

地址计算模块采用一种基于fpga的全流水线详细计算方法,框图如图2。流水线共分13级,最大延迟13个时钟周期。

第1级:

a)根据输入的阵元坐标地址(0~255),查表得到16位的x坐标值和y坐标值。

第2级:

a)将x坐标值与相乘,输出截去低15位,保留剩余的低16位,得到

b)将y坐标值与相乘,输出截去低15位,保留剩余的低16位,得到

c)读取当前温度数据。

第3级:

a)根据温度数据判决得到相应温度补偿数据表中的温度等级首地址;

b)取通道编号1(0~255,相比阵元坐标地址延迟3个时钟周期);

c)根据当前频率计算出频率系数,频率系数是由于频率不同导致计算结果与根据参考频率计算的结果之比,为保精度,该系数用17位表示,包括1个‘整数’位和16个‘小数’位,预先由matlab算出;

d)将相加得到进位需要保留,输出17位。

第4级:

a)将温度等级首地址与通道号2相加得到温度补偿地址;

b)将频率系数与sinθ相乘,截去低16位,高位保留;

c)将用寄存器缓存一个时钟周期;

d)根据当前频率计算相位补偿频率首地址;

e)取通道号2(比通道号1延迟1个时钟周期);

第5级:

a)根据温度补偿地址查表得到温度补偿数据;

b)将第4级b)计算得到的数据与第4级c)得到的相乘,截去低12位,剩余数中取低16位,输出值即理论计算相位经过360°求余之后的16位量化表示;

c)将相位补偿频率首地址与通道号2相加得到相位补偿地址;

d)根据当前频率计算出幅度补偿频率首地址;

e)取通道号3(比通道号1延迟2个时钟周期)。

第6级:

a)将16位温度补偿数据与16位理论相位相加,输出16位相位数据,高位自动溢出。

b)根据相位补偿地址查表得到16位相位补偿数据。

c)将幅度补偿频率首地址与通道号相加得到幅度等级在幅度补偿数据存储表中的地址。

第7级:

a)将第6级计算出的16位相位数据与16位相位补偿数据相加,输出16位相位数据,高位自动溢出;

b)根据幅度等级在幅度补偿数据存储表中的地址查表得到幅度等级。第8级:

a)将前一级计算的相位与系数k相乘,目的是将按本文所提量化方法到按相位度数的整数倍量化方法之间的转换。

b)根据当前频率计算频率首地址;

c)根据幅度等级计算幅度首地址;

d)取通道号4(比通道号1延迟5个时钟周期);

第9级:

a)将与系数k相乘后的数据进行截位,使得其值在在0~180之间。

b)将频率补偿首地址与幅度补偿首地址相加;

c)将通道号与3600相乘,得到通道号首地址;

第10级:

a)将第9级a)步骤计算所得的数值乘以2(左移1位),且360用0代替,得到范围在(0,2,4,…358)的相位地址。

b)将第9级b)和c)结果相加;

第11级:

a)将第10级a)和b)计算结果相加得到控制码在flash中的存储地址。

b)计算控制码flash存储地址的ram地址。

第12级:

a)将控制码flash存储地址写入ram中。

第13级:

a)得到已经存储完毕的控制码flash存储地址。

从t=0时刻开始从输入端依次输入n个阵元的坐标,输出端延迟13个时钟周期后依次输出n个阵元对应的控制码地址,从第一个数据输入到最后一个数据输出仅隔n+13个时钟周期,其中n为阵元个数。若以40m时钟计算速度来算,整个计算时间仅为6.725us(n=256),计算效率非常高。该模块一共用了9个加法器和6个乘法器,无需除法运算和求余运算,适合用fpga进行定点计算,在保证精度和速度的前提下,资源消耗大大降低。

查表模块完成波束控制码的flash读取。输入为存储在ram中的波控码flash存储地址,输出为波控码数据。

需要说明的是,上文只是对本发明进行示意性说明和阐述,本领域的技术人员应当明白,对本发明的任意修改和替换都属于本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1