您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 基于MATLAB的2DPSK信号仿真
..基于MATLAB的2DPSK信号的调制与解调仿真西安电子科技大学张**..目录一题目要求二关于2DPSK1基础知识________________________________________________________________222DPSK的调制原理_________________________________________________________232DPSK的解调原理_________________________________________________________3三调制系统仿真1调制系统设计____________________________________________________________41)产生基带信号______________________________________________________42)产生相对码________________________________________________________53)产生载波信号______________________________________________________64)调制______________________________________________________________62传输系统设计____________________________________________________________73解调系统设计___________________________________________________________71)带通滤波器________________________________________________________72)乘法器____________________________________________________________83)低通滤波器________________________________________________________84)抽样判决器________________________________________________________95)延迟单元__________________________________________________________96)码(反)变换器____________________________________________________94极性比较法结果_________________________________________________________10..5差分相干法结果_________________________________________________________11四完整程序源码1极性比较法程序DPSK.m_________________________________________________122差分相干法DPSK1.m________________________________________________15一题目要求产生2DPSK信号,画出时域波形和频谱,分别用极性比较法和差分相干法解调。二关于2DPSK1基础知识2DPSK即二进制差分相移键控(2DPSK)二进制差分相移键控常简称为二相相对调相,记作2DPSK。它不是利用载波相位的绝对数值传送数字信息,而是用前后码元的相对载波相位值传送数字信息。所谓相对载波相位是指本码元初相与前一码元初相之差。→数字信息“0”;→数字信息“1”。..则数字信息序列与2DPSK信号的码元相位关系可举例表示如下:数字信息:1011011101DPSK信号相位:或:022DPSK的调制原理一般来说,2DPSK信号有两种调试方法,即模拟调制法和键控法。2DPSK信号的的模拟调制法框图如图1所示,其中码变换的过程为将输入的单极性不归零码转换为双极性不归零码。图1模拟调制法2DPSK信号的的键控调制法框图如图2所示,其中码变换的过程为将输入的基带信号差分,即变为它的相对码。选相开关作用为当输入为数字信息“0”时接相位0,当输入数字信息为“1”时接pi。码变换相乘载波s(t)eo(t)..图2键控调制32DPSK的解调原理2DPSK信号最常用的解调方法有两种,一种是极性比较法,另一种是差分相干法。差分相干法:2DPSK信号先经过带通滤波器,去除调制信号频带以外的在信道中混入的噪声,此后该信号分为两路,一路延时一个码元的时间后与另一路的信号相乘,再经过低通滤波器去除高频成分,得到包含基带信号的低频信号,将其送入抽样判决器中进行抽样判决,抽样判决器的输出即为原基带信号。它的原理框图如图图3差分相干法法极性比较法:2DPSK信号经过带通滤波器,滤掉信道中产生的噪声,再与本地载波相乘,经过低通滤波器,得到包含基带信号的低频信号,将其送入抽样判决器得到相对码,再经过码(反)变换器得到基带信号。原理图如下所示带通滤波器相乘器低通滤波器抽样判决器逆码变换本地载波2DPSK2DPSK码(反)变换器延迟T相乘器低通滤波器抽样判决器带通滤波器..图4极性比较法法三仿真程序设计1调制系统设计1)产生基带信号本例中使用matlab中的rand函数随机产生10个随机数,并采用就近取整的办法使其值为0、1.此过程产生的码为绝对码。并且,每个值需要分配一定的长度。代码如下:clearallclosealli=10;%码元的个数j=5000;fc=4;fm=i/5;B=2*fm;t=linspace(0,5,j);%将0-5区间平均分为j份%%%%%%%%%%%%%产生基带信号%%%%%%%%%%%%%%%%a=round(rand(1,i));%产生10个随机码,记为ast1=t;..forn=1:10ifa(n)1;form=j/i*(n-1)+1:j/i*n%j/i为每个码元的st1(m)=0;endelseform=j/i*(n-1)+1:j/i*nst1(m)=1;endendend2)相对码产生根据相对码的原理,源码中1的值对应相位改变π,源码中0的值对应相位不改变。将π变为1,0仍为0,则形成相对码。代码如下b=zeros(1,i);b(1)=a(1);forn=2:10ifa(n)=1;ifb(n-1)=1b(n)=0;..elseb(n)=1;endelseb(n)=b(n-1);endendst1=t;forn=1:10ifb(n)1;form=j/i*(n-1)+1:j/i*nst1(m)=0;endelseform=j/i*(n-1)+1:j/i*nst1(m)=1;endendendsubplot(412);plot(t,st1);title('相对码');..axis([0,5,-1,2]);st2=t;fork=1:j;ifst1(k)=1;st2(k)=0;elsest2(k)=1;endend;st1即为相对码,st2为相对码的反码,在调制中使用。3)产生载波信号代码:s1=sin(2*pi*fc*t);4)调制按图一中所示,相对码及其反码分别和载波相乘再相加,即得到调制信号。d1=st1.*s1;d2=st2.*(-s1);%相移180figure(2);subplot(4,1,1);plot(t,d1);..title('st1*s1');subplot(4,1,2);plot(t,d2);title('st2*s2');e_dpsk=d1+d2;00.511.522.533.544.55-1012绝对码00.511.522.533.544.55-1012相对码00.511.522.533.544.55-1012相对码的反码0500100015002000250030003500400045005000-101载波信号图5码元产生..图6调制信号2传输系统设计传输系统设计比较简答,只需加入信道噪声即可。代码:noise=rand(1,j);dpsk=e_dpsk+0.5*noise;%加入噪声效果如图6所示3解调系统设计解调系统中,极性比较法和差分相干法有很多部分相同,可以用相同设计。00.511.522.533.544.55-101st1*s100.511.522.533.544.55-101st2*s200.511.522.533.544.55-101调制后波形00.511.522.533.544.55-202加噪声信号..相同部分设计。1)带通滤波器在仿真过程省略。2)乘法器由于是仿真,可直接相乘。3)低通滤波器设计为只允许基频信号通过。代码:[f,af]=T2F(t,dpsk);[t,dpsk]=lpf(f,af,B);所用函数代码:T2F子函数function[f,sf]=T2F(t,st)%ThisisafunctionusingtheFFTfunctiontocalculateasignal'sFourier%Translation%Inputisthetimeandthesignalvectors,thelengthoftimemustgreater%than2..%Outputisthefrequencyandthesignalspectrumdt=t(2)-t(1);T=t(end);df=1/T;N=length(st);Lpf子函数f=-N/2*df:df:N/2*df-df;sf=fft(st);sf=T/N*fftshift(sf);function[t,st]=lpf(f,sf,B)%Thisfunctionfilteraninputdatausingalowpassfilter%Inputs:f:frequencysamples%sf:inputdataspectrumsamples%B:lowpass'sbandwidthwitharectanglelowpass%Outputs:t:timesamples%st:outputdata'stimesamplesdf=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);4)抽样判决器抽样判决器就是过零检测。代码:st=zeros(1,i);form=0:i-1;ifdpsk(1,m*500+250)0;st(m+1)=0;forj=m*500+1:(m+1)*500;dpsk(1,j)=0;endelseforj=m*500+1:(m+1)*500;st(m+1)=1;dpsk(1,j)=1;endendend两种解调方式不同之处在于延迟单元和码(反)变换器。..5)延迟单元延迟一个码元长度,第一个码元长度的内容根据编码规则,抽样判决。代码:ifdpsk(65)0dpsk_delay(1:j/i)=dpsk(1:j/i);elsedpsk_delay(1:j/i)=-dpsk(1:j/i)enddpsk_delay(j/i+1:j)=dpsk(1:j-j/i);6)码(反)变换器将相对码变换为绝对码,与编码器正好相反。代码:dt=zeros(1,i);dt(1)=st(1);forn=2:10;if(st(n)-st(n-1))=0&&(st(n)-st(n-1))-1;dt(n)=0;elsedt(n)=1;endend..st=t;forn=1:10ifdt(n)1;form=j/i*(n-1)+1:j/i*nst(m)=0;endelseform=j/i*(n-1)+1:j/i*nst(m)=1;endendend4极性比较法解调结果结果如
本文标题:基于MATLAB的2DPSK信号仿真
链接地址:https://www.777doc.com/doc-6245843 .html