收藏 分销(赏)

QPSK调制解调技术.doc

上传人:丰**** 文档编号:4283238 上传时间:2024-09-03 格式:DOC 页数:14 大小:220.52KB 下载积分:8 金币
下载 相关 举报
QPSK调制解调技术.doc_第1页
第1页 / 共14页
QPSK调制解调技术.doc_第2页
第2页 / 共14页


点击查看更多>>
资源描述
西南科技大学 课 程 设 计 报 告 课程名称: 数字通信课程设计 设计名称:基于Matlab的QPSK调制与解调系统仿真 姓 名: 学 号: 班 级: 指导教师: 起止日期: 2011.6.21-2011.7.3 西南科技大学信息工程学院制 14 课 程 设 计 任 务 书 学生班级: 学生姓名: 学号: 设计名称: 基于Matlab的QPSK调制与解调系统仿真 起止日期: 2011.6.28----2011.7.4 指导教师: 基本要求: (1)分析QPSK调制、解调原理,画出系统框图,推导星座图(设载波相位为0°); 产生随机二进制序列,作为待传输的数据,数据的速率是5Mbit/s; (2)载波频率为50MHz,完成QPSK调制,分别画出两路信号经过乘法器后的时域波形,并给出分析、解释; (3)产生加性高斯白噪声,画出时域波形及频谱, 将加性高斯白噪声作为传输信道的干扰,画出接收端信号的时域图; (4)完成QPSK解调,输出解码序列,画出信号经过乘法器,低通滤波器后的波形。 (5)计算系统信噪比、传输误码率 扩展要求: (1)计算在不同系统信噪比下,传输误码率; (2)画出系统信噪比,传输误码率的曲线。 课 程 设 计 学 生 日 志 时间 设计内容 6.28--6.29 查阅Matlab、通信原理的有关资料 6.30--7.2 用Matlab编写并调试程序,实现QPSK的调制与解调 7.3 写课程设计论文 7.4 课程设计答辩 课 程 设 计 考 勤 表 周 星期一 星期二 星期三 星期四 星期五 课 程 设 计 评 语 表 指导教师评语: 成绩: 指导教师: 年 月 日 基于Matlab的QPSK调制与解调系统仿真 一、设计目的和意义 l 分析QPSK调制、解调原理,画出系统框图,推导星座图(设载波相位为0°); l 产生随机二进制序列,作为待传输的数据,数据的速率是5Mbit/s; l 载波频率为50MHz,完成QPSK调制,分别画出两路信号经过乘法器后的时域波形,并给出分析、解释; l 产生加性高斯白噪声,画出时域波形及频谱, l 将加性高斯白噪声作为传输信道的干扰,画出接收端信号的时域图; l 完成QPSK解调,输出解码序列,画出信号经过乘法器,低通滤波器后的波形。 l 计算系统信噪比、传输误码率 扩展要求: l 计算在不同系统信噪比下,传输误码率; l 画出系统信噪比,传输误码率的曲线。 意义:在通信和信息传输系统、工业自动化或电子工程技术中,调制和解调应用最为广泛。 二、 设计原理 1、2PSK信号 2PSK信号用载波相位的变化来表征被传输信息的状态,通常规定0相位载波和π相位载波分别表示传“1”和传“0”。 2PSK码元序列的波形与载频和码元持续时间之间的关系有关。当一个码元中包含有整数个载波周期时,在相邻码元的边界处波形是不连续的,或者说相位是不连续的。当一个码元中包含的载波周期数比整数个周期多半个周期时,则相位连续。当载波的初始相位差90度时,即余弦波改为正弦波时,结果类似。 2PSK信号的产生方法主要有两种。第一种叫相乘法,是用二进制基带不归零矩形脉冲信号与载波相乘,得到相位反相的两种码元。第二种方法叫选择法,是用此基带信号控制一个开关电路,以选择输入信号,开关电路的输入信号是相位相差的同频载波。这两种方法的复杂程度差不多,并且都可以用数字信号处理器实现。 2、4PSK信号 四进制绝对相移键控(4PSK)直接利用载波的四种不同相位来表示数字信息。由于每一种相位代表两个比特信息,因此每个四进制码元可以用两个二进制码元的组合来表示。两个二进制码元中的前一比特用a来表示,后一比特用b表示。四进制信号可等效为两个正交载波进行双边带调制所得信号之和。这样,就把数字调相和线性调制联系起来,为四相波形的产生提供依据。 3、 调制原理 QPSK即四进制移向键控,它利用载波的四种不同相位来表示数字信息,由于每一种载波相位代表两个比特信息,因此每个四进制码元可以用两个二进制码元的组合来表示。两个二进制码元中的前一个码元用a表示,后一个码元用b表示。 QPSK信号可以看作两个载波正交2PSK信号的合成,下图表示QPSK正交调制器。 由QPSK信号的调制可知,对它的解调可以采用与2PSK信号类似的解调方法进行解调。解调原理图如下所示,同相支路和正交支路分别采用相干解调方式解调,得到和,经过抽样判决和并/串交换器,将上下支路得到的并行数据恢复成串行数据。 三、设计步骤 1、步骤 (1)用matlab中randint()产生二进制随机序列,再通过算法把序列转换为相应的波形。 (2)将第(1)步中得到的二进制序列以奇偶分开,cos(wc*t)、sin(wc*t)调制,然后相加得到调制信号Sqpsk(t)。 (3)高斯白噪声,然后观察其信号和频谱。 (4)进行相干解调后,经过低通滤波器,然后抽样判决恢复信号I(t)和Q(t),再经过串并转换恢复信号。 2、源代码 clear; T=1; % 基带信号宽度,也就是频率 f=1/T=5Mhz fc=10/T; % 载波频率 fc=10*1/T=50Mhz space=2; nb=20; delta_T=T/50; t=0:delta_T:nb*T-delta_T; N=length(t); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%% 调制部分 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 基带信号的产生 data=randn(1,nb)>0.5; % 调用一个随机函数(0 or 1), datanrz=data.*2-1; % 变成极性码 data1=zeros(1,nb/delta_T); for q=1:nb data1((q-1)/delta_T+1:q/delta_T)=datanrz(q); % 将极性码变成对应的波形信号 end % 将基带信号变换成对应波形信号 data0=zeros(1,nb/delta_T); % 创建一个1*nb/delta_T的零矩阵 for q=1:nb data0((q-1)/delta_T+1:q/delta_T)=data(q); % 将非极性码变成对应的波形信号 end figure(1); subplot(2,1,1) plot(data0),title('波形信号(非极性)'); axis([0,1000,0,1.5]); subplot(2,1,2) plot(data1),title('波形信号(极性)'); axis([0,1000,-1.5,1.5]); % 串并转换,将奇偶位数据分开 idata=datanrz(1:space:(nb-1)); % 将奇偶位分开 qdata=datanrz(2:space:nb); % QPSK信号的调制 ich=zeros(1,nb/delta_T/2); % 创建一个1*nb/delta_T/2的零矩阵,以便后面存放奇偶位数据 for i=1:nb/2 ich((i-1)/delta_T+1:i/delta_T)=idata(i); end for ii=1:N/2 a(ii)=sqrt(2/T)*cos(2*pi*fc*t(ii)); end idata1=ich.*a; % 奇数位数据与余弦函数相乘,得到一路的调制信号 qch=zeros(1,nb/2/delta_T); for j1=1:nb/2 qch((j1-1)/delta_T+1:j1/delta_T)=qdata(j1); end for jj=1:N/2 b(jj)=sqrt(2/T)*sin(2*pi*fc*t(jj)); end qdata1=qch.*b; % 偶数位数据与正弦函数相乘,得到另一路的调制信号 figure(2); subplot(2,1,1) plot(idata1),title('I(t)cos(Wc*t)'); axis([0,700,-2,2]); subplot(2,1,2) plot(qdata1),title('Q(t)sin(Wc*t)'); axis([0,700,-2,2]); s=idata1+qdata1; % 将奇偶位数据合并 figure(3); plot(s),title('调制信号'); axis([0,500,-3,3]); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%% 高斯信道 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%% % 高斯信道 y=wgn(1,1000,1) y1=abs(fft(y)); s1=awgn(s,0); s11=abs(fft(s1)); figure(4) subplot(1,2,1) plot(y),title('高斯白噪声'); subplot(1,2,2) plot(y1),title('高斯白噪声频谱'); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%% QPSK 解调部分 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 解调部分 idata2=s1.*a; qdata2=s1.*b; figure(5); subplot(2,1,1) plot(idata2),title('I(t)'); axis([0,600,-4,4]); subplot(2,1,2) plot(qdata2),title('Q(t)'); axis([0,600,-4,4]); idata3=zeros(1,nb/2); qdata3=zeros(1,nb/2); % 抽样判决的过程,与0作比较,data>=0,则置1,否则置0 for n=1:nb/2 % A1(n)=sum(idata2((n-1)/delta_T+1:n/delta_T)); if sum(idata2((n-1)/delta_T+1:n/delta_T))>=0 idata3(n)=1; else idata3(n)=0; end % A2(n)=sum(qdata2((n-1)/delta_T+1:n/delta_T)); if sum(qdata2((n-1)/delta_T+1:n/delta_T))>=0 qdata3(n)=1; else qdata3(n)=0; end end % 将判决之后的数据存放进数组 demodata=zeros(1,nb); demodata(1:space:(nb-1))=idata3; % 存放奇数位 demodata(2:space:nb)=qdata3; % 存放偶数位 demodata1=zeros(1,nb/delta_T); for q=1:nb demodata1((q-1)/delta_T+1:q/delta_T)=demodata(q); end figure(6); plot(demodata1),title('基带信号'); axis([0,1000,-2,2]); 四、 实验结果及分析 (1)产生的非极性基带信号和极性信号。 (2)与cos(wc*t)和sin(wc*t)相乘后的波形如下: (3)得到调制信号Sqpsk(t): (3)用wgn()产生高斯白噪声,时域图和频域图 (4)相干解调后的I(t)和Q(t)信号 (5)基带信号 五、 实验体会 通过本次计算机通信课程设计,让我在除了课本的知识之外的知识有了更好的理解,对QPSK调制解调的工作原理有了更好的理解,在设计之前,收集了很多的材料,但当真正深入设计时,却也遇到了诸多的问题,让我体会到了设计的要求在于系统性,可行性,准确性,诸多问题的出现给我们的设计带来了难度,也同时是更大的一次挑战。最后,在查阅了大量的资料咨询了许多同学后,终于得出了正确的结果,顺利完成了本次课程设计。 这次课程设计让我明白,有时候,光有基础知识是不够的,实践是检验真理的唯一标准,我们在把知识付出实践的过程中,常常会遇到或多或少的困难。只要我们想办法,用心去思考,用行动去创造,困难都会迎刃而解。 只有做到理论知识和实践相结合,才能真正做一个服务社会的人。 最后再次真切的感谢龙老师。 六、 参考文献 [1] 曹志刚.现代通讯原理.清华大学出版社,2007.8 [2] 张威.MATLAB基础与编程入门.西安电子科技大学出版社,2004.2
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服