课程设计论文基于MATLAB的DQPSK基带调制解调系统瑞利信道.docx
《课程设计论文基于MATLAB的DQPSK基带调制解调系统瑞利信道.docx》由会员分享,可在线阅读,更多相关《课程设计论文基于MATLAB的DQPSK基带调制解调系统瑞利信道.docx(22页珍藏版)》请在冰豆网上搜索。
![课程设计论文基于MATLAB的DQPSK基带调制解调系统瑞利信道.docx](https://file1.bdocx.com/fileroot1/2022-11/23/7bf95668-80e6-48b4-9797-12f8d1cea488/7bf95668-80e6-48b4-9797-12f8d1cea4881.gif)
课程设计论文基于MATLAB的DQPSK基带调制解调系统瑞利信道
课程设计(论文)-基于MATLAB的DQPSK_基带调制解调系统(瑞利信道)
一、课程设计的主要内容和基本要求
1(主要内容:
通过本课程设计巩固MATLAB编程的基础知识和编程的常用算法以及使用MATLAB仿真系统的注意事项。
学习使用MATLAB编程,实现DQPSK基带信号调制解调系统的仿真。
2.基本要求:
构建一个在瑞利信道条件下的DQPSK仿真系统,观察记录各部分波形,功率谱、眼图、星座图
课件之家精心整理资料--欢迎你的欣赏二、课程设计图纸内容及张数
由于本设计没有特殊要求的图纸,为方便介绍在文中插入多图。
三、课程设计应完成的软硬件的名称、内容及主要技术指标MATLAB
课件之家精心整理资料--欢迎你的欣赏
课件之家精心整理资料--欢迎你的欣赏四、主要参考资料
[1]庞沁华续大我杨鸿文《通信原理》[M].北京邮电大学出版社2008[2]樊昌信.通信原理[M].北京:
国防工业出版社,2003.
[3]郭文彬桑林.《通信原理—基于Matlab的计算机仿真》[M]北京邮电大学出版社2006
一(课程设计目的:
1.通过本课程设计巩固并扩展通信课程的基本概念、基本理论、分析方法和实现方法。
2.复习DQPSK调制解调的基本原理,同时复习通信系统的主要组成部分,了解调制解调方式中最基础的方法。
了解DQPSK的实现方法及数学原理。
编程的基础知识和编程的常用算法以及使用3.通过本课程设计巩固MATLAB
MATLAB仿真系统的注意事项。
学习使用MATLAB编程,实现DQPSK信号在瑞利信道下传输。
二(课程设计原理:
1.调制原理
多进制数字相位调制又称多相制,它利用载波的多种不同相位或相位差来表征数字信息的调制方式。
QPSK信号的相干解调中,同样需要使用平方环法或是科斯塔斯环法提取相干载波,这两种方法因为存在相位模糊问题,在相干解调时会造成误码,因此可以模仿DPSK调制方法,先对基带信号进行差分编码再进行QPSK调制,这种调制方法称为DQPSK。
DQPSK(四相相对移相调制)信号是利用前后码元之间的相对相位变化来表示数字信息。
若以前一双比特码元相位作为参考,Δφn为当前双比特码元与前一双比特码元初相差,相对码变换的逻辑关系如表一所示。
课件之家精心整理资料--欢迎你的欣赏
课件之家精心整理资料--欢迎你的欣赏
表一DQPSK编码与载波相位变化关系
本课程设计采用A方式。
DQPSK信号的调制框图如下图所示:
DQPSK信号的调制框图
图中,串/并变换器将输入的二进制序列分为速率减半的两个并行序列Cn,dn。
差分编码的作用是将绝对码变换为相对码。
编码的规则是:
(均采用模二加法)当e+f=0,n-1n-1e+C=ef+d=f当e+f=1,f+C=ee+d=f在进行形成双极性不归零脉冲;;;。
n-1nnn-1nnn-1n-1n-1nnn-1nn
序列之后,上下支路分别与coswt和-sinwt相乘,相加以后形成DQPSK信号。
相位与码元对应关系如下图:
DQPSK相位差与双比特码元对应关系DQPSK相位差与双比特码元对应关系,3,,0,,22
01100110cc
00110011dd
课件之家精心整理资料--欢迎你的欣赏
课件之家精心整理资料--欢迎你的欣赏
DQPSK相位与双比特码元对应关系DQPSK相位与双比特码元对应关系
3,5,7,,4444
01100110ee
00110011ff
2解调原理
DQPSK信号的解调通常采用码反变换加相干解调法。
DQPSK信号可以看作两个载波正交2DPSK信号的合成,因此对DQPSK信号的解调可以采用与2DPSK信号类似的解调方法进行解调。
解调原理如下图所示,它可以看成是由信号解调器和码反变换器组成,同相支路和正交支路采用相干解调方式解调,经抽样判决,码元形成,差分解码和并/串变换器,将上、下支路得到的并行数据恢复成串行数据,如此即可完成DQPSK信号的解调。
DQPSK信号的解调框图
三.课程设计步骤
图三为基于MATLAB/SIMULINK的DQPSK通信系统仿真模型
1.利用matlab的randn及sign函数产生一个随机序列(1或者0);
2.利用for循环,将随机序列分成两个并行序列;
3.利用for循环和xor函数进行差分编码;
4.进行电平映射0映射为+1;1映射为-1(为了符合设计原理);利用conv函数将其形成双极性不归零脉冲序列
5.上下支路分别与coswt和-sinwt相乘,相乘后相加即可得到DQPSK;6(信号通过瑞利信道并且加入高斯白噪声的干扰
7.将接受端的信号分别与coswt,和-sinwt相乘,并让其通过低通滤波器LPF;8.在每个码元的中间利用sign函数进行抽样判决,并将其转换成对应的码。
9.对其进行解码和并串转换即可得到输出码元。
(调制的逆过程)
四(实验程序:
课件之家精心整理资料--欢迎你的欣赏
课件之家精心整理资料--欢迎你的欣赏
clearall;
clc;
closeall;
M=4;fc=10;%载波频率
N_sample=32;%基带码元抽样点数
N=200;%码元数
Ts=1;%码元宽度
A=1;%载波幅度
dt=Ts/fc/N_sample;%抽样时间间隔
t=0:
dt:
N*Ts-dt;%时间向量
%产生信源
d=sign(randn(1,N));d1=(d+1)/2;
d=d*(-1);
dd1=sigexpand(d1,fc*N_sample);
gt1=ones(1,fc*N_sample);dm=conv(dd1,gt1);
figure
(1);
subplot(5,2,1);
plot(t,dm(1:
length(t)));axis([0,10,-0.2,1.2]);xlabel('时间(S)');
ylabel('幅度(v)');
title('输入码元时域波形图');
grid;
[f,dmf]=T2F(t,dm(1:
length(t)));
figure
(1);
subplot(5,2,2);
plot(f,10*log10(abs(dmf).^2/(N*Ts)));
axis([-20,20,-40,40]);xlabel('频率(Hz)');
ylabel('功率谱密度(dB/Hz)');
title('输入码元功率谱图');
grid;
%串并转换
s1=[];
s2=[];
m=1;
k=1;
课件之家精心整理资料--欢迎你的欣赏
课件之家精心整理资料--欢迎你的欣赏fori=1:
N
ifmod(i,2)==1
s1(m)=d1(i);
m=m+1;
else
s2(k)=d1(i);
k=k+1;
end
end
gt2=ones(1,2*fc*N_sample);ss1=sigexpand(s1,2*fc*N_sample);
sss1=conv(ss1,gt2);
ss2=sigexpand(s2,2*fc*N_sample);
sss2=conv(ss2,gt2);
figure
(1);
subplot(5,2,3);
plot(t,sss1(1:
length(t)));axis([0,10,-0.2,1.2]);xlabel('时间(S)');
ylabel('幅度(v)');
title('串并转换上支路码元时域波形图');
grid;
figure
(1);
subplot(5,2,4);
plot(t,sss2(1:
length(t)));axis([0,10,-0.2,1.2]);xlabel('时间(S)');
ylabel('幅度(v)');
title('串并转换下支路码元时域波形图');
grid;
%差分编码
f1=[];
f2=[];
c=0
fori=1:
N/2
ifi==1
f1
(1)=s1
(1);
f2
(1)=s2
(1);
else
ifxor(f1(i-1),f2(i-1))==0
f1(i)=xor(f1(i-1),s1(i));
f2(i)=xor(f2(i-1),s2(i));
课件之家精心整理资料--欢迎你的欣赏
课件之家精心整理资料--欢迎你的欣赏
else
f1(i)=xor(f2(i-1),s1(i));
f2(i)=xor(f1(i-1),s2(i));
end
ifs1(i)==s2(i);
c=f1(i);
f1(i)=f2(i);
f2(i)=c;
end
end
end
gt2=ones(1,2*fc*N_sample);ff1=sigexpand(f1,2*fc*N_sample);
fff1=conv(ff1,gt2);
ff2=sigexpand(f2,2*fc*N_sample);
fff2=conv(ff2,gt2);
figure
(1);
subplot(5,2,5);
plot(t,fff1(1:
length(t)));axis([0,10,-0.2,1.2]);xlabel('时间(S)');
ylabel('幅度(v)');
title('上支路编码码元时域波形图');
grid;
figure
(1);
subplot(5,2,6);
plot(t,fff2(1:
length(t)));axis([0,10,-0.2,1.2]);xlabel('时间(S)');
ylabel('幅度(v)');
title('下支路编码码元时域波形图');
grid;
%产生双极性不归零码
fori=1:
N/2
iff1(i)==1
f1(i)=-1;
elsef1(i)=1;
end
iff2(i)==1
f2(i)=-1;
elsef2(i)=1;
课件之家精心整理资料--欢迎你的欣赏
课件之家精心整理资料--欢迎你的欣赏
end
end
gt2=ones(1,2*fc*N_sample);ff1=sigexpand(f1,2*fc*N_sample);
I=conv(ff1,gt2);
ff2=sigexpand(f2,2*fc*N_sample);
Q=conv(ff2,gt2);
figure
(1);
subplot(5,2,7);
plot(t,I(1:
length(t)));
axis([0,10,-1.2,1.2]);
xlabel('时间(S)');
ylabel('幅度');
title('上支路电平映射基带信号时域波形图');
grid;
figure
(1);
subplot(5,2,8);
plot(t,Q(1:
length(t)));
axis([0,10,-1.2,1.2]);
xlabel('时间(S)');
ylabel('幅度');
title('下支路电平映射后基带信号时域波形图');
grid;
[f2,If]=T2F(t,I(1:
length(t)));figure
(1);
subplot(5,2,9);
plot(f2,10*log10(abs(If).^2/(N*Ts)));
axis([-20,20,-40,40]);
xlabel('频率(Hz)');
ylabel('功率谱密度(dB/Hz)');
title('上支路基带信号功率谱图');
grid;
[f3,Qf]=T2F(t,Q(1:
length(t)));figure
(1);
subplot(5,2,10);
plot(f3,10*log10(abs(Qf).^2/(N*Ts)));
axis([-20,20,-40,40]);
xlabel('频率(Hz)');
ylabel('功率谱密度(dB/Hz)');
title('下支路基带信号功率谱图');
grid;
课件之家精心整理资料--欢迎你的欣赏
课件之家精心整理资料--欢迎你的欣赏%上下支路分别形成I.Q信号
c1=A.*cos(2*pi*fc*t);
c2=A.*sin(2*pi*fc*t).*(-1);s_dqpsk1=I(1:
length(t)).*c1;s_dqpsk2=Q(1:
length(t)).*c2;figure
(2);
subplot(4,2,1);
plot(t,s_dqpsk1(1:
length(t)));axis([0,10,-1.2,1.2]);
xlabel('时间(S)');
ylabel('幅度');
title('上支路频带信号时域波形图');
grid;
figure
(2);
subplot(4,2,2);
plot(t,s_dqpsk2(1:
length(t)));axis([0,10,-1.2,1.2]);
xlabel('时间(S)');
ylabel('幅度');
title('下支路频带信号时域波形图');
grid;
[f4,s_dqpsk1f]=T2F(t,s_dqpsk1(1:
length(t)));
figure
(2);
subplot(4,2,3);
plot(f4,10*log10(abs(s_dqpsk1f).^2/(N*Ts)));
axis([-20,20,-40,40]);
xlabel('频率(Hz)');
ylabel('功率谱密度(dB/Hz)');
title('上支路频带信号功率谱图');
grid;
[f5,s_dqpsk2f]=T2F(t,s_dqpsk2(1:
length(t)));
figure
(2);
subplot(4,2,4);
plot(f5,10*log10(abs(s_dqpsk2f).^2/(N*Ts)));
axis([-20,20,-40,40]);
xlabel('频率(Hz)');
ylabel('功率谱密度(dB/Hz)');
title('下支路频带信号功率谱图');
grid;
%形成DQPSK信号
s_dqpsk=s_dqpsk1+s_dqpsk2;
课件之家精心整理资料--欢迎你的欣赏
课件之家精心整理资料--欢迎你的欣赏
figure
(2)
subplot(4,2,5);
plot(t,s_dqpsk(1:
length(t)));axis([0,10,-3,3]);
xlabel('时间(S)');
ylabel('幅度');
title('已调信号时域波形图');
grid;
figure
(2)
[f6,s_dqpskf]=T2F(t,s_dqpsk);subplot(4,2,6);
plot(f6,10*log10(abs(s_dqpskf).^2/(N*Ts)));
axis([-20,20,-20,20]);
xlabel('频率(Hz)');
ylabel('功率谱密度(dB/Hz)');
title('已调信号功率谱图');
grid;
chan=rayleighchan(1/1000,1/500/Ts);
chan.StoreHistory=true;y_dqpsk11=filter(chan,s_dqpsk);y_dqpsk11=y_dqpsk11.*exp(-1*j*angle(chan.PathGains));
y_dqpsk=awgn(y_dqpsk11,2);
figure
(2)
subplot(4,2,7);
plot(t,y_dqpsk(1:
length(t)));axis([0,10,-3,3]);
xlabel('时间(S)');
ylabel('幅度');
title('信号通过信道时域波形图');
grid;
figure
(2)
[f7,y_dqpskf]=T2F(t,y_dqpsk);subplot(4,2,8);
plot(f7,10*log10(abs(y_dqpskf).^2/(N*Ts)));
axis([-20,20,-20,20]);
xlabel('频率(Hz)');
ylabel('功率谱密度(dB/Hz)');
title('通过信道信号功率谱图');
grid;
课件之家精心整理资料--欢迎你的欣赏
课件之家精心整理资料--欢迎你的欣赏r_dqpsk1=y_dqpsk.*c1;
r_dqpsk2=y_dqpsk.*c2;
figure(4)
subplot(3,2,1);
plot(t,r_dqpsk1(1:
length(t)));axis([0,10,-3,3]);
xlabel('时间(S)');
ylabel('幅度');
title('接收信号上支路时域波形图');
figure(4)
subplot(3,2,2);
plot(t,r_dqpsk2(1:
length(t)));axis([0,10,-3,3]);
xlabel('时间(S)');
ylabel('幅度');
title('接收信号下支路时域波形图');
%通过低通滤波器
[f8,r_dqpsk1f]=T2F(t,r_dqpsk1);B1=1;
[t1,r_dqpsk11]=lpf(f8,r_dqpsk1f,B1);
[f9,r_dqpsk2f]=T2F(t,r_dqpsk2);B1=1;
[t2,r_dqpsk22]=lpf(f9,r_dqpsk2f,B1);figure(4)
subplot(3,2,3);
plot(t,r_dqpsk11(1:
length(t)));axis([0,10,-1.2,1.2]);
xlabel('时间(S)');
ylabel('幅度');
title('接收信号上支路通过低通滤波时域波形图');
figure(4)
subplot(3,2,4);
plot(t,r_dqpsk22(1:
length(t)));axis([0,10,-1.2,1.2]);
xlabel('时间(S)');
ylabel('幅度');
title('接收信号下支路通过低通滤波时域波形图');
figure(4)
[f10,r_dqpsk11f]=T2F(t,r_dqpsk11);subplot(3,2,5);
课件之家精心整理资料--欢迎你的欣赏
课件之家精心整理资料--欢迎你的欣赏plot(f10,10*log10(abs(r_dqpsk11f).^2/(N*Ts)));
axis([-20,20,-20,5]);
xlabel('频率(Hz)');
ylabel('功率谱密度(dB/Hz)');
title('接收信号上支路通过低通滤波功率谱图');
grid;
figure(4)
[f11,r_dqpsk22f]=T2F(t,r_dqpsk22);subplot(3,2,6);
plot(f11,10*log10(abs(r_dqpsk22f).^2/(N*Ts)));
axis([-20,20,-20,5]);
xlabel('频率(Hz)');
ylabel('功率谱密度(dB/Hz)');
title('接收信号下支路通过低通滤波功率谱图');
grid;
%抽样判决
cou11=r_dqpsk11(fc*N_sample:
2*fc*N_sample:
end);
pp11=sign(cou11);
ppp11=sigexpand(pp11,2*fc*N_sample);pan11=conv(ppp11,gt2);
figure(5)
subplot(4,2,1);
plot(t,pan11(1:
length(t)));axis([0,10,-1.2,1.2]);
xlabel('时间(S)');
ylabel('幅度');
title('判决信号上支路时域波形图');
cou22=r_dqpsk22(fc*N_sample:
2*fc*N_sample:
end);
pp22=sign(cou22);
ppp22=sigexpand(pp22,2*fc*N_sample);pan22=conv(ppp22,gt2);
figure(5)
subplot(4,2,2);
plot(t,pan22(1:
length(t)));axis([0,10,-1.2,1.2]);
xlabel('时间(S)');
ylabel('幅度');
title('判决信号下支路时域波形图');
fori=1:
length(t)
ifpan11(i)==-1
课件之家精心整理资料--欢迎你的欣赏
课件之家精心整理资料--欢迎你的欣赏
pan11(i)=1;
elsepan11(i)=0;
end
ifpan22(i)==-1
pan22(i)=1;
elsepan22(i)=0;
end
end
figure(5)
subplot(4,2,3);
plot(t,pan11(1:
length(t)));
axis([0,10,-0.2,1.2]);xlabel('时间(S)');
ylabel('幅度');
title('判决信号上支路码元波形图');
figure(5)
subplot(4,2,4);
plot(t,pan22(1:
length(t)));
axis([0,10,-0.2,1.2]);xlabel('时间(S)');
ylabel('幅度');
title('判决信号下支路码元波形图');
%解码
r1=[];
r2=[];
fori=1:
N/2
ifpp11(i)==-1
pp11(i)=1;
elsepp11(i)=0;
end
ifpp22(i)==-1
pp22(i)=1;
elsepp22(i)=0;
end
end
fori=1:
N/2
ifi==1
r1
(1)=pp11
(1);
r2
(1)=pp22
(1);
else
课件之家精心整理资料--欢迎你的欣赏
课件之家精心整理资料--欢迎你的欣赏
ifxor(pp11(i-1),pp22(i-1))==0
r1(i)=xor(pp11(i-1),pp11(i));
r2(i)=xor(pp22(i-1),pp22(i));
else