16QAM调制解调系统的FPGA实现_第1页
16QAM调制解调系统的FPGA实现_第2页
16QAM调制解调系统的FPGA实现_第3页
16QAM调制解调系统的FPGA实现_第4页
16QAM调制解调系统的FPGA实现_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、CENTRAL SOUTH UNIVERSITY 本科生毕业论文(设计) 题 目 QAM 通信系统接收端混频与 解调器的设计及其 FPGA 实现 学生姓名 尹海明 指导教师 盛利元教授 学 院 物理科学与技术学院 专业班级 电子信息科学与技术 0805 班 完成时间 2012 年 6 月 7 日 摘要 QAM(Quadrature Amplitude Modulation)是一种新的调制技术,它在调制过 程中利用了相位和幅度两维空间资源,比只利用单一维度空间资源的 PSK 和 ASK 调制方式频谱利用率高,不仅如此,QAM 的星座点比 PSK 的星座点更分 散,星座点之间的距离因此更大,所以能

2、提供更好的传输性能。随着第三代移 动通信的兴起,传输容量增大,多进制正交幅度调制 MQAM (Multiple Quadrature Amplitude Modulation)将得到更加广泛的运用。本文主要研究了基于 FPGA 的 16QAM 调制与解调的实现。首先说明了 QAM 调制和解调的原理, 用 SystemView 软件建立 16QAM 调制解调系统模型,然后对各系统组成模块分 析与仿真之后提出基于 FPGA 的 16QAM 调制与解调的总体设计方案。最后用 Verilog 语言编写程序完成了整个系统的仿真,并对编好的程序其进行了编译调 试。文中详细介绍了载波恢复、正交相干解调、FI

3、R 低通滤波器和采样判决的 基本原理和设计方法。首先用 SystemView 对 16QAM 调制解调总体进行了系统 仿真;然后用 Verilog 语言在 Quartus II 软件平台下完成了系统各功能模块的编 写、功能与时序仿真和综合,最后把各模块组成的顶层原理图编译成的程序下 载到 EP2C35F672C6N 芯片上,手动输入基带信号,经过芯片处理后,基带信 号得以有效恢复。 关键词:关键词:正交相干解调,混频,FPGA,QAM,SystemView ABSTRACT QAM(Quadrature Amplitude Modulation) is a new modulation tec

4、hnique, because of the use of phase and amplitude two-dimensional space resources in the modulation process, it has a higher efficiency than PSK and ASK modulation witch use only a single dimension of space resources. Moreover, the QAM constellation points of PSK constellation points more dispersed,

5、 the distance between the constellation points is therefore, so it is able to provide better transmission performance. With the rise of third generation mobile communication and the transmission capacity increases, M-ary quadrature amplitude modulation of MQAM (Multiple quadrature the Amplitude Modu

6、lation) will be more widely used. This paper studies the realization of FPGA-based 16QAM modulation and demodulation. Firstly, the principle of QAM modulation is presented, and the modeling of the 16QAM modulation double s; for(i=0;i256;i+) s=sin(atan(1)*8*i/256); printf(%d:%x;n,i,(int)(s+1)*255/2);

7、 return 0; / 编译环境:DEV C+软件 / 将 sin 改成 cos 就能输出余弦波形 ROM 值 / 模块名称:DDS(DDS 主程序) / 功能描述:输出两路正交波形 module dds(data,we,clk,ce,reset,sine,cose); input15:0 data; input we; input clk; input ce; input reset; output7:0 sine; output7:0 cose; reg15:0 ADD_A; reg15:0 ADD_B; reg7:0 cose_DR; reg7:0 sine_DR; wire15:0

8、data; wire7:0 ROM_A; wire7:0 cose_D; wire7:0 sine_D; assign cose=cose_DR; assign sine=sine_DR; assign ROM_A=ADD_B15:8; always(posedge clk or negedge reset) begin if(reset) ADD_A=0; else if(we) ADD_A=data; end always(posedge clk or negedge reset) begin if(reset) ADD_B=0; else if(ce) ADD_B=ADD_B+ADD_A

9、; end always(posedge clk or negedge reset) begin if(reset) cose_DR=0; else if(ce) cose_DR=cose_D-255/2; end always(posedge clk or negedge reset) begin if(reset) sine_DR=0; else if(ce) sine_DR=sine_D-255/2; end rom_cose cose1( .address(ROM_A), .clock(clk), .q(cose_D); rom_sine sine1( .address(ROM_A),

10、 .clock(clk), .q(sine_D); endmodule / 模块名称:VLevel(调制器电平转换) / 功能描述:调制前将基带信号转换为三位二进制电平值 module VLevel(b,l); input 1:0b; output 2:0l; reg 2:0r; assign l=r; always(b)begin case(b) 2b00:r=3b001; 2b01:r=3b011; 2b10:r=3b101; default:r=3b111; endcase end endmodule / 模块名称:VLevel0(解调器电平转换) / 功能描述:解调时将三位二进制电平值

11、转化为基带信息 module VLevel0(b,l); output 1:0b; input 2:0l; reg 1:0r; assign b=r; always(l)begin case(l) 3b001:r=2b00; 3b011:r=2b01; 3b101:r=2b10; 3b111:r=2b11; default:r=2bzz; endcase end endmodule / 模块名称:bustrans2(总线位宽转换模块) / 功能描述:调制端减法器后发射端总线位宽转换 module bustrans2(bus1,bus2); input 10:0bus1; output 7:0b

12、us2; wire 10:0a; assign a=bus1/8; assign bus27:0=a7:0; endmodule / 模块名称:bustrans1(总线位宽转换模块) / 功能描述:解调端乘法器后总线位宽转换 module bustrans1(bus1,bus2); input 15:0bus1; output 7:0bus2; wire 14:0a; assign a=bus114:0/128; assign bus27:0=a7:0; endmodule / 模块名称:bustrans(总线位宽转换模块) / 功能描述:解调端滤波器后总线位宽转换 module bustra

13、ns(bus1,bus2); input 18:0bus1; output 7:0bus2; wire 18:0a; assign a=bus1/512; assign bus27:0=a7:0; endmodule / 模块名称:decision(采样判决模块) / 功能描述:将滤波器输出电平值转化为译码所需电平值 module decision(clk,b,l); input clk; input unsigned7:0l; output 2:0b; reg 2:0r; reg 1:0r0; reg 1:0count; assign b=r; always(posedge clk) begin count=count+1; r0=l/64; case(count) 3b10: case(r0) 2b00:r=3b001; 2b01:r=3b011; 2b10:r=3b101; default:r=3b111; endcase default:r=r; endcase end endmodule / 模块名称:no(反相模块) / 功能描述:将-sin 载波所携带的基

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论