```
******************************************************
```

REM: * General Radio Astronomy Program *

REM: * Al Aburto, 07 Jan 1998 *

REM: * See "Radio Astronomy", John Kraus, 2nd edition, *

REM: * Cygnus-Quasar Books, 1986. *

REM: * The parabolic beamwidth calculation came from: *

REM: * "The Satellite TV Handbook", Anthony T. Easton, *

REM: * Howard W. Sams & Co., Inc, 1983 *

REM: * *

REM: * RHO == star density in stars per cubic LY *

REM: * XSL == Speed of Light (m/s) *

REM: * XML == Meters per Light_Year *

REM: * XMA == Meters per Astronomical Unit *

REM: ******************************************************

DEFDBL A-H, O-Z

DEFLNG I-N

10 XSL = 299793000#

XML = 9460530000000000#

XMA = 149600000000#

XBC = 1.38054D-23

XJy = 1D-26

XPC = 3.261633#

XKs = 1#

XLC = 10# / LOG(10#)

secperdeg = 24# * 60# * 60# / 360#

pi = 4# * ATN(1#)

ctr = pi / 180#

Re = 6378140#

15 CLS

PRINT

PRINT "The program calulates the following:"

PRINT

PRINT "Parabolic Antenna Beamwidths: 1"

PRINT "EIRP for parabolic antenna: 2"

PRINT "EIRP detectable at a given range: 3"

PRINT "Detection range given the EIRP: 4"

PRINT "Number of Stars in Antenna Beam: 5"

PRINT "Peak detectable flux and density: 6"

PRINT "Earth rotational doppler rate (Hz/sec) 7"

PRINT "Quit: 8"

INPUT "Enter choice: ", ic

ic = INT(ic)

IF ic < 1 OR ic > 8 THEN 15

IF ic = 1 THEN 20

IF ic = 2 THEN 250

IF ic = 3 THEN 50

IF ic = 4 THEN 100

IF ic = 5 THEN 150

IF ic = 6 THEN 200

IF ic = 7 THEN 300

GOTO 1000

REM: ********************************

REM: * Parabolic Antenna Beamwidths *

REM: ********************************

20 CLS

PRINT

PRINT "Parabolic Antenna Beamwidths"

PRINT

INPUT "Frequency (GHz) = ", fGHz

INPUT "Antenna Efficiency = ", effr

INPUT "Beam declination (deg) = ", dec

25 INPUT "Antenna Diameter (ft) = ", dr

drm = dr * .3048#

Wl = .299793# / fGHz

Beamwidth = 52.3 * Wl / (SQR(effr) * drm)

X = 90# - Beamwidth / 2#

PRINT

PRINT "Beamwidth (deg) ="; Beamwidth

IF (ABS(dec) < X) THEN

stm = secperdeg * Beamwidth / COS(ctr * dec)

PRINT "Time a star stays in"

PRINT " antenna beam (sec) ="; stm

ELSE

stm = 0#

PRINT "Time a star stays in"

PRINT " antenna beam (sec) = (a very long time!)"

END IF

PRINT

INPUT "Change Antenna Diameter (y,n) ", A$

IF A$ = "y" OR A$ = "Y" THEN 25

INPUT "Quit (y,n) ", A$

IF A$ = "n" OR A$ = "N" THEN 20

GOTO 1000

REM: *********************************************

REM: * EIRP detectable at a specified range (LY) *

REM: *********************************************

50 CLS

PRINT

PRINT "EIRP detectable at a specified range (LY)."

PRINT

INPUT "Antenna Diameter (ft) = ", dr

INPUT "Antenna Efficiency = ", effr

INPUT "System Temperature (K) = ", Tsys

INPUT "Frequency (GHz) = ", fGHz

INPUT "Bandwidth (Hz) = ", Br

INPUT "Integration Time (sec) = ", Tr

INPUT "Signal-to-Noise Ratio = ", snr

60 INPUT "Range (LY) = ", RL

