基于CORDIC算法的NCO

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
=厶。由采样定律可知,可得到的工罨厶/2。
2传统CORDIC算法NCO结构
传统cORDIc算法Nco结构如图2所示,主要包 括相位累加器、四分圆映射器以及CORDIC算法模块 3个部分。
菇 ^
=A ^
‰C
簖 一‰
.虬 眦
rIJ、L yn = A 4 /L,L % C o % + ‰ .虬 眦 、,、,
93
输出作为CORDIC算法模块的角度输入钿,达到由气 输入计算sinz、COSZ,的目的。
制。但这是以增加系统整体噪声为代价的。
图4改进后CORDIC算法NCO结构图
八分圆的映射将计算范围缩小到(0,∥2],最大
旋转角度为训。旋转的角度接近'a'/4时有
图3 CORDIC算法结构图 表2四分圆映射表
转角度才训,误差相对较小。此外,即使在一般的载
波频率点,在CORDIC算法模块的输入角度较大时,八 分圆映射比四分圆映射产生的正弦值、余弦值更精确。 八分圆映射的缺点是结构比四分圆映射复杂,硬件实 现时将消耗更多的资源。
频--,qg/MHz
图8八分圆映射频谱图
5 结束语 由仿真结果可以得到结论:改进后的基于
卜-=c。s霞(毛一yltan痧i)
(3)
Lyi+l=cos咖i(Y‘+xit锄西j)

如果对旋转的角度咖i进行如下的约束
·收稿日期:2008-02.12 修订日期:2008-05-18
万方数据
现代雷达
30卷
tan币f=±21(i=0,l,2,…)
(4)
式(5)中Ki=C08(arctan2“)=1/ ̄/l+2“,di=±l
∑arctaB2~一99.8830
也就是说,假设我们从X正轴开始旋转,通过一系列 逐次减小的角度旋转后,只要迭代的次数足够多,就可 以实现[一,tr/2,1r/2]内任意角度的旋转。

式(5)经过n次迭代后,n_+∞时,结果为‘引.
此时,相位间隔的范围变成o≤咖。。m≤2“一I,并且可 以通过设定9。一的值得到想要的载波频率工。NCO 最高采样频率也是由累加器的时钟频率决定,且有Z
1),。:sin(∞。n):sin(2盯争n)
式中坑为正弦或余弦波频率沉为正弦或余弦波的采 样频率。离散相位2叮昕n伍的产生是通过相位累加器
实现的。累加器的相位间隔△垂=2磺倪,这通常是
||恻黜洋 哔烈髀 I l 矗I h
图2传统CORDIC算法NCO结构图
CORDIC算法模块结构如图3所示。它由/'t级流 水线结构构成,ROM的作用是存储中i的值。因为参 与运算的均为二进制数,故存在尾数舍弃带来的舍位 误差。这种舍位误差是杂散的主要来源,要提高 SFDR必须设法减少舍位误差。
图5为未加杂散时NCO输出正弦信号频谱图。 从图中可以看出此NCO的SFDR为100 dB左右,由于
万方数据
现代雷达
30卷
CORDIC算法的级数有限产生的误差为周期信号,在 输出端引起杂散频率幅度达到40 dB。杂散频率严重 影响信号的纯度,所以必须对杂散进行抑制。




I }{


: J,/
\I
CORDIC算法流水线级数有限带来的相位旋转误 差是杂散的另一个主要来源。因为CORDIC算法的计
算范围为[一以,们],所以通常将[0,2丌]映射到
【0,∥2]。映射原理是:利用区间的三角函数关系,改
变CORDIC模块的输入参数如‰、Yo,用累加器的低位
万方数据
第6期
张科峰,等:基于CORDIC算法的NCO
如图1所示直角坐标系内有向量A,记为(舅,,,)。 向量A旋转一个角度z得到向量曰,记为(菇’,Y’),则 由几何关系得到下列方程
图1向量旋转不意图
利用三角关系变形后得
P:=eosZ(x-+ytanZly ’= cosZ(y + xtanZ:)
(、 2)‘7
假设向量B是由A经过多次旋转得到的。其中 第i次旋转的角度为西i,则第i次旋转的表达式为
当旋转的角度接近∥2时,经过多次旋转有
耋乏
1+△咖=.2.L
+)
=0

