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;endend7end3.1.2相对码产生根据相对码的原理,源码中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;endendend8subplot(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.1.3产生载波信号代码:s1=sin(2*pi*fc*t);3.1.4调制按图3.1中所示,相对码及其反码分别和载波相乘再相加,即得到调制信号。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;