home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload / ShartewareOverload.cdr / progm / grafx.zip / CSAT.FOR < prev    next >
Text File  |  1989-03-21  |  2KB  |  71 lines

  1. c    program main
  2. c    call gset                                !  enter graphic mode
  3. c    call csat
  4. c    call aset                                !  return to alpha mode
  5. c    end
  6. c    -----------------------------------------------------------------------
  7.     subroutine csat
  8. c
  9. c    ...computer xmit power for a given satellite altitude w/o
  10. c    atmospheric losses
  11. c
  12. c    (C) Copyright 1988, 1989 by Jim Farrell      All Rights Reserved.
  13. c
  14.     parameter (api=3.1415926535,a2pi=2.0*api,apio2=api/2.0)
  15.     parameter (acrtod=360.0/a2pi)
  16.     parameter (a4pi=4.0*api)
  17.     parameter (aerkm=6378.135,aerm=6378135.0)
  18.     parameter (bk=1.380e-23)                !  Boltzman's constant
  19.     parameter (c=3.0e08)                !  speed-of-light (meters/sec)
  20. c
  21.     parameter (n=100)
  22.     real x(n),y1(n),y2(n),y3(n),y4(n)
  23. c
  24.     dbm(x)=10.0*log10(x*1.0e03)            !  power in dbm
  25. c
  26. c    ...meters, hertz
  27. c
  28.     fhz=270e06                        !  frequency
  29.     wl=c/fhz                            !  wavelength    re=aerm
  30.     peff=0.55                            !  overall efficiency factor
  31. c
  32. c    ...G/T receiver antenna gain to system effective noise temp. ratio
  33. c    ...Es/No bit energy to noise density ratio
  34. c
  35.     gten=6.4564e-04                    !  given
  36.     brate=2600.0                        !  bit rate
  37. c    ber=10e-3                            !  bit error rate
  38.     re=aerm                            !  earth radius (meters)
  39.     dalt=5000.0*1.0e03/real(n)
  40.     do 500 i=1,n
  41.         salt=real(i)*dalt                    !  satellite altitude (m)
  42.         rs=sqrt((re+salt)**2-re**2)            !  slant range at edge
  43.         bwo2=asin(re/(re+salt))                !  required half-beamwidth
  44.         arad=0.25*wl/bwo2                    !  parabolic antenna radius
  45.         at=api*arad**2                        !  antenna area
  46.         gtx=(a4pi/wl**2)*peff*at                !  xmit antenna gain
  47.         fsl=(a4pi*rs/wl)**2                    !  free space loss
  48.         eirp=brate*fsl*bk/gten                !  eff. isotrop. rad. pwr
  49.         pxmt=eirp/gtx                        !  xmitr pwr req.
  50.         x(i)=salt*1.0e-03                    !  altitude in km
  51.         y1(i)=dbm(pxmt)                    !  load arrays for plotting
  52.         y2(i)=bwo2*2.0*acrtod
  53.         y3(i)=dbm(fsl)
  54.         y4(i)=dbm(gtx)
  55. 500    continue
  56.     call putstr(10,20,'     DEMONSTRATION OF X-Y PLOT MODES')
  57.     call putstr(12,20,' FOR  A COMMUNICATIONS SATELLITE CALCULATION')
  58.     call pause('WHEN READY ')        !  display message and pause
  59.     call gcls
  60.     call xyplt(x,y1,n,0,4)
  61.     call pause('REVIEW POWER (DBM) = F(ALTITUDE (KM))')
  62.     call gcls                                !  clear screen
  63.     call xyplt(x,y2,n,1,4)
  64.     call pause('REVIEW ANTENNA BEAMWIDTH (DEG) = F(ALTITUDE (KM))')
  65.     call xyplt(x,y3,n,2,4)
  66.     call pause('REVIEW FREE SPACE LOSS (DBM) = F(ALTITUDE (KM))')
  67.     call xyplt(x,y4,n,3,4)
  68.     call pause('REVIEW ANTENNA GAIN (DBM) = F(ALTITUDE (KM))')
  69.     return
  70.     end
  71.