基于CORDIC算法的AM调制器IP核的研究与实现

2014-07-09 18:55孙书龙
现代电子技术 2014年13期

孙书龙

摘 要: 根据数字通信的AM调制技术原理和CORDIC算法的工作原理,用Verilog语言设计了一种可综合的AM调制器IP核,整个系统在modelsim6.2b上编译并仿真通过,然后下载到EP3C5E144C8的FPGA芯片上,实现了预期的功能,具有较高的工程应用价值。

关键词: CORDIC算法; AM调制; Verilog; IP核

中图分类号: TN919?34 文献标识码: A 文章编号: 1004?373X(2014)13?0162?02

Reserch and realization of AM modulation IP based on CORDIC algorithm

SUN Shu?long

(Shanghai Institute of Microsystem and Information Technology, Chinese Academy of Sciences, Shanghai 200050 China)

Abstract: According to the principles of AM modulation technology and CORDIC algorithm for digital communication, a synthesizable IP core described with Verilog language is desiged. The whole system is compiled and simulated in the platform Modelsim6.2b, and then downloaded onto the EP3C5E144C8 FPGA to realize the expected funcion. It has a great engineering application value.

Keywords: CORDIC algorithm; AM modulation; Verilog; IP core

0 引 言

坐标旋转式数字计算机(CORDIC)是在1959年由J.D.VolderJ提出的,它可以用来计算三角函数,双曲线函数,指数函数,对数函数等,这个电路结构通过使用加法和移位运算来取代相应的乘法运算,从而避免了使用向量的乘法操作,同时也无需三角函数、平方、反三角运算等复杂的运算,大大降低了系统的硬件成本。利用数控振荡器产生正余弦波形是传统的方式,在数字系统中NCO是重要的组成部分[1],它可以用来产生正弦波形,作为正弦信号发生器使用,然而传统的NCO是采用一个相位角度作为地址,相位角对应的正弦值作为数据的存储器,在输入相位累加的过程中,不断输出对应的正弦波形,所以需要大量的存储资源[2],基于CORDIC算法的正弦信号发生器避免使用查找表方式[3],大大节约了硬件资源,而且,基于Pipeline结构的CORDIC处理器又具有吞吐速率高[4?5],抗干扰能力强的优势,所以,在数字信号处理[6?7],无线通信[8?9],调制解调[[10]]等领域,CORDIC算法得到越来越广泛的应用。本文正是基于Pipeline结构的CORDIC处理器设计了一种AM调制系统。

1 CORDIC算法原理

如图1所示,如果坐标顺时针旋转角度[θn,]则点[Μ]由坐标[(X[n],][Y[n])]转变为坐标[(X[n+1],][Y[n+1]]),旋转方程则为:

[Xn+1Yn+1=cosθn-sinθnsinθncosθnXnYn] (1)

图1 直角坐标系下的向量旋转

单独的一个旋转可由式(1)给出,对式(1)变换得到式(2):

[Xn+1Yn+1=cosθn1-tanθntanθn1XnYn] (2)

这样使所选步长角的正切值的绝对值为2的幂次方,即:

[θn=arctan 2-n, n=0,1,2,…] (3)

所有旋转角度之和就为所需要旋转的角度[φ,]就有:

[φ=n=0∞δnarctan 2-n] (4)

为-1表示逆时针旋转,为+1表示顺时针旋转。

结合式(1)~式(4)得到:

[Xn+1Yn+1=cosθn1,-δn2-nδn2-n1XnYn] (5)

式中:

[cosθn=11+δ2n2-2n=11+2-2n] (6)

[K=n=0∞11+2-2n=0.607 253] (7)

原坐标([X[0],][Y[0]])经过[n]次迭代转化为[(X[n],][Y[n]),]旋转的角度为[φ,]即:

[XnYn=cosφ-sinφsinφcosφX0Y0] (8)

2 AM调制原理

由式(8)可以看出:

[Xn=X0cosφ-Y0sinφ] (9)

[Yn=Y0cosφ+X0sinφ] (10)

令[X0=x(n)+H,] [Y0=0,][φ=delta*nT,]其中[H]为常数,得到调幅信号:

[Xn=(x(n)+H)cos(delta*nT)] (11)

[Yn=(x(n)+H)sin(delta*nT)] (12)

基于CORDIC结构的AM调制原理框图如图2所示,delta是频率控制字,在系统时钟的控制下,累加器以delta为步长进行相位累加,这样频率控制字代表已调信号的频率,累加器的输出就是载波信号的瞬时相位,CORDIC模块的输出就是最终的已调信号。此处,CORDIC处理器采用全流水线设计,经过16级迭代,一个时钟输出一个正/余弦波形值,调制之后的波形幅度正比于[X[n]]和常数[H]的代数和。

3 仿真与硬件实现

