一种CORDIC算法的FPGA实现
第26卷第9期
文章编号:1006—9348(2009)09—0305—03
计算机仿真
2009年9月
一种CORDIC算法的FPGA实现
骆艳卜1一。张会生1,张斌2,吴俊宏1
(1.西北工业大学电子信息学院,陕西西安710072;2.空军工程大学电讯工程学院,陕西西安710077)
摘要:在数字化中频接收机中,为了实现相干解调,接收端的数控振荡器需要产生一个本地相干载波,其频率和相位必须与发送端载波的频率和相位严格保持一致,因此需要用到arctan函数计算相位差。研究了一种基于CORDIC算法计算aretan函数的方法,提出了基于CORDIC算法实现arctan函数运算的硬件流水线实现结构,并在芯片上进行仿真实现,仿真结果表
明,其输出误差较小,与理论值基本一致,利用其可实现数字载波同步中鉴相、鉴频功能。关键词:载波同步;坐标旋转数字计算方法;反正切函数;现场可编程芯片实现中图分类号:TN4
文献标识码:A
FPGAImplementationof
a
CORDICAlgorithm
LUOYan—bul’2,ZHANGHui—shen91,ZHANGBin2,WUJun—hon91
(1.College
of
ElectronicInformationEngineering,NorthwesternPoly—technicalUniversity,Xi’anShanxi710072,China;
2.TheTelecommunicationEngineeringInstitute。AirForceEngineeringUniversity,Xi’anShanxi710072,China)ABSTRACT:Inorder
ceiverthatof
to
achievecoherent
demodulationindigitalIFreceiver,numericalcontroloscillatorinthe
re-
has
to
generate
a
local
coherentcarrier,whosefrequencyandphaseshouldbeaccuratelyinaccordancewith
thetransmitter.Hence,arctanfunctionshouldbe
on
required
to
computetheputs
to
phase
error.This
paperstudies
a
methodofcalculatingarctanfunctionbased
mentingfinish
CORDIC
algorithm,and
chip
forwardshardwarearchitectureofimple-
CyclonelIofAheracompanyischosen
arc
arctan
function.Inthe
end,anEP2C8Q208C8Nbelonging
to
re—
theFPGAsimulationand
implementation.The
results
indicatethatoutputelrors
lessandthesimulation
suitisessentially
coincidentwiththeoreticalvalue,whichrealizesthefunctionsofphasedetectionandfrequencyde—
tectionindigitalfrequencysynchronization.
KEYWORDS:Carrier
plementation
synchronization;Coordinaterotationdigitalcomputeralgorithm;Arctanfunction;FPGAim-
1
引言
同步是现代通信系统的关键技术之一。在数字化中频
其中,a(n)为携带的数字信息,0。为数字下变频后信号的初相,岛为NCO输出的载波的初相。求出相位差需要用到
接收机中,为实现相干接收,接收端需要产生一个本地相干
载波,其频率和相位必须与发送端载波的频率和相位严格保
快速而精确的反正切函数的运算。传统的方法有查表法、多项式近似法、查表与多项式结合法、逐位法等。然而,这些方法在速度和精度上达不到要求并且硬件实现困难,因此需要一种快速精确的算法来解决这个问题。本文研究了一种基于
CORDIC算法在FPGA上硬件实现arctan函数的方法,通过对
持一致。这个过程即称为载波同步。一般来说,正交化的数
字载波频率由数控振荡器(NCO)产生,而NCO的频率控制字和相位控制字则与数字鉴相器输出的相位差有关。数字
鉴相器输出的相位差可以进行鉴相,再利用相位差一阶差分
的方法可实现鉴频。因此,数字鉴相器做为载波跟踪环核心的部分,其精度和鉴相范围直接影响接收机的性能。设载波跟踪环鉴相器的两路输入为:
I(/7,)=口(r/.) COS(0l一晚)Q(n)=a(n) sin(0。一如)
(1)(2)
该方法的理论分析、硬件实现和仿真结果,表明该方法兼顾
了速度、精度、简单性和高效实现性等优点,可有效用于实现数字载波同步中鉴相、鉴频等功能。
2
CORDIC算法原理
CORDIC是坐标旋转数字式计算机(Coordinate
Rotation
Computer)的简称。其基本思想是用一系列与运算基
数相关的角度的不断旋转,逼近所需旋转的角度,从广义上
Digital
收稿日期:2008—07—05修回日期:2008—08—07
讲它是一个数值逼近的方法,由于这些固定的角度与计算基
— ——305 -——