雷能芳
【摘 要】Quadrature amplitude modulation(QAM) is efficient in power and bandwidth, so it has been used widely in the field of channel modulation. The common approach to implement carrier signal of QAM is based on a look-up table, which requires a huge volume of ROM to achieve high resolution. This paper proposes a CORDIC algorithm-based pipelined architecture for implementation of QAM on FPGA, which can save considerable hardware resources and improve the speed performance. According to advantages of DSP Builder, the system is designed by utilizing VHDL and Simulink module. The correctness and feasibility of this design is verified by simulation result.%正交幅度调制技术(QAM)是一种功率和带宽相对高效的信道调制技术,因此在信道调制技术中得到了广泛的应用.它的载波信号的FPGA实现一般采用查找表的方法,为了达到高精度要求,需要耗费大量的ROM资源.提出了一种基于流水线CORDIC算法的实现方案,可有效地节省FPGA的硬件资源,提高运算速度,并根据DSP开发工具DSP Builder的优点,采用VHDL文本与Simulink模型图相结合的方法进行了设计.仿真结果验证了设计的正确性及可行性.
【期刊名称】《现代电子技术》 【年(卷),期】2011(034)019 【总页数】3页(P58-60)
【关键词】正交幅度调制;调制解调器;CORDIC算法;FPGA;DSP Builder 【作 者】雷能芳
【作者单位】渭南师范学院物理与电子工程系,陕西渭南 714000 【正文语种】中 文 【中图分类】TN914-34 0 引 言
正交幅度调制是频率利用率很高的一种调制技术。与其他调制技术相比,具有能充分利用带宽、抗噪声能力强等优点,在移动通信、有线电视传输和ADSL 中均有广泛应用。它的载波信号的FPGA实现一般采用DDS(直接数字频率合成)技术,即在两块ROM 查找表中分别放置一对正交信号。通过这种方法虽然可以输出一组完全正交的载波信号,但它主要用于精度要求不是很高的场合[1],如果精度要求高,查找表就很大,相应的存储器容量也要很大,使系统的运行速度受到,不适合现代通信系统的发展。本文基于CORDIC(Coordinate Rotation Digital Computer)算法,研究正交幅度调制解调器的FPGA 实现方法。该方法不仅能够节省大量的FPGA 逻辑资源,而且能很好地兼顾速度、精度、简单及高效等各个方面。
1 正交幅度调制解调器工作原理
正交幅度调制解调器系统框图如图1所示。其中,a(t)和b(t)为两路相互的待传送基带信号,正交信号发生器输出两路互为正交的正弦载波信号,经过两个乘法器可以获得互为正交的平衡调幅波,即不带载频的双边带调幅波。假设乘法器的乘法系数为1,则经过加法器产生的调制信号为:
X(t)=a(t)cos ω0t+b(t)sin ω0t (1)
图1 正交幅度调制解调器系统框图
对调制信号X(t)进行解调,采用了正交同步解调方法。已调正交调幅信号X(t)分别与正交信号发生器产生的余弦信号和正弦信号相乘后产生两路输出信号: (2)
设低通滤波器的传输系数为K,经过低通滤波器滤波后的解调输出为: (3)
2 正交信号发生器的设计 2.1 CORDIC算法原理
CORDIC 算法[2]是由J.Volder于1959年提出的。该算法适用于解决一些三角学的问题,如平面坐标的旋转和直角坐标到极坐标的转换等。CORDIC 算法的基本思想是通过一系列固定的、与运算基数有关的角度的不断偏摆,以逼近所需的旋转角度。从广义上讲,CORDIC 方法就是一种数值计算的逼近方法。该算法实现三角函数的基本原理如下:
设初始向量(x0,y0)逆时针旋转角度θ后得到向量(xn,yn),则: (4)
为了避免复杂的乘法运算,采用一系列微旋转来处理。第i次旋转可表示为: (5)
式中:θi表示第i次旋转的角度,并且tan θi=2-i;zi表示第i次旋转后与目标角度
的差;δi表示向量的旋转方向由zi的符号位来决定,即为每一级的校正因子,也就是每一级旋转时向量模长发生的变化,对于字长一定的运算,总的校正因子是一个常数。迭代n次(n→∞)后可以得到如下结果: (6)
当给定的初始输入数据为x0=1/k,y0=0时,z0=θ,则输出为: (7)
由上可知,xn,yn分别为输入角θ的余弦和正弦值,故基于CORDIC算法可产生正交信号。
2.2 CORDIC 算法流水线结构
由式(5)可以看出,CORDIC算法的实现只需要基本的加减法和移位操作,因此很容易用硬件实现。该硬件的实现可以通过图2 所示的基本单元级联成流水线结构[3]实现。在经过n(迭代次数)个时钟的建立时间之后,每隔一个时钟便能输出一个运算结果。输出精度由CORDIC算法中的迭代次数决定。如需提高精度,只需简单地增加流水单元即可,扩展性很好,而且这并不会大量增加FPGA 的资源耗费[4]。
图2 CORDIC算法基本单元 3 FIR低通滤波器设计
FIR 低通滤波器设计可以采用分布式算法,利用FPGA查找表代替乘法器来实现。为便于理解分布式算法的原理,考虑“乘积和”内积如下[5]: (8)
假设h(n)是固定系数,x(n)为变量,无符号数x(n)的表达式为:
(9)
式中:xb(n)表示x(n)的第b位,而x(n)是x的第n次采样。则: (10)
式(10)的形式被称为分布式算法,分布式算法是一种以实现乘累加运算为目的的运算方法。如果建立一个查找表,表中数据由所有固定系数的所有加的组合构成,那么用N位输入数据构成的N位地址去寻址查找表。如果N位都为1,则查找表的输出为N位系数之和;如果N位中有0,则其对应的系数将从和中去掉。这样乘法运算就成了查找操作,整数乘法可以通过左移b位实现。滤波器的系数h(n)可以使用Matlab 的FDATool 设计工具来获得。 4 调制解调器的FPGA设计
DSP Builder是美国Altera公司推出的一个面向DSP开发的系统级工具,作为Matlab的一个Simulink工具箱,可以帮助设计者完成基于FPGA的DSP系统设计的整个流程。更为重要的是基于Simulink平台利用DSP Builder库进行FPGA设计时,能利用DSP Builder库的HDL Import模块将HDL文本设计转变成为DSP Builder元件,在系统的模型设计中使用,为系统的FPGA设计提供很大的方便[6]。因此,调制解调器的设计采用VHDL文本与Simulink模型图设计相结合的方法。
4.1 子模块的VHDL设计
CORDIC算法和FIR低通滤波器两个子模块可以在QuartusⅡ环境中采用VHDL代码进行设计,也可以基于Simulink平台利用DSP Builder库进行模型图设计。但是用模型图设计时,设计图会显得非常复杂、庞大,不利于阅读和排错,而VHDL代码直接描述会比Simulink模型图描述更为简便。故以上两个模块均在
QuartusⅡ环境中,采用VHDL代码进行设计描述及编译。 4.2 系统模型建立
图3为基于Simulink平台建立的调制解调器系统模型图。首先利用Altera DSP Builder库的HDL Import模块将设计的CORDIC算法及低通滤波器子模块对应的文本文件导入,将文本设计转变成为DSP Builder元件模块,然后按图3调用DSP Builder和Simulink库中的其他图形模块建立系统模型图,并设置相应模块参数。
4.3 系统仿真验证与实现
完成模型设计之后,可以基于Simulink平台对模型进行系统仿真, 即通过Simulink中的示波器Scope查看仿真结果(见图4)。仿真结果表明,设计电路实现了调制解调功能。然后双击SignalCompiler模块,将模型设计转换成可综合的RTL级VHDL代码,并对其进行综合、配置下载。 图3 调制解调器系统模型图 图4 仿真波形 5 结 语
本文采用了一种基于流水线CORDIC算法设计正交幅度调制解调器的方法,能有效节省硬件资源,提高运算精度和速度。由于采用了FPGA来设计,可适应软件无线电的要求,设计稍作修改即可适应更多的调制方式。 参 考 文 献
[1] 周晓青,李合生,陶荣辉.基于CORDIC算法的双曲正余弦函数FPGA实现[J].信息与电子工程,2010,8(2):211-214.
[2] VOLDER J E. The CORDIC trigonometric computing technique [J]. IRE Trans. on Electronic Computers, 1959, 8(3): 330-334.
[3] Uwe Meyer-Baese.数字信号处理的FPGA实现[M].刘凌,译.2版.北京:清华大
学出版社,2006.
[4] 卢贵主.基于CORDIC算法的DDFS实现研究[J].厦门大学学报:自然科学版,2004,43(5):636-639.
[5] 雷能芳.基于分布式算法有限脉冲响应(FIR)滤波器的FPGA设计[J].科学技术与工程,2010,10(11):743-746.
[6] 潘松,黄继业,王国栋,等.现代DSP技术[M].西安:西安电子科技大学出版社,2003.
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- dfix.cn 版权所有 湘ICP备2024080961号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务