基于FPGA的NCO设计方案

2012-01-19 16:53:35来源: 电子设计工程 关键字:FPGA  NCO
    随着数字通信技术的飞速发展,软件无线电的应用愈加的广泛, 而影响软件无线电性能的关键器件数控振荡器NCO(Numerical CONtrolled Oscillator) 的设计至关重要直接数字频率合成(DDS)技术是一种从相位概念出发直接合成所需要的波形的新的全数字频率合成技术。同传统的频率合成技术相比,DDS 技术具有频率精度高、转换时间短、频谱纯度高以及频率相位易编程、输出的频率稳定度与系统的时钟稳定度相同等一系列优点, 广泛应用于现代各种通信系统中,包括数字上下变频、中频变换、频率合成以及扩频系统和各种频率相位数字调制解调系统中。

  在软件无线电及通信领域, 经常使用正交的数字信号;针对此类应用, 本文给出了一种基于FPGA 的正交NCO 设计方法,可以实现正交的、连续相位、高性能、高精度、可重利用的数控振荡器,适合于多种应用场景的片上系统的设计。

  1 NCO 实现原理

  直接数字频率合成(DDS)技术是一种全数字技术,同传统的频率合成技术相比,DDS 技术具有多项优点: 频率切换时间短、频率分辨率高、相位变化连续、容易实现对输出信号的多种调制等。

  DDS 的原理框图如图1 所示, 其实质是以基准频率源(系统时钟)对相位进行等间隔的采样。由图1 可见,DDS 由相位累加器和波形存储器(ROM 查询表)构成的数控振荡器(NCO)、数模转换器(DAC)以及低通滤波器(LPF)3 部分组成。而DDS 的核心是NCO 的设计与实现,NCO 一般是由相位累加器和正余弦查找表两部分组成,其中相位累加器的设计较简单,故设计NCO 的关键是设计正、余弦函数发生器

  实现函数发生器的方法为查表法(LUT),对于一个相位位数为L,输出信号幅度位数为M 的NCO,所需查找表的大小为M×2L。

  

 

  图1 DDS 基本原理框图

  在每一个时钟周期,L 位相位累加器与其反馈值进行累加,其结果的高N 位作为ROM 查询表的地址,然后从ROM中读出相应的幅度值送到DAC。低通滤波器LPF 用于滤除DAC 输出中的高次谐波。因此通过改变频率控制字K 就可以改变输出频率fout。容易得到输出频率fout与频率控制字K 的关系为:fout=Kfc /2L,其中fc为相位累加器的时钟频率,L 为相位累加器的位数。定义当K=1 为系统频率分辨率,即f=fc /2L。

  2 NCO 几种常见设计方法

  常见的NCO 实现的方法目前主要有计算法、CORDIC(Coordinated RotATIon Digital Computer)算法和查表法等。

  计算法是一种以软件编程的方式通过实时计算产生正弦波样本, 该方法耗时多且只能产生频率相对较低的正弦波,而需要产生高速的正交信号时,用此方法不能很好的满足要求。

  CORDIC 算法即坐标旋转数字计算方法, 其基本思想是用一系列固定角度的不断偏摆逼近所需旋转的角度,实现包括乘除、平方根、三角函数、向量旋转(即复数乘法) 以及指数运算,该算法往往需要通过乘法器和查找表才能实现多种超越函数的计算,这会导致硬件电路实现复杂、运算速度降低,此外它能够计算的角度范围也有限,故CORDIC 算法在实际使用时有较大的限制条件。

  在实际应用中一般采用最有效、最简单的查表法,即事先根据各个NCO 正弦波相位计算好相位的正弦值, 并以相位角度作为地址把该相位的正弦值数据存储在表中,然后通过相位累加产生地址信息读取当前时刻的相位值在表中对应的正弦值,从而产生所需频率的正弦波;同时由于正余弦波形的对称性,只需要存储部分数据即可完成全相位的数值输出。这种实现方法,设计简单、运算速度较高,可以很好的满足在数字变频、扩频、调制解调等多种场合的要求。

  3 正交NCO 的查找表实现方法

  基于FPGA 的正交NCO 设计原理框图如图2 所示,主要由3 部分组成: 可变模计数器、正余弦查找表和输出单元3个模块组成。

  

 

  图2 NCO 的设计原理框图

  下面以输入的频率控制字为1 200 Hz 为例进行设计。

  Fre_sample, 表示系统采用时钟;Fre_cnt_word 表示频率控制字。

  1)可变模计数器的设计

  可变模计数器是根据频率控制字,计算出正余弦表的查表所需的地址;同时要保证产生的正余弦波的相位保持连续(有些应用场合常常要求输出的相位连续),即置于相应的余数值。在第1 个工作时钟周期读入频率控制字,第2 个工作时钟周期内计算出mod(Fre_sample,Fre_cnt_word)作为相位控制字,第3 个工作时钟周期内部计数器复位置入相位控制字,第4 个时钟周期开始以频率控制字为步长,相位控制字为初始值进行计数输出。

  2)正余弦查找表的设计

  正余弦查找表是根据可变模计数器的输出查表得到相应载频波形的输出。

  基于FPGA 的NCO 设计的一个关键就是波形存储器ROM 相位累加器的输出地址作为ROM 的地址输入,经查表和运算后,ROM 输出正余弦波形的量化数据; 设计中主要是要节省存储器资源的开销,即减小ROM 存储表的空间;由于存储表的尺寸随着地址位数或数据位数的增加呈现指数级递增关系,所以在满足频率分辨率、信号性能的前提下,主要考虑较小ROM 存储表的开销;在实际的应用中,可以充分利用正余弦信号在一个周期内的对称性来减少ROM 存储表的开销, 例如正弦信号, 在一个周期内对于X 轴是对称的,基于此可以将ROM 存储表减少至原来的1 /2, 再利用半周期内的左右对称性,又可以将ROM 存储表减少至原来的1 /2,因此通过一个正弦查找表的前1 /4 周期就可以变换得到整个正弦波周期查找表,这样就节省了3 /4 的存储器资源。

  正余弦表的具体设计思想如下: 取频率分辨率为df=1 Hz ; 假设频率控制字为1 200 Hz 的频率左右, 现考虑对1 200 Hz 的正余弦波形每一个周期采8 个样点,则可得采样率为fs =1 200×8=9 600 Hz.设对于每一个样点值取8 bit 量化,则每个表格共需存储9.6 kB;(如果考虑到正、余弦信号的对称性,设计时可优化为上每个表格存储1/4 个波形即可,即每个表格只需存储2.4 kB;)使用时是用步长STep 来调节输出频率, 同时保证输出的正余弦波的相位连续。如果每隔0样点取1,即step=1,输出频率为1 Hz;每隔1 点取1,即step=2,输出频率为2 Hz;……;每隔1 199 点取1,step=1 200, 输出频率为1 200 Hz.

[1] [2] [3]

关键字:FPGA  NCO

编辑:北极风 引用地址:http://www.eeworld.com.cn/FPGA/2012/0119/article_2834.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:基于FPGA的任意波形发生器设计与研究
下一篇:基于Xilinx器件的CPRI协议实现方法

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利
推荐阅读
全部
FPGA
NCO

小广播

独家专题更多

东芝在线展会——芯科技智社会创未来
东芝在线展会——芯科技智社会创未来
2017东芝PCIM在线展会
2017东芝PCIM在线展会
TI车载信息娱乐系统的音视频解决方案
TI车载信息娱乐系统的音视频解决方案
汇总了TI汽车信息娱乐系统方案、优质音频解决方案、汽车娱乐系统和仪表盘参考设计相关的文档、视频等资源

夏宇闻老师专栏

你问我答FPGA设计

北京航空航天大学教授,国内最早从事复杂数字逻辑和嵌入式系统设计的专家。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2017 EEWORLD.com.cn, Inc. All rights reserved