Cordic算法在频偏估计及校正中的应用.docVIP

  • 22
  • 0
  • 约4.86千字
  • 约 10页
  • 2018-07-09 发布于江西
  • 举报

Cordic算法在频偏估计及校正中的应用.doc

Cordic算法在频偏估计及校正中的应用.doc

------------------------------------------------------------------------------------------------——————————————————————————————————————Cordic算法在频偏估计及校正中的应用 CORDIC算法在频偏估计及校正中的应用 刘庆伟 2008.1.12修订 CORDIC(Coordinate Rotation Digital Computing)又称为坐标旋转数字计算方法,是用于计算广义矢量旋转的一种迭代方法。由J.Volder于1959年首先提出,主要应用于解决导航系统中三角/反三角函数和开方等运算的实时计算问题。1971年, J.Walther提出了统一的CORDIC算法,引入了参数m将CORDIC实现的三种迭代模式:三角运算、双曲运算和线性运算统一于一个表达式下,形成目前我们所用到的CORDIC算法最基本的数学基础。该算法的基本思想是通过一系列固定的、与运算基数相关的角度不断偏摆以逼近所需的旋转角度。 CORDIC算法在硬件电路的实现上只用到了加法和移位操作,这样就大大节约了FPGA的资源,从而可以满足设计者的要求。 1.CORDIC算法简介 O?jyix 图1 向量旋转坐标图 ????结合图1,简要地介绍一下CORDIC算法基本数学思想。向量OA逆时针旋转 ?????度角至向量OB,这个关系式可以用矩阵表示如下: ?xj??co?s?s?in??xi???  ?co?s ?????y??ysin?co?s?????ji????1  ?tan? ?y? (1)1???i??t?a?nxi? 若角?可有N个?n角度叠加而得到,那么根据式(1)可得出每一步的叠加操作如下: ?tan?n??xn??xn?1??1 ?y??cos?n?tan?  ??y? (2)1n???n??n?1? ????????利用式(2)经过N步叠加可以表示由向量OA旋转到向量OB,如下表示: ?tan?0??1?tan?N?1??x0??xN??1 ?cos??cos?...cos?  ...   (3) 01N?1??y?????? ?tan?01??tan?N?11??y0??N? 由于计算机计算采用二进制形式,所以选取?n?arctan(2?n),这样选取?n方 (?n?{?1,1}),其中n?0,1,...,N?1式(3)前便了tan?n的计算,即tan?n??n2?n  面的cos?n可以取累乘的极限: K??cos?i??cos[arctan( n?0 n?0 ? ? 1 )]?0.607253 n2 如果在设计的系统中提前计算K,那么当抛开K不算时,式(2)就可以变为: ?xn?1??1??n2?n??xn? ??  ? ??? (4)??n 1?yn?1???n2??yn? ?? (???? nnn?0 N?1 n ?{?1,1}) (5) 计算的精度由N的大小决定,式(5)中的?n由每一步的具体情况而定。 2.求复数的相位 ?jyi O i ?1 图2 CORDIC原理图 设旋转前向量为xi?jyi,对应的相位角为zi,旋转角度?i后变为xi?1?jyi?1,对应的相角为zi?1,如图2所示。则有: ?xi?1?xicos?i??iyisin?i?(xi??iyitan?i)cos?i ? ?yi?1?yicos?i??ixisin?i?(yi??ixitan?i)cos?i (6) ?z?z??? iii?i?1 其中,?i??1 当xi?0且y0?0或者xi?0且y0?0时 ?i??1 当xi?0且y0?0或者xi?0且y0?0时 在式(6)中,由于cos?i只是模校正因子,因此可以在旋转公式中将其去掉,并令?i?arctan(2?i),其中i?0,1,...,N?1。N是旋转次数,这样的旋转过程中只用到移位和加减法,便于硬件实现。经过N次迭代运算后,y0?0时,xN?jyN落在正虚轴,则有: zN? ? 2

文档评论(0)

1亿VIP精品文档

相关文档