基于FPGA的16QAM调制解调

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

基于FPGA的16QAM调制解调器的实现组员:2目录摘要3一、QAM调制原理3二、QAM的解调原理4三、16QAM调制器的实现51系统总体框图52时钟分频63串并转换64差分编码和星座映射65DDS和线性加法器7四、QAM解调模块设计71低通滤波器模块设计72采样判决模块设计8五、16QAM调制器的仿真结果9四、附录121顶层模块122时钟分频模块133串并转换模块144差分模块和星座映射模块155DDS和加法器模块176testbench源程序227用matlab进行频谱分析233摘要QAM(QuadratureAmplitudeModulation)是一种新的调制技术,它在调制过程中利用了相位和幅度两维空间资源,比只利用单一维度空间资源的PSK和ASK调制方式频谱利用率高,不仅如此,QAM的星座点比PSK的星座点更分散,星座点之间的距离因此更大,所以能提供更好的传输性能。随着第三代移动通信的兴起,传输容量增大,多进制正交幅度调制MQAM(MultipleQuadratureAmplitudeModulation)将得到更加广泛的运用。本文主要研究了基于FPGA的16QAM调制与解调的实现。首先说明了QAM调制和解调的原理,然后对各系统组成模块分析与仿真之后提出基于FPGA的16QAM调制与解调的总体设计方案。最后用Verilog语言编写程序完成了整个系统的仿真,并对编好的程序其进行了编译调试。文中详细介绍了载波恢复、正交相干解调、FIR低通滤波器和采样判决的基本原理和设计方法。关键词:正交相干解调,混频,FPGA,QAM一、QAM调制原理正交幅度调制(QAM)是一种把数字信息包含在载波的振幅和相位中的数字调制方式,也是ASK和PSK的结合。式(1)表示了QAM信号,它还可用式(2)来表示在QAM中是如何结合幅度和相位调制的。)()()(twSinQtwCosItScKckj(1))cos()(wtAtS(2)16QAM信号的产生有两种基本方法:正交调幅法是用两路正交的四电平振幅键控信号叠加而成;四相叠加法是用两路独立的四相移相键控信号叠加而成。其中,16QAM正交调幅法的调制方框图如图1所示。输入的二进制数据经过串一并变换分别进入a1、a2、b1和b2,4个信道:每个信道的数据速率降为原来的1/4。2—4电平转换器产生一个四电平的PAM信号,每个2~4电平转换器的输出有2种量值和2种相位。两个PAM信号分别调制同相和正交载波,每一个调制器有4种可能的输出,经线性加法器合并产生16QAM信号。图116QAM调制原理图每路PAM信号的量值和相位由输入的二进制数据及其比特分配模式——星座图决定。16QAM星座图通常有自然码逻辑和Gray码逻辑2种比特模式。因为a1a2b1b2输入数据2-4电平转换2-4电平转换调制调制加法器16-QAM4Gray码可以消除相邻点间符号差错中的2比特误差,即可减小相同符号差错率中的误比特率,IEEE802.1la和HiperLAN/2标准中所有的星座都是Gray码的。本文在设计16QAM的时候,采用图2的Gray模式进行编码,图中4个比特位从左至右的顺序为blb2ala2。图216QAM星座图的Gray码逻辑模式二、QAM的解调原理解调实质上是调制的逆过程,在理想情况下,MQAM信号的频带利用率为2log(//)MbsHz,目前,对QAM信号的解调方法很多,其主要方法有以下三种:模拟相干解调、数字相干解调、全数字解调[4]。本文采用数字相干解调法对QAM进行解调,原理如图2.1.3所示:图2.1.3QAM解调器框图在接收端接收到的调制信号分别和两路相互正交的载波信号相乘,化简之后相同信号的表达式为:()()cosItYtwt................IQ0001111000011110串并转换多电平转换LPF采样判决载波恢复LPF多电平转换采样判决QAM信号5(cossin)cosmmAwtBwtwt111cos2sin2222mmmAAwtBwt(2-6)正交信号表达式为:()()sinQtYtwt(cossin)sinmmAwtBwtwt111cos2+sin2222mmmBBwtAwt(2-7)其中()mmcAAgt,()mmsBAgt,()cossinmmYtAwtBwt,2wf,经过解调得到同相与正交两路相互独立的多电平基带信号,然后把多电平基带信号经过低通滤波器滤去高频载波之后得到直流分量为/2mA和/2mB,再进行采样判决、L-2值电平转换和并/串转换还原出基带信号。此处4L时为16QAM相干解调。三、16QAM调制器的实现系统输入数据速率为100Kb/s;系统正交调制载波频率为1MHz。调制部分主要由Ahera公司推出的Cyclone系列器件EPlC6Q240C8实现.该器件完成对输入数据串并变换、差分编码、星座影射等。设计EDA工具为Ahera集成设计软件QuartusII7.2版本;硬件描述VerilogHDL语言完成逻辑设计。本系统还用到仿真工具Matlab,搭建16QAM调制器的simulink模块,采用示波器观看波形。1系统总体框图16QAM调制器的实现主要包括时钟模块、串并变换模块、查分编码模块、星座映射、DDS模块、加法器模块。系统总体框图如下:串并变换差分编码星座映射输入1bitabcdAIQ(cA)(dB)xxCos(t)Sin(t)+16QAM6图3系统总体框图系统顶层设计如下:图4系统顶层设计2时钟分频时钟分频模块clk利用N分频器对10MHz系统时钟信号进行N分频,以产生调制器模块所需的工作时钟。N分频器是由模N/2计数器实现的,分频输出信号模N/2可自动取反,以产生占空比为1:1的时钟信号。由于信号源产生的基带信号为1bit串行数据,其速率为100kbps,经并串转换后的4bit并行数据速率为400kbps,所以,本设计还采用了100分频器和400分频器。另外将10Mhz直接送入到DDS模块,使得输出的载波频率为1Mhz.3串并转换1bit的数据送过来后,通过串并变换,将输入的第一个数据同它后面的三个数据同时输出,形成4bit的并行信号。4差分编码和星座映射在本模块,同样根据调制方式不同,选用不同位的数据来进行处理。由于几乎都采用相干检测的方式进行解调,因此在解调端载波恢复存在着4个相位稳定点,即提取的相干载波可能与接收信号载波有4种相位关系,称作4重相位模糊度旧3。部分差分编码能消除4重相位模糊度对解调的影响。而部分差分编码相对于全差分编码由于减少了差分编码的bit数。因而减少了误码扩散,具有较好的误码性能。由于同样的符号误码率下,采用格雷编码比自然码的比特误码率小,所以多幅度电平的电平逻辑采用格雷编码映射。星座影射模块输入4bit并行数据,输出为I/Q路对应的四幅值之一;4bit并行信号需要将其影射到信号平面,星座影射实现采用查表法分别输出I/Q对应的幅值.对应的量化表如下:表1星座映射I/Q路输入数据对应的量化值700-201-11111025DDS和线性加法器在DDS模块中,采用系统时钟10Mhz,由公式NcofKf2/可知:但取频率字为K=32'b11001100110011001100110011001,fc=10MHZ,N=32时,可得到输出的正余弦波的频率为1MHz。四、QAM解调模块设计由于接收到的16QAM信号经混频之后的信号为基带信号和2倍载波频率的高频分量之和,因此混频后的信号需经过低通滤波,采样判决和电平转换把基带信号还原出来。因此解调模块分为三个子模块:低通滤波器、采样判决器和电平转换器。1低通滤波器模块设计由于系统只要求将高频分量滤除,这里采用相对简单而易实现的FIR低通滤波器。FIR滤波器由有限个采样值组成,在每个采样时刻完成有限个卷积运算,可以将其幅度特性设计成多种多样,同时还可以保证精确、严格的相位特性。在高阶滤波器中,还可以通过FFT来计算卷积,从而极大提高运算效率。这些优点使得FIR滤波器得到广泛应用[9]。FIR滤波器只存在N个抽头()hn,N也被称为滤波器的阶数,则滤波器的输出可以通过卷积的形式表示为:(3-5)FIR滤波器实现的基本方法是用一个有限级数的傅里叶变换去逼近所要求的滤波器响应,基本设计方法可以分为窗口法和频率采样法两种。本次设计选用窗口法设计FIR滤波器,其设计步骤如下:①确定数字滤波器的性能要求:截止频率cF,滤波器单位脉冲响应长度N。②根据性能要求,合理选择单位脉冲响应()hn的奇偶对称性,从而确定理想频率响应()jdHe的幅频特性和相频特性。10()()*()()()Niynxnhnhkxnk8③得到单位脉冲响应()jdHe后,在实际计算中,可对()jdHe按M(M远大于N)点等距离采样,并对其求IDFT得()mhn,用()mhn代替()dhn。④选择适当的窗函数()wn,根据()()()mhnhnwn求所需设计的FIR滤波器单位脉冲响应。⑤求()jHe,分析其幅频特性,若不满足要求,可适当改变窗函数形式或长度N,重复上述设计过程,以得到满意结果。其中,选取的窗函数为布莱克曼窗:(3-6)由于整个设计中,基带信号频率不超过200Hz,载波频率5MHz,因此设置滤波器截止频率300cFHz,阶数32N,采样频率为FPGA时钟频率50M,采用QuartusII软件的IPcore进行设计。2采样判决模块设计采样判决模块采用的是门限的思路设计,即当输入电平的二进制数值处于某门限范围之内时,将此电平值判断为此门限范围内的某一特定值。由于16QAM的I、Q两路中任意一路都载有4种电平值,因此设计三个电平门限值,将8位总线数值区间分成4等份,然后将时钟信号进行分频,每间隔特定时间段就对输入信号进行采样和判决。流程图如图3.2.1。图3.2.1采样判决设计流程图Y电平值1电平值2电平值3电平值4NNNYYN门限区间1门限区间2门限区间3采样取值24()[0.420.5cos()0.08cos()]()11NnnwnRnNN9五、16QAM调制器的仿真结果1使用Quartus自带仿真器仿真,其总体仿真图如下:图516QAM调制器的quartus仿真2将程序导入到modelsim中,通过编写testbench,得到如下仿真结果:图616QAM调制器的modeldsim仿真3使用MATLAB中simulink库文件搭建一个16QAM调制系统:图716QAM调制系统在MATLAB中的仿真实现观察最后的两个示波器,首先是没有加入噪声的波形,显示如下10图8没有噪声的输出波形让输出信号通过10dB噪声的AWGN信道后,输出波形如下:图9通过AWGN信道后的输出波形同时会得到映射在星座图上的点,图形如下:11图10星座映射图4对输出的数据进行频谱分析通过在testbench中编写程序,保存输出的数据,再用MATLAB进行频谱分析,得到结果如下:图11输出信号的频谱分析12四、附录1顶层模块moduletop(clk,//系统时钟rst,//复位en,//使能信号data_in,//1bit信号输入data_out,//16QAM信号输出DATA_I,//I路对应的量化值DATA_Q);//Q路对应的量化值inputclk,rst,en;inputdata_in;outputsigned[17:0]data_out;outputsigned[3:0]DATA_I,DATA_Q;wireclk_dds;//DDS块的输入时钟wireclk_100;//100kbswireclk_400;//25kbswire[3:0]data1;wire[3:0]data2;clkclkqam(.clk_sys(clk),.rst(rst),.clk_dds(clk_dds),.clk_100(clk_100),.clk_400(clk_400));shiftshiftqam(.clk_in(clk_100),.clk_out(

1 / 23
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功