MLDesign Technologies, Inc.

Mainnavigation

Subnavigation

BORDER

 
 
 

Pagecontent

Link Analysis with the Irridium System

The se plots and map come from an end-to-end link analysis for an Iridium system satellite-based link between an Francisco and Berlin.

Figure 1: Link analysis plots
Figure 2: System map
  1. %function demoLink
  2. %
  3. % demoLink
  4. %
  5. % This demo simulates the Iridium system. During the simulation
  6. % the routing path between Berlin and SanFrancisco is calculated.
  7. % For uplink, crosslink, and downlink channel Eb/N0, delay, C/N,
  8. % and the biterror rate are calculated. In the next step Eb/N0
  9. % delay, C/N, and the biterror rate for the whole link is
  10. % computed and shown.
  11. %
  12.  
  13. 1; % Not a function file, since the first command is not the function
  14.    % keyword
  15.    %
  16.  
  17.  
  18. function[EbN0, DELAY, BEP, CN, CN0]
  19.     = UpDownChannel(DIST, ELEV, ALT,LAT)
  20.  
  21.     % DIST  [km] Distance vector from groundstation to satellite
  22.     % ELEV  [deg] Elevation angle vector from groundstation to satellite
  23.     % ALT   [km] Altitude of groundstation over NN
  24.     % LAT   [deg] Latitude of groundstation (deg)
  25.     %
  26.     % EbN0  [dB] Bit energy Eb/N0 (dB)
  27.     % DELAY [sec] Delays
  28.     % BEP   [] Bit error rate
  29.     % CN    [dB] Carrier-to-noise ratio
  30.     % CN0   [dB] Carrier-to-noise density ratio (dB)
  31.  
  32.     % user setting variables for downlink
  33.     F     = 1.62e9; % Carrier Frequency [Hz]
  34.     Pol   = 45;     % Polarization 45-circ., 0-horiz., 90-vert.
  35.     B     = 75e3;   % Channel Bandwidth [Hz]
  36.     Rb    = 50e3;   % Data bit rate [bps]
  37.     Eta   = 0.55;   % Antenna efficiency
  38.     D     = 1;      % Antenna diameter [m]
  39.     Pt    = 10;     % Transmitter Power [W]
  40.     Lp    = 3;      % Pointing Loss [dB]
  41.     T     = 18;     % Temperature [deg C]
  42.     Rho   = 5;      % Water vapour [g/m^3]
  43.     R001  = 31;     % Rain rate 0.01 % [mm/h]
  44.     ISI   = 0.5;    % Intersymbol Interference Loss [dB]
  45.     Lm    = 3;      % Link Margin [dB]
  46.     Fomr  = -24.8% Figure of Merit [dB]
  47.     Coder = 4;      % ConvolutionCode4
  48.     M     = 0;      % ASK modulation
  49.  
  50.     Gt    = G_antenna(F, D, Eta);             % Antenna gain maximum
  51.     EIRP  = dB(Pt) + Gt;                      % EIRP
  52.     Lg    = L_gas (ALT, ELEV, F, Rho, T);     % Gas Loss
  53.     Lr    = L_rain (ALT, ELEV, F, LAT, R001); % Rain Loss
  54.     Lfs   = L_fs (DIST, F);                   % Free space Loss
  55.     L     = Lfs + Lg + Lr + Lp + ISI;         % Overall Losses
  56.     Gc    = G_coding (Coder);
  57.     DELAY = Delay (DIST, Lr);
  58.     BEP   = BER (EbN0, M);
  59.     [EbN0, CN0, CN] = LinkBudget(EIRP, L, Lm, Gc, Fomr, Rb, B);
  60.  
  61.     % inverse dB
  62.     EbN0A = exp10(EbN0/10);
  63. endfunction
  64.  
  65.  
  66. function[EbN0, DELAY, BEP, CN, CN0] = CrossLinkChannel(DIST)
  67.     % DIST  [km]  Distance vector from groundstation to satellite
  68.     % ELEV  [deg] Elevation angle vector from groundstation to satellite
  69.     % ALT   [km]  Altitude of groundstation over NN
  70.     % LAT   [deg] Latitude of groundstation (deg)
  71.     %
  72.     % EbN0  [dB]  Bit energy Eb/N0 (dB)
  73.     % DELAY [sec] Delays
  74.     % BEP   []    Bit error rate
  75.     % CN    [dB]  Carrier-to-noise ratio
  76.     % CN0   [dB]  Carrier-to-noise density ratio (dB)
  77.  
  78.     % user setting variables for downlink
  79.     F     = 1.62e9;  % Carrier Frequency [Hz]
  80.     B     = 10e6;    % Channel Bandwidth [Hz]
  81.     Rb    = 12e6;    % Data bit rate [bps]
  82.     Eta   = 0.55;    % Antenna efficiency
  83.     D     = 2;       % Antenna diameter [m]
  84.     Pt    = 30;      % Transmitter Power [W]
  85.     Lp    = 3;       % Pointing Loss [dB]
  86.     ISI   = 0.5;     % Intersymbol Interference Loss [dB]
  87.     Lm    = 3;       % Link Margin [dB]
  88.     Fomr  = -10;     % Figure of Merit [dB]
  89.     Coder = 4;       % ConvolutionCode4
  90.     M     = 17;      % QPSK modulation
  91.     Gt    = G_antenna(F, D, Eta); % Antenna gain maximum
  92.     EIRP  = dB(Pt) + Gt;          % EIRP
  93.     Lfs   = L_fs (DIST, F);       % Free space Loss
  94.     L     = Lfs + Lp + ISI;       % Overall Losses
  95.     Gc    = G_coding (Coder);
  96.     DELAY = Delay (DIST);
  97.     BEP   = BER (EbN0, M);
  98.     [EbN0, CN0, CN] = LinkBudget(EIRP, L, Lm, Gc, Fomr, Rb, B);
  99.  
  100.     EbN0A = exp10(EbN0/10);    % inverse dB
  101. endfunction
  102.  
  103.  
  104. loadreplaceAll("./IR66.data");
  105.  
  106. % initialize values for Iridium
  107. Node1 = getNodeNumber('SanFrancisco')+1;
  108. Node2 = getNodeNumber('Berlin')+1;
  109. SatsPerOrbit=11;
  110.  
  111. % other values
  112. [lat(1), alt(1)] = getNodeParameter (Node1-1, P_lat, P_alt);
  113. [lat(2), alt(2)] = getNodeParameter (Node2-1, P_lat, P_alt);
  114.  
  115. % set start time
  116. setSimEpoch(1992,7,30,10,30,0);
  117.  
  118. % time steps
  119. t=0:10:600;
  120. for i=1:max(size(t))
  121.     tnow=t(i);
  122.     setSimTime(tnow);
  123.     [d,r,a,e,v] = RelPosition ();
  124.     D = RoutingCorrection
  125.     (d,v,SatsPerOrbit,NumberOfStations+NumberOfMobiles);
  126.     Route= RoutingDijkstra (D,Node1,Node2);
  127.     UsedNodes=prod(size(Route));
  128.    
  129.     % uplink
  130.     [EbN0(1), Delay(1),Ber(1),CN(1),CN0(1)]
  131.         =UpDownChannel(d(Node1,
  132.                        Route(2)),
  133.                        e(Node1,
  134.                        Route(2)),
  135.                        alt(Node1),
  136.                        lat(Node1));
  137.  
  138.     % crosslink
  139.     for i2 = 2:(UsedNodes-2)
  140.         distance(i2)=d(Route(i2),Route(i2+1));
  141.         [EbN0(i2),Delay(i2),Ber(i2),CN(i2),CN0(i2)]
  142.             =CrossLinkChannel(distance(i2));
  143.     endfor
  144.  
  145.     % downlink
  146.     i2 = UsedNodes-1;
  147.     [EbN0(i2),Delay(i2),Ber(i2),CN(i2),CN0(i2)]
  148.         =UpDownChannel(d(Node2,
  149.                        Route(i2)),
  150.                        e(Node2,
  151.                        Route(i2)),
  152.                        alt(Node2),
  153.                        lat(Node2));
  154.  
  155.     % all links
  156.     Delay_g(i) = 0;
  157.     for i2 = 1:(UsedNodes-1)
  158.         if(i2==1)
  159.             Delay_g(i) = Delay(i2);
  160.             CN_g(i) = CN(i2);
  161.             Ber_g(i)=Ber(i2);
  162.         else
  163.             Delay_g(i)=Delay_g(i)+Delay(i2);
  164.             zw1 = exp10(CN_g(i)/10.0);
  165.             zw2 = exp10(CN(i2) /10.0);
  166.             CN_g(i)=10*log10(1/((1/zw1) + (1/zw2)));
  167.             Ber_g(i)=Ber_g(i)*(1-Ber(i2)) + (1-Ber_g(i))*Ber(i2);
  168.         endif
  169.     endfor
  170.  
  171.     EbN0_g(i)=CN_g(i)-10.0*log(12.0/10.0);
  172. endfor
  173.  
  174. erase
  175. title('SanFrancisco to Berlin');
  176. window('221');
  177. plot(t,EbN0_g,'grid','red');
  178. xlabel('t [sec]');
  179. ylabel('Eb/N0 [dB]');
  180.  
  181. window('222');
  182. plot(t,Delay_g,'grid','red');
  183. xlabel('t [sec]');
  184. ylabel('Delay [sec]');
  185.  
  186. window('223')
  187. plot(t,CN_g,'grid','green');
  188. xlabel('t [sec]');
  189. ylabel('C/N [dB]');
  190.  
  191. window('224')
  192. plot(t,log10(Ber_g),'grid','green');
  193. xlabel('t [sec]');
  194. ylabel('log10(BER)');
  195.  
  196. %demos
  197. %endfunction
  198.