您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 国内外标准规范 > 采用-2DPSK-调制的数字通信系统仿真设计
采用2DPSK调制的数字通信系统仿真设计一、实验原理差分编码移相2DPSK在数字通信系统中是一种重要的调制方式,其抗噪性能和信道频带利用率均优于移幅键控(ASK)和移频键控(FSK),因而在实际的数据传输系统中得到广泛的应用。采用2DPSK调制的数字通信系统系统整体框图如图1所示图1系统整体框图1、信道编码(汉明码)汉明码是一种能纠一位错的线性分组码,由于它的编译码简单,在数据通信和计算机存储系统中广泛应用。设原代码的码长为k比特,附加纠错编码部分为r比特,当码字长度n=2r-1,r=n-k,r=1,2…时就称这种线性分组码为汉明码。其基本原理是,将信息码元与监督码元通过线性方程式联系起来,每一个监督位被编在传输码字的特定比特位置上。2、2DPSK信号的调制2DPSK方式即是利用前后相邻码元的相对载波相位值去表示数字信息的一种方式。例如,假设相位值用相位偏移△φ表示(△φ定义为本码元初相与前一码元初相只差),并设△φ=π→数字信息1△φ=0→数字信息0则数字信息序列与2DPSK信号的码元相位关系可举例表示如如下:数字信息:00111001012DPSK信号相位:000π0πππ00π或πππ0π000ππ0画出的2PSK及DPSK信号的波形如图2-1所示。图22PSK及2DPSK信号的波形2DPSK的产生基本类似于2PSK,只是调制信号需要经过码型变换,将绝对码变为相对码。2DPSK产生的原理框图如图2-2所示[1],图(a)为模拟调制法,图(b)为键控法。(a)模拟调制法(b)键控法图32DPSK信号的调制原理图3、信道噪声信道噪声能够干扰通信效果,降低通信的可靠性。在通信系统的理论分析中常常用到的噪声有:白噪声,高斯噪声,高斯型白噪声,窄带高斯噪声,正弦信号加窄带高斯噪声。此次仿真中加入信道的噪声为高斯白噪声。所谓高斯白噪声是指幅度分布服从高斯分布,且功率谱密度又是均匀分布的噪声。4、2DPSK信号的解调2DPSK信号可以采用相干解调法(极性比较法)和差分相干解调法(相位比较法)。本次实验采用相干解调法,图4为相干解调法,解调器原理图和解调过程各点时间波形如图4和5所示。其解调原理是:先对2DPSK信号进行相干解调,恢复出相对码,再通过码反变换器变换为绝对码,从而恢复出发送的二进制数字信息。在解调过程中,若相干载波产生180o相位模糊,解调出的相对码将产生倒置现象,但是经过码反变换器后,输出的绝对码不会发生任何倒置现象,从而解决了载波相位模糊的问题。图4相干解调法解调器原理图图5解调过程各点时间波形二、程序源代码clear;t0=0.15;ts=0.001;fc=200;snr=10;fs=1/ts;df=0.2;t=[ts:ts:t0];snr_lin=10^(snr/10);y=[];nm=length(t);%生成2DPSKbn=[];bn(1)=1;%bn是差分码,设bn的第一个符号为1fori=1:10x=rand;ifx=0.5m(i)=1;elsem(i)=0;endbn(i+1)=xor(m(i),bn(i));forj=1:15l=(i-1)*15+j;c(l)=cos(2*pi*fc*t(l));c1(l)=cos(2*pi*fc*t(l)+pi);ifm(i)==1;mi(l)=1;elsemi(l)=0;endifbn(i+1)==1;bn1(l)=1;y(l)=c(l);elsebn1(l)=0;y(l)=c1(l);endendend%加噪声signal_power=spower(y(1:length(t)));%powerinmodulatedsignalnoise_power=signal_power/snr_lin;%computenoisepowernoise_std=sqrt(noise_power);%computenoisestandarddeviationnoise=noise_std*randn(1,length(y));%generatenoiser=y+noise;%addnoisetothemodulatedsignal%时域频域转换m=mi;[M,m,df1]=fftseq(m,ts,df);M=M*ts;[BN1,bn1,df1]=fftseq(bn1,ts,df);BN1=BN1*ts;f=[0:df1:df1*(length(m)-1)]-fs/2;[Y,y,df1]=fftseq(y,ts,df);Y=Y*ts;[C,c,df1]=fftseq(c,ts,df);C=C*ts;[R,r,df1]=fftseq(r,ts,df);R=R*ts;[NOISE,noise,df1]=fftseq(noise,ts,df);NOISE=NOISE*ts;%解调f_cutoff=70;n_cutoff=floor(70/df1);H=zeros(size(f));H(1:n_cutoff)=2*ones(1,n_cutoff);H(length(f)-n_cutoff+1:length(f))=2*ones(1,n_cutoff);yy=r.*c;[YY,yy,df1]=fftseq(yy,ts,df);YY=YY*ts;DEM=H.*YY;%滤波dem=real(ifft(DEM))/fs;dem=dem(1:length(t));ytemp=dem;y1=ytemp;fori=(1:length(t));%判决,得到解调结果ify1(1,i)0;y1(1,i)=1;elsey1(1,i)=0;end;end;fori=(1:10);%码反变换k=y1((i-1)*15+1:i*15);ifmean(k)0.5;y2(i)=1;elsey2(i)=0;endendy3(1)=xor(y2(1),1);fori=(2:10);y3(i)=xor(y2(i-1),y2(i));endfori=(1:10);forj=(1:15);l=(i-1)*15+j;ify3(i)==1;yout(l)=1;elseyout(l)=0;endendend[Y1,y1,df1]=fftseq(y1,ts,df);Y1=Y1*ts;[YOUT,yout,df1]=fftseq(yout,ts,df);YOUT=YOUT*ts;pause;%仿真pause;figure(1);subplot(3,2,1);plot(t,mi(1:length(t)));grid;axis([00.15-22]);xlabel('Time');title('源信号波形');subplot(3,2,2);plot(f,abs(fftshift(M)));xlabel('Frequency');title('源信号频谱');subplot(3,2,3);plot(t,bn1(1:length(t)));grid;axis([00.15-22]);xlabel('Time');title('码变换后波形');subplot(3,2,4);plot(f,abs(fftshift(BN1)));xlabel('Frequency');title('码变换后频谱');subplot(3,2,5);plot(t,c(1:length(t)));grid;axis([00.15-22]);xlabel('Time');title('载波波形');subplot(3,2,6);plot(f,abs(fftshift(C)));xlabel('Frequency');title('载波频谱');pause;figure(2);subplot(3,2,1);plot(t,noise(1:length(t)));grid;axis([00.15-22]);xlabel('Time');title('噪声波形');subplot(3,2,2);plot(f,abs(fftshift(NOISE)));xlabel('Frequency');title('噪声频谱');subplot(3,2,3);plot(t,y(1:length(t)));grid;axis([00.15-22]);xlabel('Time');title('未加噪声调制波形');subplot(3,2,4);plot(f,abs(fftshift(Y)));xlabel('Frequency');title('未加噪声调制频谱');subplot(3,2,5);plot(t,r(1:length(t)));grid;axis([00.15-22]);xlabel('Time');title('加噪声调制波形');subplot(3,2,6);plot(f,abs(fftshift(R)));xlabel('Frequency');title('加噪声调制频谱');pause;figure(3);subplot(3,2,1);plot(t,yy(1:length(t)));grid;axis([00.15-22]);xlabel('Time');title('相干解调后波形');subplot(3,2,2);plot(f,abs(fftshift(YY)));xlabel('Frequency');title('相干解调后频谱');subplot(3,2,3);plot(t,dem(1:length(t)));grid;xlabel('Time');title('低通后波形');subplot(3,2,4);plot(f,abs(fftshift(DEM)));xlabel('Frequency');title('低通后频谱');subplot(3,2,5);plot(t,y1(1:length(t)));grid;axis([00.15-22]);xlabel('Time');title('抽样判决后波形');subplot(3,2,6);plot(f,abs(fftshift(Y1)));xlabel('Frequency');title('抽样判决后频谱');pause;figure(4);subplot(2,2,1);plot(t,yout(1:length(t)));grid;axis([00.15-22]);xlabel('Time');title('码反变换后波形');subplot(2,2,2);plot(f,abs(fftshift(YOUT)));xlabel('Frequency');title('码反变换后频谱');subplot(2,2,3);plot(t,mi(1:length(t)));grid;axis([00.15-22]);xlabel('Time');title('源信号波形');subplot(2,2,4);plot(f,abs(fftshift(M)));xlabel('Frequency');title('源信号频谱');fftseq.m程序function[M,m,df]=fftseq(m,ts,df)%[M,m,df]=fftseq(m,ts,df)%[M,m,df]=fftseq(m,ts)%FFTSEQgeneratesM,theFFTofthesequencem.%Thesequenceiszeropaddedtomeettherequiredfrequencyresolutiondf.%tsisthesamplinginterval.Theoutputdfisthefinalfrequencyresolution.%Outputmisthezeropaddedversionofinputm.MistheFFT.fs=1/ts;ifnargin==2n1=0;elsen1=fs/df;endn2=length(m);n=2^(max(nextpow2(n1),nextpow2(n2)));M=fft(m,n);m=[m,zeros(1,n-n2)];df=fs/n;spower.m程序fu
本文标题:采用-2DPSK-调制的数字通信系统仿真设计
链接地址:https://www.777doc.com/doc-5588897 .html