基于IP核的数字控制振荡器的设计

时间:2022-07-23 10:31:52

基于IP核的数字控制振荡器的设计

数字控制振荡器是数字变频与通讯系统的核心组成部分。本文研究了使用IP核设计数字控制振荡器的方法,对CORDIC波形生成算法行了分析,分析了波形信号中噪声产生的原因,通过添加相位加抖功能来实现降噪。为数字变频与通讯系统的设计提供了参考方法。

【关键词】FPGA 数字控制振荡器 相位加抖

数字控制振荡器(NCO,numerically controlled oscillator)可生成高精度、高速、数字化调控的正余弦波。随着各类数字芯片集成度的提高,在信号调制解调、数字信号控制与处理、电子信息通信等方面应用越来越广泛。

1 数字控制振荡器IP核

应用FPGA进行设计时,为了简化项目复杂度,节约投入资金,缩短项目开发周期,可以直接应用成熟的IP核。IP核(Intellectual Property Core)是采用硬件语言描述实现某些特定功能的模块,调用IP核可以避免重复功能的开发,可对其模块功能加以剪裁,以符合设计需求。

数字控制振荡器可实现高精度参数化调制,因而可以生成高分辨率的正余弦波形。其原理为预设一寄存器存储频率控制字,根据系统参考时钟,相位累加器累加每个周期对应的相位增量值,再与初始频率控制字求和,便得到该时刻的相位值,截取高位作为查找输入地址,便可得到对应的波形幅度值,波形输出单元负责绘制正余弦波。

当设置好时钟频率和期望输出频率后,IP核会生成频率分辨率和相位增量的值,这个值是不可见的,会自动添加到矢量源文件和仿真文件中,默认输出二进制补码表示的正弦波。例如,在100MHz系统时钟频率下,相位累加器精度取32bit,可得到振荡器的频率分辨率为0.023HZ,若输出15MHz的正弦波,输入相位增量为644245094。在进行NCO设计时,NCO的性能受多方面的影响,例如频谱纯度、频率分辨率、所需硬件资源,在这些参数中要有所取舍,根据设计要求合理优化参数指标。NCO生成的波形频谱纯度通过SNR和SFDR测量,在设计参数改变时,IP核的频谱绘图分析可以在不重复生成矢量文件和不重复仿真的前提下动态观察频谱图,极大的节省了设计时间。

2 CORDIC波形生成算法

CORDIC(Coordinate Rotation Digital Computer)坐标旋转数字计算法,针对电路中复杂的计算如对数、三角函数等,利用CORDIC算法将复杂计算分解为加法、减法和移位运算,可极大挺高运算速度 。CORDIC通过迭代计算相位角来逼近输出角度的笛卡尔坐标值,高效的实现二进制的移位或加减,迭代次数影响着计算精度。CORDIC算法使用旋转系统计算,J.S.Walther等人将三种旋转系统算法用同一个迭代方程中表示,为单硬件实现多功能打下了理论基础。

CORDIC算法中迭代结构根据旋转模式计算公式,预先把频率控制字、相位增量存储在寄存器中,每当时钟计数时,寄存器中存储的值分别送到移位器和加法器中,移位器中的数据经过计算处理后与加法器的数据做运算,最后送回到寄存器,完成一次迭代计算。增加迭代次数,可提高计算精度,但会增大查找表中的地址量,硬件资源中逻辑单元的消耗量也会成倍增加。这种基于迭代算法的串并结构会对其他逻辑的布局资源造成一定影响,而高次数迭代可能会引入延时,因此在设计NCO时,要选择合理的迭代次数以兼顾系统的其他功能。

流水线结构是对迭代结构的一种拓展,因为迭代结构中不存在反馈电路,利用多个迭代结构单元,可以将迭代结构改造为流水线结构。迭代次数决定流水线的长度,流水线长度决定逻辑单元量,流水线结构实现简单,与迭代结构相比,单一时钟周期内逻辑计算逐步进行,流水线级数间多时钟的插入提高了数据吞吐率,从而提高了系统性能。

3 相位加抖技术

NCO的性能测量指标为无动态杂散范围、信噪比和频率分辨率。在不同构架中有限精度的影响也不同,由于受资源的限制,在极坐标到笛卡尔坐标的转换中,NCO通常不使用全部的累加器精度。而相位累加器的精度取值受硬件资源的限制,地址位宽过多会使查找表消耗的硬件资源过于庞大而使实际制作工艺难以实现。可通过截断累加器的位数来节省了硬件资源,但引入了截断噪声。

为了消除噪声,在相位累加器后添加一个随机数,然后再进行相位截取,随机数的添加使存储地址产生变化。这种处理打乱了相位的周期性,减少了正弦波频谱杂散的量级,提高了输出信号的无动态杂散范围。

4 NCO IP核功能设计

IP核工具平台支持多重NCO架构,包括基于乘法器的DSP模块或逻辑单元(LE)、流水线或迭代CORDIC架构、嵌入式阵列模块ROM或外置ROM,支持频率调制、相位调制和自定义数字可控的相位累加器精度、角度分辨率、幅度位宽。根据不同的设计需求选择不同的算法与参数,灵活性强,设计开发周期短,可简化复杂系统的设计,数字控制参数方便操作。在设计NCO时,要对波形精度和硬件使用情况预先进行合理的计算,以达到最优设计指标。

5 结论

本文研究了数字控制振荡器IP核的原理,分析了CORDIC波形生成算法,对相位加抖技术进行了研究,使用相位加抖来抑制频谱杂散,提高了输出波形无动态杂散范围。针对不同的设计方案和硬件结构,可开采用不同的算法,根据设计需求可添加频率调制、相位调制和多通道输入输出功能。采用NCO IP核设计数字变频系统,缩短了开发周期,具有灵活性、通用性,为FPGA数字变频系统的设计提供了参考。

参考文献

[1]魏明强,王勇,朱挺,宁磊.数字下变频中基于IP核的NCO设计[J].电子设计应用,2009,06:73-76.

[2]孔德元.针对正弦余弦计算的CORDIC算法优化及其FPGA实现[D].中南大学,2008.

[3]赵锦江.基于CORDIC算法的数字调制器设计与实现[D].国防科学技术大学,2009.

[4]戚芳芳.CORDIC算法的优化研究及其硬件实现[D].湖南大学,2012.

[5]李飞.数字控制振荡器(NCO)的FPGA实现[J].电子元器件应用,2010,11:42-44.

作者单位

中国人民公安大学警务信息工程学院 北京市 102600

上一篇:基于避雷器泄漏电流原理的带电显示装置的研制 下一篇:别具风味的“剑门豆腐”