您好,欢迎来到品趣旅游知识分享网。
搜索
您的当前位置:首页基于CORDIC算法的改进NCO实现技术及其性能分析

基于CORDIC算法的改进NCO实现技术及其性能分析

来源:品趣旅游知识分享网
第13卷第2期 2010年5月 扬州大学学报(自然科学版) Journal of Yangzhou University(Natural Science Edition) Vo1.13 No.2 Mav 2O10 基于CORDIC算法的改进NCO 实现技术及其性能分析 陈万培 ,黄 鹦,邵 宁,汪 琼 (扬州大学信息工程学院,江苏扬州225009) 摘 要:介绍一种基于协调旋转数字计算机(coordinate rotation digital computer,CORDIC)算法的改进 数字控制振荡器(numerical controlled oscillator,NCO)的实现方法.应用CORDIC算法替代传统正弦函数 R0M查找表,可以显著减少存储量,有效提高资源利用率.分析了改进NC0方法的具体设计参数对误差 性能的影响,并进行MATLAB仿真、现场可编程门阵列(field programmable gate array,FPGA)实现,得 到综合后的仿真波形,结果产生高精度的输出信号,达到预定的设计要求. 关键词:协调旋转数字计算机算法;数字控制振荡器;MATLAB仿真;现场可编程门阵列 中图分类号:TN 929.5 文献标志码:A 文章编号:1007—824X(2010)02—0052一O5 数字控制振荡器(numerical controlled oscillator,NCO)既是软件无线电上、下变频器的必要组 成部分,也是直接数字频率合成器(direct digital frequency synthesis,DDFS)的重要组成部分,直接 决定了所要实现的系统性能.传统查找表方式Ll 为了提高NCO的频率分辨率,需要加大相位累加器 的字长,而对应的查找表的存储量也将相应呈指数级增长,这使得功耗和成本大大增加,从而了 相位精度的提高.另外一种NCO设计方法是利用协调旋转数字计算机(coordinate rotation digital computer,CORDIC)算法 ],该算法只需移位和加/减运算,便于现场可编程门阵列(field program— mable gate array,FPGA)或超大规模集成电路(very large scale integrated circuites,VLSI)实现,同 时对存储单元的要求很小,可大大降低开发成本.本文拟介绍一种改进的NCO设计方法,并分析其 具体设计参数对误差性能的影响. 1 CoRDIC算法原理 NCO的实质是以参考频率对相位实施采样,目标是产生下式所示的频率可控的正、余弦波样本: ( )一COS(2nfonT),1"1—0,1,2,…, (1) 式中-厂0为本地振荡频率,T为待变频信号的采样间隔.NCO的基本结构如图1所示.由图1可见, NCO包括相位累加器、相位一幅度变换电路和控制逻辑电路.相位一幅度变换器通常是一个正弦函数 数值表(查找表),其中存储了各个相位对应的正弦值,由时钟驱动输出对应的正弦/余弦值. CORDIC算法最早由V0LDER提出,1974年WALTHER对其进行了改进,得到一种能计算出 多种超越函数的统一算法.该算法有圆周、线性、双曲等几种模式,分别用于产生不同的信号.当工作 于圆周模式时可产生正弦、余弦信号,这时初始矢量按照一个指定的角度序列进行旋转,通过这个角 度序列去近似需要计算的角度.整个算法仅需要移位和累加运算,非常适合在硬件上实现.下面介绍 该算法实现三角函数计算的基本原理. 收稿日期:2008—1O一27 基金项目:扬州大学校级重点学科建设项目(扬大研Eeoo7 ̄5号) *联系人,E—mail:yz—cwp@yahoo.corn.ell 第2期 陈万培等:基于CORDIC算法的改进NCO实现技术及其性能分析 53 弦 相位 弦 图1 NCO的基本结构 Fig.1 The basic structure of NCO 初始向量(-z, )旋转角度 后,得到的新向量为(z ,Y ),即 一z COS ̄-y sin , 一 COS +z sin . (2) 变换为矩阵形式为 [ :]一 C O,nS 一 sit' fi x1 c。s 1…一 ~ an ][ ]. 3 如果限定基本旋转角度 满足tan 一±2 , ===∑n…-1 j& ,那么初始向量(z。, 。)可通过一系 列不断递减的基本角度 的旋转,逐渐逼近向量(z。。,y。。),该迭代过程可描述为 [X i…+I 1一 1 [ 一 一 2一 ][ ]一 C O Sin ̄ i一d。 isi n 乒 ][ ], c4 ZI+I—Zi--di ̄i, (5) 式中k 一 ̄/1+2 ,d 一sgn 。(sgn为符号函数,i一0,1,2,…,oo). 在圆周模式中,设定 。为需要计算正弦/余弦值的角度A,( 。。.y。。)为旋转迭代后所得的最终矢 量.由于每次旋转都经过幅度放大,并非和原矢量在同一圆周,所以须对最后结果进行幅度校正,除以 因子K,或者将初始矢量(z。, 。)进行预校正,乘以1/K,其中K一Ⅱ茎。k .通常使用更为简便的预 旋转方法,将初始矢量乘以1/K.这样经过无限次旋转迭代后可得到 一[CO S Zo一…sin ̄ ̄…l Ex  ̄3一 1Ⅱ也l2一 一 ] ㈣ 。。一z。一 d arctan 2一. (7 一o在NCO设计中,设定z。一1/K一0.607 252 935 0, 一A(A为待求角),则通过迭代后的目标 矢量的坐标值为z。。一sin A,Y。。一COS A.因此,采用CORDIC算法代替常规正弦函数查找表ROM 进行幅度一相位转换可大大简化实现过程.这种设计方法的基本结构如图2所示. 采样时钟 相位累加器 相位步进 量 寨 嚣蚩 控制字 图2改进的NCO结构 Fig.2 The improved structure of NCO 由于CORDIC算法计算三角函数的角度收敛范围为嘲¨ 。≤∑ 。arctan 2一 ≈1.743 3(99.9。), (8) 表明CORDIC算法仅对第一象限的输入角度收敛,而相位输人范围是[一 ,7r],因此前处理部分的预 旋转将相位转换到第一象限,并将相位信息传递给逻辑控制单元,CORDIC迭代算法处理结束后,后 处理单元根据逻辑单元值决定取值正负,将数值映射到原来象限. 54 扬州大学学报(自然科学版) 第13卷 2 采用CoRDIC算法后的误差分析 2.1 参数选择对计算精度的影响 由前述算法原理的推导可知,假定迭代次数为 ,那么末级迭代中的最小旋转角度为 a 一1=arctan 2一‘ 一 - ̄--2一‘ 一”. (9) 如果设定弧度角的字长为b位,则必须满足2 一”≤2一.由此可确定最少迭代次数应为6+1.同时 可知若要提高频率分辨率,则必须相应增加相位弧度角字长,而最少迭代次数也必须随之增加. 2.2改进算法的误差计算 采用CORDIC算法实现NCO的性能主要受两方面误差的影响:①有限次旋转后实际矢量和目 标旋转矢量之间存在角度差所引起的误差,此误差为角度量化误差;②算法实现中使用参数的有限 字长表示实际结果与理想值之间存在误差,此误差为舍入误差. 1)有限迭代次数引起的角度量化误差.在实际算法实现中,由于硬件资源的,不可能采取无 限多的迭代次数,因此存在角度量化误差.根据文献[4]中的推导,角度量化相对误差上限值为 l yo。一y l/lV I<2 ”, (10) 式中V 是初始矢量V。经过第 次旋转后所得的矢量,V。。是目标角所对应的矢量,两者之间的夹角 为 ,是一个很小的角度. 2)有限精度引起的舍入误差.在前述误差上限估计中,假定算法中的数据采用无限精度,而事实 上算法中的数据精度却是有限的.采用定点二进制数时,舍入误差为  ll≤ J+∑ ∑三lI R ej I≤ eE1+∑n: -:(Ⅱn -1 k )]. (11) 设本算法采用的字长为m位,将后面的多余位截断,则误差不会超过e一2一.k,为每次迭代过程中的 系数因子,取值为k,一 ̄/1+2 . 2.3 改进NCO在设定参数下的误差计算 实际NCO中的误差主要有相位累加器的截断误差 和CORDIC算法中的角度量化误差、舍人 误差.这两种误差分别计算如下( 为输入CORDIC处理器的位数,B为截断位数,N为CORDIC处 理器的流水单元数,F为相位步进控制字): 勖一 。 引・566 X 10一’E2_2 +3.5×2 N≈8・087 X 10。“.(12) 总误差为£1+£2≈8.243 X 10~. 3 仿真结果 3.1参数设置及MATLAB仿真 根据前文对参数选取和计算误差的分析,确定 一组参数进行仿真,所选参数如下:设定相位累加 器字长L一24,CORDIC模块中角度表示字长为 16位,CORDIC模块中X,y数据字长为18位,采 用16级流水迭代结构运算.参考频率为100 MHz, 输出频率为40 MHz,初相位偏置 一0。.建立该算 法的MATLAB仿真模型,得到不同迭代次数下的 0 输出信号s( ).对s( )计算10 010次离散傅里叶变 {|MHz 换,通过周期图法计算其单边功率谱密度,得到的 图3使用CORDIC算法的载波信号功率谱密度曲线 仿真结果如图3所示. Fig.3 The power spectrum density curve of the carrier using CORDIC arithmetic 第2期 陈万培等:基于CORDIC算法的改进NCO实现技术及其性能分析 55 3.2基于FPGA的硬件设计 传统的NCO设计通常将计算好的正弦值存储在ROM中,再将前端累加器输出的截短的相位作 为ROM查找表的地址,输出存储在ROM中对应的正弦值.这样做在简化设计难度的同时也带来了 显著的问题:随着相位表示精度的提高,需要占用FPGA中的R0M资源将呈指数级增长,运算速度 也明显降低;而采用CORDIC算法的NCO设计则由加减移位等简单的运算实现,因此该算法非常易 于在FPGA中实现 。].本设计采用Ahera公司的STRATIX系列FPGA器件 。 ,在QUARTUS ̄操 作平台下,按照图2的结构,用VHDL编程实现.根据前文中的参数取值,确定相位步进控制字为 F—int(40/100)×2 一(011001100110011001100110),. 图4给出了在QUARTUSⅡ n1 平台上通过综合后得到的载波输 g-si出信号的实际仿真波形. data... B0l10Ol lO0 0l1001l0oll0oll0ol1 O∞00()0o()o0()00()00()0 FPGA器件的硬件逻辑资源 data... 占用情况如表1所示.由表1可 ePs 见,基于CoRDIC算法的NC0 x_B000000 !垦 垦 !丝X 垦 ! 垦 垦 翌 !!旦垦X塑1 out v OUt 设计逻辑单元的占用率仅为 13 .文献[11]指出,当输出精度 达到10位时,在相同的截断误差 图4 NCO输出数字载波信号FPGA仿真波形 F嘻4 The FPGA m 毗 on wave of the 咖 er gnal 下,基于CORDIC算法的直接数字频率FPGA实现所用的可配置逻辑模块(configurable logic block, CLB)数不到ROM表FPGA实现所用CLB数的一半,因此CORDIC算法是比较节省系统资源的. 表1 FPGA器件的硬件逻辑资源占用情况 Tab.1 The logical resources occupation of FPGA component hardware Top—level Entity Name ncototalgail Top-level Entity Name ncototalgail Family Met timing requirements Stratix Yes DSP block 9-bit elements Total PLLs 0/48(O%) 0/6(O ) Total logic elements Total pins Tota1 virtual pins 1 397/10 570(13 ) 120/336(35 ) 0 Total DLLs Device Timing Models 0/2(O%) EP1S10F484C5 Final TotaI memory bits 0/920 448(O ) 参考文献: E1-] 杨小牛.软件无线电原理与应用l-M].北京:电子工业出版社,2002:289—312.  TER J S.A unified algorithm for elementary functions EC]//AFIPS Spring Joint Computer Conf.Alantic [2] WAICity:Is.n.],1997,38:379—385. [3] HU Xiao-bo,H ARBER R G,Bass S C.Expanding the range of convergence of the CORDIC algorithm EJ 3. IEEE Trans On Comput,1991,40(1):13—21. [-43 HU Y H.The quantization effects of the CORDIC algorithm[J].IEEE Trans on Signal Process,1 992,40(4): 834—844.  accuracy and handware tradeoffs for CORDIC arithmetic for special— [5] KOTA K,CAVALLARO J R.Numericalpurpose processors[J].IEEE Trans on Comput,1993,42(7):769—779. -M].北京:人民邮电出版社,2005:187—207. [6] 刘韬,楼兴华.FPGA数字电子系统设计与开发实例导航I[7] 黄智伟.FPGA系统设计与实践[M].jE京:电子工业出版社,2005:167—177. [8] 弋稳.雷达接收机技术[M].北京:电子工业出版社,2005:319—327. r9] AUDIO T,PURBA R S.Scalable pipelined CORDIC architecture design and implementation in FPGA[c]// 2009 International Conference on Electrical Engineering and Informatics.Selangor:Is.n.],2009:646—649. [1O] 陈铭,薛敏彪,胡永红,等.基于FPGA的直接数字频率合成器设计与实现[J].测控技术,2004,23(9): 1—2. [11] 付永庆,李裕.基于多相滤波器的信道化接收机及其应用研究[J].信号处理,2004,20(5):517—520. 56 扬州大学学报(自然科学版) 第13卷 Impromved NCO realization technology based on CORDIC arithmetic and performance analysis CHEN Wan—pei ,HUANG Ying,SHAO Ning,WANG Qiong (Sch of Inf Engin,Yangzhou Univ,Yangzhou 225009,China) Abstract:This paper introduces an improved numerical controlled oscillator(NCO)based on CORDIC algorithm。which applies CORDIC arithmetic instead of traditional SIN ROM lookup ta— ble.With this method。data storage can be greatly reduced and the utility factor of resources can be efficiently improved.According to the corresponding literature,a detailed error performance analy— sis is given.MATI AB emulator results and the realization on FPGA along with the output signal emulator wave after synthesis are brought forth.Therefore,high precision output signal can be produced and the design purpose can be attained. Keywords:coordinate rotation digital computer arithmetic;numerical controlled oscillator;MAT— LAB simulation:field programmable gate array (责任编辑 贾慧呜) (上接第43面) E8]韩鲁佳,闫巧娟,刘向阳,等.中国农作物秸秆资源及其利用现状[J].农业工程学报,2002,18(3):87—91. [9]孟海波,曲峻岭,刘依.我国秸秆饲料加工机械现状及发展[J].农机化研究,2002(4):29—31. Elo]董德军,陈海霞,魏云丰.粗饲料加工机械的现状及发展趋势EJ2.农机化研究,2006(5):42—43. [11]宋慧芝,盛奎川,钱湘群.农作物硬茎秆切碎机的设计研制[J].浙江大学学报:农业与生命科学版,2003, 29(2):157-160. Design of a new chopper for green corn stalk YANG Ya—zhou ,XU Jie ,WANG Jing—li ,LU Zhao—hui。,LIU Qing—fu (1.Coil of Engin 8L Tech,Jilin Agric Univ,Changchun 130118,China;2.Basic Sci Dept,Armor Tech Inst, Changchun 130117,China;3.Chin Acad of Agric Engin,Beijing 100125,China) Abstract:Much of the water and the nutrient ingredient were lost when the green corn stalk was chopped by the traditional choppers.So,a new chopper for the green corn stalk for the goose was designed,in which 3-dimension cutting was used.In this paper,the structure and the parameters of the chopper for the green corn stalk were presented.The main performances of the chopper were tested.The results showed that the water lOSS ratio of the green corn stalk was about 31.9 ,the percentage of the chopped forage in the sizes(include three dimensions)between 8 mm and 1 0 mm was about 78 ,and the factual productivity of the chopper was close to the theoretic one. Keywords:green corn stalk;chopper;three dimension cutting (责任编辑 贾慧鸣) 

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- pqdy.cn 版权所有 赣ICP备2024042791号-6

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务