用verilog语言编写CORDIC算法AM调制器IP核,其中CORDIC模块采用级流水线结构,是由CORDIC单元级联复用而成。大大提高了系统的数据吞吐率,在AM调制方式下,delta输入端作为频率控制字可以给定一常数,delta的大小决定了载波信号的频率,CORDIC模块的输出端输出的信号频率正比于delta,其幅度是[X[n]]和[H]常量之和,在Modelsim6.2b软件上调试并仿真通过,如图3所示,该IP核实现了对载波的AM调制。结果表明,该方案是可行的。

图2 基于CORDIC结构的AM调制原理框图

图3 数字AM调制仿真波形

最后选用Altera公司CycloneⅢ系列的 EP3C5E144C8FPGA,在QuartusⅡ开发工具上将可综合的IP核下载到该器件上,完成系统的综合与实现。EP3C5E144C8内部有5 136个逻辑单元,830个寄存器单元,93个pin引脚,423 936 b存储器资源,该IP综合之后的顶层网表如图4所示。综合结果表明,该设计用到了一个15 b加法器和一个32 b累加器,一个CORDIC流水线处理器,其中CORDIC处理器是由16个CORDIC单元串行级联而成,整个系统输出波形采用16位二进制表示,将输出的中频信号经过DAC数据转换器发送到射频前段后由发射机调制到射频段便可以经天线发送出去,在接收端可以用相应的解调电路提取出基带信号,大大降低了系统的复杂度,利于硬件实现。

图4 数字AM调制顶层网表

4 结 语

本文详细阐述了CORDIC算法的基本原理,并详细论述了基于CORDIC算法在AM信号调制系统中的应用,应用Verilog语言设计了一款系数灵活可调的全数字AM调制器,只要改变端口设置也可用于其他调制方式,避免了传统的DDS信号发生器大量使用存储器资源的弊端,同时采用流水线结构的CORDIC处理器,大大提高了数据吞吐率,使用这一结构将混频和本振结合到一起,无需另外的乘法器,因此,相比于传统的数字AM调制方法,这一结构不仅大大降低了硬件资源,同时也大大提高了系统性能,具有广泛的应用价值。

参考文献

[1] 田耘,徐文波.无线通信FPGA设计[M].北京:电子工业出版社,2008.

[2] 胡中豫.现代短波通信[M].北京:国防工业出版社,2003.

[3] 樊昌信.通信原理[M].北京:国防工业出版社,2001.

[4] 段吉海,黄智伟.基于CPLD/FPGA的数字通信系统建模与设计[M].北京:电子工业出版社,2004.

[5] 尹常永.EDA技术与数字系统设计[M].西安:西安电子科技大学出版社,2004.

[6] VOIDER J. The CORDIC trigonometric computing technique [J]. IRE Transactions on Electronics Computers, 1959, 8(3): 330?334.

[7] 赵林军.流水线CORDIC算法的FPGA实现[J].电脑知识与技术,2008(4):716?717.

[8] 胡海华,杨芳,时华杰.基于CORDIC算法的AM基带解调方法[J].数据通信,2010(3):39?41.

[9] 杨宇,毛志刚,来逢昌.一种改进的流水线CORDIC算法结构[J].微处理机,2006(4):10?13.

[10] 王伟,张斌,吴松.基于CORDIC算法的AM解调技术研究[J].传感器与微系统,2012(2):36?38.

3 仿真与硬件实现

用verilog语言编写CORDIC算法AM调制器IP核,其中CORDIC模块采用级流水线结构,是由CORDIC单元级联复用而成。大大提高了系统的数据吞吐率,在AM调制方式下,delta输入端作为频率控制字可以给定一常数,delta的大小决定了载波信号的频率,CORDIC模块的输出端输出的信号频率正比于delta,其幅度是[X[n]]和[H]常量之和,在Modelsim6.2b软件上调试并仿真通过,如图3所示,该IP核实现了对载波的AM调制。结果表明,该方案是可行的。

图2 基于CORDIC结构的AM调制原理框图

图3 数字AM调制仿真波形

最后选用Altera公司CycloneⅢ系列的 EP3C5E144C8FPGA,在QuartusⅡ开发工具上将可综合的IP核下载到该器件上,完成系统的综合与实现。EP3C5E144C8内部有5 136个逻辑单元,830个寄存器单元,93个pin引脚,423 936 b存储器资源,该IP综合之后的顶层网表如图4所示。综合结果表明,该设计用到了一个15 b加法器和一个32 b累加器,一个CORDIC流水线处理器,其中CORDIC处理器是由16个CORDIC单元串行级联而成,整个系统输出波形采用16位二进制表示,将输出的中频信号经过DAC数据转换器发送到射频前段后由发射机调制到射频段便可以经天线发送出去,在接收端可以用相应的解调电路提取出基带信号,大大降低了系统的复杂度,利于硬件实现。

图4 数字AM调制顶层网表

4 结 语

