1、- 1 - 基于 FPGA的 16QAM调制 解 调 器的实现 组员: 2 目录 摘要 3 一、 QAM 调制原理 3 二、 QAM 的解调原理 4 三、 16QAM 调制器的实现 5 1 系统总体框图 5 2 时钟分频 6 3 串并转换 6 4 差分编码和星座映射 6 5 DDS 和线性加法器 7 四、 QAM 解调模块设计 7 1 低通滤波器模块设计 7 2 采样判决模块设计 8 五、 16QAM 调制器的仿真结果 9 四、附录 12 1 顶层模块 12 2 时钟分频模块 13 3 串并转换模块 14 4 差分模块和星座映射模块 15 5 DDS 和加法器模块 17 6 testbench
2、 源程序 22 7 用 matlab 进行频谱分析 23 3 摘要 QAM(Quadrature Amplitude Modulation)是 一种新的调制技术 ,它在调制过程中利用了相位和幅度两 维空间资源,比只利用单一维度空间资源的 PSK 和 ASK 调制方式频谱利用率高,不仅如此, QAM 的星座点比 PSK 的星座点更分散,星座点之间的距离因此更大,所以能提供更好的传输性能。随着第三代移动通信的兴起,传输容量增大, 多进制正交幅度调制 MQAM (Multiple Quadrature Amplitude Modulation)将得到更加广泛的运用 。本文 主要 研究 了 基于 FP
3、GA 的 16QAM 调制与 解调 的实现 。首先 说明 了 QAM 调制 和 解调 的 原理,然后 对各系统组成模块 分析 与仿真之后 提出基于 FPGA 的 16QAM 调制 与 解调 的 总体 设计方案。最后 用Verilog 语言 编写 程序完成了整个系统的 仿真 , 并 对编好的程序 其进行了 编译 调试。 文中 详细介绍了载波恢复 、正交相干解调 、 FIR 低通 滤波器和 采样判决 的基本原理 和 设计方法。 关键 词 : 正交相干解调,混频, FPGA, QAM 一、 QAM 调制原理 正交幅度调制 (QAM)是一种把数字信息包含在载波的振幅和相位中的数字调制方式,也是 ASK
4、和 PSK的结合。式 (1)表示了 QAM信号,它还可用式 (2)来表示在QAM中是如何结合幅度和相位调制的。 )()()( twS inQtwC o sItS cKckj ( 1) )c o s ()( wtAtS ( 2) 16QAM 信号的产生有两种基本方法:正交调幅法是用两路正交的四电平振幅键控信号叠加而成;四相叠加法是用两路独立的四相移相键控信号叠加而成。其中, 16QAM 正交调幅法的调制方框图如图 1所示。输入的二进制数据经过串一并变换分别进入 a1、 a2、 b1 和 b2, 4 个信道:每个信道的数据速率降为原来的 1 4。 2 4 电平转换器产生一个四电平的 PAM 信号,
5、每个 2 4 电平转换器的输出有 2种量值和 2 种相位。两个 PAM 信号分别调制同相和正交载波,每一个调制器有 4种可能的输出,经线性加法器合并产生 16QAM 信号。 图 1 16QAM 调制原理图 每路 PAM 信号的量值和相位由输入的二进制数据及其比特分配模式 星座图决定。 16QAM 星座图通常有自然码逻辑和 Gray 码逻辑 2 种比特模式。因为a 1 a 2 b 1 b 2 输入数据2 - 4 电平转换2 - 4 电平转换调制调制加法器 16 - QAM4 Gray 码可以消除相邻点间符号差错中的 2 比特误差,即可减小相同符号差错率中的误比特率, IEEE802 1la 和
6、HiperLAN 2 标准中所有的星座都是 Gray 码的。本文在设计 16QAM 的时候,采用图 2的 Gray 模式进行编码,图中 4 个比特位从左至右的顺序为 blb2ala2。 图 2 16QAM 星座图的 Gray 码逻辑模式 二、 QAM 的解调 原理 解调实质上是调制的逆过程,在理想情况下, MQAM 信号的频带利用率为2log ( / / )M b s Hz, 目前,对 QAM 信号的解调方法很多,其主要方法有以下三种:模拟相干解调、数字相干解调、全数字解调 4。 本文采用数字相干解调法对 QAM 进行解调,原理如图 2.1.3 所示: 图 2.1.3 QAM 解调器框图 在接
7、收端接收到的调制信号分别和两路相互正交的载波信号相乘,化简之后相同信号的表达式为: ( ) ( ) cosI t Y t wt . . . . . . . . .IQ00 01 11 1000011110串并转换 多电平转换 LPF 采样判决 载波恢复 LPF 多电平转换 采样判决 QAM信号 5 ( c o s s i n ) c o smmA w t B w t w t 1 1 1c o s 2 s i n 22 2 2m m mA A w t B w t (2-6) 正交信号表达式为: ( ) ( ) sinQ t Y t wt ( c o s s in ) s inmmA w t B
8、w t w t 1 1 1c o s 2 + s i n 22 2 2m m mB B w t A w t (2-7) 其中 ()m mcA A g t , ()m msB A g t , ( ) c o s s inmmY t A w t B w t, 2wf ,经过解调得到同相与正交 两路相互独立的多电平基带信号,然后把多电平基带信号经过低通滤波器滤去高频载波之后得到直流分量为 /2mA 和 /2mB ,再进行采样判决、 L-2 值电平转换和并 /串转换还原出基带信号。此处 4L 时为 16QAM 相干解调。 三 、 16QAM 调制器的实现 系统输入数据速率为 100 Kb s;系统 正
9、交调制载波频率为 1 MHz。调制部分主要由 Ahera 公司推出的 Cyclone 系列器件 EPlC6Q240C8 实现该器件完成对输入数据串并变换、差分编码、星座影射等。设计 EDA 工具为 Ahera 集成设计软件 Quartus II 7 2 版本;硬件描述 Verilog HDL 语言完成逻辑设计。本系统还用到仿真工具 Matlab,搭建 16QAM 调制器的 simulink 模块,采用示波器观看波形。 1 系统总体 框图 16QAM 调制器的实现主要包括时钟模块、串并变换模块、查分编码模块、星座映射、 DDS 模块、加法器模块 。系统总体框图如下: 串并变换差分编码星座映射输
10、入 1 b i tabcdAIQ( c A )( d B )xxC o s ( t )S i n ( t )+1 6 Q A M6 图 3 系统总体框图 系统顶层设计如下: 图 4 系统顶层设计 2 时钟分频 时钟分频模块 clk 利用 N 分频器 对 10MHz 系统时钟信号进行 N分频,以产生调制器模块所需的工作时钟。 N 分频器是由模 N 2 计数器 实现的,分频输出信号模 N 2可自动取反,以产生占空比为 1: 1 的时钟信号。由于 信号源 产生的基带信号为 1bit 串 行数据,其速率为 100 kbps,经并串转换后的 4 bit 并行数据速率为 400 kbps,所以,本设计还采
11、用了 100 分频器 和 400 分频器。 另外将 10Mhz直接送入到 DDS 模块,使得输出的载波频率为 1Mhz. 3 串并转换 1bit 的数据送过来后,通过串并变换,将输入的第一个数据同它后面的三个数据同时输出 ,形成 4bit 的并行信号。 4 差分编码和星座映射 在本模块,同样根据调制方式不同,选用不同位的数据来进行处理。由于几乎都采用相干检测的方式进行解调,因此在解调端载波恢复存在着 4 个相位稳定点,即提取的相干载波可能与接收信号载波有 4种相位关系,称作 4 重相位模糊度旧 3。部分差分编码能消除 4重相位模糊度对解调的影响。而部分差 分编码相对于全差分编码由于减少了差分编
12、码的 bit 数。因而减少了误码扩散,具有较好的误码性能。 由于同样的符号误码率下,采用格雷编码比自然码的比特误码率小,所以多幅度电平的电平逻辑采用格雷编码映射。 星座影射模块输入 4bit 并行数据,输出为 I Q 路对应的四幅值之一; 4 bit 并行信号需要将其影射到信号平面,星座影射实现采用查表法分别输出 I/Q对应的幅值 .对应的量化表如下: 表 1 星座映射 I/Q 路输入数据 对应的量化值 7 00 -2 01 -1 11 1 10 2 5 DDS 和线性加法器 在 DDS 模块中,采用系统时钟 10Mhz,由公式 Nco fKf 2/ 可知:但取频率字为 K=32b110011
13、00110011001100110011001, fc=10MHZ, N=32 时,可得到输出的正余弦波的频率为 1MHz。 四、 QAM 解调模块设计 由于接收到的 16QAM 信号经混频之后的信号为基带信号和 2 倍载波频率的高频分量之和,因此混频后的信号需经过低通滤波,采样判决和电平转换把基带信号还原出来。因此解调模块分为三个子模块:低通滤波器、采样判决器和电平转换器。 1 低通滤波器模 块设计 由于系统只要求将高频分量滤除,这里采用相对简单而易实现的 FIR 低通滤波器。 FIR 滤波器由有限个采样值组成,在每个采样时刻完成有限个卷积运算,可以将其幅度特性设计成多种多样,同时还可以保证
14、精确、严格的相位特性。在高阶滤波器中,还可以通过 FFT 来计算卷积,从而极大提高运算效率。这些优点使得 FIR 滤波器得到广泛应用 9。 FIR 滤波器只存在 N 个抽头 ()hn, N 也被称为滤波器的阶数,则滤波器的输出可以通过卷积的形式表示为: (3-5) FIR 滤波器实现的基本方法是用一个有限级数的傅里叶变换去逼近所要求的滤波器响应,基本设计方法可以分为窗口法和频率采样法两种。本次设计选用窗口法设计 FIR 滤波器,其设计步骤如下: 确定数字滤波器的性能要求:截止频率 cF ,滤波器单位脉冲响应长度 N 。 根据性能要求,合理选择单位脉冲响应 ()hn 的奇偶对称性,从而确定理想频
15、率响应 ()jdHe 的幅频特性和相频特性。 10( ) ( ) * ( ) ( ) ( )Niy n x n h n h k x n k 8 得到单位脉冲响应 ()jdHe 后,在实际计算中,可对 ()jdHe 按 M ( M 远大于 N )点等距离采样,并对其求 IDFT 得 ()mhn,用 ()mhn代替 ()dhn。 选择适当的窗函数 ()wn ,根据 ( ) ( ) ( )mh n h n w n 求所需设计的 FIR 滤波器单位脉冲响应。 求 ()jHe ,分析其幅频特性,若不满足要求,可适当改变窗函数形式或长度 N ,重复上述设计过程,以得到满意结果。 其中,选取的窗函数为布莱克
16、曼窗: (3-6) 由于整个设计中,基带信号频率不超过 200Hz,载波频率 5MHz,因此设置滤波器截止频率 300cF Hz ,阶数 32N ,采样频率为 FPGA 时钟频率 50M,采用 Quartus II 软件的 IP core 进行设计。 2 采样判决模块设计 采样判决模块采用的是门限的思路设计,即当输入电平的二进制数值处于某门限范围之内时,将此电平值判断为此门限范围内的某一特定值。由于 16QAM的 I、 Q 两路中任意一路都载有 4 种电平值,因此设计三个电平门限值,将 8 位总线数值区间分成 4 等份,然后将时钟信号进行分频,每间隔特定时间段就对输入信号进 行采样和判决。流程
17、图如图 3.2.1。 图 3.2.1 采样判决设计流程图 Y 电平值 1 电平值 2 电平值 3 电平值 4 N N N Y Y N 门限区间 1 门限区间 2 门限区间 3 采 样取值 24( ) 0 . 4 2 0 . 5 c o s ( ) 0 . 0 8 c o s ( ) ( )11 Nnnw n R nNN 9 五 、 16QAM 调制器的仿真结果 1 使用 Quartus 自带仿真器仿真 ,其总体仿真图如下: 图 5 16QAM 调制器的 quartus 仿真 2 将程序导入到 modelsim 中,通过编写 testbench,得到如下仿真结果: 图 6 16QAM 调制器的 modeldsim 仿真 3 使用 MATLAB 中 simulink 库文件搭建一个 16QAM 调制系统: 图 7 16QAM 调制系统在 MATLAB 中的仿真实现 观 察最后的两个示波器,首先是没有加入噪声的波形,显示如下 10 图 8 没有噪声的输出波形 让输出信号通过 10dB 噪声的 AWGN 信道后,输出波形如下: 图 9 通过 AWGN 信道后的输出波形 同时会得到映射在星座图上的点,图形如下: