Electronic Technology & Software Engineering
电子技术
Electronic Technology
基于CORDIC算法的干涉仪测向的FPGA实现方法
熊正大张宏伟
(洛阳电子装备试验中心 河南省洛阳市 471000)
摘 要:本文通过介绍干涉仪测向的基本原理、CORDIC算法用于平方根和反正切运算,综合实现了干涉仪测向中反正弦的运算,避免了除法运算。在Xilinx FPGA平台和MATLAB平台对运算过程进行仿真实现和分析,结果表明,该运算过程易于实现,运算速率快、精度高且能实现对较大的入射角的测量,适用于干涉仪测向的工程应用。
关键词:干涉仪测向;CORDIC算法;反正弦运算;FPGA通过截获无线电信号,进而确定辐射源所在方向的过程,称为无线电测向,简称测向。对辐射源测向的基本原理是利用测向天线系统对不同方向到达电磁波所具有的振幅或相位响应来确定辐射源的来波方向。相位法测向系统由位于不同位置的多个天线单元组成,天线单元间的距离使它们所收到的信号由于波程差而产生相位差。通过比较不同天线单元收到的来自同一辐射源的信号的相位差,可以确定辐射源的到达角[1-2]。由于相位差对波程差变化很灵敏,因此相位法测向系统的测向精度相对较高且无需机械转动天线。相位干涉仪是一种常见的相位测向系统。
坐标旋转数字计算机(Coordinate Rotation Digital Computer, CORDIC)算法最早由J•Volder等人在1959年提出,采用循环迭代算法来完成一些常用基本运算函数的运算。统一的CORDIC算法由J.S.Walther在1971年提出,其思想是利用一组预先规定的基本角度经过线性组合去逼近目标角度,而基本角度的选取恰好使每次矢量以基本角度旋转后,一些基于三角函数的非线性运算只需加减和移位操作即可实现,从而适合用FPGA实现 [3]。1 干涉仪测向的基本原理
干涉仪是通过测量位于不同波前的天线接收信号的相位差,经
过处理获取来波方向的一类相位法测向设备。最简单的单基线相位干涉仪由两个信道组成,如图1所示。天线“1”和天线“2”之间的连线称为干涉仪基线。
若某个辐射源距离接收机足够远,可以将接收到的电磁波近似为平面波。来波方向与天线视轴夹角为θ,则平面波前到达天线“1”和天线“2”的时间就有前有后,体现在固定频率信号上就存在相位差。它到达两个天线的相位差为:
(1)
式中,λ为信号波长,d为两天线间距[4]。
对(1)式进行角度变换,并利用λ=c/f(c为光速,f为信号频率),求得辐射源信号的到达方向θ,
(2)
2 CORDIC算法用于反正切和平方根运算
CORDIC算法是一种用于计算一些常用的基本运算函数和算数
操作的循环迭代算法。CORDIC算法完全由加法和移位操作组成,在硬件电路的实现上只用到了移位器和加法器,大大节约了FPGA的资源。通过移位相加,可以实现乘、除、平方根、三角函数、双
仿真和版图设计,最终可以达到100dB以上精度,使设计具有高精度、低功耗的特点。
1514−1517.
[6]Yingying Cui, Jie Huang, Lingjuan Wu, Xiaoxin Cui and
Dunshan Yu, \"An optimized design for a decimation
参考文献
[1]吴俊杰,万川川,竺磊.Sigma-Delta ADC数字抽取滤波器的
设计和实现[J].现代雷达,2017,39(08):67-70.
[2]汪杰.一种应用于∑-△ADC的低功耗数字抽取滤波器设计[D].
湘潭大学,2018.
[3] Koppula, R.M.R.,Balagopal, S.,Saxena,V. Efficient
design and synthesis of decimation filters for wideband delta-sigma ADCs [C]// SOC Conference (SOCC), Taipei:IEEE,2011:380-385.
[4]高红梅.基于FPGA的CIC滤波器设计[J].广东通信技
术,2019,39(01):25-28+35.
[5]Ren S, Siferd R, Blumgold R, et al. Hardware efficient
FIR compensation filter for delta sigma modulator analog to digital converters[C]//48th Midwest Symposium on Circuits and Systems. Covington, Kentucky, 2005:
filter and implementation for Sigma-Delta ADC,\" 2009 IEEE International Conference of Electron Devices and Solid-State Circuits (EDSSC), Xi'an, 2009, pp. 338-341.[7]梁向明.Sigma-Delta A/D转换器抽取滤波器设计[D].复旦大
学,2011.
[8]辛挺战.Sigma-Delta ADC中数字滤波器的研究与设计[D].西
安电子科技大学,2018.
作者简介
郭书宏(1996-),男,山西省原平市人。硕士研究生。研究方向为数字集成电路设计。
刘云涛(1980-),男,黑龙江省哈尔滨市人。博士,副教授。研究方向为集成电路设计。
杨璐(1995-),女,黑龙江省哈尔滨市人。硕士研究生。研究方向为模拟集成电路设计。
113
电子技术
Electronic Technology
图1:单基线相位干涉仪原理图
图2:双曲线坐标系旋转图3:圆坐标系旋转
曲函数、指数和对数等运算[5-7]。2.1 平方根运算
双曲线坐标系下的旋转模式如图2所示,迭代过程表示为:
(3)
在向量模式下,选择
,使得。经过n次迭代
后,用下式表示:
(4)
其中,双曲伸缩因子可表示为: (5)
根据三角函数之间的关系,可以通过CORDIC算法计算得到[8-9]
:
(6)
2.2 反正切运算
如图3所示,假设点旋转θ角度后得到点
,其关系表示为:
(7)
CORDIC算法的核心是伪旋转角度,
,去除上式中的项,得到伪旋转方程式: (8)
114
电子技术与软件工程
Electronic Technology & Software Engineering
表1:每个迭代 的旋转角度
iθi045.011 26.555051177…0.52 14.036243467…0.2537.125016348…0.1254
3.576334374…
0.0625
CORDIC算法中,每个迭代i的旋转角度(精确到9位小数)如表1所示。
这里,把变换改成迭代算法,通过一系列连续小角度的旋转迭
代i来完成对任意角度的旋转。旋转角度遵循法则
,乘以正切项就变成了移位操作。
前几次迭代的形式为:第一次迭代旋转45°,第二次迭代旋转26.6°,第3次迭代旋转14°等。很明显,每次旋转的方向都影响最
终要旋转的累积角度。在
的范围内,可以旋转任意角度,满足法则的所有角度的总和等于99.7°。对于该范围之外的角度,可以使用三角恒等式转化成该范围内的角度。象限映射操
作隐含说明实际上的CORDIC操作要求在
范围内[9]。对于每次迭代而言,伪旋转方程可以表示为: (9)
式中,符号di=±1,用于确定旋转的方向,di=1代表顺时针旋转,反之为逆时针旋转。引入角度累加器的概念,用于表示每次迭代过程中追踪累加的旋转角度:
(10)
在向量模式下,将一个输入向量旋转到x轴,选择di=-sign (xiyi),目标是使|yi|→0。经过n次迭代后,用下式表示:
(11)
其中,Kn为旋转向量增量, (12)
当时,Kn=1.6467602。通过设置z0=0可以计算出arctan (y0/
x) [9-10]0。
3 利用CORDIC算法计算干涉仪测向中的到达角
令
,
,则(2)式可转化为:
(13)令
,,由式(6)可得: (14)
即可求得x。所以(13)式现在可以表示为:
(15)
利用式(11)和(12),并通过设置z0=0可以计算求得θ。4 仿真结果
基于Xilinx FPGA平台对CORDIC算法进行设计,并用于到达角的计算。执行仿真过程,平方根运算的仿真结果如图4所示,反正切运算的仿真结果如图5所示。从图4中可以看出,平方根运算的输出时延约为74ns。从图5中可以看出,反正切运算的输出时延约为84ns。综上,反正弦运算的输出时延在100ns数量级。
在MATLAB平台中,通过利用软件自带的arcsin函数和本文中提到的CORDIC算法分别对到达角θ进行计算。相位差的取值范围为,以的采样间隔对此区间进行采样,光速
c=3×108
m/s,载波频率f取3MHz,天线间距d取50m,迭代16次,
电子技术与软件工程
Electronic Technology & Software Engineering
电子技术
Electronic Technology
图4:平方根运算的仿真结果
图5:反正切运算的仿真结果
计算结果如图6所示。
在图6中,上半部分为利用MATLAB自带的arcsin函数对到达角的计算结果,下半部分为利用CORDIC算法对到达角θ的计算结果。将两个计算结果进行比较,得到误差曲线图如图7所示。
从图7中可以看出,CORDIC算法与MATLAB平台自带的arcsin函数对到达角θ的计算结果的误差精度在10-5数量级。5 结论与展望
利用CORDIC算法将干涉仪测向中的到达角的反正弦运算转化成双曲线坐标系旋转下的平方根运算和圆坐标系旋转下的反正切运算,降低了运算的复杂度,容易在硬件上实现。仿真结果表明,该算法的输出时延为100ns数量级,计算精度为10-5数量级,运算速率快、精度高,具有重要的工程研究和应用意义。
参考文献
[1]周一宇,安玮,郭福成等.电子对抗原理与技术[M].北京:
电子工业出版社,2014,72-73.
[2]张文旭.被动雷达导引头数字信道化接收机研究及实现[D].
哈尔滨:哈尔滨工程大学,2009.
[3]刘小宁,谢宜壮,陈禾等.多模式CORDIC算法结构改进与实
现[J].电子学报,2018(2):495-500.
[4]丁鹭飞,耿富录,陈建春.雷达原理(第5版)[M].北京:电
子工业出版社,2014:246.
[5]孙悦,王传伟,康龙飞等.基于CORDIC的精确快速幅相解算
方法[J].电子学报,2018(12):2978-2984.
[6]程遥.基于FPGA的信道化接收机信号处理技术[D].西安:西
安电子科技大学,2014.
[7]王思航.基于FPGA的数字信道化接收机设计与实现[D].哈尔
滨:哈尔滨工程大学,2018.
[8]邓强.利用CORDIC算法计算平方根及其FPGA实现[J].通信
技术,2013,7(46):129-131.
[9]何宾,张艳辉.Xilinx FPGA数字信号处理系统设计指南:
从HDL、Simulink到HLS的实现[M].北京:电子工业出版社,2019,179-187.
[10]骆艳卜,张会生,张斌等.一种CORDIC算法的FPGA实现[J].
计算机仿真,2009(9):305-307.
图6:到达角 随相位差 的变化曲线
图7:计算误差随相位差 的变化曲线
作者简介
熊正大(1994-),男,山东省菏泽市人。硕士学位。现为洛阳电子装备试验中心助理工程师。研究方向为雷达与雷达对抗。
张宏伟(1978-),男,河南省卫辉市人。硕士学位。现为洛阳电子装备试验中心高级工程师。研究方向为雷达与雷达对抗。
115
因篇幅问题不能全部显示,请点此查看更多更全内容