基于cordic算法的nco实现

上传人:第*** 文档编号:34007736 上传时间:2018-02-19 格式:DOC 页数:7 大小:386.27KB
返回 下载 相关 举报
基于cordic算法的nco实现_第1页
第1页 / 共7页
基于cordic算法的nco实现_第2页
第2页 / 共7页
基于cordic算法的nco实现_第3页
第3页 / 共7页
基于cordic算法的nco实现_第4页
第4页 / 共7页
基于cordic算法的nco实现_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《基于cordic算法的nco实现》由会员分享,可在线阅读,更多相关《基于cordic算法的nco实现(7页珍藏版)》请在金锄头文库上搜索。

1、摘 要:介绍了 CORDIC 算法的原理,给出了为满足某一技术指标而设计的 NCO 的分析过程,给出了软件仿真波形和硬件实现波形的对比。关键词:NCO ; CORDIC;FPGA数控振荡器(NCO )广泛应用于各种雷达系统和无线收发系统中,其实现方法主要有查表法和坐标旋转算法。查表法会消耗大量的 ROM 资源,这样不仅增大了能耗,而且增加了芯片的面积;CORDIC 算法很好地解决了查表法的问题,而且 CORDIC 算法由于只采用加法和移位运算,因此很适合在 FPGA 中实现。 用图 2 对上述的旋转过程作解释,旋转开始的初始值是位置,最终的目标是位置。第一次,位置与位置之间的夹角 z10,因此

2、,逆时针旋转一个正切值恰好是 2-1 的角度,完成了第一次旋转。 2 NCO 的实现CORDIC 算法实现的 NCO 基本结构如图 3 所示。当有数字中频输入信号时,输出的是数字混频信号,当没有数字中频信号时,输出的是正余弦信号。设相位累加器的位宽为 n,则 NCO 的相位分辨率为13: 确定相位累加器位数后,就可以用 Cordic 算法设计 NCO 了。在实现过程中,首先需要建立旋转角度集 tan-1(2-i)的查找表,为了保持足够的精度,用下面的表示方法,在硬件里表示直角坐标系的 4 个区间很容易,在设计中应该注意数字表示法的运用,适当选取二进制和十进制的对应关系,将使整体设计变的更简单。

3、用 25 bit 表示从 0360,二进制 l bit 代表十进制为:360/225=0.000 010 728 8。正弦、余弦函数旋转变量为2:当 i=0 时,arctan(1)=45= 25b0_01000000_00000000_00000000当 i=1 时,arctan(1/2)26=25b0_00100100_11111010_01001111当 i=2 时,arctan(1/4)14=25b0_00010011_11101001_00111110 当 i=3 时,arctan(1/8)7=25b0_00001001_11110100_10011111当 i=4 时,arctan(

4、1/16)4=25b0_00000101_10110000_01011011当 i=5 时,arctan(1/32)2=25b0_00000010_11011000_00101101当 i=6 时,arctan(1/64)1=25b0_00000001_01101100_00010110在具体实现时,由于正弦、余弦函数输出值小于 1,可定义 10 bit 二进制数表示输出值-1 +l。为了提高运算速率,采用了 8 级流水线的方式,QuartusII 软件生成的模块如图 4 所示。各信号的定义见表 1。 本设计雷达中频信号为 30 MHz,设定采样频率 fs=48 MHz,则本振频率 fc=18

5、 MHz,采样频率约是本振频率的 3 倍,如果按采样频率对本振信号进行采样,大约每 3 个点就循环出现一次,用 Matlab 仿真的结果如图 5 所示。 低成本 CycloneIII FPGA 是 Altera Cyclone 系列的第三代产品。Cyclone III FPGA 系列前所未有地同时实现了低功耗、低成本和高性能,进一步扩展了 FPGA 在成本敏感大批量领域中的应用。本设计中选用 CycloneIII 系列的 FPGA 芯片。CycloneIII EP3C25 采用了 1.2 V 内核,65 nm 工艺,由 QuartusII 7.2 以上版本软件支持,可以重复编程,通过 JTAG

6、 接口或者 EPROM 加载程序,内部有 PLL、高速 I/O 接口和乘法器等模块,主要内部资源参见表 2。封装的不同,EP3C25 的引脚数和可用用户 IO 数也不相同,详见表 3。本设计选用 240 引脚的 PQFP 封装 FPGA 芯片 EF3C25Q240C8N。图 6 所示波形是采用 CORDIC 算法在硬件上实现 NCO,通过 QuartusII 软件内嵌的逻辑分析仪 SignalTapII 观测到的 I 路信号。与图 5 比较可看出,采用 CORDIC 算法在硬件上实现NCO 获得成功。CORDIC 算法解决了查表法实现 NCO 面临的问题,而且具有很高的分辨率。本设计用Altera 公司 CycloneIII EP3C25 FPGA 芯片,在硬件上实现 NCO,同时为了提高其运算速率,采用了 8 级流水线结构,提高了系统的性能。参考文献1 姜宇柏,游思晴.软件无线电原理M.北京:机械工业出版社,2007.2 Uwe Meyer-Baese 著.数字信号处理的 FPGA 实现M. 刘凌,译.北京:清华大学出版社,2006.3 胡广书. 数字信号处理M.北京:清华大学出版社,1997.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号