Fc=10;%载频Fs=100;%系统采样频率Fd=1;%码速率N=Fs/Fd;df=10;numSymb=25;%进行仿真的信息代码个数M=2;SNRpBit=60;%信噪比SNR=SNRpBit/log2(M);numPlot=25;%产生25个二进制随机码x=randsrc(numSymb,1,[0:M-1]);%产生25个二进制随机码figure(1)stem([0:numPlot-1],x(1:numPlot),'bx');title('二进制随机序列')xlabel('Time');ylabel('Amplitude');b=zeros(1,26);%全零数组b(2)=xor(b(1),x(1))%或非forn=2:25b(n+1)=xor(x(n),b(n));endforn=1:25x(n)=b(n+1);endfigure(2)stem([0:numPlot-1],x(1:numPlot),'bx');title('差分编码')xlabel('Time');ylabel('Amplitude');y=dmod(x,Fc,Fd,Fs,'psk',M,df);numModPlot=numPlot*Fs;t=[0:numModPlot-1]./Fs;figure(3)plot(t,y(1:length(t)),'b-');axis([min(t)2-1.51.5]);%x轴y轴范围title('调制信号')xlabel('Time');ylabel('Amplitude');seed=[1234554321];randn('state',seed(2));%产生正态分布的随机数或矩阵的函数y=awgn(y,SNR-10*log10(0.5)-10*log10(N),'measured',[],'dB');figure(4)plot(t,y(1:length(t)),'b-');axis([min(t)2-1.51.5]);title('加入高斯白噪声后的已调信号')xlabel('Time');ylabel('Amplitude');z1=ddemod(y,Fc,Fd,Fs,'psk',M,df);figure(5)stem([0:numPlot-1],z1(1:numPlot),'ro');axis([0numPlot-0.51.5]);title('相干解调后的信号的绝对码')xlabel('Time');ylabel('Amplitude');a=zeros(1,26);a(1)=xor(b(1),0);forn=2:25a(n)=xor(b(n),b(n-1))endforn=1:25z1(n)=a(n+1);endfigure(6)stem([0:numPlot-1],z1(1:numPlot),'ro');title('解码信号')xlabel('Time');ylabel('Amplitude')%误码率统计[errorSymratioSym]=symerr(x,z1);%求误码率函数figure(6)simbasebandex([0:1:5]);title('相干解调后误码率统计')