您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 基于Matlab的卫星中继通信链路仿真
基于Matlab的卫星中继通信链路仿真*****************摘要:卫星通信是地球上的无线电通信站利用卫星作为中继而进行的通信,卫星通信系统由卫星和地球站两部分组成。卫星转发方式有透明转发和译码转发。本文基于matlab软件平台,对地静止卫星通信系统中卫星中继地球站发送数据的转发过程仿真,并给出接收信息BER曲线。关键字:卫星中继;Matlab仿真;BER曲线中图分类号:O121.8;G5581引言卫星信道的特点是:可用频带宽、功率受限、干扰大、信噪比低。所以要求采用可靠性高的信号调制方式,并要求有较强的信号纠错能力,对带宽要求不是特别高。因此DVB-S采用前向纠错(FEC)(包括Viterbi编码、交织、RS编码及加扰等电路)、正交移相键控(QPSK)调制的信道处理方式,然后馈给卫星链路。接收时进行相反的处理。本文对卫星工作过程进行仿真,得到信号的BER曲线,从而知道可靠传输所需发射功率。2系统模型及仿真2.1建模假设本文中所设计的卫星中继链路中中继卫星为GEO同步轨道卫星,采用Ku频段,6个地球站采用FDMA。通过卫星向另外一个地球站发送信息:上行载波中心频率为14253MHz,下行载波中心频率为12028MHz,载波间隔为10MHz。•发送地球站与卫星之间的距离为:[399954000040005400104001540020]km•卫星和接收地球站之间的距离是42000km•卫星的EIRP是56dBW,天线增益为30dB•地球站的天线增益为32dB•信道模型采用AWGN基于以上条件,本文将给出对地静止卫星中继地球站发送信息的完整过程,并给出某个发送地球站的信息在接收地球站的BER曲线。2.2系统模型及结果2.2.1透明转发该通信链路设计思路为:信源→比特流→调制(QPSK)→频分复用→上变频→AWGN信道→卫星接收透明转发→AWGN信道→下变频→判决→解调(DQPSK)→比特流。得到某个发送地球站的信息在接收地球站的BER曲线,如下图所示:为了更好描述零值,用以下曲线描述:00.511.522.533.510-510-410-310-2X:3.01Y:5.9e-05X:0Y:0.002783X:1.761Y:0.00032发射功率dbW误码率BER透明转发BER曲线2.2.2译码转发该通信链路设计思路为:信源→比特流→调制(QPSK)→频分复用→上变频→AWGN信道→卫星接收译码转发→AWGN信道→下变频→判决→解调(DQPSK)→比特流。得到某个发送地球站的信息在接收地球站的BER曲线,如下图所示05101520253000.511.522.53x10-3X:0Y:0.002783发射功率dbW误码率BER透明转发BER曲线X:1.761Y:0.00032X:3.01Y:5.9e-05为了更好描述零值,用以下曲线描述:2.2.3两种转发方式对比00.511.522.533.510-510-410-310-2X:0Y:0.002241发射功率dbW误码率BER译码转发BER曲线X:1.761Y:0.000259X:3.01Y:3.4e-0505101520253000.511.522.5x10-3X:0Y:0.002241发射功率dbW误码率BER译码转发BER曲线X:1.761Y:0.000259X:3.01Y:3.4e-053结论由图可以看出,SNR越大,BER越低,通信的可靠性越高;译码转发比透明转发更可靠。附录1:链路仿真源代码透明转发:p=[12481632641282565121024];%发射功率dup=40005;%上行距离fup=14253;%上行载波中心频率%dup=[399954000040005400104001540020];%fup=[142281423814248142581426814278];%数值差异很小忽略FSLup=32.4+20*log(dup)/log(10)+20*log(fup)/log(10);%上行自由空间损耗h1=sqrt(10^3.2*10^3.2/(10^(FSLup/10)));%增益ddo=42000;%下行距离00.511.522.533.544.510-510-410-310-2X:0Y:0.002783发射功率dbW误码率BER透明转发与译码转发BER曲线X:0Y:0.002241X:1.761Y:0.00032X:3.01Y:5.9e-05X:1.761Y:0.000259X:3.01Y:3.4e-05蓝色为透明转发红色为译码转发fdo=12028;%下行载波中心频率FSLdo=32.4+20*log(ddo)/log(10)+20*log(fdo)/log(10);%下行自由空间损耗h2=sqrt(10^5.6*10^3.2/(10^(FSLdo/10)));%56dB增益N0=1.38*10^(-23)*80*60000000;%噪声功率BER=zeros(1,11);forkk=1:11num=500000;pt=p(kk);erro=0;whilenumnum=num-1;infor=randi([01],1,12);[d]=g2(infor,12);fork=1:6fort=1:120x(k,t)=d(k)*exp(j*2*pi*(14228+10*(k-1))*t/1200);endends1=x(1,:)+x(2,:)+x(3,:)+x(4,:)+x(5,:)+x(6,:);%以上发射前的信号n1=wgn(1,120,10*log(N0)/log(10),'complex');y=sqrt(pt)*h1*s1+n1;%以上卫星接收到的信号n2=wgn(1,120,10*log(N0)/log(10),'complex');fort=1:120%上行载波频率变为下行载波频率yy(t)=y(t)*exp(j*2*pi*(fdo-fup)*t/1200)/sqrt(pt*h1^2+N0);ends2=h2*yy+n2;%以上地球站接收到的信号fort=1:120s3(t)=s2(t)*exp(-j*2*pi*12003*t/1200);endxxx=sum(s3(:));%选择性接收第一个地球站的信号%判决[shuzhixiabiao]=min(abs(angle(xxx)-[pi/43*pi/4-pi/4-3*pi/4]));infor2=[fix((xiabiao-1)/2)mod((xiabiao-1),2)];%判决为infor2ifinfor2(1)~=infor(1)erro=erro+1;endifinfor2(2)~=infor(2)erro=erro+1;endendBER(kk)=erro/1000000;endsemilogy(10*log(p)/log(10),BER,'b');holdon译码转发:p=[12481632641282565121024];%发射功率dup=40005;%上行距离fup=14253;%上行载波中心频率%dup=[399954000040005400104001540020];%fup=[142281423814248142581426814278];%数值差异很小忽略FSLup=32.4+20*log(dup)/log(10)+20*log(fup)/log(10);%上行自由空间损耗h1=sqrt(10^3.2/(10^(FSLup/10)));%增益ddo=42000;%下行距离fdo=12028;%下行载波中心频率FSLdo=32.4+20*log(ddo)/log(10)+20*log(fdo)/log(10);%下行自由空间损耗h2=sqrt(10^5.6/(10^(FSLdo/10)));%56dB增益N0=1.38*10^(-23)*80*60000;%噪声功率BER2=zeros(1,11);forkk=1:11num=500000;pt=p(kk);erro=0;whilenumnum=num-1;%infor1=randint(1,2);%infor2=randint(1,2);%infor3=randint(1,2);%infor4=randint(1,2);%infor5=randint(1,2);%infor6=randint(1,2);infor=randi([01],1,12);[d]=g2(infor,12);fork=1:6fort=1:120x(k,t)=d(k)*exp(j*2*pi*(14228+10*(k-1))*t/1200);endends1=x(1,:)+x(2,:)+x(3,:)+x(4,:)+x(5,:)+x(6,:);%以上发射前的信号n1=wgn(1,120,10*log(N0)/log(10),'complex');y=sqrt(pt)*h1*s1+n1;%以上卫星接收到的信号fort=1:120y2(t)=y(t)*exp(-j*2*pi*14228*t/1200);%下变频ends2=sum(y2(:));%选择性接收第一个地球站的信号%判决[shuzhixiabiao]=min(abs(angle(s2)-[pi/43*pi/4-pi/4-3*pi/4]));informa=[fix((xiabiao-1)/2)mod((xiabiao-1),2)];aa=g2(informa,2);fort=1:120y3(t)=aa*exp(j*2*pi*12003*t/1200);endn2=wgn(1,120,10*log(N0)/log(10),'complex');y4=h2*y3+n2;%以上地球站接收到的信号fort=1:120y5(t)=y4(t)*exp(-j*2*pi*12003*t/1200);ends3=sum(y5(:));%选择性接收第一个地球站的信号%判决[shuzhixiabiao]=min(abs(angle(s3)-[pi/43*pi/4-pi/4-3*pi/4]));infor2=[fix((xiabiao-1)/2)mod((xiabiao-1),2)];%判决为infor2ifinfor2(1)~=infor(1)erro=erro+1;endifinfor2(2)~=infor(2)erro=erro+1;endendBER2(kk)=erro/1000000;endsemilogy(10*log(p)/log(10),BER2,'b');holdonQPSK源代码:function[d]=g2(bit,Nc)A=[exp(j*pi/4)00;exp(j*3*pi/4)01;exp(-j*3*pi/4)11;exp(-j*pi/4)10];fork=1:Nc/2ifbit(2*k-1:2*k)==[00]d(k)=A(1,1);elseifbit(2*k-1:2*k)==[01]d(k)=A(2,1);elseifbit(2*k-1:2*k)==[11]d(k)=A(3,1);elseifbit(2*k-1:2*k)==[10]d(k)=A(4,1);endend致谢时间如白驹过隙,在大学能够上课的最后一个学期中,有幸在卫星选修课上与高师一同度过。在此衷心感谢高老师的认真授课,让我获益匪浅。在此祝老师身体健康,工作顺利!
本文标题:基于Matlab的卫星中继通信链路仿真
链接地址:https://www.777doc.com/doc-7291212 .html