2DPSK调制与解调的数字通信系统软件仿真
2DPSK调制与解调的数字通信系统软件仿真 一、 试验内容 1、设计系统整体框图及数学模型; 2、产生离散二进制信源,进行信道编码(汉明码),产生2DPSK信号; 3、加入信道噪声(高斯白噪声); 4、2DPSK信号相干解调,信道解码; 5、系统性能分析(信号波形、频谱,白噪声的波形、频谱,信道编解码带来的系统误码率性能增益,误码率与理论曲线对比等)。 二、试验原理 2DPSK的调制原理 在传输信号中,2PSK信号具有较好的误码率性能。但是,在2PSK信号的载波复原过程中存在着180度的相位模糊,即复原的本地载波与所需的相干载波可能同相也可能反相,这种相位关系的不确定性将会造成解调出的数字基带信号与发送出的数字基带信号正好相反,即“1”变为“0”,“0”变为“1”,判决器输出输出数字信号全部出错。为了克服此缺点提出二进制差分相移键控(2DPSK)方式。 2DPSK信号的产生方法是先对二进制数字基带信号进行差分编码,即把表示数字信息序列的肯定码变换成相对码,然后再依据相对码进行肯定调相,从而变成二进制差分相移键控信号。2DPSK信号调制器原理框图如图2-1所示。 2DPSK的解调原理 2DPSK的解调方法分为两种:一种是相干解调加码反变换即极性比较法,另一种是差分相干解调即相位比较法。 这里采纳的是第一种 其解调原理是:对2DPSK信号进行相干解调,复原出相对码,再经码反变换器变换为肯定码从而复原动身送的二进制数字信息。在解调过程中,由于载波相位模糊性的影响,使得解调出的相对码也可能是“1”和“0”倒置,但经差分译码得到的肯定码不会发生任何倒置的现象,从而解决了载波相位模糊带来的问题。2DPSK的相干解调原理框图如图2-3所示 三、仿真设计 四、试验结果%二进制 N=7;%(7,4)Hamming码 m=3; DeCodeSignal =[]; DeCodeSignal(1) = 0; CodeSignal=encode(Signal,N,N-m); %Hamming编码 CodeSignal=reshape(CodeSignal. ,log2(M),n*N/log2(M)). ; Signal=reshape(Signal. ,log2(M),n*(N-m)/log2(M)). ; bit2=[]; for i=1:length(Signal) if Signal(i)==0 bit3=zeros(1,Num_Unit); else bit3=ones(1,Num_Unit); end bit2=[bit2,bit3]; end figure(1) subplot(3,1,1) plot(bit2); title( 基带信号 ),grid on; axis([0,Num_Unit*(length(Signal)-4),-1.5,1.5]); Lenth_Of_CoSign = length ( CodeSignal ); %--------------------------------------------------- %>>>>>>>>>>>>>肯定码 -〉相对码>>>>>>>>>>>>>>> %--------------------------------------------------- DeCodeSignal(1)=0+CodeSignal(1); if DeCodeSignal(1)==2 DeCodeSignal(1)=0; else DeCodeSignal(1)=DeCodeSignal(1); end for ww=2:Lenth_Of_CoSign DeCodeSignal(ww)=DeCodeSignal(ww-1)+CodeSignal(ww); if DeCodeSignal(ww)==2 DeCodeSignal(ww)=0; else DeCodeSignal(ww)=DeCodeSignal(ww); end end Coded_Signal = DeCodeSignal; %--------------------------------------------------- %>>>>>>>>>>>产生基带信号>>>>>>>>>>>> %--------------------------------------------------- SignalOrign=[]; for i=1:Lenth_Of_CoSign if CodeSignal(i)==0 SignalOrign1=zeros(1,Num_Unit); else SignalOrign1=ones(1,Num_Unit); end SignalOrign=[SignalOrign,SignalOrign1]; end subplot(3,1,2) plot(SignalOrign); title( 编码后基带信号 ),grid on; axis([0,Num_Unit*Lenth_Of_CoSign,-1.5,1.5]); subplot(3,1,3) %p