MLDesign Technologies, Inc.

Mainnavigation

Subnavigation

BORDER

 
 
 

Pagecontent

Crosslink Channel Analysis

The plots and map below were generated with a SatLab crosslink channel analysis for the<br />Iridium satellite system. It could easily be modified to perform the same analysis on a different satellite system by changing the satellite configuration information.

The map shows the Iridium satellites in an Earth Intertial GL view from space. The viewing perspective is directly above the equator at 0 longitude so satellites 1A and 2A, used in this analysis, are clearly visible in the southern hemisphere.

The script for this analysis is shown below.

Figure 1: Four plots from the crosslink analysis
Figure 2: ECI GL view of satellites and earth
Scipt- Demo Crosslink Channel
  1. %
  2. %        This demo simulates the Iridium system. During the simulation
  3. %        the interplane crosslink between satellite 1A and satellite 2A
  4. %        is calculated. For this crosslink Eb/N0, delay, C/N, and the
  5. %        biterror rate is calculated and shown.
  6. %        The used frequency, coding, modulation, etc. can be changed
  7. %        by the user in the m-Files.
  8. %
  9.  
  10. 1% Not a function file, since the first command is not the function keyword
  11.  
  12. function[EbN0, DELAY, BEP, CN, CN0] = CrossLinkChannel(DIST)
  13.  
  14.   %   DIST  [km]   Distance vector from groundstation to satellite
  15.   %   ELEV  [deg]  Elevation angle vector from groundstation to satellite
  16.   %   ALT   [km]   Altitude of groundstation over NN
  17.   %   LAT   [deg]  Latitude of groundstation (deg)
  18.   %
  19.   %   EbN0  [dB]   Bit energy Eb/N0 (dB)
  20.   %   DELAY [sec]  Delays
  21.   %   BEP   []     Bit error rate
  22.   %   CN    [dB]   Carrier-to-noise ratio
  23.   %   CN0   [dB]   Carrier-to-noise density ratio (dB)
  24.  
  25.   % user setting variables for downlink
  26.   F     = 1.62e9;   % Carrier Frequency [Hz]
  27.   B     = 10e6;     % Channel Bandwidth [Hz]
  28.   Rb    = 12e6;     % Data bit rate [bps]
  29.   Eta   = 0.55;     % Antenna efficiency
  30.   D     = 2;        % Antenna diameter [m]
  31.   Pt    = 1;        % Transmitter Power [W]
  32.   Lp    = 3;        % Pointing Loss [dB]
  33.   ISI   = 0.5;      % Intersymbol Interference Loss [dB]
  34.   Lm    = 3;        % Link Margin [dB]
  35.   Fomr  = -10;      % Figure of Merit [dB]
  36.   Coder = 4;        % ConvolutionCode4
  37.   M     = 17;       % QPSK modulation
  38.   Gt    = G_antenna(F, D, Eta); % Antenna gain maximum
  39.   EIRP  = dB(Pt) + Gt;          % EIRP
  40.   Lfs   = L_fs (DIST, F);       % Free space Loss
  41.   L     = Lfs + Lp + ISI;       % Overall Losses
  42.   Gc    = G_coding (Coder);
  43.  
  44.   [EbN0, CN0, CN] = LinkBudget(EIRP, L, Lm, Gc, Fomr, Rb, B);
  45.   DELAY = Delay (DIST);
  46.   BEP   = BER (EbN0, M);
  47.  
  48.   % inverse dB
  49.   EbN0A = exp10(EbN0/10);
  50.  
  51. endfunction
  52.  
  53.  
  54. %
  55. % start of the demo
  56. %
  57.  
  58. fprintf(stdout,"Start of introductory demo_channel_updown.....\n");
  59.  
  60. % Load system Iridium
  61. fprintf(stdout,"Loading the Iridium system\n");
  62. fprintf(stdout,'loadreplaceAll("./IR66.data");\n');
  63. loadreplaceAll("./IR66.data");
  64. dt = 100;
  65. i  = 0;
  66.  
  67. setSimEpoch(1996,7,29,14,30,0);
  68. setSimStepSize(dt);
  69.  
  70. [lon,lat,alt] = getNodeParameter ("SanFrancisco", P_lon, P_lat, P_alt);
  71. for t=0:dt:6000
  72.   i       = i+1;
  73.   time(i) = t;
  74.   stepSim;
  75.   [DIST(i),RELVEL(i),AZ(i),EL(i), V(i)] = RelPosition('1A','2A');
  76. endfor
  77.  
  78. [EbN0, DELAY, BEP, CN, CN0] = CrossLinkChannel(DIST, EL, alt, lat);
  79.  
  80. % plot the result
  81. t=0:100:6000;
  82. erase
  83.  
  84. title('Interplane Crosslink: 1A -> 2A');
  85. window('221');
  86. plot(t,EbN0,'grid','red');
  87. xlabel('t [sec]');
  88. ylabel('Eb/N0 [dB]');
  89.  
  90. window('222');
  91. plot(t,DELAY,'grid','red');
  92. xlabel('t [sec]');
  93. ylabel('Delay [sec]');
  94.  
  95. window('223')
  96. plot(t,CN,'grid','green');
  97. xlabel('t [sec]');
  98. ylabel('C/N [dB]');
  99.  
  100. window('224')
  101. plot(t,log(BEP),'grid','green');
  102. xlabel('t [sec]');
  103. ylabel('log10(BER)');
  104.  
  105. demos
  106. %endfunction
  107.