首 页    培训课程介绍   企业培训   培训报名  付款方式   培训讲师介绍   关于曙海  联系曙海  
 
 
 
 

2.4 数控振荡器NCO中采用的CORDIC算法

数控振荡器(NCO,Numerically Controlled Oscillator),亦称直接数字(频率)合成器(DDS,Direct Digital Synthesizer)[23]。用来产生一对相互正交的正弦和余弦载波信号,与插值以后的基带信号混频,完成频谱上搬。

  本文研究基于CORDIC算法[24]的流水线型数控振荡器。该方法较之传统的查表法有运算精度高速度快、结构简单、耗费资源少等优势。

  CORDIC算法是一种基于向量旋转的数值计算方法。该算法仅仅通过迭代操作来逼近三角函数及其他一些函数,用该算法来代替查找表产生正余弦函数样值将会大大的节省硬件资源。算法原理如下;

  对于图2.10所示的矢量旋转,

  图2.10 矢量旋转示意图

  设起点坐标为,终点坐标为,由三角函数理论知道:

  (2-28)

  对于第i次旋转,令,则式(2-23)可改写为:

  (2-29)

  其中1/为幅度畸变因子, (当逆时针旋转时为+1,顺时针旋转时为-1)。因为,所以我们假设从x正轴开始旋转,通过足够多的迭代次数后,就可以实现-/2~/2内的任意角度旋转。每次旋转后的实际矢量与目标矢量之间的的误差角度如式(2-30),

  (2-30)  其中为目标矢量角度,若>0,则i=+1,若<0,则i =-1,即来控制旋转方向。

  下面给出CORDIC算法的基本实现方式,根据以上原理,在实现时幅度畸变因子Ki不作处理,只是在后对模作一个校正即可,设初始向量经n次角度旋转后得到的向量,根据J.S.Walter的推导有下面的迭代方程组(由式2-29和2-30也可得出):

  (2-31)

  其中,                          (2-32)

  n次旋转迭代后的结果为:

  (2-33)

  其中,,称为摸校正因子。如果令=1/k,,=0,则=cos,=sin,由上述推导可知:若已知角度和初始向量,,可由式(2-31)迭代运算得到角度的正余弦值,通常一次迭代会产生一位精度的二进制幅值,只要迭代次数n足够大,得到的正余弦值就能满足一定的精度。一般来说,为了使CORDIC算法的迭代精度达到要求的相位分辨率,CORDIC算法的迭代次数K要求满足下式: 哪里有射频培训机构

 
 
上一页 目录页 下一页  
培训课程学习免费资料创建时间:2020/4/26
 
曙海培训官网版权所有