课程设计(论文)基于matlab的DQPSK基带调制解调系统(瑞利信道).doc

上传人:laozhun 文档编号:4139184 上传时间:2023-04-07 格式:DOC 页数:21 大小:408KB
返回 下载 相关 举报
课程设计(论文)基于matlab的DQPSK基带调制解调系统(瑞利信道).doc_第1页
第1页 / 共21页
课程设计(论文)基于matlab的DQPSK基带调制解调系统(瑞利信道).doc_第2页
第2页 / 共21页
课程设计(论文)基于matlab的DQPSK基带调制解调系统(瑞利信道).doc_第3页
第3页 / 共21页
课程设计(论文)基于matlab的DQPSK基带调制解调系统(瑞利信道).doc_第4页
第4页 / 共21页
课程设计(论文)基于matlab的DQPSK基带调制解调系统(瑞利信道).doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《课程设计(论文)基于matlab的DQPSK基带调制解调系统(瑞利信道).doc》由会员分享,可在线阅读,更多相关《课程设计(论文)基于matlab的DQPSK基带调制解调系统(瑞利信道).doc(21页珍藏版)》请在三一办公上搜索。

1、一、课程设计的主要内容和基本要求1主要内容:通过本课程设计巩固MATLAB编程的基础知识和编程的常用算法以及使用MATLAB仿真系统的注意事项。学习使用MATLAB编程,实现DQPSK基带信号调制解调系统的仿真。2. 基本要求:构建一个在瑞利信道条件下的DQPSK仿真系统, 观察记录各部分波形,功率谱、眼图、星座图二、课程设计图纸内容及张数 由于本设计没有特殊要求的图纸,为方便介绍在文中插入多图。三、课程设计应完成的软硬件的名称、内容及主要技术指标MATLAB四、主要参考资料1 庞沁华 续大我 杨鸿文通信原理M. 北京邮电大学出版社20082 樊昌信. 通信原理M. 北京: 国防工业出版社,

2、2003.3 郭文彬 桑林.通信原理基于Matlab的计算机仿真M北京邮电大学出版社2006一课程设计目的: 1. 通过本课程设计巩固并扩展通信课程的基本概念、基本理论、分析方法和 实现方法。 2.复习DQPSK调制解调的基本原理,同时复习通信系统的主要组成部分,了解调制解调方式中最基础的方法。了解DQPSK的实现方法及数学原理。 3.通过本课程设计巩固MATLAB编程的基础知识和编程的常用算法以及使用MATLAB仿真系统的注意事项。学习使用MATLAB编程,实现DQPSK信号在瑞利信道下传输。二课程设计原理:1.调制原理 多进制数字相位调制又称多相制,它利用载波的多种不同相位或相位差来表征数

3、字信息的调制方式。QPSK信号的相干解调中,同样需要使用平方环法或是科斯塔斯环法提取相干载波,这两种方法因为存在相位模糊问题,在相干解调时会造成误码,因此可以模仿DPSK调制方法,先对基带信号进行差分编码再进行QPSK调制,这种调制方法称为DQPSK。 DQPSK(四相相对移相调制)信号是利用前后码元之间的相对相位变化来表示数字信息。若以前一双比特码元相位作为参考,n为当前双比特码元与前一双比特码元初相差,相对码变换的逻辑关系如表一所示。表一 DQPSK编码与载波相位变化关系本课程设计采用A方式。DQPSK信号的调制框图如下图所示: DQPSK信号的调制框图图中,串/并变换器将输入的二进制序列

4、分为速率减半的两个并行序列Cn,dn。差分编码的作用是将绝对码变换为相对码。编码的规则是:(均采用模二加法)当en-1+fn-1=0,en-1+Cn=en;fn-1+dn=fn;当en-1+fn-1=1,fn-1+Cn=en;en-1+dn=fn。在进行形成双极性不归零脉冲序列之后,上下支路分别与coswt和-sinwt相乘,相加以后形成DQPSK信号。相位与码元对应关系如下图:1100d0110cDQPSK相位差与双比特码元对应关系1100f0110eDQPSK相位与双比特码元对应关系2解调原理DQPSK信号的解调通常采用码反变换加相干解调法。DQPSK信号可以看作两个载波正交2DPSK信号

