1、课 程 设 计 任 务 书 洗手 学生班级 : beef 通信 0802 班 学生姓名 : beef 学号 : beef 洗手 设计名称 : beef基于 matlab 的 M-QAM 通信系统的仿真 洗手 起止日期 : beef2011.6.21-2011.7.3 指导教师 : beef 洗手 洗手 设计要求 : beef洗手 洗手 取 M=16, 吃饭 产生随机消息序列 ; bef洗手 调用 Matlab 函数 , 吃饭 根据矩形星座图对消息序列进行 QAM 调制 ; beef洗手 加噪声 ; bef洗手 解调 QAM; bef洗手 计算误码率 , 吃饭 并与理论误码率比较 , 吃饭 作图
2、表示出 16QAM 的信噪比与误码率的关系曲线 。 洗手 洗手 洗手 洗手 课 程 设 计 学 生 日 志 洗手 时间 设计内容 6.28 6.28 查阅资料 , 吃饭 确定方案 6.29 6.29 设计总体方案 6.30 7.3 功能和要求的具体设计 7.4 7.4 完成设计报告 7.5 7.5 答辩 课 程 设 计 考 勤 表 洗手 周 星期一 星期二 星期三 星期四 星期五 洗手 洗手 课 程 设 计 评 语 表 洗手 洗手 指导教师评语 : beef洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 成绩 : b
3、ef 指 导 教 师 : beef 洗手 洗手 年 月 日 3 基于 matlab 的 M-QAM 通信系统 洗手 的仿真 洗手 设计目的和意义 洗手 从信号平面自用率方面看 , 吃饭 单独使用幅度或相位携带信息时 , 吃饭 不能最充分地利用信号平面 。 洗手 而 M-QAM 调制则正是解决这一问题的一种 调制方式 , 吃饭 采用幅度相位相结合的调制方式 , 吃饭 可以使同样大的信息平面内有更多的信息点 。 洗手 洗手 从抗干扰方面看 , 吃饭 在星座图上 , 吃饭 采用 M-QAM 调制的信息的 各点的距离要大于采用其它调制的 , 吃饭 由星座图上点的特性可知 , 吃饭 距离越大 , 吃饭
4、抗干扰能力越强 , 吃饭 所以在抗干扰能力方面 , 吃饭 QAM 调制也优于其它几种调制方式 。 洗手 洗手 由上可知 , 吃饭 在 现代 数字通信系统中 , 吃饭 幅度与相位相结合的多进制调制有着重要的意义 , 吃饭 并且运用也日益广泛 。 洗手 洗手 设计原理 洗手 本设计中所采用的 16QAM 为 16 进制的幅度相位相结合调制 。 洗手 16QAM 是用两路独立的正交 4ASK 信号叠加而成 , 吃饭 4ASK 是用多电平信号去键控载波而得到的信号 。 洗手 它是 2ASK 体制的推广 , 吃饭 和 2ASK 相比 , 吃饭 这种体制的优点在于信息传输速率高 。 洗手 其星座图如图 1
5、 所示 。 洗手 洗手 图 1 16QAM 矩形星座图 洗手 进制的正交振幅调制是一种振幅相位联合键控信号 。 洗手 16QAM 的产生有 2 种方法 : beef 洗手 ( 1)正交调幅法 , 吃饭 它是有 2 路正交的四电平振幅键控信号叠加而成 ; beef 洗手 ( 2)复合相移法 : beef它是用 2 路独立的四相位移相键控信号叠加而成 。 洗手洗手 16QAM 信号采取正交相干解调的方法解调 , 吃饭 解调器首先对收到的 16QAM 信号进行正交相干解调 , 吃饭 一路 与 cos c t 相乘 , 吃饭 一路与 sin c t 相乘 。 洗手 然后经过低通滤波器 , 吃饭 低通滤
6、波器 LPF 滤除乘法器产生的高频分量 , 吃饭 获得有用信号 ,吃饭 低通滤波器 LPF 输出经抽样判决可恢复出电平信号 。 洗手 洗手 在本次设计中 , 吃饭 16QAM 的调制和解调均调用 matlab 中的 QAM 专用调制解调函4 数 qammod()和 qamdemod()。 洗手 其中 qammod()用于 QAM 调制 , 吃饭 qamdemod()用于QAM 解调 。 洗手 再分别用两个子函数完成调制前 的串并转换和解调后的并串转 换 。 洗手 洗手 详细设计步骤 洗手 首先进行系统的分析的设计 , 吃饭 整个设计分为如下几个部分 : beef随机序列的产生 , 吃饭序列的串
7、并和并串转换 , 吃饭 16QAM 调制 , 吃饭 星座图的绘制 , 吃饭 16QAM 解调 , 吃饭 加入噪声 , 吃饭 误码率的测量及绘图 。 洗手 洗手 第一步是编写程序代码 , 吃饭 产生一个“ 0”“ 1”随机序列 , 吃饭 设定长度 N 为 5000, 吃饭代码如下 : beef洗手 N=5000;beef洗手 SendIn=randint(1,N);beef%产生 5000 个随机的 01 序列 洗手 对产生的二进制随机序列进行串并转换 , 吃饭 实现将每连续的 4 位二进制码组合在 一起 , 吃饭 由于是调用 matlab 系统函数调制解调 , 吃饭 在此将转换后边的序列进行十
8、进制转换 , 吃饭 方便后面的调制 , 吃饭 再将转换好的序列通过调用 qammod()函数进行 16qam调制 , 吃饭 具体代码如下 : bef洗手 Send,n=t2f(SendIn);beef%二进制换到十进制 洗手 SendMod=qammod(Send,16);beef%16QAM 调制 洗手 串并转换子函数代码如下 : beef洗手 function y,n=t2f(x)洗手 n=1;beef洗手 y=;beef洗手 j=length(x);beef 洗手 k=mod(j,4);beef洗手 j=j-k;beef洗手 for i=1:4:j;beef 洗手 y(n)=x(i)*8
9、+x(i+1)*4+x(i+2)*2+x(i+3)*1;beef 洗手 n=n+1;beef洗手 end 洗手 n=n-1;beef洗手 绘制星座图 , 吃饭 此处选择绘制出三幅星座 图 , 吃饭 第一幅为原始无噪声情况下的星座 图 ,吃饭 第一幅为信噪比为 10dB情况下的星座 , 吃饭 第三幅为信噪比为 0dB情况下的星座 图 。洗手 其中加入指定信噪比的噪声通过 awgn()函数来实现 。 洗手 通过星座图 , 吃饭 可以很直观地看出 16QAM 的特点 , 吃饭 通过三幅图的比较 , 吃饭 可以观察出噪声对信号的干扰影响 。洗手 代码如下 : bef洗手 %绘星座图 洗手 scatte
10、rplot(SendMod);beef 洗手 title(原始信号星座图 );beef 洗手 SNRTest=awgn(SendMod,10);beef%加噪声 洗手 scatterplot(SNRTest);beef 洗手 title(10dB 信噪比时星座图 );beef 洗手 SNRTest=awgn(SendMod,0);beef%加噪声 洗手 scatterplot(SNRTest);beef 洗手 title(0dB 信噪比时星座图 );beef 洗手 接收解调受噪声干扰的 QAM 信号 , 吃饭 通过循环接收并统计受到不同信噪比干扰的5 QAM 信号 , 吃饭 然后对收到的信号进
11、行并串转换 。 洗手 再 计算出不同信噪比情况下的接收端的误码率 。 洗手 并绘制出 误码率 跟 信噪比的关系曲线 。 洗手 代码如下 : bef洗手 Count=;beef洗手 for SNR=-20:1:20;beef%信噪比从 -10 到 10 洗手 sum=0;beef%统计误码数 洗手 Receive=awgn(SendMod,SNR);beef%加噪声 洗手 ReceiveDemod=qamdemod(Receive,16);beef%16QAM 解调 洗手 ReceiveOut,m=f2t(ReceiveDemod);beef%十进制换到二进制 洗手 for k=1:m 洗手 i
12、f ReceiveOut(k)=SendIn(k);beef 洗手 sum=sum+1;beef 洗手 end 洗手 end 洗手 Count(SNR+21)=sum/m;beef 洗手 end 洗手 h3=figure;beef 洗手 h3=plot(-20:20,Count);beef 洗手 xlabel(信噪比 (dB);beef 洗手 ylabel(误码率 );beef 洗手 title(信噪比与误码率的关系 );beef 洗手 并串转换子函数代码如下 : beef洗手 function y,n=f2t(x)洗手 j=length(x);beef 洗手 n=1;beef洗手 for i
13、=1:j;beef 洗手 if x(i)15;beef洗手 y(n)=1;beef洗手 y(n+1)=1;beef洗手 y(n+2)=1;beef洗手 y(n+3)=1;beef洗手 elseif x(i)0;beef洗手 y(n)=0;beef洗手 y(n+1)=0;beef洗手 y(n+2)=0;beef洗手 y(n+3)=0;beef洗手 else 洗手 y(n)=fix(x(i)/8);beef洗手 y(n+1)=fix(x(i)-y(n)*8)/4);beef 洗手 y(n+2)=fix(x(i)-y(n)*8-y(n+1)*4)/2);beef 洗手 y(n+3)=mod(x(i)
14、,2);beef 洗手 n=n+4;beef洗手 end 洗手 end 洗手 n=n-1;beef洗手 6 设计结果及分析 洗手 在 matlab 中 运编写好的 qam函数 , 吃饭 观察并分析结果 。 洗手 洗手 原始无噪声的信号星座图 : beef洗手 图 2 原始信号 星座图 洗手 信噪比为 10dB 情况下的星座图 : beef洗手 图 3 信噪比为 10dB 情况下 信号星座图 洗手 信噪比为 0dB 情况下的星座图 : beef洗手 图 4 信噪比为 10dB 情况下 信号星座图 洗手 信噪比与误码率关系曲线图 : b eef洗手 图 5 信噪比与误码率关系曲线 洗手 体会 洗手
15、 完成本设计之后 对 QAM 调制有了很清楚的认识 , 吃饭 明白了 QAM 调制的意义和重要性 , 吃饭 了解了 QAM 的调制过程和基本步骤 , 吃饭 对二进制在数字通信中的重要性也有所认识 。 洗手 另一方面 , 吃饭 在 matlab 的使用过程中也学到了很多的关于 matlab 的使用技巧和方法 , 吃饭 同时也存在一些问题 。 洗手 学会了用图表曲线去直观地反映问题 , 吃饭反映事物的动态变化教程 , 吃饭 预测变化趋势 。 洗手 对今后的学习和工作都有很大帮助 。洗手 洗手 洗手 参考文献 洗手 1 曹志刚 、 b eef钱亚生 现代通信原理清华大学出版社 , 吃饭 1994洗手 2 程佩青 数字信号处理教程(第三版)清华大学出版社 , 吃饭 2007 2洗手 3 张威 MATLAB 基础与编程入门(第二版)西安电子科技大学出版社 , 吃饭 2008 1 洗手 7 4 http:/ 洗手 洗手 洗手