《利用MATLAB实现QPSK调制及解调.docx》由会员分享,可在线阅读,更多相关《利用MATLAB实现QPSK调制及解调.docx(27页珍藏版)》请在三一办公上搜索。
1、利用MATLAB实现QPSK调制及解调郑州轻工业学院题目:利用MATLAB实现QPSK调制及解调姓名:院系:电气信息工程学院专业班级:电子信息工程09-1学号:540901030154指导教师:赵红梅成绩:时间:2012年6月18日至2012年6月22日1郑州轻工业学院课程设计任务书题目利用MATLAB实现QPSK调制及解调 专业班级 电子信息工程09级1班学号 54 姓名主要内容、基本要求、主要参考资料等:主要内容:已知数字信号1011000101101011,码元速率为2400波特,载波频率为1200Hz,利用MATLAB画出QPSK调制波形,并画出调制信号经过高斯信道传输后解 调波形及接
2、收误码率,将其与理论值进行比较。基本要求:1、通过本课程设计,巩固通信原理QPSK调制的有关知识;2、熟悉QPSK产生原理;3、熟悉高斯信道的建模及QPSK解调原理;4、熟悉误码率的蒙特卡罗仿真;5、学会用MATLAB来进行通信系统仿真。主要参考资料:主要参考资料:1、王秉钧等.通信原理M.北京:清华大学出版社,2006.112、陈怀琛.数字信号处理教程-MATLAB释义与实现M.北京:电子工业出版 社,2004.完成 期限:2012.6.182012.6.23指导教师签名:课程负责人签名:2012年6月16日2一刖言4 1.1QPSK 系统的应用背景简介1.2 QPSK实验仿真的意义1.3实
3、验平台和实验内容1.3.1实验平台1.3.2实验内容5二、系统实现框图和分析2.1、QPSK调制部分,2.2、QPSK解调部分7三、实验结果及分析3.1、理想信道下的仿真73.2、高斯信道下的仿真83.3、先通过瑞利衰落信道再通过高斯信道的仿真9参考文献:11附录123基于MATLAB的QPSK仿真设计与实现一刖言1.1QPSK系统的应用背景简介QPSK是英文Quadrature Phase Shift Keying的缩略语简称,意为正交相移键 控,是一种数字调制方式。在19世纪80年代初期,人们选用恒定包络数字调制。 这类数字调制技术的优点是已调信号具有相对窄的功率谱和对放大设备没有线性要
4、求,不足之处是其频谱利用率低于线性调制技术。19世纪80年代中期以后,四相绝 对移相键控(QPSK )技术以其抗干扰性能强、误码性能好、频谱利用率高等优点,广 泛应用于数字微波通信系统、数字卫星通信系统、宽带接入、移动通信及有线电视 系统之中。1.2 QPSK实验仿真的意义通过完成设计内容,复习QPSK调制解调的基本原理,同时也要复习通信系统 的主要组成部分,了解调制解调方式中最基础的方法。了解QPSK的实现方法及数 学原理。并对“通信”这个概念有个整体的理解,学习数字调制中误码率测试的标 准及计算方法。同时还要复习随机信号中时域用自相关函数,频域用功率谱密度来 描述平稳随机过程的特性等基础知
5、识,来理解高斯信道中噪声的表示方法,以便在 编程中使用。理解QPSK调制解调的基本原理,并使用MATLAB编程实现QPSK信号在高斯信 道和瑞利衰落信道下传输,以及该方式的误码率测试。复习MATLAB编程的基础知 识和编程的常用算法以及使用MATLAB仿真系统的注意事项,并锻炼自己的编程能4力,通过编程完成QPSK调制解调系统的仿真,以及误码率测试,并得出响应 波形。在完成要求任务的条件下,尝试优化程序。通过本次实验,除了和队友培养了默契学到了知识之外,还可以将次实验作为 一种推广,让更多的学生来深入一层的了解QPSK以至其他调制方式的原理和实现 方法。可以方便学生进行测试和对比。足不出户便可
6、以做实验。1.3实验平台和实验内容1.3.1实验平台本实验是基于Mat lab的软件仿真,只需PC机上安装MATLAB 6.0或者以上 版本即可。(本实验附带基于Matlab Simulink (模块化)仿真,如需使用必须安装simulink 模块)1.3.2实验内容1. 构建一个理想信道基本QPSK仿真系统,要求仿真结果有a. 基带输入波形及其功率谱QPSK信号及其功率谱b.c.QPSK信号星座图构建一个在AWGN(高斯白噪声)信道条件下的QPSK仿真系统,要求仿真2.结果有a. QPSK信号及其功率谱b. QPSK信号星座图c. 高斯白噪声信道条件下的误码性能以及高斯白噪声的理论曲线,要求
7、所有误 码性能曲线在同一坐标比例下绘制3验可选做扩展内容要求:构建一个先经过Rayleigh(瑞利衰落信道),再通过AWGN(高斯白噪声)信道条 件下的条件下的QPSK仿真系统,要求仿真结果有a. QPSK信号及其功率谱b. 通过瑞利衰落信道之前和之后的信号星座图,前后进行比较c. 在瑞利衰落信道和在高斯白噪声条件下的误码性能曲线,并和二.2.c中所要 求的误码性能曲线在同一坐标比例下绘制二、系统实现框图和分析2.1、QPSK调制部分,原理框图如图1所示2.1, t,ftc cos(2)T5二进制QPSK极性NRZ分离信号(st)数据序列,电平编码器器2, 2,t, ,ftcsin(2)T图1
8、原理分析:基本原理及系统结构QPSK与二进制PSK 一样,传输信号包含的信息都存在于相位中。的别的载波相 位取四个等间隔值之一,如几/4, 3/4,5/4,和7/4。相应的,可将发射信号 定义为2/cos2(21)/4Etfti,,, 0?t?TSi(t),0。,其他其中,i,1, 2, 2, 4;E为发射信号的每个符号的能量,T为符号持续时间,载 波频率f等于nc/T,nc为固定整数。每一个可能的相位值对应于一个特定的二位 组。例如,可用前述的一组相位值来表示格雷码的一组二位组:10,00,01,11。下面介绍QPSK信号的产生和检测。如果a为典型的QPSK发射机框图。输入的 二进制数据序列
9、首先被不归零(NRZ)电平编码转换器转换为极性形式,即负EbEb号1和0分别用和,表示。接着,该二进制波形被分接器分成两个分别由 输入序列的奇数位偶数位组成的彼此独立的二进制波形,这两个二进制波形分别用 a1(t),和a2(t)表示。容易注意到,在任何一信号时间间隔内a1(t),和a2(t)的 幅度恰好分别等于Si1和Si2,即由发送的二位组决定。这两个二,进制波形a1(t),和a2(t)被用来调制一对正交载波或者说正交基本函数:122,(t),ftc,2(t),ftc。这样就得到一对二进制 PSKcos(2)sin(2)TT,信号1(t)和2(t)的正交性使这两个信号可以被独立地检测。最后,
10、将6这两个二进制PSK信号相加,从而得期望的QPSK。2.2、QPSK解调部分,原理框图如图2所示:,1,t,同相信道门限,0低通filrer判决门限接收发送二进信号复接器制序列的x(t)估计低通filrer判决门限,2,t,正父信道口限,0图2原理分析:QPSK接收机由一对共输入地相关器组成。这两个相关器分别提供本地产生地,相干参考信号1(t)和2(t)。相关器接收信号x(t),相关器输出地x1和x2 被用来与门限值0进行比较。如果x10,则判决同相信道地输出为符号1;如果 x1.en;y |Hxj 利恂皓功在甘本灵IJ1n 40羽EDF =i:eiicy I.h-1100JJ 112 bi
11、J kUF-,-nn虹(H;|1LIJ图3实验结果分析:如图上结果显示,完成了 QPSK信号在理想信道上的调制,传输,解调的过 程,由于调制过程中加进了载波,因此调制信号的功率谱密度会发生变化。并且可 以看出调制解调的结果没有误码。3.2、高斯信道下的仿真,结果如图4所示:8目化借与址SE彳费Jh心k,寻伊叩)霞斯哓能由转:=-1 & t(i)=5& t(i)=0 & t1(i)=4& t1(i)0data_recover_a(i:i+19)=1;bit_recover=bit_recover 1;elsedata_recover_a(i:i+19)=-1;bit_recover=bit_re
12、cover -1;endend15error=0;dd = -2*bit_in+1;ddd=dd;ddd1=repmat(ddd,20,1); for i=1:2e4ddd2(i)=ddd1(i); endfor i=1:1e3if bit_recover(i)=ddd(i)error=error+1;endendp=error/1000;subplot(2,1,1);plot(t2,ddd2);axis(0 100 -2 2);title(原序列);subplot(2,1,2);plot(t2,data_recover_a);axis(0 100 -2 2);title(解调后序列);效果图
13、:16%设定T=1,不加噪声clear allclose all%调制bit_in = randint(1e3, 1, 0 1); bit_I = bit_in(1:2:1e3); bit_Q = bit_in(2:2:1e3);data_I = -2*bit_I+1;data_Q = -2*bit_Q+1;data_I1=repmat(data_I,20,1); data_Q1=repmat(data_Q,20,1);for i=1:1e4data_I2(i)=data_I1(i);data_Q2(i)=data_Q1(i); end;t=0:0.1:1e3-0.1;f=0:0.1:1;17
14、xrc=0.5+0.5*cos(pi*f);data_I2_rc=conv(data_I2,xrc)/5.5;data_Q2_rc=conv(data_Q2,xrc)/5.5;f1=1;t1=0:0.1:1e3+0.9;I_rc=data_I2_rc.*cos(2*pi*f1*t1);Q_rc=data_Q2_rc.*sin(2*pi*f1*t1);QPSK_rc=(sqrt(1/2).*I_rc+sqrt(1/2).*Q_rc);%解调I_demo=QPSK_rc.*cos(2*pi*f1*t1);Q_demo=QPSK_rc.*sin(2*pi*f1*t1);I_recover=conv(
15、I_demo,xrc);Q_recover=conv(Q_demo,xrc);I=I_recover(11:10010);Q=Q_recover(11:10010);t2=0:0.05:1e3-0.05;t3=0:0.1:1e3-0.1;data_recover=;for i=1:20:10000data_recover=data_recover I(i:1:i+19) Q(i:1:i+19);end;ddd = -2*bit_in+1;dddl二repmat(ddd,10,1);for i=1:1e4ddd2(i)=ddd1(i);endfigure(1)subplot(4,1,1);plo
16、t(t3,I);axis(0 20 -6 6);subplot(4,1,2);plot(t3,Q);axis(0 20 -6 6);subplot(4,1,3);plot(t2,data_recover);axis(0 20 -6 6);subplot(4,1,4);plot(t,ddd2);axis(0 20 -6 6);效果图:18% QPSK误码率分析SNRindB1=0:2:10;SNRindB2=0:0.1:10;for i=1:length(SNRindB1)pb,ps=cm_sm32(SNRindB1(i);smld_bit_err_prb(i)=pb;smld_symbol_e
17、rr_prb(i)=ps; end;for i=1:length(SNRindB2)SNR二exp(SNRindB2(i)*log(10)/10);theo_err_prb(i)=Qfunct(sqrt(2*SNR); end;title(QPSK误码率分析);semilogy(SNRindB1,smld_bit_err_prb,*); axis(0 10 10e-8 1);hold on;% semilogy(SNRindB1,smld_symbol_err_prb,o);semilogy(SNRindB2,theo_err_prb); legend(仿真比特误码率,理论比特误 码率);ho
18、ld off;19functiony=Qfunct(x)y=(1/2)*erfc(x/sqrt(2);functionpb,ps=cm_sm32(SNRindB) N=10000;E=1;SNR=10”(SNRindB/10);sgma=sqrt(E/SNR)/2;s00=1 0;s01=0 1;s11=-1 0;for i=1:Ndsource1(i) = 1 0 1 1 0 0 0 1 0 1 1 0 1 0 1 1;numofsymbolerror=0;numofbiterror=0;for i=1:Nn=sgma*randn(size(s00);if(dsource1(i)=0)&(d
19、source2(i)=0)r=s00+n;elseif(dsource1(i)=0)&(dsource2(i)=1)r=s01+n;elseif(dsource1(i)=1)&(dsource2(i)=0)r=s10+n;elser=s11+n;end;c00=dot(r,s00);c01=dot(r,s01);c10=dot(r,s10);c11=dot(r,s11);c_max=max(c00 c01 c10 c11);if (c00=c_max)decis1=0;decis2=0;elseif(c01=c_max)20 decis1=0;decis2=1;elseif(c10=c_max
20、)decis1=1;decis2=0;elsedecis1=1;decis2=1;end;symbolerror=0;if(decis1=dsource1(i)numofbiterror=numofbiterror+1;symbolerror=1;end;if(decis2=dsource2(i)numofbiterror=numofbiterror+1;symbolerror=1;end;if(symbolerror=1)numofsymbolerror=numofsymbolerror+1;end;end;ps=numofsymbolerror/N; pb=numofbiterror/(2*N); 效果图:21