当前位置:文档之家› 基于Matlab的卫星中继通信链路仿真

基于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。

•发送地球站与卫星之间的距离为:[39995 40000 40005 40010 40015 40020]km•卫星和接收地球站之间的距离是42000km•卫星的EIRP 是56dBW,天线增益为30dB•地球站的天线增益为32dB•信道模型采用AWGN基于以上条件,本文将给出对地静止卫星中继地球站发送信息的完整过程,并给出某个发送地球站的信息在接收地球站的BER 曲线。

2.2 系统模型及结果2.2.1 透明转发该通信链路设计思路为: 信源→比特流→调制(QPSK )→频分复用→上变频→AWGN 信道→卫星接收透明转发→AWGN 信道→下变频→判决→解调(DQPSK)→比特流。

得到某个发送地球站的信息在接收地球站的BER 曲线,如下图所示:为了更好描述零值,用以下曲线描述:00.51 1.522.533.510101010发射功率dbW 误码率B E R 透明转发BER 曲线2.2.2 译码转发该通信链路设计思路为: 信源→比特流→调制(QPSK )→频分复用→上变频→AWGN 信道→卫星接收译码转发→AWGN 信道→下变频→判决→解调(DQPSK)→比特流。

得到某个发送地球站的信息在接收地球站的BER 曲线,如下图所示-3发射功率dbW 误码率B E R 透明转发BER 曲线为了更好描述零值,用以下曲线描述:2.2.3 两种转发方式对比00.51 1.522.533.510101010发射功率dbW 误码率B E R 译码转发BER 曲线-3发射功率dbW 误码率B E R 译码转发BER 曲线透明转发与译码转发BER曲线00.51 1.52 2.53 3.54 4.5发射功率dbW3 结论由图可以看出,SNR越大,BER越低,通信的可靠性越高;译码转发比透明转发更可靠。

附录1:链路仿真源代码透明转发:p=[1 2 4 8 16 32 64 128 256 512 1024];%发射功率dup=40005;%上行距离fup=14253;%上行载波中心频率% dup=[39995 40000 40005 40010 40015 40020];% fup=[14228 14238 14248 14258 14268 14278];%数值差异很小忽略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;%下行距离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);for kk=1:11num=500000;pt=p(kk);erro=0;while numnum=num-1;infor=randi([0 1],1,12);[d]=g2(infor,12);for k=1:6for t=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');for t=1:120 %上行载波频率变为下行载波频率yy(t)=y(t)*exp(j*2*pi*(fdo-fup)*t/1200)/sqrt(pt*h1^2+N0);ends2=h2*yy+n2;%以上地球站接收到的信号for t=1:120s3(t)=s2(t)*exp(-j*2*pi*12003*t/1200);endxxx=sum(s3(:));%选择性接收第一个地球站的信号%判决[shuzhi xiabiao]=min(abs(angle(xxx)-[pi/4 3*pi/4 -pi/4 -3*pi/4])); infor2=[fix((xiabiao-1)/2) mod((xiabiao-1),2)];%判决为infor2if infor2(1)~=infor(1)erro=erro+1;endif infor2(2)~=infor(2)erro=erro+1;endendBER(kk)=erro/1000000;endsemilogy(10*log(p)/log(10),BER,'b');hold on译码转发:p=[1 2 4 8 16 32 64 128 256 512 1024];%发射功率dup=40005;%上行距离fup=14253;%上行载波中心频率% dup=[39995 40000 40005 40010 40015 40020];% fup=[14228 14238 14248 14258 14268 14278];%数值差异很小忽略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);for kk=1:11num=500000;pt=p(kk);erro=0;while numnum=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([0 1],1,12);[d]=g2(infor,12);for k=1:6for t=1:120x(k,t)=d(k)*exp(j*2*pi*(14228+10*(k-1))*t/1200);ends1=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;% 以上卫星接收到的信号for t=1:120y2(t)=y(t)*exp(-j*2*pi*14228*t/1200);%下变频ends2=sum(y2(:));%选择性接收第一个地球站的信号%判决[shuzhi xiabiao]=min(abs(angle(s2)-[pi/4 3*pi/4 -pi/4 -3*pi/4])); informa=[fix((xiabiao-1)/2) mod((xiabiao-1),2)];aa=g2(informa,2);for t=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;%以上地球站接收到的信号for t=1:120y5(t)=y4(t)*exp(-j*2*pi*12003*t/1200);ends3=sum(y5(:));%选择性接收第一个地球站的信号%判决[shuzhi xiabiao]=min(abs(angle(s3)-[pi/4 3*pi/4 -pi/4 -3*pi/4])); infor2=[fix((xiabiao-1)/2) mod((xiabiao-1),2)];%判决为infor2if infor2(1)~=infor(1)erro=erro+1;endif infor2(2)~=infor(2)erro=erro+1;endendBER2(kk)=erro/1000000;endsemilogy(10*log(p)/log(10),BER2,'b');hold onQPSK源代码:function [d]=g2(bit,Nc)A=[exp(j*pi/4) 0 0;exp(j*3*pi/4) 0 1;exp(-j*3*pi/4) 1 1;exp(-j*pi/4) 1 0];for k=1:Nc/2if bit(2*k-1:2*k)==[0 0]d(k)=A(1,1);elseif bit(2*k-1:2*k)==[0 1]d(k)=A(2,1);elseif bit(2*k-1:2*k)==[1 1]d(k)=A(3,1);elseif bit(2*k-1:2*k)==[1 0]d(k)=A(4,1);endend致谢时间如白驹过隙,在大学能够上课的最后一个学期中,有幸在卫星选修课上与高师一同度过。

相关主题