基于Matlab-的QPSK调制解调仿真设计与研究
- 格式:doc
- 大小:478.50 KB
- 文档页数:24
基于MATLAB的QPSK通信系统仿真设计摘要随着移动通信技术的发展,以前在数字通信系统中采用FSK、ASK、PSK 等调制方式,逐渐被许多优秀的调制技术所替代。
本文主要介绍了QPSK调制与解调的实现原理框图,用MATLAB软件中的SIMULINK仿真功能对QPSK调制与解调这一过程如何建立仿真模型,通过对仿真模型的运行,得到信号在QPSK 调制与解调过程中的信号时域变化图。
通过该软件实现方式,可以大大提高设计的灵活性,节约设计时间,提高设计效率,从而缩小硬件电路设计的工作量,缩短开发周期。
关键词 QPSK,数字通信,调制,解调,SIMULINK-I-AbstractAs mobile communications technology, and previously in the adoption of digital cellular system, ASK, FSK PSK modulation, etc. Gradually been many excellent mod ulation technology substitution, where four phase-shift keying QPSK technology is a wireless communications technology in a binary modulation method. This article prim arily describes QPSK modulation and demodulation of the implementation of the prin ciple of block diagrams, focuses on the MATLAB SIMULINK software emulation in on QPSK modulation and demodulation the process how to build a simulation model, through the operation of simulation model, I get signal in QPSK modulation and dem odulation adjustment process domain change figure. The software implementation, ca n dramatically improve the design flexibility, saving design time, increase efficiency, design to reduce the workload of hardware circuit design, and shorten the developmen t cycle.Keywords QPSK, Digital Communication,modulation,demodulation,SIMULINK-II-目录摘要 (I)Abstract (II)第1章绪论 (1)1.1 选题的目的和意义 (1)1.2 课题研究现状 (1)1.3 本文主要研究工作 (2)第 2 章数字通信技术简介 (3)2.1 引言 (3)2.2 概念及其基本组成部分 (3)2.3 数字通信的特点 (5)2.4 数字通信发展的回顾与展望 (5)本章小结 (6)第3 章数字相位调制 (7)3.1 数字基带传输系统 (7)3.2 正弦载波数字调制系统 (8)3.3 QPSK概述 (9)3.4 QPSK调制和解调 (10)3.4.1调制 (10)3.4.2解调 (10)3.4.3QPSK的调制原理 (11)3.4.4QPSK解调的工作原理 (13)本章小结 (14)第4章 QPSK调制与解调的软件实现 (15)4.1 SIMULINK功能介绍 (15)4.2 SIMULINK特点 (15)4.3 QPSK调制与解调的软件设计 (16)4.3.1QPSK调制与解调的软件实现 (16)4.3.2QPSK调制解调过程主要组件的功能 (17)4.4 QPSK调制解调仿真过程及其波形图 (19)4.4.1QPSK调制过程及其波形图 (19)4.4.2QPSK解调过程及其波形图 (29)4.5 QPSK调制解调仿真过程正确性的验证 (34)本章小结 (35)结论 (36)-III-致谢 (37)参考文献 (38)附录1 (39)附录2 (41)-IV-第1章绪论1.1 选题的目的和意义随着经济危化的不断发展,人们对通信的要求也越来越高。
实验名称: QPSK仿真系统一、实验目的:1、学会 QPSK 调制与解调系统的构成2、学会 QPSK 调制与解调系统的各模块的构建3、学会误码率与误符号率的统计方法以及Matlab 算法二、实验原理:1、QPSK:四进制绝对相移键控,也称为多进制数字相位调制,利用载波的四种不同相位状态来表征数字信息的调制方式。
2、QPSK 的调制方法有正交调制方式(双路二相调制合成法或直接调相法)、相位选择法、插入脉冲法。
调制与解调系统的构成:AWGN产生器ncs rI Ib?b0,1序列QPSKr QPSKs判决器产生器映射Q反映射QnsAWGN产生器比较器误比特统计误符号统计3、各模块的实现方法:(1)、信源的产生:使用randint(m,n,2)函数产生一个 m 行 n 列的随机二进制数列(2)、QPSK 符号映射:将产生的 0, 1 比特流按照 QPSK 调制方式进行映射,本实验采用π/4 QPSK 的调制方式,图为:10000111(3)、AWGN 信号产生: AWGN 产生器就是产生满足均值为 0,方差为 1 的高斯白噪声。
实验中使用 randn(m,n)函数产生一个 m 行 n 列的高斯噪声序列。
(4)、信号幅度控制:根据 AWGN 信道模型,接收信号可以分别表示为r Q s Q n Qα 就是当噪声功率归一化为r I s I n I1(0均值,方差为 1)时,根据信噪比关系而计算出来的信号平均幅度SNR 10log v s2vs2SNR v2sqrt v n10 ^10 nv s( 5)、QPSK 反映射及判决:对接收到的信号在 4 种可能的四种信号向量 [(1,0), (0,1), (-1,0), (0,-1)] 上投影 (即进行点积 )。
投影最大的值所对应的信号向量就是所发送信号的符号值,然后恢复出比特流(6)、误码率及误符号率统计:误码率:将检测出来的比特流和发送的原始比特流进行比较,统计出出现错误的比特数误符号率:将检测出来的比特流变成两组,构成符号,和发送端符号映射后的符号流进行比较,只要符号中任错一 bit,就算该符号出错。
理工大学计算机与通信工程学院通信工程专业设计说明书基于Matlab/Simulink的QPSK调制解调仿真设计与研究目录摘要 (2)第一章前言 (2)1.1 专业设计任务及要求 (2)1.2 Matlab简介 (2)1.3 Matlab下的simulink简介 (3)1.4 通信系统模型 (3)第二章 QPSK调制 (4)2.1 QPSK介绍 (4)2.2 QPSK调制原理 (4)2.2.1 相乘法 (4)2.2.2 选择法 (5)2.3 QPSK调制原理框图 (6)2.4 QPSK调制方式的Matlab仿真 (6)2.5 QPSK调制方式Matlab-simulink仿真 (7)2.5.1 simulink调制建模 (7)2.5.2 simulink调制仿真结果 (8)第三章 QPSK解调 (13)3.1QPSK解调原理 (13)3.2 QPSK解调原理框图 (13)3.3QPSK解调方式Matlab仿真 (13)3.4QPSK解调方式的Matlab-simulink仿真 (14)3.4.1 QPSK解调建模 (14)3.4.2 传输信道 (16)3.4.3 仿真结果 (16)3.5 仿真结果分析 (18)第四章 QPSK通信系统性能分析 (19)第五章结论 (19)参考文献 (20)附录 (20)摘要正交相移键控(QPSK),是一种数字调制方式。
QPSK技术具有抗干扰能力好、误码率低、频谱利用效率高等一系列优点。
论文主要介绍了正交相移键控(QPSK)的概况,以及正交相移键控QPSK的调制解调概念和原理,利用Matlab中M文件和Simulink模块对QPSK的调制解调系统进行了仿真,对QPSK在高斯白噪声信道中的性能进行了,分析了解Simulink中涉及到QPSK的各种模块的功能。
【关键词】Matlab QPSK Simulnk 仿真第一章前言1.1 专业设计任务及要求1了解并掌握QPSK调制与解调的基本原理;2在通信原理课程的基础上设计与分析简单的通信系统;3学会利用MATLAB7.0编写程序进行仿真,根据实验结果能分析所设计系统的性能。
摘要当今,随着通信技术日新月异的发展,尤其是数字通信的快速普及,使得通信技术日新月异。
现代通信系统要求通信距离远、通信容量大、传输质量好,因此通信系统也日趋复杂。
在各种通信系统的设计研发环节中,软件仿真已成为必不可少的部分。
应用Matlab\Simulink的计算机仿真具有经济、安全、可靠、编程简易以及实验周期短等特点。
因此,本文就以Matlab为软件平台,利用其通信工具箱和信号处理工具箱中的模块,尤其是Matlab语言的Simulink动态系统仿真软件包,对数字调制解调系统进行仿真,并且对仿真结果进行误差分析,从而对现代数字通信有更加明确的认识和直观的了解。
重点对2ASK、2PSK、2FSK进行性能比较,在实际通信系统中,根据具体情况选择最合适的调制方式,进一步促进数字通信的发展。
本文首先介绍了课题研究的背景和进行数字通信仿真的意义,然后介绍对数字通信系统进行仿真所使用的Matlab\Simulink软件以及这些软件在使用时的注意事项和采用的一些方法,随后又介绍了数字调制系统的原理并据此进行数字调制解调系统的仿真,最后对仿真结果进行误差分析,对设计进行总结归纳。
关键词:数字通信系统;调制解调;Matlab;Simulink;仿真AbstractNowadays, with the rapid development of communication technology, especially the rapid spread of the digital communication, makes communication technology is developing rapidly. Modern communication system requirements communication distance, communication capacity, transmission quality is good, because this communication system has become more and more complex. In all kinds of communication system design r&d link, the software has become an indispensable part of. Application of computer simulation, Simulink Matlab has economic, safe, reliable, easy programming and the cycle is short, etc.Therefore, this paper is using Matlab software platform, Use its communication tool box and signal processing toolbox module, especially Matlab language dynamic system simulation software package of simulink on digital demodulation system, and simulation results of simulation and error analysis, and the modern digital communication have more explicit recognition and intuitive understanding. Emphasis on 2 ASK, 2 PSK, 2 FSK performance comparison, in actual communication system, according to the specific circumstances to select the most appropriate modulation mode, and further promote the development of digital communication.This paper firstly introduces the background of the subject research and the meaning of digital communication simulation, and then introduced to digital communication system simulation of Matlab /Simulink used by the software used in the software and the matters needing attention and some methods used, then introduces digital modulation system and based on the principle of digital demodulation system simulation, finally the results for error was analyzed, the design was summarized, summed up in the digital demodulation of the simulation to the matters of attention when, to the aspects of learning and provide some reference for researchers and their ownexperience.Key words:Digital communication system;Demodulation;Matlab;Simulink;Simulation目录第一章绪论 (1)1.1研究的目的和意义 (1)1.1.1 研究目的 (1)1.1.2 研究意义 (2)1.2国内外研究现状 (2)第二章仿真的意义和仿真软件 (4)2.1仿真的意义 (4)2.2仿真软件Matlab简介 (4)2.3 Simulink简介 (6)2.4 Matlab与Simulink的联系 (6)第三章数字通信系统 (7)3.1 数字通信系统的概念 (7)3.2数字通信系统的组成 (7)3.3通信系统的分类与通信方式 (8)第四章信号的调制与解调 (10)4.1调制的意义和类别 (10)4.2模拟信号的调制与解调 (11)4.2.1幅度调制 (11)4.2.2角度调制 (13)4.3数字信号的调制与解调 (14)4.3.1数字频率调制 (14)4.3.2数字相位调制 (15)4.3.3正交振幅调制 (17)第五章系统设计与仿真 (19)5.1 2ASK信号的调制与解调 (19)5.1.1 2ASK信号调制仿真 (19)5.1.2 2ASK信号解调仿真 (21)5.2 2FSK信号的调制与解调 (23)5.2.1 2FSK信号调制仿真 (23)5.2.2 2FSK信号解调仿真 (26)5.3 2PSK信号的调制与解调 (28)5.3.1 2PSK信号调制仿真 (28)5.3.2 2PSK信号解调仿真 (30)结论 (33)参考文献 (34)谢辞 (35)第一章绪论1.1 研究的目的和意义信息是一种资源,通过广泛的传播与交流,能促进社会成员之间的合作,推动生产力的发展和社会的进步。
QPSK调制与解调在MATLAB平台上的实现QPSK即四进制移向键控(Quaternary Phase Shift Keying),它利用载波的四种不同相位来表示数字信息,由于每一种载波相位代表两个比特信息,因此每个四进制码元可以用两个二进制码元的组合来表示。
两个二进制码元中的前一个码元用a表示,后一个码元用b表示。
QPSK信号可以看作两个载波正交2PSK信号的合成,下图表示QPSK正交调制器。
由QPSK信号的调制可知,对它的解调可以采用与2PSK信号类似的解调方法进行解调。
解调原理图如下所示,同相支路和正交支路分别采用相干解调方式解调,得到()Q t,经过抽样判决和并/串交换器,将上下支路得到的并行I t和()数据恢复成串行数据。
% 调相法clear allclose allt=[-1:0.01:7-0.01];tt=length(t);x1=ones(1,800);for i=1:ttif (t(i)>=-1 & t(i)<=1) | (t(i)>=5& t(i)<=7);x1(i)=1;else x1(i)=-1;endendt1=[0:0.01:8-0.01];t2=0:0.01:7-0.01;t3=-1:0.01:7.1-0.01;t4=0:0.01:8.1-0.01;tt1=length(t1);x2=ones(1,800);for i=1:tt1if (t1(i)>=0 & t1(i)<=2) | (t1(i)>=4& t1(i)<=8);x2(i)=1;else x2(i)=-1;endendf=0:0.1:1;xrc=0.5+0.5*cos(pi*f);y1=conv(x1,xrc)/5.5;y2=conv(x2,xrc)/5.5;n0=randn(size(t2));f1=1;i=x1.*cos(2*pi*f1*t);q=x2.*sin(2*pi*f1*t1);I=i(101:800);Q=q(1:700);QPSK=sqrt(1/2).*I+sqrt(1/2).*Q;QPSK_n=(sqrt(1/2).*I+sqrt(1/2).*Q)+n0;n1=randn(size(t2));i_rc=y1.*cos(2*pi*f1*t3);q_rc=y2.*sin(2*pi*f1*t4);I_rc=i_rc(101:800);Q_rc=q_rc(1:700);QPSK_rc=(sqrt(1/2).*I_rc+sqrt(1/2).*Q_rc);QPSK_rc_n1=QPSK_rc+n1;figure(1)subplot(4,1,1);plot(t3,i_rc);axis([-1 8 -1 1]);ylabel('a序列');subplot(4,1,2);plot(t4,q_rc);axis([-1 8 -1 1]);ylabel('b序列');subplot(4,1,3);plot(t2,QPSK_rc);axis([-1 8 -1 1]);ylabel('合成序列'); subplot(4,1,4);plot(t2,QPSK_rc_n1);axis([-1 8 -1 1]);ylabel('加入噪声');效果图:% 设定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;f=0:0.1:1;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;n0=rand(size(t1));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); QPSK_rc_n0=QPSK_rc+n0;% 解调I_demo=QPSK_rc_n0.*cos(2*pi*f1*t1);Q_demo=QPSK_rc_n0.*sin(2*pi*f1*t1);% 低通滤波I_recover=conv(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;bit_recover=[];for i=1:20:20000if sum(data_recover(i:i+19))>0data_recover_a(i:i+19)=1;bit_recover=[bit_recover 1];elsedata_recover_a(i:i+19)=-1;bit_recover=[bit_recover -1];endenderror=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;figure(1)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('解调后序列'); 效果图:% 设定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;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(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;ddd1=repmat(ddd',10,1);for i=1:1e4ddd2(i)=ddd1(i);endfigure(1)subplot(4,1,1);plot(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]);效果图:% 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_err_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('仿真比特误码率','理论比特误码率'); hold off;function[y]=Qfunct(x)y=(1/2)*erfc(x/sqrt(2));function[pb,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];s10=[0 -1];for i=1:Ntemp=rand;if (temp<0.25)dsource1(i)=0;dsource2(i)=0;elseif (temp<0.5)dsource1(i)=0;dsource2(i)=1;elseif (temp<0.75)dsource1(i)=1;dsource2(i)=0;elsedsource1(i)=1;dsource2(i)=1;end;end;numofsymbolerror=0;numofbiterror=0;for i=1:Nn=sgma*randn(size(s00));if((dsource1(i)==0)&(dsource2(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)decis1=0;decis2=1;elseif(c10==c_max)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);效果图:11。
QPSK的调制与解调电路的MATLAB实现摘要本课程设计主要讨论了QPSK的调制解调原理,分析了它们的调制解调实现过程的程序设计。
在课程设计中,系统开发平台为Windows 2000,程序运行平台为MATLAB集成环境下的Simulink仿真平台。
用Simulink构建QPSK调制与解调电路仿真模型,得到调制、解调信号,绘制调制前后频谱图,分析QPSK在各种噪声信道中的性能。
程序运行初步实现了QPSK的调制解调,其所得结果基本与理论结果一致。
关键词Simulink;调制解调;QPSK;目录1.前言 (1)1.1QPSK系统的应用背景简介 (1)1.2 QPSK实验仿真的意义 (1)1.3 实验平台和实验内容 (2)1.3.1实验平台 (2)1.3.2实验内容 (2)2系统实现框图和分析 (3)2.1、QPSK调制部分 (3)2.2、QPSK解调部分 (4)3实验结果及分析 (6)3.1、理想信道下的仿真 (6)3.2、高斯信道下的仿真 (7)3.3、先通过瑞利衰落信道再通过高斯信道的仿真 (8)4致谢 (9)参考文献 (10)附录 (11)1.前言1.1QPSK系统的应用背景简介QPSK是英文Quadrature Phase Shift Keying的缩略语简称,意为正交相移键控,是一种数字调制方式。
在19世纪80年代初期,人们选用恒定包络数字调制。
这类数字调制技术的优点是已调信号具有相对窄的功率谱和对放大设备没有线性要求,不足之处是其频谱利用率低于线性调制技术。
19世纪80年代中期以后,四相绝对移相键控(QPSK)技术以其抗干扰性能强、误码性能好、频谱利用率高等优点,广泛应用于数字微波通信系统、数字卫星通信系统、宽带接入、移动通信及有线电视系统之中。
1.2 QPSK实验仿真的意义通过完成设计内容,复习QPSK调制解调的基本原理,同时也要复习通信系统的主要组成部分,了解调制解调方式中最基础的方法。
MATLAB实现QPSK信号的调制解调以及计算误码率BER QPSK(Quadrature Phase Shift Keying)是一种基于调制的数字通信方法,它能够提高频谱利用率并减小误码率。
在QPSK调制中,每个符号由两个正交的载波信号之一进行相位调制,共有四种可能的相位状态。
本文将介绍如何使用MATLAB实现QPSK信号的调制、解调,并计算误码率BER(Bit Error Rate)。
首先,我们将使用MATLAB生成一个随机的二进制数列作为待传输的数字数据。
假设数据位数为N。
```matlabN=1000;%数据位数data = randi([0, 1], 1, N); % 生成随机二进制数据```接下来,我们将二进制数据转换为QPSK调制所需的两个IQ通道数据。
其中,I通道代表实部,Q通道代表虚部。
我们将0和1分别映射为QPSK调制的四个相位状态(例如:00映射为相位0°,01映射为相位90°,10映射为相位180°,11映射为相位270°)。
```matlabqpsk_data = reshape(data, 2, N/2); % 转换为2*N/2矩阵qpsk_data = 2*qpsk_data - 1; % 转换为-1和1之间的数值I = qpsk_data(1, :);Q = qpsk_data(2, :);```现在,我们得到了I和Q两个IQ通道的数据。
接下来,我们将对这两个通道的数据进行调制。
在QPSK调制中,我们使用两个不同相位的正弦信号。
```matlabfs = 1000; % 采样率fc = 10; % 载波频率t = 0:1/fs:N/fc-1/fs; % 时间序列I_modulated = real(sqrt(2/T).*I.*cos(2*pi*t*fc)); % I通道调制Q_modulated = real(sqrt(2/T).*Q.*sin(2*pi*t*fc)); % Q通道调制QPSK_signal = I_modulated + Q_modulated; % QPSK信号```现在,我们得到了QPSK信号。
211基于Matlab 的QPSK 通信系统设计与仿真郭文博(佳木斯大学信息电子技术学院,黑龙江佳木斯154007)摘要:随着大数据时代的到来,用户需要更高速率、更大容量以及更多业务的通信系统,而有限的频谱资源成为了通信系统发展的瓶颈。
QPSK 调制与解调作为一种多进制调制方式,极大地提升频谱资源的利用率。
基于此,文章对QPSK 的数字通信系统进行研究。
通过对QPSK 调制与解调的仿真参数的设计,对实验仿真结果进行了分析。
通过对比解调前后的波形,验证了所仿真的QPSK 通信系统的正确性。
关键词:QPSK ;调制;解调;数字通信系统中图分类号:TN911文献标识码:A 文章编号:1673-1131(2019)11-0211-02随着4G 移动通信技术的普及,信息时代已进化到大数据时代。
通过PSK 调制解调技术,4G 移动通信技术为高速率通信提供了保障。
由于用户对数字通信技术的依赖性越来越强,这就要求数字通信技术必须更稳定高效。
QPSK 作为数字通信系统中一种常用的多进制调制方式,能极大地提升频谱资源的利用效率,因此,对其进行研究具有重要意义和远大的商业价值。
1QPSK 的理论研究QPSK 调制解调技术又称之为正交相移键控技术,属于一种相位调制技术,是由PSK 技术改进而来,相对于传统的调整解调技术具有诸多优势,在有限的带宽内传输更多的信息,且传输过程中干扰对信号影响甚小。
作为一种线性窄带数字信号调制技术,QPSK 相对于PSK 技术的通信速率提升两倍,且可以有效地避免频率干扰,该技术起初在远距离卫星通信中作为调制技术。
随着通信设备的不断更新,设备性能大幅度提升,且稳定性不断改善,因此,QPSK 逐渐成为移动通信技术中主流调制解调技术之一。
2QPSK 调制与解调的仿真设计在对基于QPSK 调制与解调的整个数字通信系统的仿真平台搭建之前,首先对其各个主要部分的仿真部分进行设计,下面以信号输入至信号输出的顺序对其进行设计。
QPSK调制与解调(Matlab仿真)1. 一般在仿真的时候,大家都喜欢直接做等效基带仿真(类似于星座点的仿真)。
但实际要传,还是要传频带的波形信号。
2. 为了模拟真实的环境,先把基带信号经过一个自定义的信道,然后再做脉冲成型,上变频,加一点噪声AWGN进去。
3. 为了模拟同步,应该用专用的同步算法。
但是这里的重点不在同步。
所以用了很简单粗暴的办法。
假装直接同步上了。
4. 为了造出不同步的结果,可以这样写 x_未同步 = [x(300:end); x; x]; 相当于循环发送,循环接收。
这是仿真。
Main%%% 单载波QPSK 接收端% 2017年5月17日18:02:56clear;close all;clcrand_seed = 0;rand('seed',rand_seed);randn('seed',rand_seed);%%% Set up parameters and signals.M = 4; % Alphabet size for modulationbaud_rate = 100; % Baud ratef_carrier1 = 75; % Carrier frequencyNsym = 10000; % Number of symbolsmsg = randi([0 M-1],Nsym,1); % Random messagehMod = comm.RectangularQAMModulator(M);modmsg = step(hMod,msg); % Modulate using QAM. % 映射后的基带信号trainlen = 1000; % Length of training sequencerolloff = .3; % 滚降因子span = 20 ; % 截断长度sps = 10; % Samples per symbolrrcFilter=rcosdesign(rolloff,span,sps,'sqrt'); %根升余弦滚降滤波器,‘sqrt’均方根升余弦;‘normal’升余弦fs = baud_rate*sps; % 时间采样率,时间采样间隔为1/fs 秒Tsymbol=1/baud_rate;% 2. 脉冲成型% txSig = upfirdn(modmsg, rrcFilter, sps); % 发送端的基带复波形信号% chan = [1; .001];chan = [.986; .845; .237; .123+.31i]; % Channel coefficients% chan = [1 0.45 0.3+0.2i]; % Channel coefficientsfiltmsg = filter(chan,1,modmsg); % Introduce channel distortion.(已经经过信道的畸变的基带复信号,星座点)txSig = upfirdn(filtmsg, rrcFilter, sps); % 发送端的基带复波形信号txSig = awgn(txSig,20,'measured'); % Add AWGNt = (0:1/fs:((length(txSig)-1)/fs)).';T = t(end)+1/fs;df = 1/T;freq = -fs/2:df:fs/2-df;cos1 = cos(2*pi*f_carrier1 * t);sin1 = sin(2*pi*f_carrier1 * t);x_upconv = real(txSig).* cos1 + imag(txSig) .* sin1;%% === 接收端x_training_wave = x_upconv;x_training_msg = msg;rxSig = [x_upconv(300:end) ; x_upconv];% 1. 同步x_resampled = resample(rxSig,1,1);x_sync = sync_two_signals( x_resampled,x_training_wave,0);figure(2);plot(freq,20*log10(abs(fftshift(fft(x_sync))/max(abs(fftshift(fft(x_sync)))))));ylim([-100,10])xlim([0,freq(end)])grid on;xlabel('频率(Hz)');title('接收信号');% 2. 下变频+ 匹配滤波xi_dnconv = x_sync .* cos1;xq_dnconv = x_sync .* sin1;x_filtered = xi_dnconv + 1j * xq_dnconv;rxFilt = upfirdn(x_filtered, rrcFilter, 1, sps);rxFilt = rxFilt(span+1:end-span); % 这是接收端匹配滤波后的信号% 3. 均衡% eq1 = lineareq(6, lms(0.01)); % LMSeq1 = lineareq(30, rls(0.99,0.01)); % Create an equalizer object. % 40 taps,RLS算法,步长0.99,自相关矩阵逆矩阵的初值InvCorrInit对角线上的元素eq1.SigConst = step(hMod,(0:M-1)')'; % Set signal constellation. % 标准星座图[symbolest,~] = equalize(eq1,rxFilt,x_training_msg(1:trainlen)); % Equalize. % 均衡器obj,需要均衡的信号,训练序列symbolest = symbolest ./ mean(abs(symbolest)) .* mean(abs(eq1.SigConst));% Plot signals.h = scatterplot(rxFilt,1,trainlen,'bx'); hold on;scatterplot(symbolest,1,trainlen,'r.',h);scatterplot(eq1.SigConst,1,0,'k*',h);legend('Filtered signal','Equalized signal',...'Ideal signal constellation');hold off;% Compute error rates with equalization.hDemod = comm.RectangularQAMDemodulator(M);demodmsg = step(hDemod,symbolest); % Demodulate detected signal from equalizer.% Create ErrorRate Calculator System objectserVec = step(comm.ErrorRate,msg(trainlen+1:end),demodmsg(trainlen+1:end));srate = serVec(1)snum = serVec(2)% Convert integers to bitshIntToBit = comm.IntegerToBit(log2(M));Tx_bit = step(hIntToBit, msg(trainlen+1:end));Rx_bit = step(hIntToBit, demodmsg(trainlen+1:end));% Calculate BERberVec = step(comm.ErrorRate,Rx_bit,Tx_bit);brate = berVec(1)bnum = berVec(2)同步的代码function x_sync = sync_two_signals( x_resampled,x_training_wave,idx )% sync_two_signals( x_resampled,x_training_wave,idx )% x_resampled:收到的信号% x_training_wave:用发送的信号% idx:要找同步上的第几段。
西南科技大学专业方向设计报告课程名称:通信工程专业方向设计设计名称:基于matlab地QPSK仿真方向设计任务书学生班级:通信0903 学生姓名:李孟娇学号: 20095999 设计名称:基于matlab地QPSK仿真起止日期: 2012.11.20—2012.12.20 指导教师:胡荣春方向设计学生日志课程设计评语表基于MATLAB地QPSK仿真设计与实现一、摘要本次方向设计根据当今现代通信技术地发展,对QPSK信号地工作原理进行了仿真分析.并结合调制解调地基本性能和通信原理地基础知识,利用MATLAB 仿真工具设计出一个QPSK仿真程序,以衡量QPSK 在理想信道、高斯白噪声信道和先通过瑞利衰落信道再通过高斯信道三种方式地调制解调得到地功率谱密度、噪声曲线、星座图及误码性能,并对仿真结果进行了分析.关键字:MATLAB仿真;QPSK调制;QPSK解调;误码率;信噪比Based on the modern communication technology, design of oriented major has implemented a simulated analysis in regard to the principle of QPSK signal. Associating with the performance of design of oriented major and underpinning communication knowledge, a QPSK simulate program was implemented and analysed in the aim of measuring its power spectral density, curve of noise, constellation and bit error performance under ideal channel, white Gaussian noise channel and via Rayleigh fading channel and white Gaussian noise channel respectively.Key words:MATLAB Simulate。
摘要:本文根据当今现代通信技术的发展,对QPSK信号的工作原理进行了分析。
利用Simulink 仿真工具设计出一个QPSK仿真模型,以衡量QPSK在高斯白噪声信道中的性能,并对仿真结果进行了分析。
关键词:QPSK 信噪比误码率1 引言近年来,软件无线电作为解决通信体制兼容性问题的重要方法受到各方面的注意。
它的中心思想是在通用的硬件平台上,用软件来实现各种功能,包括调制解调类型、数据格式、通信协议等。
通过软件的增加、修改或升级就可以实现新的功能,充分体现了体制的灵活性、可扩展性等。
其中高性能、高频谱效率的调制解调模块是移动通信系统的关键技术,它的软件化也是实现软件无线电的重要环节。
四相移键控(QPSK) 调制技术广泛应用于数字微波通信系统、数字卫星通信系统、宽带接入与移动通信及有线电视的上行传输。
在卫星数字电视传输中普遍采用的QPSK调谐器,可以说是当今卫星数字电视传输中对卫星功率、传输效率、抗干扰性以及天线尺寸等多种因素综合考虑的最佳选择。
与二进制数字调相比,多进制调相有以下两个特点 :(1) 在相同码元传输速率下,多进制调相的信息传输速率显然比二进制调相的高,比如,四进制调相的信息传输的速率是二进制调相的两倍。
(2) 在相同的信息速率下,由于多进制码元的速率比二进制的低,因而多进制信号码元的持续时间要比二进制的长。
显然增大码元宽度,就会增加码元的能量,并能减小由于信道特性引起的码间干扰的影响等,正是基于这些特点,使多进制移相键控方式获得了广泛的应用。
2 QPSK工作原理数字相位调制PSK是角度调制、恒定幅度数字调制的一种方式,通过改变发送波的相位来实现,除了其输入信号是数字信号以及输出的相位受限制以外,PSK与传统的相位调制相似。
QPSK信号的正弦载波有4个可能的离散相位状态,每个载波相位携带2个二进制符号,其信号表示式为 : 为四进制符号间隔,{ }为正弦载波的相位,有4种可能的状态。
若,则为0、、、,此初始相位为0的QPSK信号的矢量图如图1(a)。
基于MATLAB的QPSK 调制解调仿真( 1 ) 熟悉2QPSK 调制解调原理。
(2)掌握编写2QPSK 调制解调程序的要点。
(3)掌握使用MATLAB 调制解调仿真的要点。
( 1 ) 根据2QPSK 调制解调原理,设计源程序代码。
( 2 ) 通过MATLAB软件仿真给定信号的调制波形。
(3)对比给定信号的理论调制波形和仿真解调波形。
QPSK即四进制移向键控(quaternary phase shift keying),它利用载波的4种不同相位来表示数字信息,由于每一种载波相位代表两个比特信息,因此每个四进制码元可以用两个二进制码元的组合来表示。
两个二进制码元中的前一个码元用a 表示,后一个码元用b 表示。
由QPSK 信号的调制原理可知,对它的解调可以采用与2PSK 信号类似的解调方法进行解调。
解调原理图如图2-18-2 所示,同相支路和正交支路分别采用相干解调方式解调,得到I ( t )和Q(t),经过抽样判决和并/串交换器,将上下支路得到的并行数据恢复成串行数据。
(1 )利用QPSK 正交调制器,用调相法产生QPSK信号。
( 2 ) 画出QPSK 信号的波形。
( 3 ) 利用相干解调法,画出QPSK解调后的信号。
( 1 ) 首先,用调相法产生QPSK 信号。
( 2 ) 使用MATLAB 画出QPSK 信号的波形。
(3)根据相干解调法,画出解调后的波形,与原始信号波形进行比较。
N=20;%比特数T=1;%比特周期fc=2;%载波频率Fs=100;%抽样频率bitstream=randi([0,1],1,N);%随机产生的比特数0、1bitstream=2*bitstream-1;%单极性变为双极性(0到-1;1到1)I=[];Q=[];%奇数进I路,偶数进Q路for i=1:Nif mod(i,2)~=0I=[I,bitstream(i)];elseQ=[Q,bitstream(i)];endend%采用绘图比较I、Q比特流bit_data=[];for i=1:Nbit_data=[bit_data,bitstream(i)*ones(1,T*Fs)];%在一个比特周期里面有T*Fs个1和采样点一模一样endI_data=[];Q_data=[];for i=1:N/2%I路和Q路是原来比特周期的两倍,2Tb=Ts(码元周期),因此采样点个数为T*Fs*2I_data=[I_data,I(i)*ones(1,T*Fs*2)];Q_data=[Q_data,Q(i)*ones(1,T*Fs*2)];end%绘图figure();%时间轴t=0:1/Fs:N*T-1/Fs;subplot(3,1,1)plot(t,bit_data);legend('Bitstream')%比特信息subplot(3,1,2)plot(t,I_data);legend('I Bitstream')%I路信息subplot(3,1,3)plot(t,Q_data);legend('Q Bitstream')%Q路信息%载波信号bit_t=0:1/Fs:2*T-1/Fs;%载波周期为2倍比特周期,定义时间轴%定义I路和Q路的载波I_carrier=[];Q_carrier=[];for i=1:N/2I_carrier=[I_carrier,I(i)*cos(2*pi*fc*bit_t)];%I路载波信号Q_carrier=[Q_carrier,Q(i)*cos(2*pi*fc*bit_t+pi/2)];%Q路载波信号end%传输信号QPSK_signal=I_carrier+Q_carrier;%绘图figure();%产生一个新图subplot(3,1,1)plot(t,I_carrier);legend('I signal')%I路信号subplot(3,1,2)plot(t,Q_carrier);legend('Q signal')%Q路信号subplot(3,1,3)plot(t,QPSK_signal);legend('QPSK signal')%I路、Q路和的信号snr=1;%信躁比%接收信号QPSK_receive=awgn(QPSK_signal,snr);%awgn()添加噪声%解调for i=1:N/2I_output=QPSK_receive(1,(i-1)*length(bit_t)+1:i*length(bit_t)).*cos(2 *pi*fc*bit_t);if sum(I_output)>0 %积分器求和,大于0为1,否则为-1I_recover(i)=1;elseI_recover(i)=-1;endQ_output=QPSK_receive(1,(i-1)*length(bit_t)+1:i*length(bit_t)).*cos(2 *pi*fc*bit_t+ pi/2);if sum(Q_output)>0Q_recover(i)=1;elseQ_recover(i)=-1;endend%并/串变换bit_recover=[];for i=1:Nif mod(i,2)~=0bit_recover=[bit_recover,I_recover((i-1)/2+1)];%奇数取I路信息elsebit_recover=[bit_recover,Q_recover(i/2)];%偶数取Q路信息endend%适用绘图比较I、Q比特流recover_data=[];for i=1:Nrecover_data=[recover_data,bit_recover(i)*ones(1,T*Fs)];endI_recover_data=[];Q_recover_data=[];for i=1:N/2I_recover_data=[I_recover_data,I_recover(i)*ones(1,T*Fs*2)];Q_recover_data=[Q_recover_data,Q_recover(i)*ones(1,T*Fs*2)];end%绘图figure();t=0:1/Fs:N*T-1/Fs;subplot(3,1,1)plot(t,recover_data);legend('Bitstream')%恢复的比特信息subplot(3,1,2)plot(t,I_recover_data);legend('I Bitstream')%恢复的I路信息subplot(3,1,3)plot(t,Q_recover_data);legend('Q Bitstream')%恢复的Q路信息Q路对应的比特数和波形图如下所示路和信号(QPSK)对应波Q路信息波形图如图所示在本次实验中,我根据QPSK 调制解调仿真原理,写出了源程序代码,了解到了很多东西,其中通过Matlab软件根据相干解调法,画出解调后的波形,与原始信号波形进行仿真比较。
郑州轻工业学院课程设计说明书题目:利用MATLAB实现QPSK调制及解调成绩:郑州轻工业学院课程设计任务书题目利用MATLAB实现QPSK调制及解调主要内容、基本要求、主要参考资料等:主要内容:已知数字信号1011000101101011,码元速率为2400波特,载波频率为1200Hz,利用MATLAB画出QPSK调制波形,并画出调制信号经过高斯信道传输后解调波形及接收误码率,将其与理论值进行比较。
基本要求:1、通过本课程设计,巩固通信原理QPSK调制的有关知识;2、熟悉QPSK产生原理;3、熟悉高斯信道的建模及QPSK解调原理;4、熟悉误码率的蒙特卡罗仿真;5、学会用MATLAB来进行通信系统仿真。
主要参考资料:主要参考资料:1、王秉钧等. 通信原理[M].北京:清华大学出版社,2006.112、陈怀琛.数字信号处理教程----MATLAB释义与实现[M].北京:电子工业出版社,2004.目录一前言 (4)1.1QPSK系统的应用背景简介 (4)1.2 QPSK实验仿真的意义 (4)1.3 实验平台和实验内容 (5)1.3.1实验平台 (5)1.3.2实验内容 (5)二、系统实现框图和分析 (5)2.1、QPSK调制部分, (5)2.2、QPSK解调部分 (7)三、实验结果及分析 (7)3.1、理想信道下的仿真 (7)3.2、高斯信道下的仿真 (8)3.3、先通过瑞利衰落信道再通过高斯信道的仿真 (9)参考文献: (11)附录 (12)基于MATLAB的QPSK仿真设计与实现一前言1.1QPSK系统的应用背景简介QPSK是英文Quadrature Phase Shift Keying的缩略语简称,意为正交相移键控,是一种数字调制方式。
在19世纪80年代初期,人们选用恒定包络数字调制。
这类数字调制技术的优点是已调信号具有相对窄的功率谱和对放大设备没有线性要求,不足之处是其频谱利用率低于线性调制技术。
qpsk信号matlab仿真程序QPSK信号MATLAB仿真程序—理论与应用导言:随着无线通信技术的迅猛发展,QPSK(Quadrature Phase Shift Keying)信号成为了目前广泛应用于通信领域的一种调制方式。
本文将详细介绍如何使用MATLAB进行QPSK信号的仿真程序设计,并从理论与应用两个方面进行解析,以帮助读者深入理解并灵活应用该仿真程序。
1. 什么是QPSK信号?QPSK信号是一种基于相位调制的数字调制技术,其特点是将数字信号分成4个不同的相位状态进行传输和接收。
其中,每个相位状态代表2个比特的信息,即每个相位状态可以传输2个比特的信息,因此QPSK又被称为4相位调制。
QPSK信号可以通过泰勒展开可以分解成I(In-phase)分量和Q(Quadrature)分量。
2. MATLAB中的QPSK信号仿真程序设计步骤:(1)生成随机比特流。
在MATLAB中,可以使用randi函数生成一串随机的比特流,作为模拟发送端的输入信号。
(2)将比特流转换成QPSK符号。
将生成的比特流进行分组,每两个比特为一组,将每组比特映射到对应的QPSK符号。
一般而言,00表示的是第一象限的点,01表示的是第二象限的点,11表示的是第三象限的点,10表示的是第四象限的点。
(3)通过QPSK符号产生QPSK信号。
通过对每个QPSK符号进行相位调制,可以得到QPSK信号。
(4)添加高斯噪声。
为了模拟仿真实际通信环境,我们需要向信号中添加高斯噪声。
可以使用randn函数生成指定均值和标准差的高斯噪声信号,并将其与QPSK信号相加。
(5)解调QPSK信号。
在接收端,需要进行相位解调操作,从而恢复原始的比特流。
通过解调操作,将接收到的QPSK信号恢复为I和Q两个分量。
(6)计算误码率。
通过比较原始比特流和解调后的比特流,可以统计出误码率,从而评估通信系统的性能。
3. QPSK信号仿真程序的理论分析:对于QPSK信号,可以利用复数域的理论进行分析。