
Altera IP 核 NCO 相位增量计算.docx
7页Altera IP核NCO相位增量计算数字下变频中基于IP核的NCO设计作者:四川大学电子信息学院 魏明强 来源:电子设计应用2009年第6期引言软件无线电接收机系统中频信号处理算法的核心就是数字下变频(DDC)算法,而数控振荡器(NCO) 是决定数字下变频性能的最主要因素之一近年来采用IP核设计基于FPGA的数字系统成为趋势, 采用经过严格测试和优化的IP模块,能大大减少设计和调试时间,降低开发成本,增强设计灵活性, 从根本上提高设计性能因此本文提出一种采用IP核设计数控振荡器的新方法,以满足软件无线电 接收机下变频系统对NCO提出的高性能要求NCO在数字下变频中的作用作为数字下变频的核心部分,数控振荡器具有频率分辨率高、频率变化速度快、相位可连续线性变化 和生成的正弦余弦信号正交特性好等特点,数字化的相位和幅度可以实现高精度的数字调制解调数 字通信的发展要求数据传输速率进一步增高,如何得到一个可数控的高频载波信号是实现高速数字通 信系统必须解决的问题TWFF' f 川.曲如图1所示,正交结构的数字下变频由一个数字控制振荡器、一对正交数字混频器和两个高效的低 通滤波器(LPF)组成其中,NCO用于产生两路正交的正/余弦载波样本值,数字混频器使正/余弦 样本与采样样本混频相乘,进行频谱搬移,低通滤波器则用于滤除混频过程中产生的带外信号,输出 两路正交的基带信号。
作为实现数字混频的重要模块,NCO的目标就是产生一个频率可变的正弦或余弦样本,如式(1)所 示:s(n)=sin(«cn)=sin(2%nfc/fs) (1)式中,fc为本地振荡频率即NCO的输出频率,数值上与DDC输入信号的载波频率相等;fs为NCO 的时钟频率,数值上与DDC输入信号的采样频率相等对于软件无线电数字接收机的下变频部分, 一般要求NCO产生的正弦波样本具有以下特点:频率分辨率要高,就是当频率控制字K增加或减小 单位值时,正弦波的频率变化量要尽可能小;频段要宽,这样才能满足软件无线电高兼容性的要求; 频率转换时间要短,因为软件无线电接收系统要求对信号的接收与处理具有实时性;频率改变时,输 出相位连续,改变频率控制字,相位增长率改变,但输出相位保持连续这些特点显然对NCO的性 能提出了很高的要求,因此NCO的设计与优化在数字下变频器中有举足轻重的作用NCO的设计指标和相位扰动技术设NCO的频率控制字(相位增量)为M,相位累加器位数为N,时钟频率为Fclk, 输出频率为fout,频率分辨率为Af相位累加器位数一定时,频率控制字和时钟 频率决定了 NCO的输出频率,它们的关系如下:fout=FclkXM/2^N M = fout * 2^N /FCLK (2)此时N值的大小决定了频率分辨率的大小,可得到:?f=Fclk/2^N (3)基于以上理论,按照软件无线电接收机下变频系统的设计要求,假定NCO模块各 个参数满足下列指标:DDC输入信号的采样频率即系统时钟频率Fclk=80MHz; DDC输入信号的载波频率即本地振荡频率fout=14.4MHz;频率分辨率?f,0.02Hz;无杂散动态范围SFDRN100dB;信噪比SNRN100dB;功耗 PGOOmW。
设计指标中SFDR尤为重要,因为占主导因素的相位截断误差造成了频谱杂散,这大大限制了 SFDR 通常情况下相位截断误差占主要因素,因此必须尽量减小可以证明,除非频率控制字是2的整数 幂次方,否则由于相位累加器的位数有限将产生杂散,在区间(0, Fclk/2)(Fclk为时钟频率)内相位 截断误差的频谱由若干根离散谱线组成,并且呈现出周期特性可以设想,如果能打破该周期性,就 可减少相位截断误差的影响相位扰动技术的依据正是这一理论,其核心思想是在每个时钟脉冲到来 后,通过给相位累加器的输出中加入满足一定统计特性的随机信号来打破误差序列的周期性,使得误 差的功率谱由原来的离散谱线变成均匀分布的宽带噪声,从而大大提高SFDR,降低杂散相位扰动 技术的基本原理如图2所示J相位提 :心」相位■ 加器 k 榷断£=L-^随机发生罂E2相也i劫原瑰幽基于IP核的NCO设计和仿真NCO的设计采用Altera公司的NCO知识产权核,它的设计全部在FPGA开发软件Quartus II 7.2环境下进行NCO-V7.2是Altera公司新发布的NCO IP核,它是一个高性能、高度参数化的NCO处理器,支持该公司的Cyclone、Stratix等系列器件,提供基于查找表、CORDIC(CoordinateRotational Digital Computer,坐标旋转数字计算机)算法和乘法器三种结构,并能进行频谱分析。
下面介绍具体设计流程启动Quartus软件并建立工程目录,打开生成NCO的IP核工具选择器件型号考虑到NCO用到的时序逻辑较多,对寄存器资源要求高,故应选择FPGA而非CPLD芯片最好采用低电压供电,以降低器件功耗,同时减少电磁干扰较高的设计指标要求芯片内部逻辑 单元或者RAM资源比较丰富,保证完成设计的同时留有余量,充分体现''软件无线电''的灵活性器 件成本应该低廉而且货源充足易于采购综合考虑,Cyclone II系列的EP2C8Q208C8这款芯片性价比较高,并能满足以上各项要求^lan | 腿&叫皿 Estimate ]F 政P 炯骋 SttieTHDPlBasE-Aceunn&ilalorPreels由笠 司F iMiiWMFT pria&rEfihptirig4ragul3KR3£OlUllflrt |iaMagfiv!ude Pre「iwim | jJ—1—D.4hBrLef*&l i i i > r - f i Mn MbrJen Algo ntiinu UzfiLn qd-En p ait咐R*Desrrec Outain FrequencyFT i | 雌Pha期 valueI .Real OufcjJ Freauenc>r| d . SCDffl)aatKT5:4432 UKe1 1 r - ~ 11 --I -TTITT11 1 、-1-1n"T —TTrT1「1 1 一 1 一—一-1 ——1 一一 T—r --T ~一 11-W.DFrequent 0ornair Resuonse Time hr服in 性珅口n我PW-西.呷t.扣爆■选择NCO的生成算法。
IP核提供查找表算法(包括大表型ROM和小表型ROM)、CORDIC算法和 乘法器算法,各自具体特点如表1所示从表1中可以看出,基于乘法器的NCO需要DSP模块, 采用查找表结构的NCO需要大量RAM资源,而CORDIC算法则要消耗大量的逻辑单元在其他 条件相同的情况下,四种算法消耗的器件资源如表2所示从表中可以看出,CORDIC算法没有用 到RAM和DSP模块,而只消耗器件33%左右的逻辑单元,因此选择CORDIC算法设计NCO比 较合适基于CORDIC迭代算法的数控振荡器仅用移位寄存器和加法器就可产生正余弦信号,不但 省去了传统NCO庞大的存储器资源,而且保留了一般数控振荡器频率分辨率高、频率变化速度快、 相位可连续线性变化、生成的正余弦信号正交特性好等特点,非常适用于在正交数字混频器中进行高 速高精度的数字调制解调根据具体指标设置合理的参数图3所示为基本参数的设置界面首先设置NCO的时钟频率和输出 频率,分别为100MHz和14.4MHz,并将Fclk和人0代入公式(3),得N为32,此时实际分辨率 为0.0186Hz,小于0.02Hz,满足设计要求结合公式(2),IP核根据fout自动计算频率控制字 M,此时实际输出频率绝对误差仅为0.0088Hz。
然后设置相位字长P(相位分辨率)、幅值量化位数M和相位扰动三个参数可以证明,如果取CORDIC 旋转的精度等于截断后相位的分辨率2n/2P,那么CORDIC旋转得到的相位误差最大为理想截断后 相位分辨率的两倍,相当于在理想截断的基础上再截断一位因此,CORDIC方式实现的NCO得 到的SFDR要比查表法得到的SFDR最多低6.02dB,即为6.02(P-1)dB根据100dB无杂散动 态范围的设计要求,相位字长P取值为18幅值量化位数M对频谱杂散的影响一般用信噪比来表示, 理论分析由经典公式SNR=6.02M + 1.76决定,根据100dB信噪比的设计要求,M取值为17,但 考虑到热噪声、电源噪声等因素的影响,M取值18较为合适最后根据幅频曲线和时域波形适当调 整伪随机信号的幅值IP核用到了上文提到的相位扰动技术降低杂散,随机信号的引入一方面不能 太小,否则起不到降低杂散的作用;另一方面又不能太大,否则会减小NCO的无杂散动态范围,因 此调整到中间状态为宜得到的频域和时域波形分别如图4和图5所示由图4可知相位扰动技术 大大降低了离散频谱引入的杂散,将SFDR提升到105dB,满足100dB的设计要求,同时可以看 出在14.4MHz频率点上相位噪声极小,即输出频率稳定。
由图5可知波形整体呈现出正弦波的特 征,但由于NCO输出的是数字信号故表现出跳变性通过简单计算得知信号周期大约为69.75ns, 换算成频率为14.34MHz,非常接近理论值14.4MHz若认为误差是由于测量不准造成的,则可以 认为NCO输出频率达到了设计要求进一步仿真验证设计结果利用IP核工具自动生成仿真模型和网表并编译工程文件,生成顶层模块 后进行仿真,结果如图6~图8所示图6显示NCO模块能运行的最高频率达到了 170.44MHz, 远高于系统时钟80MHz,时序余量相当充裕,保证以后系统优化快速提升NCO性能图7显示 NCO消耗总功耗为49.36mW,其中内核静态热功耗为25.59mW,I/O热功耗为23.77mW,接 近50mW的低功耗满足100mW的功耗要求图8显示了 NCO输出相位相差90度的正余弦两路 波形,从整体看二者均接近单一频率的正(余)弦波,只是杂散频谱的引入造成了波形细节的畸变图 6~图8说明仿真结果均达到设计要求圄8时序仿页结果_Fon aLyC^-filanc ZIDwimro/sr 'HfidQlErusiT nt si ihsrffisl f 洲帝r Di福肉¥0.00 讦C'er e 8R由tie Th*r^=il Di25-. 59 rVI/O Pll MrniglE 77 -V中访慧怙直结果结语本文介绍了采用CORDIC算法设计高性能数控振荡器的基本流程,采用Altera公司的IP核设计和 仿真后证明软件无线电接收机下变频中的NCO模块各项指标均达到设计要求,高性能的NCO有利 于后续CIC滤波、ISOP滤波、半带滤波和FIR滤波级联构成的抽取滤波的实现。
CORDIC算法只 涉及移位和相加运算而没有乘法运算,充分利用了 FPGA丰富的寄存器资源而不占用大量宝贵的 RAM资源,这为软件无线电数字下变频的改进和扩展提供了灵活性传统查表法的NCO和混频器 是分开独立实现的,需要两个乘法器来完成I/Q两路的混频运算而CORDIC算法则可以使两个功 能一起完成,省去两个乘法器,其移位-相加结构能够轻松实现高处理速率,这种新颖的设计思路具 有一定的参考价值参考文献1. 陈强(译).软件无线电一一无线电工程的现代方法.北京.人民邮电出版社.2004.2. 陈士川.数控振荡。