本文详细阐述了CORDIC算法的基本原理,并详细论述了基于CORDIC算法在AM信号调制系统中的应用,应用Verilog语言设计了一款系数灵活可调的全数字AM调制器,只要改变端口设置也可用于其他调制方式,避免了传统的DDS信号发生器大量使用存储器资源的弊端,同时采用流水线结构的CORDIC处理器,大大提高了数据吞吐率,使用这一结构将混频和本振结合到一起,无需另外的乘法器,因此,相比于传统的数字AM调制方法,这一结构不仅大大降低了硬件资源,同时也大大提高了系统性能,具有广泛的应用价值。

参考文献

[1] 田耘,徐文波.无线通信FPGA设计[M].北京:电子工业出版社,2008.

[2] 胡中豫.现代短波通信[M].北京:国防工业出版社,2003.

[3] 樊昌信.通信原理[M].北京:国防工业出版社,2001.

[4] 段吉海,黄智伟.基于CPLD/FPGA的数字通信系统建模与设计[M].北京:电子工业出版社,2004.

[5] 尹常永.EDA技术与数字系统设计[M].西安:西安电子科技大学出版社,2004.

[6] VOIDER J. The CORDIC trigonometric computing technique [J]. IRE Transactions on Electronics Computers, 1959, 8(3): 330?334.

[7] 赵林军.流水线CORDIC算法的FPGA实现[J].电脑知识与技术,2008(4):716?717.

[8] 胡海华,杨芳,时华杰.基于CORDIC算法的AM基带解调方法[J].数据通信,2010(3):39?41.

[9] 杨宇,毛志刚,来逢昌.一种改进的流水线CORDIC算法结构[J].微处理机,2006(4):10?13.

[10] 王伟,张斌,吴松.基于CORDIC算法的AM解调技术研究[J].传感器与微系统,2012(2):36?38.

3 仿真与硬件实现

用verilog语言编写CORDIC算法AM调制器IP核,其中CORDIC模块采用级流水线结构,是由CORDIC单元级联复用而成。大大提高了系统的数据吞吐率,在AM调制方式下,delta输入端作为频率控制字可以给定一常数,delta的大小决定了载波信号的频率,CORDIC模块的输出端输出的信号频率正比于delta,其幅度是[X[n]]和[H]常量之和,在Modelsim6.2b软件上调试并仿真通过,如图3所示,该IP核实现了对载波的AM调制。结果表明,该方案是可行的。

图2 基于CORDIC结构的AM调制原理框图

图3 数字AM调制仿真波形

最后选用Altera公司CycloneⅢ系列的 EP3C5E144C8FPGA,在QuartusⅡ开发工具上将可综合的IP核下载到该器件上,完成系统的综合与实现。EP3C5E144C8内部有5 136个逻辑单元,830个寄存器单元,93个pin引脚,423 936 b存储器资源,该IP综合之后的顶层网表如图4所示。综合结果表明,该设计用到了一个15 b加法器和一个32 b累加器,一个CORDIC流水线处理器,其中CORDIC处理器是由16个CORDIC单元串行级联而成,整个系统输出波形采用16位二进制表示,将输出的中频信号经过DAC数据转换器发送到射频前段后由发射机调制到射频段便可以经天线发送出去,在接收端可以用相应的解调电路提取出基带信号,大大降低了系统的复杂度,利于硬件实现。

图4 数字AM调制顶层网表

4 结 语

本文详细阐述了CORDIC算法的基本原理,并详细论述了基于CORDIC算法在AM信号调制系统中的应用,应用Verilog语言设计了一款系数灵活可调的全数字AM调制器,只要改变端口设置也可用于其他调制方式,避免了传统的DDS信号发生器大量使用存储器资源的弊端,同时采用流水线结构的CORDIC处理器,大大提高了数据吞吐率,使用这一结构将混频和本振结合到一起,无需另外的乘法器,因此,相比于传统的数字AM调制方法,这一结构不仅大大降低了硬件资源,同时也大大提高了系统性能,具有广泛的应用价值。

参考文献

[1] 田耘,徐文波.无线通信FPGA设计[M].北京:电子工业出版社,2008.

[2] 胡中豫.现代短波通信[M].北京:国防工业出版社,2003.

[3] 樊昌信.通信原理[M].北京:国防工业出版社,2001.

[4] 段吉海,黄智伟.基于CPLD/FPGA的数字通信系统建模与设计[M].北京:电子工业出版社,2004.

[5] 尹常永.EDA技术与数字系统设计[M].西安:西安电子科技大学出版社,2004.

[6] VOIDER J. The CORDIC trigonometric computing technique [J]. IRE Transactions on Electronics Computers, 1959, 8(3): 330?334.

[7] 赵林军.流水线CORDIC算法的FPGA实现[J].电脑知识与技术,2008(4):716?717.

[8] 胡海华,杨芳,时华杰.基于CORDIC算法的AM基带解调方法[J].数据通信,2010(3):39?41.

[9] 杨宇,毛志刚,来逢昌.一种改进的流水线CORDIC算法结构[J].微处理机,2006(4):10?13.

[10] 王伟,张斌,吴松.基于CORDIC算法的AM解调技术研究[J].传感器与微系统,2012(2):36?38.