IF (Tr < 0#) THEN Tr = 1# / Br

IF (RL < 0#) THEN RL = XPC

drm = dr * .3048#

Aer = effr * pi * drm * drm / 4#

twp = Br * Tr

IF twp < 1# THEN twp = 1#

twc = SQR(twp)

RM = RL * XML

EIRP = (RM * RM * 4# * pi * snr * Br * XBC * Tsys) / (Aer * twc)

EGWatt = EIRP / 1000000000#

PRINT

PRINT "EIRP (GW) ="; EGWatt

PRINT

INPUT "Change Range (y,n) ", A$

IF A$ = "y" OR A$ = "Y" THEN 80

PRINT

GOTO 60

80 INPUT "Quit (y,n) ", A$

IF A$ = "Y" OR A$ = "y" THEN 1000

GOTO 50

REM: ***************************************************

REM: * Detection range (LY) given the EIRP (Gigawatts) *

REM: ***************************************************

100 CLS

PRINT

PRINT "Detection range (LY) given the EIRP (Gigawatts)."

PRINT

INPUT "Antenna Diameter (ft) = ", dr

INPUT "Antenna Efficiency = ", effr

INPUT "System Temperature (K) = ", Tsys

INPUT "Frequency (GHz) = ", fGHz

INPUT "Bandwidth (Hz) = ", Br

INPUT "Integration Time (sec) = ", Tr

INPUT "Signal-to-Noise Ratio = ", snr

110 INPUT "EIRP (Gigawatts) = ", EGWatt

IF (Tr < 0#) THEN Tr = 1# / Br

drm = dr * .3048#

Aer = effr * pi * drm * drm / 4#

twp = Br * Tr

IF twp < 1# THEN twp = 1#

twc = SQR(twp)

EIRP = 1000000000# * EGWatt

X = EIRP * Aer * twc

Y = 4# * pi * snr * Br * XBC * Tsys

RM = SQR(X / Y)

RL = RM / XML

RA = RM / XMA

PRINT

IF (RL > .01#) THEN

PRINT "Detection Range (LY) ="; RL

ELSE

PRINT "Detection Range (AU) ="; RA

END IF

PRINT

INPUT "Change EIRP (y,n) ", A$

IF A$ = "n" OR A$ = "N" THEN 120

PRINT

GOTO 110

120 INPUT "Quit (y,n) ", A$

IF A$ = "n" OR A$ = "N" THEN 100

GOTO 1000

REM: ***********************************************

REM: * Number of stars in a radio telescopes beam. *

REM: ***********************************************

150 CLS

PRINT

PRINT "Number of stars in a radio telescopes beam."

PRINT

INPUT "Antenna Diameter (ft) = ", dr

INPUT "Antenna Efficiency = ", effr

INPUT "Frequency (GHz) = ", fGHz

160 INPUT "Search Distance (LY) = ", dist

PRINT

RHO = .01#

IF (dist < 0#) THEN dist = XPC

drm = dr * .3048#

Aer = effr * pi * drm * drm / 4#

TStars = RHO * 4# * pi * dist * dist * dist / 3#

Wl = .299793# / fGHz

Dir = 4# * pi * Aer / (Wl * Wl)

BStars = TStars / Dir

PRINT

PRINT "Antenna Diameter (ft) = ", dr

PRINT "Frequency (GHz) = ", fGHz

PRINT "Search Distance (LY) = ", dist

PRINT "Number of Stars = ", TStars

PRINT "Stars in Antenna Beam = ", BStars

PRINT

INPUT "Change Search Distance (y,n) "; A$

IF A$ = "n" OR A$ = "N" THEN 170

PRINT

GOTO 160

170 INPUT "Quit (y,n) ", A$

IF A$ = "y" OR A$ = "Y" THEN 1000

GOTO 150

REM: ***************************

REM: * Detectable flux (W/m^2) *

REM: ***************************

200 CLS

PRINT

PRINT "Detectable flux (W/m^2)."

PRINT

INPUT "Antenna Diameter (ft) = ", dr

206 INPUT "Antenna Efficiency = ", effr

208 INPUT "System Temperature (K) = ", Tsys

210 INPUT "Bandwidth (Hz) = ", Br

212 INPUT "Integration Time (sec) = ", Tr

214 INPUT "snr (in the band Br) = ", snr

220 drm = dr * .3048#

Aer = pi * drm * drm / 4#

REM: *******************************************

REM: * This calculates the time-bandwidth (TW) *

REM: * product (twp). The program does not *

REM: * allow a TW product (twp) less than one. *

REM: * If twp is < 1 the program will reset *

REM: * twp to 1 which in effect respecifies *

REM: * Tr to 1/Br. *

REM: *******************************************

twp = Br * Tr

IF twp < 1# THEN twp = 1#

twc = SQR(twp)

St = snr * (XBC * Tsys) / (effr * Aer * twc)

StJy = St / XJy

Ft = St * Br

PRINT

PRINT "Flux density (Jy) ="; StJy

PRINT "Flux (W/m^2) ="; Ft

PRINT

INPUT "Change Integration Time (y,n) ", A$

IF A$ = "n" OR A$ = "N" THEN 240

PRINT

GOTO 212

240 INPUT "Quit (y,n) ", A$

IF A$ = "y" OR A$ = "Y" THEN 1000

GOTO 200

REM: *********************************************

REM: * Effective Isotropic Radiated Power (EIRP) *

REM: *********************************************

250 CLS

PRINT

PRINT "Effective Isotropic Radiated Power."

PRINT

INPUT "Frequency (GHz) = ", fGHz

INPUT "Isotropic power (Watts) = ", pt

INPUT "Antenna Efficiency = ", efft

260 INPUT "Antenna Diameter (ft) = ", dt

dtm = dt * .3048#

Aet = efft * pi * dtm * dtm / 4#

Wl = .299793# / fGHz

dirt = 4# * pi * Aet / (Wl * Wl)

EIRP = pt * dirt

EGWatts = EIRP / 1000000000#

gt = XLC * LOG(dirt)

PRINT

PRINT "Gain (dB) re isotropic = "; gt

PRINT "EIRP (Gigawatts) = "; EGWatts

PRINT

INPUT "Change antenna diameter (y,n) ", A$

IF A$ = "n" OR A$ = "N" THEN 290

PRINT

GOTO 260

290 INPUT "Quit (y,n) ", A$

IF A$ = "y" OR A$ = "Y" THEN 1000

GOTO 250

REM: *******************************************

REM: * Earths rotational doppler rate (Hz/sec) *

REM: *******************************************

300 CLS

PRINT

PRINT "Earths rotational doppler rate (Hz/sec)."

PRINT

omega = 2# * pi / 86164#

INPUT "Antenna latitude (deg) = ", xlat

INPUT "Source Declination (deg) = ", dec

310 INPUT "Frequency (GHz) = ", fGHz

fHz = 1000000000# * fGHz

X = omega * omega * Re / XSL

dfdt = -fHz * X * COS(ctr * dec) * COS(ctr * xlat)

PRINT

PRINT "Earths doppler rate (Hz/sec) = "; dfdt

PRINT

INPUT "Change frequency (y,n) ", A$

IF A$ = "n" OR A$ = "N" THEN 340

PRINT

GOTO 310

340 INPUT "Quit (y,n) ", A$

IF A$ = "y" OR A$ = "Y" THEN 1000

GOTO 300

1000 END

```
```

email the Webmaster | entire website copyright © The SETI League, Inc.this page last updated 23 November 2002 |
Top of Page |