5、的合成,因此对DQPSK信号的解调可以采用与2DPSK信号类似的解调方法进行解调。解调原理如下图所示,它可以看成是由信号解调器和码反变换器组成,同相支路和正交支路采用相干解调方式解调,经抽样判决,码元形成,差分解码和并/串变换器,将上、下支路得到的并行数据恢复成串行数据,如此即可完成DQPSK信号的解调。DQPSK信号的解调框图三.课程设计步骤图三为基于MATLAB/SIMULINK的DQPSK通信系统仿真模型1.利用matlab的randn及sign函数产生一个随机序列(1或者0);2.利用for循环,将随机序列分成两个并行序列;3.利用for循环和xor函数进行差分编码;4.进行电平映射0

6、映射为+1;1映射为-1(为了符合设计原理);利用conv函数将其形成双极性不归零脉冲序列5. 上下支路分别与coswt和-sinwt相乘,相乘后相加即可得到DQPSK;6信号通过瑞利信道并且加入高斯白噪声的干扰7.将接受端的信号分别与coswt,和-sinwt相乘,并让其通过低通滤波器LPF;8.在每个码元的中间利用sign函数进行抽样判决,并将其转换成对应的码。9.对其进行解码和并串转换即可得到输出码元。(调制的逆过程)四实验程序:clear all;clc;close all;M=4; fc=10; % 载波频率N_sample=32; % 基带码元抽样点数N=200; % 码元数Ts=

7、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,dm

