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