欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

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

    • 资源ID:4139184       资源大小:408KB        全文页数:21页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

    一、课程设计的主要内容和基本要求1主要内容:通过本课程设计巩固MATLAB编程的基础知识和编程的常用算法以及使用MATLAB仿真系统的注意事项。学习使用MATLAB编程,实现DQPSK基带信号调制解调系统的仿真。2. 基本要求:构建一个在瑞利信道条件下的DQPSK仿真系统, 观察记录各部分波形,功率谱、眼图、星座图二、课程设计图纸内容及张数 由于本设计没有特殊要求的图纸,为方便介绍在文中插入多图。三、课程设计应完成的软硬件的名称、内容及主要技术指标MATLAB四、主要参考资料1 庞沁华 续大我 杨鸿文通信原理M. 北京邮电大学出版社20082 樊昌信. 通信原理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。差分编码的作用是将绝对码变换为相对码。编码的规则是:(均采用模二加法)当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信号的合成,因此对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.对其进行解码和并串转换即可得到输出码元。(调制的逆过程)四实验程序:clear all;clc;close all;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;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*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=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*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;%产生双极性不归零码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);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('判决信号下支路时域波形图');for i=1:length(t) if pan11(i)=-1 pan11(i)=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('判决信号下支路码元波形图');%解码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(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);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;f20,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=T2F(t,st);%计算信号的傅里叶变换%This is a function ueing the FFT function to calculate a signal's 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;sf=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 %signal'spectrumdf=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,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: lowpass's bandwidth with a rectangle lowpass% output:% t: sample% st: output data's time samplesdf = f(2)-f(1);T = 1/df;hf = zeros(1,length(f);bf = -floor(B/df):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;由图可知信号通过信道后,由于瑞利信道和高斯噪声,信号的波形受到干扰。星座图显示:双比特码元与相位的对应关系,有四个相位分别/4, 3/4, 5/4, 7/4以上为DQPSK的眼图,In-phase Signal和Quadrature Signal各有两只眼睛解调为调制的逆过程,最终输出地码元为01 10 11 11 01,与输入的原始码元一致,解调正确。误比特率为2% 六心得体会通信系统仿真MATLAB是现在很流行的用于科学计算的软件工具,它集数值分析、矩阵运算、信号处理、图像显示等多种功能于一体,提供了一个高性能的科学计算环境,在通信有广泛的应用,因此作为学习通信工程专业的一名学生,掌握matlab是必要的。通过这次课程设计,让我学会能用MATLAB处理很多东西。这次课程设计需要用matlab编程,而要想编好程序,首先就需要对原理有清晰地认识和掌握,所以在一开始,我先认真的复习了DQPSK调制解调原理。用的是北邮通原的那本书,原理知道后,就需要学习如何用matlab实现。对于编程,我先阅读matlab书上的一些程序,掌握其中编程的思想和格式,然后针对原理中的模块编写。因为有些编程模块是可以共用的,因此可以写成函数的形式,方便调用。由于对matlab并没有熟练掌握,因此在编程中会遇到自己认为应该对,而实际却出现错误的时候。在这个时候,要静下心找错误原因,或者和其他同学讨论一下,因为有的时候,自己找不出自己的错误的原因。对于此次仿真,在编程上没有什么特别算法,但是一定要注意细节。我的错误常常出在细节之处。由于是瑞利信道,相对于高斯噪声,对误码率的影响比较大。

    注意事项

    本文(课程设计(论文)基于matlab的DQPSK基带调制解调系统(瑞利信道).doc)为本站会员(laozhun)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开