基于CORDIC算法的正交信号源实现

时间:2022-09-17 09:10:29

基于CORDIC算法的正交信号源实现

摘 要: 正交型数字锁相放大器中正交信号参考源对于数字锁相放大器的性能有着重要的影响,根据CORDIC算法在FPGA 上设计数字正交信号源,实现了直接数字频率合成(DDS)技术中的相位/幅度转换模块,可输出高精度的正交参考信号,避免了用ROM实现相幅转换时硬件开销过大及处理速度受限制的问题。首先介绍了DDS的工作原理,同时对基于 CORDIC 算法的相幅变换方法进行了详细叙述,利用CORDIC算法计算正余弦值,最后对整体模块进行了仿真和实验测试,输出中心频率可调的正交信号,实现了高精度的正交信号源。

关键词: 正交信号; FPGA; CORDIC; DDS

中图分类号: TN911.23?34 文献标识码: A 文章编号: 1004?373X(2016)07?0057?03

Abstract: The quadrature signal reference source has the significant impact on the performance of the quadrature digital lock?in amplifier. According to CORDIC algorithm, the digital quadrature signal source was designed on FPGA. The phase/amplitude transformation module in DDS technology was realized, which can output the high precision quadrature reference signal, and solve the problems of large hardware cost and limited processing speed when ROM is used to realize phase/amplitude transformation. The DSS working principle is introduced. The phase/amplitude transformation method based on CORDIC algorithm is described in detail, in which the CORDIC algorithm is used to calculate the sine and cosine values. The simulation and experimental test for the entire module are conducted, it can output the quadrature signal with adjustable center frequency. The high precision quadrature signal source is realized.

Keywords: quadrature signal; FPGA; CORDIC; DDS

0 引 言

在微弱信号检测领域,锁相放大是微弱信号检测的一种有效方法,数字锁相放大器在科学研究和工程的各个领域都得到广泛的应用。而信号参考源的设计是数字锁相放大器中的一项关键技术。高精度正交信号源产生两路正交的正弦信号,作为正交型数字锁相放大器[1]的参考信号源,信号源的精度以及噪声杂散程度对数字锁相放大器的性能有很大的影响。

一般数字信号源的基本原理是利用ROM表查找法实现DDS技术[2]的相位/幅度转换,用这种方法会造成相位截断,对DDS产生波形的纯度造成比较大的影响。而且因为ROM的存储能力比较有限,数据位数不够深,在输出的频率信号的频谱中,幅度量化的存在会引入新的杂散成份。而CORDIC[3]算法则能较好的解决传统方法的问题。

1 CORDIC算法实现过程

CORDIC算法是由J.volder等人于1959年首次提出的,它是一种用来计算经常使用的基本运算函数(比如三角函数)和算术操作的循环迭代算法,CORDIC算法几乎没有相位截断。其基本思想是用一系列只与运算基数相关的角度的不断偏摆从而逼近所需旋转的角度[4]。

如果在使用CORDIC算法前先计算出系数[cosθn,]就可以通过预先存储系数来实现在CORDIC计算中削去系数,旋转运算就被简化成简单的加法和移位。

CORDIC算法是一种用于计算一些常用的基本运算函数和算术操作的循环迭代算法。由于其用一系列与运算基数相关的角度的不断偏摆来逼近所需旋转的角度,而这些固定的角度与计算基数有关,运算只有移位和加/减。若用传统的乘、除等计算方法,需要占用大量的硬件资源,甚至算法是难以实现的。

CORDIC算法仅在硬件电路用到了移位和加减运算,而移位和加减运算正是FPGA的强项,大大节约了硬件资源,使得这些算法在硬件上可以得到较好的实现。

2 正交信号源的设计

2.1 CORDIC基本单元设计

最底层部分是CORDIC算法基本单元,它代替了传统DDS结构中的ROM正弦表的核心基本单元,通过移位和加减运算计算出正交信号对应的正余弦值。CORDIC算法基本单元如图3所示。

2.2 CORDIC流水线设计

考虑到FPGA硬件的特点以及算法的精度,CORDIC 算法的实现一般需要使用由多个算法基本单元组成的流水线结构[6],CORDIC算法的精度受到流水线级数的影响,只有增加流水线级数才能提高算法的精度,而增加流水线级数之后速度也会相应降低,因此必须选取合适的流水线级数。

在这里选择16级的并行流水线结构完成信号的相位幅度转换。同时由于每次迭代计算都需要输入旋转角度的正切值,这里就直接在程序中预先存储包含16个角度的正切值。16级流水线单元封装后如图4所示,仅仅保留了时钟与相位输入,正余弦输出接口。

2.3 正交信号源总体设计

顶层设计以CORDIC流水线模块为核心,以AD9767芯片为最终输出端口,编写AD9767驱动模块,在输出之前加入了编码转换模块,因为AD9767以原码输入而DDS_CORDIC模块以偏移二进制码分两路分别输出正弦与余弦信号的数字编码,正交信号源总体设计如图5所示。

3 仿真实验结果

在软件设计完成后,在ModelSim中进行了功能仿真[7],验证算法是否正确,如图6所示。

在仿真通过后,需要在硬件电路中实现正交信号源的功能。设计输出1 MHz的正交余弦信号,以50 MHz频率作为系统的时钟基准,通过计算在Quartus Ⅱ中输入频率控制字,进行编译完成[8]。

下载编译完成的程序到FPGA硬件电路中,将电路输出到示波器中,得到FPGA硬件电路输出波形如图7所示。从图7可以看到输出的实际波形与理论相符合,在硬件上实现了正交信号源。

4 结 语

正交信号源在正交信号解调[9]以及数字锁相放大器参考信号等方面具有非常实际的应用需求,而CORDIC算法能够解决ROM表的存储容量限制给DDS性能提高带来的瓶颈,提高DDS相位截断后的保留字长,减小杂散噪声。同时根据FPGA的特点,采用流水线结构,保证了程序的运行速度与精度。

本文在FPGA硬件平台上实现了基于CORDIC算法的正交信号源,对于需要应用正交信号源的地方具有较强的实用价值。

参考文献

[1] 陈宇泽,邢维巍,樊尚春.基于DSP Builder的正交矢量型数字锁相放大器实现[J].现代电子技术,2015,38(1):62?65.

[2] 王永,刘志强,刘硕.DDS在任意波形发生器中的应用[J].仪表技术,2001(4):22?23.

[3] 胡国荣,孙允恭.CORDIC算法及其应用[J].信号处理,1991(4):229?242.

[4] 郑立岗,吕幼新,向敬成,等.一种基于CORDIC算法的数字鉴频方法[J].信号处理,2003(1):6?10.

[5] 谢亮.基于FPGA的ROM数据定制的几种方法[J].科技广场,2008(10):160?161.

[6] 李旭.基于FPGA的流水线技术应用研究[J].电子测量技术,2007(2):131?132.

[7] 李寿强.MATLAB和ModelSim联合仿真在FPGA开发中的应用[J].电子制作,2013(12):77.

[8] 袁博,宋万杰,吴顺君.基于FPGA的MATLAB与QuartusⅡ联合设计技术研究[J].电子工程师,2007(1):6?8.

[9] 周之丽,孟令军,王晓丹,等.基于FPGA与Matlab的数字正交解调器的设计[J].计算机测量与控制,2015(1):294?296.

上一篇:利率市场化背景下银行系统性危机的实证研究 下一篇:基于CPCI系统的高速数字通信接口电路设计与应...