基于CORDIC算法的NCO在FPGA中的实现
基于CORDIC算法的NCO在FPGA中的实现
总第242期2009年第12期
计算机与数字工程
Computer&DigitalEngineering
V01.37No.12
21
基于CORDIC算法的NCO在FPGA中的实现。
王玉良李宏生夏敦柱
(东南大学仪器科学与工程学院南京210096)
摘要介绍如何利用CORDIC(Coordination
Rotation
DigitalComputer)算法产生正余弦信号的实现过程基础上,研
究并在FPGA中实现了基于流水线CORDIC算法的数控振荡器。仿真验证结果表明,该方法较之其它方法具有精度高、结构简单易于实现、节省资源且功耗低等特点,非常适合应用于高速高精度数字调制解凋。
关键词数控振荡器CORDIC算法FPGA中图分类号TN914.3
FPGAImplementationofNCOBased
Wang
Yuliang
LiHongsheng
on
CORDICAlgorithm
XiaDunzhu
(InstrumentScienceandEngineeringCollege。SoutheastUniversity,Nanjing
Abstract
Based
introducinghow
generatesineandcosinesignalwith
210096)
ontoa
CORDIC(CoordinationRotationDig—
italComputer)algorithm,thispaperstudiedandimplementedlinedCORDIC
NumericallyControlledOscillator(NCO)withthepipe-
algorithm
on
FPGA(FieldProgrammableGateArray).Simulationresultsindicatedthatthismethodhas
structure
characteristicsofhigh
SO
accuracy,simple
to
and
easy
to
implement,saving
resources
andlowpowerconsumptionand
on,isverysuitableKey
applyinthehighspeedandhighaccuracydigital
modulation
and
demodulation.
words
numericallycontrolledoscillator(NCO),coordinationrotationdigital
computer(CORDIC)algorithm,
field
programmablegatearray(FPGA)
Class
NumlⅪrTN914.3
1
引言
数控振荡器(NCO)作为直接数字频率合成器
就可以达到很高的精度,并且适合用FPGA等可编程器件实现。FPGA技术是最近20年迅速发展起来的可编f\!逻辑器件技术,其具有的可重复编程与远程在线配置功能,使得硬件可以像软件一样灵活编程修改,从而无形中缩短了产品开发时间与开发成本。因此,基于CORDIC算法的NCO在FP—GA芯片中的实现具有重要的研究意义。2
(DDS)的核心器件,具有频率精度高、响应速度快、频谱纯度高及相位易编程等优点而在软件无线电、通信和测量领域得到了广泛应用。其主要作用是生成正交的正余弦信号,主要的实现方式是查找表法、多项式展开法和基于CORDIC算法的实现方法。在精度与速度要求高时查找表法需要大量的存储资源,多项式展开法需要乘法器资源,所以这两种方法在速度、精度与资源之间很难兼顾。而采用由Voider和Walther首先提出的CORDIC算法来计算超越函数[1],只需要简单的移位与加法运算
NCO原理结构
不论以何种方式实现NC0,NCO的结构都是
由相位累加器、相位加法器和波形发生器构成,不同的是波形发生器的实现方式。查找表法将波形存于存储器中,通过索引控制发出波形的相位与幅
。收稿日期:2009年8月15日,修回日期:2009年9月20日
作者简介:王玉良,男,硕士研究生,研究方向:硅微机械陀螺仪数字化信号处理电路的关键技术。李宏生,男,博士生导师,教授。研究方向:基于ARM、DSP和MCU的多核嵌入式系统及其应用技术。
万方数据
基于CORDIC算法的NCO在FPGA中的实现
王玉良等:基于CORD]C算法的NCO在FPGA中的实现第37卷
度,而基于CORDIC算法的方法,通过算法的迭代来计算输出的波形。NCO的结构图如图1所示。相位累加器在系统时钟^的控制下,以频率控制字FF为步长累加,然后输出给相位加法器与相位控制字FP相加后输出给波形发生器,波形根据此相位信息输出期望的波形。输出波形的频率厂由系统时钟的频率厂。,频率控制字FF及相位寄存器字长N通过下式:
,一(FF ,f)/2N
(1)
确定。频率分辨率△厂由厂。和N通过下式:
△,一工/2N
(2)根据此式,在系统时钟不变的情况下相位寄存器字
长N越大,NCO输出波形的分辨率越高。
图l
NCA3原理结构图
3
CORDIC算法原理[1,5~6]
CORDIC(坐标旋转数字式计算机)算法由
Volder于1959年首次提出,1971年Walther统一了该算法的形式[3],Meyer-base第一次利用FPGA实现了该算法[4|。该算法主要应用于计算三角函数、双曲函数、对数函数、指数函数等。其基本原理是:初始向量(Xo,Yo)按照一定的角度序列顺时针或逆时针旋转,从而逐渐逼近目标向量(XN,YN)。不失一般性假设第,z次旋转后的向量为(X。,L),
则第咒+1次旋转后的向量(X州,E+。)可以表示
为:
劁一甚sinO,_Scos嗽&㈦
1一I
,口、
【L+。J【JlLJ
㈣
将上式转换为如下形式:
剧一观[。三一}㈦
㈤
取tgO,一S。 (1/2”),其中S。一{1,一1)则所
有旋转角度之和为:
口2∑S。0。,式(4)化为:
劁一co蛾p。埘吲引㈣
万方数据
其中m代表操作模式:m一1为圆周变换,m=0为线性变换,m一一1为双曲线变换,cosO.一COS
(arctg(21))。
随着迭代次数的增加cos&的乘积将收敛于常数K,当然对于固定的字长竹,此项也是一个常数,即
K一儿cos(arctg(21))≈o.60725
(6)
为了完成上述旋转过程还需一个变量Z用于
记录每次迭代后的角度,即
乙+1=乙+S。0。
如果上述迭代过程工作于使Z旋转到0的旋转 …… 此处隐藏:4627字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [高等教育]一年级家长课程教案
- [高等教育]封丘县人民医院深入推进纠正医药购销领
- [高等教育]2017年6月大学英语四级真题试卷及答案(
- [高等教育]2017年北京第二外国语学院文学院824中
- [高等教育]7 高中历史第7单元1861年俄国农奴制改
- [高等教育]【K12学习】4、实际测量-苏教版六年级
- [高等教育]药具培训试卷题库及部分参考答案
- [高等教育]本土电子元器件目录分销商如何赢得生意
- [高等教育]七年级岭南版美术教案
- [高等教育]书作文之书法活动通讯稿
- [高等教育]Endnote X 软件使用入门和用法总结(LS)
- [高等教育]嵌入式系统的现状及发展状况
- [高等教育]2012抗菌药物专项整治活动方案解读
- [高等教育]人教版新课本一年级数学下册期末试卷
- [高等教育]爱课程民法学观后感
- [高等教育]930机组使用说明书1
- [高等教育]煤气设备设施点检标准
- [高等教育]常见室内观叶植物图解
- [高等教育]312党员群众路线心得体会
- [高等教育]小学信息(苗版)第一册全册教案
- 在市---局2010党建大会上的讲话
- 《科哲》提纲及补充阅读材料(2010.7)
- 苏州高博软件技术职业学院论文开题报告
- 兼职导游管理的困境及对策探讨
- 基于通用设计理念的现代厨房产品语义研
- 康乐一中2010年至2011年度鼓号队、花束
- 第10章_数据收集整理与描述_期末复习课
- 2008年黑龙江林甸商贸购物中心营销策划
- 水硬度的测定实验报告
- 五分钟教你拍摄夜景光绘照
- 2014年临床妇产科三基三严试题及答案
- 0第二课 纾解压力第一站了解压力
- 解析建筑工程电气设备安装施工技术要点
- 地方性应用型本科高校“双师型”师资队
- 高考语文专题复习课件:小说阅读指导
- 装饰工程投标书2
- 大学生就业难问题探讨及对策
- English and Its History
- 青岛市城市房屋修缮工程质量监督管理办
- 初中英语形容词和副词的用法和练习题




