基于Matlab调制与解调系统仿真.docx
- 文档编号:12707181
- 上传时间:2023-04-21
- 格式:DOCX
- 页数:17
- 大小:531.14KB
基于Matlab调制与解调系统仿真.docx
《基于Matlab调制与解调系统仿真.docx》由会员分享,可在线阅读,更多相关《基于Matlab调制与解调系统仿真.docx(17页珍藏版)》请在冰豆网上搜索。
基于Matlab调制与解调系统仿真
基于Matlab调制与解调系统仿真
编辑整理:
尊敬的读者朋友们:
这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(基于Matlab调制与解调系统仿真)的内容能够给您的工作和学习带来便利。
同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为基于Matlab调制与解调系统仿真的全部内容。
西南科技大学
课程设计报告
课程名称:
数字通信课程设计
设计名称:
基于Matlab的QPSK调制与解调系统仿真
姓名:
学号:
班级:
通信
指导教师:
龙惠民
起止日期:
西南科技大学信息工程学院制
课程设计任务书
学生班级:
通信学生姓名:
学号:
设计名称:
基于Matlab的QPSK调制与解调系统仿真
起止日期:
指导教师:
龙惠民
设计要求:
基于Matlab的QPSK调制与解调系统仿真
基本要求:
●分析QPSK调制、解调原理,画出系统框图,推导星座图(设载波相位为0°);
●产生随机二进制序列,作为待传输的数据,数据的速率是5Mbit/s;
●载波频率为50MHz,完成QPSK调制,分别画出两路信号经过乘法器后的时域波形,并给出分析、解释;
●产生加性高斯白噪声,画出时域波形及频谱,
●将加性高斯白噪声作为传输信道的干扰,画出接收端信号的时域图;
●完成QPSK解调,输出解码序列,画出信号经过乘法器,低通滤波器后的波形.
●计算系统信噪比、传输误码率
扩展要求:
●计算在不同系统信噪比下,传输误码率;
●画出系统信噪比,传输误码率的曲线。
课程设计学生日志
时间
设计内容
6-21--6-23
熟悉MATLAB软件与数字信号处理得有关资料
6-24——6-28
用MATLAB编写并调试程序,实现QPSK调制与解调
6-29——7-1
书写课程设计的论文
7-2
完善论文,准备答辩
7-4
答辩
周
星期一
星期二
星期三
星期四
星期五
课程设计考勤表
课程设计评语表
指导教师评语:
成绩:
指导教师:
年月日
基于Matlab的QPSK调制与解调系统仿真
一、设计目的和意义
目的:
用MATLAB设计QPSK调制与解调系统.
意义:
掌握用MATLAB工具来实现数字基带信号的调制与解调,包括QPSK的调制与解调的原理,工作流程,实现方法等。
二、设计原理
带通二进制键控系统中,每个码元只能传输1b信息,其频带利用率不高.为了提高频带利用率,最有效的办法是使一个码元传输多个比特的信息。
这就是多进制键控体制。
多进制数字调制是利用多进制数字基带信号去调制载波的振幅,频率或相位.因此,相应地有多进制数字振幅调制(MASK),多进制数字频率调制(MPSK)以及多进制数字相位调制(MPSK)等.
QPSK(4PSK,正交相移键控)又叫四相绝对相移调制,是最常用的MPSK,分为p/2系统和p/4系统两种。
它是利用载波的四种不同相位来表征数字信息。
由于每一种载波相位代表两个比特信息,故每个四进制码元又被称为双比特码元。
QPSK系统可采用多种调制方式:
正交调制法,相位选择法,脉冲插入法。
在这篇课程设计中采用了正交调制法进行设计。
QPSK系统在用正交调制部分需要进行串/并变换,其中串/并变换电路将QPSK调制的两位编码按比特分开,走上下两路,分成的两路序列速率减半,电平发生器分别产生双极性二电平信号I(t)和Q(t),然后各自去调制相互正交的正弦波,再进行矢量合成,即得到QPSK信号。
图2-1QPSK调制电路
在解调部分可以用两个正交的载波信号实现相干解调。
正交路和同相路分别设置两个相关器,得到I(t)和Q(t),经电平判决和并/串变换即可恢复原始信息。
图2—2QPSK解调电路
数字调制用“星座图”来描述,星座图中定义了一种调制技术的两个基本参数:
(1)信号分布;
(2)与调制数字比特之间的映射关系。
星座图中规定了星座点与传输比特间的对应关系,这种关系称为“映射",一种调制技术的特性可由信号分布和映射完全定义,即可由星座图来完全定义。
QPSK的星座图相位有0,p/2,p,p/4四种,它们分别对应于信息11,01,00和10。
为了能和四进制的载波相位配合起来,则需要把二进制数据变换为四进制数据,这就是说需要把二进制数字序列中每两个比特分成一组,共有四种组合,即00,01,10,11,其中每一组称为双比特码元.每一个双比特码元是由两位二进制信息比特组成,它们分别代表四进制四个符号中的一个符号.QPSK中每次调制可传输2个信息比特,这些信息比特是通过载波的四种相位来传递的。
解调器根据星座图及接收到的载波信号的相位来判断发送端发送的信息比特。
图2—3QPSK星座图
三、详细设计步骤
1根据QPSK的调制及解调原理及原理框图,MATLAB程序来仿真这个系统应遵循以下几个步骤:
调制部分:
(1)串/并变换
(2)极性转换
(3)电平产生
(4)两分路分别与载波相乘
(5)合并两路信号
信道部分:
加入高斯白噪声
解调部分:
(1)接收到的信号分别乘以正弦信号及余弦信号
(2)两路信号分别进行抽样判决
(3)并/串变换
2用MATLAB程序来实现QPSK调制与解调系统仿真
nb=8;%生成二进制序列的长度
ml=2;%分奇偶位
SNR=10;
data=randint(1,nb,2);%调用一个随机函数(0or1),产生长度为nb的二进制序列
bit=[];%存放产生的二进制波形
forn=1:
length(data)
ifdata(n)==0;%这位为0,产生100个0(产生波形)
bita=zeros(1,100);
elsedata(n)==1;%为1,产生100个1
bita=ones(1,100);
end
bit=[bitbita];
end
figure
(1)
plot(bit);title(’产生的二进制波形');gridon;
axis([0100*length(data)-22]);
%串并转换,将奇偶位数据分开
idata=data(1:
ml:
(nb—1));%将奇偶位分开,因此间隔m1为2
qdata=data(2:
ml:
nb);%偶数位
%偶数位正弦调制
f1=20;%单路信号的速率为载波的1/20
s=qdata;
t1=0:
2*pi/99:
2*pi;%采样频率为基带信号的100倍
cp1=[];
mod1=[];mod11=[];bit1=[];
forn1=1:
length(s)
ifs(n1)==0;
cp11=-ones(1,100);
bit11=zeros(1,100);
elses(n1)==1;
cp11=ones(1,100);
bit11=ones(1,100);
end
c1=sin(f1*t1);
cp1=[cp1cp11];%基带信号的抽样波形
mod1=[mod1c1];%载频信号的波形
bit1=[bit1bit11];%正弦分路的波形
end
bpsksin=cp1。
*mod1;%QPSK调制信号
figure(3)
subplot(2,1,1);
plot(bit1,’LineWidth',1。
5);title(’二进制信息');gridon;
axis([0100*length(s)-2.52.5]);
subplot(2,1,2);
plot(bpsksin,'LineWidth’,1.5);title('正弦分路信号’);gridon;
axis([0100*length(s)—2.52.5]);
%基数位余弦调制
f2=20;%单路信号的速率为载波的1/20
s=idata;
t2=0:
2*pi/99:
2*pi;%采样频率为基带信号的100倍
cp2=[];
mod2=[];mod21=[];bit2=[];
forn2=1:
length(s)
ifs(n2)==0;
cp21=-ones(1,100);
bit21=zeros(1,100);
elses(n2)==1;
cp21=ones(1,100);
bit21=ones(1,100);
end
c2=cos(f2*t2);
cp2=[cp2cp21];
mod2=[mod2c2];%载频信号的波形
bit2=[bit2bit21];%正弦分路的波形
end
bpskcos=cp2.*mod2;%QPSK调制信号
figure
(2)
subplot(2,1,1);
plot(bit2,'LineWidth',1.5);title('二进制信息');gridon;
axis([0100*length(s)—2。
52.5]);
subplot(2,1,2);
plot(bpskcos,’LineWidth',1.5);title('余弦分路信号');gridon;
axis([0100*length(s)-2.52.5]);
s=bpsksin+bpskcos;%两路信号合并
%高斯白噪声
s1=awgn(s,SNR);%通过高斯信道之后的信号
s11=abs(fft(s1));%快速傅里叶变换得到频谱
s111=s1—s;%高斯噪声曲线
ss=abs(fft(s111));%快速傅里叶变换得到频谱
h=spectrum.welch;%类似于C语言的宏定义,方便以下的调用
figure(4)
subplot(2,1,1);
plot(s111),title(’加性高斯白噪声时域波形');
subplot(2,1,2);
plot(abs(ss)),title(’加性高斯白噪声频谱');
figure(6)
psd(h,s111,'fs’,100),title('加性高斯白噪声功率谱密度’);
%解调部分(高斯信道)
idata2=s1。
*mod2;%余弦分路相干解调
qdata2=s1.*mod1;%正弦分路相干解调
figure(5)
subplot(3,1,1);
plot(s1);title(’接收端信号的时域图’);
subplot(3,1,3);
plot(qdata2);title('接收端正弦分路信号');
subplot(3,1,2);
plot(idata2);title('接收端余弦分路信号’);
idata3=zeros(1,nb/2);%建立1*nb数组,以存放解调之后的信号
qdata3=zeros(1,nb/2);
%抽样判决的过程,与0作比较,data〉=0,则置1,否则置0
forn=1:
nb/2
ifsum(idata2((100*(n-1)+1):
(100*n)))〉=0%100个抽样点相加与0比较
idata3(n)=1;%大于等于0为1
elseidata3(n)=0;%小于0为1
end
ifsum(qdata2((100*(n—1)+1):
(100*n)))>=0
qdata3(n)=1;
elseqdata3(n)=0;
end
end
%将判决之后的数据存放进数组
demodata=zeros(1,nb);
demodata(1:
ml:
(nb—1))=idata3;%存放奇数位
demodata(2:
ml:
nb)=qdata3;%存放偶数位
bit3=[];
forn3=1:
length(demodata)
ifdemodata(n3)==0;
bit31=zeros(1,100);
elsedemodata(n3)==1;
bit31=ones(1,100);
end
bit3=[bit3bit31];
end
figure(7)
plot(bit3);title(’解调出的波形');gridon;
axis([0100*length(demodata)-22]);
[penumber,perat]=symerr(data,demodata)%计算误码率解误码个数
四、设计结果及分析
图4—1产生的随机二进制序列
图4-2基数位的二进制序列及调制后的波形
图4—3偶数位的二进制序列及调制后的波形
图4-2和图4—3的两路信号分别是产生的二进制序列的偶数位和基数位,把信号(10000101)分为偶数位(0011)和基数位(1000)后基带信号的速率减半,即为2。
5Mbit/s。
基数位的基带信号用余弦信号调制,而偶数位的基带信号用正弦信号调制.当基带信号从1变为0或从0变为1时,正弦或余弦信号的相位翻转180度。
图4-4加性高斯白噪声的时域波形及频谱
图4—5接收端信号的时域图及正余弦两路信号的波形
图4-6加性高斯白噪声的功率谱密度
图4—7接收端最终解调后的二进制序列
QPSK信号的误码率的计算公式:
图4-8误比特数及误码率
图4—9传输误码率的曲线
五、体会
这次的课程设计中我收获了很多的MATLAB实际操作的技巧,我学会了如何逐步调试MATLAB程序以及如何使用MATLAB的help命令来学会使用它自带的很多有用的函数。
通过一次次的调试以及排除错误,我对QPSK的调制与解调原理以及如何实现它有了更加深入的认识.因为我对MATLAB工具箱中的有关通信系统的函数了解很少,在这次的课程设计中,我到了图书馆查阅了大量的关于MATLAB以及通信系统的资料,这教会了我如何在短时间内找到我所需要的资料以及如何去消化这些资料并把有用的内容用到自己的课程设计中。
六、参考文献
赵静张瑾高新科《基于MATLAB的通信系统仿真》北京航空航天大学出版社
程佩青《数字信号处理教程》清华大学出版社
邓薇《MATLAB函数速查手册》人民邮电出版社
张德丰《MATLAB通信工程仿真》机械工业出版社
李妍《MATLAB通信仿真开发手册》国防工业出版社
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Matlab 调制 解调 系统 仿真