8、f=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;for i=1:N if mod(i,2)=1 s1(m)=d1(i); m=m+1; else s2(k)=d1(i); k=k+1; endend gt2=ones(1,2*fc*N_sample);ss1=sigexpand(s1,2*f

9、c*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(幅度(

10、v);title(串并转换下支路码元时域波形图);grid;%差分编码f1=;f2=;c=0for i=1:N/2 if i=1 f1(1)=s1(1); f2(1)=s2(1); else if xor(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 if s1(i)=s2(i); c=f1(i); f1(i)=f2(i); f2(i)=c; end endendgt2=ones(1,2*

11、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.

12、2,1.2);xlabel(时间(S);ylabel(幅度(v);title(下支路编码码元时域波形图);grid;%产生双极性不归零码for i=1:N/2 if f1(i)=1 f1(i)=-1; else f1(i)=1; end if f2(i)=1 f2(i)=-1; else f2(i)=1; endendgt2=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);subp

13、lot(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)

14、.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*p

15、i*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(下支路

16、频带信号时域波形图);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/(

17、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

18、(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(

19、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;

20、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);

21、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(接收信号下支

22、路通过低通滤波时域波形图);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(

23、-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(幅度);

24、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(判决信号下支路时域波形图);for i=1:length(t) if pan11(i)=-1 pan11(i)=

25、1; else pan11(i)=0; end if pan22(i)=-1 pan22(i)=1; else pan22(i)=0; endendfigure(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(判决信号下支路码元波形图);

26、%解码r1=;r2=;for i=1:N/2 if pp11(i)=-1 pp11(i)=1; else pp11(i)=0; end if pp22(i)=-1 pp22(i)=1; else pp22(i)=0; endendfor i=1:N/2 if i=1 r1(1)=pp11(1); r2(1)=pp22(1); else if xor(pp11(i-1),pp22(i-1)=0 r1(i)=xor(pp11(i-1),pp11(i); r2(i)=xor(pp22(i-1),pp22(i); else r1(i)=xor(pp22(i-1),pp22(i); r2(i)=xor(

27、pp11(i-1),pp11(i); end endendrr1=sigexpand(r1,2*fc*N_sample); rrr1=conv(rr1,gt2); rr2=sigexpand(r2,2*fc*N_sample); rrr2=conv(rr2,gt2);figure(5);subplot(4,2,5);plot(t,rrr1(1:length(t);axis(0,10,-0.2,1.2);xlabel(时间(S);ylabel(幅度);title(上支解码后信号码元波形图);grid;figure(5);subplot(4,2,6);plot(t,rrr2(1:length(t)

28、;axis(0,10,-0.2,1.2);xlabel(时间(S);ylabel(幅度);title(下支路解码信号码元时域波形图);grid;%并串转换r=;c=0;for i=1:N/2 c=c+1; r(c)=r1(i); c=c+1; r(c)=r2(i);endrr=sigexpand(r,fc*N_sample); rrr=conv(rr,gt1); figure(5);subplot(4,2,7);plot(t,rrr(1:length(t);axis(0,10,-0.2,1.2);xlabel(时间(S);ylabel(幅度);title(解调输出码元时域波形图);grid;f

29、20,rrrf=T2F(t,rrr(1:length(t);figure(5);subplot(4,2,8);plot(f20,10*log10(abs(rrrf).2/(N*Ts);axis(-20,20,-40,40);xlabel(频率(Hz);ylabel(功率谱密度(dB/Hz);title(解调输出码元功率谱图);grid;%眼图,星座图,误比特率eyediagram(y_dqpsk111,32);x=I(1:length(t)+j*Q(1:length(t);scatterplot(x);errbit,ro = biterr(r,d1);errbitrofunctionf,sf=

30、T2F(t,st);%计算信号的傅里叶变换%This is a function ueing the FFT function to calculate a signals Fourier%Translation%Input is the time and the signal vectors,the length of time must greater%than 2%Output is the frequency and the signal spectrumdt=t(2)-t(1);T=t(end);df=1/T;N=length(st);f=-N/2*df:df:N/2*df-df;s

31、f=fft(st);sf=T/N*fftshift(sf);function t,st=F2T(f,sf)%计算信号的反傅里叶变换%This function calculate the time signal using ifft function for the input %signalspectrumdf=f(2)-f(1);Fmx=(f(end)-f(1)+df);dt=1/Fmx;N=length(sf);T=dt*N;%t=-T/2:dt:T/2-dt;t=0:dt:T-dt;sff=fftshift(sf);st=Fmx*ifft(sff);% 低通滤波器function t,

32、st=lpf(f,sf,B)% This function filter an input data using a lowpass filter % input:% f: frequency samples % sf: input data spectrum samples% B: lowpasss bandwidth with a rectangle lowpass% output:% t: sample% st: output datas time samplesdf = f(2)-f(1);T = 1/df;hf = zeros(1,length(f);bf = -floor(B/df

33、):floor(B/df)+floor(length(f)/2);hf(bf) = 1;yf = hf .* sf;t,st = F2T(f,yf);st = real(st);五仿真结果及分析输入的码元为01 10 11 11 01,串并转换以后上支路为01110,下支路为10111(此时码元宽度为2);进行译码后上支路为00100,下支路为10101,符合编码规则;进行电平映射0为1,1为-1;载波频率为10HZ,由上下支路频带信号功率谱既可以知道信号已经进行了正确的调制;将上下支路信号相加形成已调信号即DQPSK;由图可知信号通过信道后,由于瑞利信道和高斯噪声,信号的波形受到干扰。星座图

34、显示:双比特码元与相位的对应关系,有四个相位分别/4, 3/4, 5/4, 7/4以上为DQPSK的眼图,In-phase Signal和Quadrature Signal各有两只眼睛解调为调制的逆过程,最终输出地码元为01 10 11 11 01,与输入的原始码元一致,解调正确。误比特率为2% 六心得体会通信系统仿真MATLAB是现在很流行的用于科学计算的软件工具,它集数值分析、矩阵运算、信号处理、图像显示等多种功能于一体,提供了一个高性能的科学计算环境,在通信有广泛的应用,因此作为学习通信工程专业的一名学生,掌握matlab是必要的。通过这次课程设计,让我学会能用MATLAB处理很多东西。

35、这次课程设计需要用matlab编程,而要想编好程序,首先就需要对原理有清晰地认识和掌握,所以在一开始,我先认真的复习了DQPSK调制解调原理。用的是北邮通原的那本书,原理知道后,就需要学习如何用matlab实现。对于编程,我先阅读matlab书上的一些程序,掌握其中编程的思想和格式,然后针对原理中的模块编写。因为有些编程模块是可以共用的,因此可以写成函数的形式,方便调用。由于对matlab并没有熟练掌握,因此在编程中会遇到自己认为应该对,而实际却出现错误的时候。在这个时候,要静下心找错误原因,或者和其他同学讨论一下,因为有的时候,自己找不出自己的错误的原因。对于此次仿真,在编程上没有什么特别算法,但是一定要注意细节。我的错误常常出在细节之处。由于是瑞利信道,相对于高斯噪声,对误码率的影响比较大。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号