11 一+△咖=署’(1rctan2 i
当流水线级数n一定时,式(11)最大角度处的角
度误差比式(10)要小很多,杂散也要小很多。所以采
用八分圆映射比四分圆映射在保持整个可变频率范围
内SFDR的稳定性方面更具优势。八分圆映射情况如 表3所示:以累积器低(Ⅳ一3)位作为CORDIC算法模 块输入,高3位用来配制CORDIC算法模块的输入信
nco是跳频通信和捷变频雷达系统中重要组成部分广泛应用于各种雷达系统和无线收发系统中jnco的反应速度和精度直接影响着雷达系统或通信电台的通信质?和抗干扰能?nco实现的方法目前主要有查表法和坐标旋转算法coordinaterotationdigitalcomputecordlc
第30卷第6期 2008年6月
相位抖动(Dither)的作用是在累加器输fl{加入随 机信号,破坏累加相位的周期性。对传统结构的分析 可知,CORDIC算法NCO的杂散来源主要有2个方 面:(1)由于CORDIC算法的流水线结构中的移位器 和加法器的位数有限,故存在尾数舍弃带来的舍位误 差。这种误差可以通过增加移位器和加法器的位数解 决,但位数增加受到工艺和成本的制约;(2)由于 CORDIC算法的流水线结构级数有限,旋转产生的角 度误差为周期信号。周期性的误差信号在输出端引起 频率杂散。如果在累加器输出加入随即信号,破坏累 加相位的周期性,则NCO输出端杂散信号能够得到抑
号‰、Yo。
表3八分圆映射表
arctan21+△西=i"ll
i=0

(10)
从式(10)可知,当CORDIC流水线级数n一定时,在 旋转角度-tr/2处的角度误差△中最大。角度误差△咖 越大,产生频率杂散越大,导致系统SFDR下降。
3 改进的CORDIC算法NCO结构
图4是改进后CORDIC算法NCO的结构图。为 了减少杂散,提高SFDR,改进结构中增加了相位抖动 模块,并用八分圆映射器代替四分圆映射器。
【关键词】 数控振荡器;坐标旋转算法;相位映射;相位抖动;无杂散动态范围 中图分类号:TN752 文献标识码:A
NCO Based on CORDIC Algorithm
ZHANG Ke.feng。PENG Shuai.CAI Meng
(Department of Electronic Science&Technology-Hua Zhong University of Science&Technology l
(6)
式中:A。=氨√—z一般考虑到流水线的级数问
题,n不可能取得无穷大。若取石。=1/A。,Yo=0则可 以得到如式(7)所示的NCO需要产生的标准正弦和 余弦波,本文中对增益因子1/A。不做处理。
c似
x^2
(7) 扎2 sinz
式(7)中正弦或余弦样本可以进一步表示为
』”cos∞一卜cos@霄争’ (8)
在FPGA中实现旧。3 J。但是基于CORDIC算法的NCO
无杂散动态范围(SFDR)比较低,且随所产生的正弦
波频率不同有较大的波动【4 J。这一缺点严重限制了 其在频率变化的系统中(如跳频系统)的应用。本文
提出了改进基于CORDIC算法的NCO无杂散动态范
围的具体办法。

1 CORDIC算法的NCO实现原理
则含有正切项的乘法可以演变为简单的二进制的移位 (当逆时针旋转时d产1,顺时针旋转时或=一1)。毛
运算,非常利于硬件实现。
是每次旋转之后,A与B之间的夹角。若气>0,说明A
由式(4)可知式(3)又可以表示为
还需要继续逆时针旋转才能更接近曰。
r菇“I=Ki(算i—Y‘di21)
{Yi+I=Ki(),‘+x,di2一)
由式(4)可知,CORDIC算法旋转时每次旋转的角
度是固定的,前10次旋转的角度值如表l所示。
(5)
但是我们必须注意到CORDIC能够完成的旋转角
‘乞+l 2毛一diarctan(21)
表l CORDIC算法前lO次旋转的角度值
第,1次




蛾45.0
26.6
14.0
7。I





10
3.6
I.8
0.9
0.4
0.2
0.1
度是有一定范围限制的,因为
arctan2一‘>arctan2州’>虿1 arctan2一j
一个小数,给后面的处理带来困难。所以我们将2订 放大到24,即把2叮r用11,位的二进制表示。这样我们 就可以用整数的咖涮代替△咖且有
所以,
Z=咖州xIJ2“
(9)
பைடு நூலகம்
事实上,
㈨f=a0rctan2arctan2一 一>‘ ≥->i_^二_L
Wuhan 430074,China)
【Abstract】 In order to improve the SFDR of numefieMly eontmued oscillator based on CORDIC algorithm。this paper pro-
poses to use phase mapping and phase dither methods to improve the SFDR.Simulation by SIMULINK indicated that the SFDR of this modified NCO structure got 10 dB improvement,fully proves the feasibility of this method.




绺 臻
cr√ 匕上一L土上
仁一!呵’ -111里r彳1一

频军/MHz
图6加抖动后输出频谱图
最后分别对四分圆映射和八分圆映射在一些特殊 频率处进行了仿真。仿真时相位控制字设为 1067606156,即载波频率为17.4 MHz。仿真结果分别 如图7、图8所示。
这是因为当相位增量接近∥2时,在流水线级数一定 情况下,四分圆映射误差较大。而八分圆映射最大旋
现代雷达 Modem Radar
V01.30 No.6
June 2008
91
基于CORDIC算法的NCO。
张科峰,彭 帅,蔡梦
(华中科技大学电子科学与技术系, 武汉430074)
【摘要】 为了提高基于CORDIC算法NCO的无杂散动态范围,提出采用相位映射和相位抖动技术来提高无杂散动 态范围。SIMULINK仿真结果表明改进后的NCO无杂散动态范围提高近10 dB,充分说明了该方法的可行性。
4 CORDIC结构NCO的SIMULINK仿真结果
本仿真的环境是MATLAB7.01的SlMUuNK通 信仿真工具箱。相位累加器的位宽为32位,加法器和 移位器位宽均为20位,‰和‰的输入分别为常数1 和0。在输出端产生的正弦和余弦波形式为A。sinzo和 A。COSZ。。因为级数确定后A。即为常数,故对系数不做 处理。信号采样频率定为70 MHz,相位步进控制字设 为644245094,根据式(9)可得载波信号频率为10.5 MHz。
【Key words】NCO;CORDIC;Phase Mapping;Phase Dither;SFDR
0 引·言
数控振荡器(Numerical Controlled Oscillator,
NCO),用于产生可控的正弦波和余弦波样本。NCO 是跳频通信和捷变频雷达系统中重要组成部分,广泛
应用于各种雷达系统和无线收发系统中¨J。NCO的
反应速度和精度直接影响着雷达系统或通信电台的通
信质量和抗干扰能力。NCO实现的方法目前主要有
查表法和坐标旋转算法(coordinate rotation digital com-
pute,CORDlC)。查表法耗费大量的ROM资源,这样
不仅增大了能耗,而且增加了芯片的面积。CORDIC
算法很好地解决了查表法面临的问题,且非常适合于
I\
¨
KI

_
频-萼g/MHz
图5未加抖动时的频谱杂散图
图6是加抖动后NCO输出正弦信号频谱图。可 以看出,加入抖动后杂散频率支幅度明显减小,但是杂 散抑制是以降低整个系统的SNR为代价的。杂散信 号得到抑制的同时,信号的整个SNR降低将近40 dB, SFDR达到为110 dB左右,比图5增加近10 dB。需要 注意的是,抖动信号的大小应与CORDIC算法旋转后 最后一级的角度差大致相当。抖动范围太大会损失 SFDR,太小时不能达到抑制杂散频率的效果。
CORDIC算法的NCO无杂散动态范围增加将近10 dB,且SFDR随频率的波动较小,即使在跳频系统中也 能很好地使用。因此本文对提高采用跳频系统的雷达 或者收发信机的性能有十分重要的意义。
参考文献
[1]岳彦生.雷达数字信号产生、模拟及处理技术[D].北 京:理工大学,2001.
[2] Kuhlmann M,Parhi K K.A high—spe_ed CORDIC algorithm and architecture for DSP applications[C]//.in Proe.IEEE Workshop on Signal Processing Taipei,Taiwan:IEEE Press,
相关文档
最新文档