home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Antennas
/
Antennas_CD-ROM_Walnut_Creek_September_1996.iso
/
w4mb
/
vol2
/
basic
/
romb.asc
< prev
next >
Wrap
Text File
|
1996-06-30
|
6KB
|
147 lines
2 ON ERROR GOTO 60000
3 CLS
100 PRINT " ***********************************************************"
110 PRINT " * HORIZONTAL RHOMBIC ANTENNAS *"
120 PRINT " * OPTIMUM AND COMPROMISE DESIGNS *"
130 PRINT " * REFERENCES- BRUCE, BECK, LOWRY; PROC. IRE, JAN. 1935 *"
140 PRINT " * - KRAUS; ANTENNAS, 2ND ED. *"
150 PRINT " * - ARRL; THE ARRL ANTENNA HANDBOOK, CURRENT ED *"
160 PRINT " * PROGRAM BY R. P. HAVILAND, PE, W4MB *"
170 PRINT " * PROGRAM COPYRIGHT 1990 BY *"
180 PRINT " * MINILAB BOOKS, DAYTONA BEACH, FL 32121-1086 *"
190 PRINT " ***********************************************************"
300 DEF FNASIN(X)=ATN(X/SQR(1-X*X))
310 DEF FNACOS(X)=ATN(SQR(1-X*X)/X)
400 MTOFT=39.37/12
410 PI=3.141593
420 TORAD=PI/180
430 INPUT " PAPER COPY OF DESIGN DATA, Y/N";P$
440 IF P$="y" THEN P$="Y"
500 INPUT "ENTER DESIGN CENTER FREQUENCY, MHZ";FOP
505 IF P$="Y" THEN LPRINT " DESIGN CENTER FREQUENCY, MHZ";FOP
510 IF FOP=<0 THEN 500
520 LAMBDA=299.7/FOP
530 PRINT " DESIGN WAVELENGTH IS";LAMBDA;" METERS"
540 PRINT
550 INPUT "ENTER DESIGN SIGNAL ELEVATION ANGLE, DEGREES";ELEV
555 IF P$="Y" THEN LPRINT " DESIGN SIGNAL ELEVATION ANGLE, DEGREES";ELEV
560 IF ELEV=<0 THEN 550
570 ELEV=ELEV*TORAD
1000 PRINT " SELECT TYPE OF DESIGN BY NUMBER"
1010 PRINT " ALIGNMENT DESIGNS"
1020 PRINT " 1- MAXIMUM SIGNAL AT DESIGN ELEVATION"
1030 PRINT " 2- LOBE MAXIMUM AT DESIGN ELEVATION"
1040 PRINT " COMPROMISE DESIGN"
1050 PRINT " 3- AS 2 BUT LEG LENGTH SPECIFIED"
1060 INPUT "ENTER DESIGN NUMBER";TEM
1070 IF TEM<1 OR TEM>5 GOTO 1000
1800 ON TEM GOTO 5000,10000,20000
5000 REM ALIGNMENT 1
5010 HEIGHTLAM=1/(4*SIN(ELEV))
5020 HEIGHTMET=HEIGHTLAM*LAMBDA
5030 HEIGHTFT=HEIGHTMET*MTOFT
5040 TILTANGL=90-ELEV/TORAD
5050 LEGLENLAM=.5/(SIN(ELEV)*SIN(ELEV))
5060 LEGLENMET=LEGLENLAM*LAMBDA
5070 LEGLENFT=LEGLENMET*MTOFT
5080 GOSUB 30000
5090 GOTO 35000
10000 REM ALIGNMENT 2
10010 HEIGHTLAM=1/(4*SIN(ELEV))
10020 HEIGHTMET=HEIGHTLAM*LAMBDA
10030 HEIGHTFT=HEIGHTMET*MTOFT
10040 TILTANGL=90-ELEV/TORAD
10050 LEGLENLAM=.371/(SIN(ELEV)*SIN(ELEV))
10060 LEGLENMET=LEGLENLAM*LAMBDA
10070 LEGLENFT=LEGLENMET*MTOFT
10080 GOSUB 30000
10090 GOTO 35000
20000 REM LENGTH COMPROMISE
20010 HEIGHTLAM=1/(4*SIN(ELEV))
20020 HEIGHTMET=HEIGHTLAM*LAMBDA
20030 HEIGHTFT=HEIGHTMET*MTOFT
20040 INPUT "ENTER LEG LENGTH, FEET";LEGLENFT
20050 LEGLENMET=LEGLENFT/MTOFT
20060 LEGLENLAM=LEGLENMET/LAMBDA
20070 IF LEGLENLAM<.371 THEN PRINT "NO SOLUTION POSSIBLE":GOTO 20040
20200 X=(LEGLENLAM-.371)/(LEGLENLAM*COS(ELEV))
20210 IF X=>1 THEN PRINT "NO SOLUTION POSSIBLE":GOTO 20040
20300 TILTANGL=FNASIN(X)/TORAD
20400 GOSUB 30000
20500 GOTO 35000
30000 PRINT
30010 PRINT " REQUIRED HEIGHT IS ";HEIGHTLAM;" WAVELENTHS"
30020 PRINT " OR ";HEIGHTMET;" METERS
30030 PRINT " OR ";HEIGHTFT;" FEET"
30040 PRINT
30100 PRINT " REQUIRED LEG LENGTHS ARE ";LEGLENLAM;" WAVELENGTHS"
30110 PRINT " OR ";LEGLENMET;" METERS"
30120 PRINT " OR ";LEGLENFT;" FEET"
30130 PRINT
30200 PRINT " TOTAL SIDE ANGLE IS ";2*TILTANGL;" DEGREES"
30210 PRINT " (TILT ANGLE=";TILTANGL;" DEGREES"
30220 PRINT
30300 PRINT " TOTAL END ANGLE IS ";180-2*TILTANGL;" DEGREES"
30310 PRINT
31000 X=LEGLENLAM
31010 GAIN=3.8478+2.06628*X-.083233*X*X
31020 GAIN=INT(100*GAIN+.5)/100
31030 PRINT " GAIN=";GAIN;" DB ABOVE A DIPOLE"
31040 PRINT " INCLUDING A 3 DB ALLOWANCE FOR LOSSES"
31050 PRINT
32000 IF P$="Y" THEN LPRINT
32010 IF P$="Y" THEN LPRINT " REQUIRED HEIGHT IS ";HEIGHTLAM;" WAVELENTHS"
32020 IF P$="Y" THEN LPRINT " OR ";HEIGHTMET;" METERS
32030 IF P$="Y" THEN LPRINT " GAIN=";GAIN;" DB ABOVE A DIPOLE"
32040 IF P$="Y" THEN LPRINT " INCLUDING A 3 DB ALLOWANCE FOR LOSSES"
32100 IF P$="Y" THEN LPRINT " REQUIRED LEG LENGTHS ARE ";LEGLENLAM;" WAVELENGTHS"
32110 IF P$="Y" THEN LPRINT " OR ";LEGLENMET;" METERS"
32120 IF P$="Y" THEN LPRINT " OR ";LEGLENFT;" FEET"
32130 IF P$="Y" THEN LPRINT
32200 IF P$="Y" THEN LPRINT " TOTAL SIDE ANGLE IS ";2*TILTANGL;" DEGREES"
32210 IF P$="Y" THEN LPRINT " (TILT ANGLE=";TILTANGL;" DEGREES"
32220 IF P$="Y" THEN LPRINT
32300 IF P$="Y" THEN LPRINT " TOTAL END ANGLE IS ";180-2*TILTANGL;" DEGREES"
32310 IF P$="Y" THEN LPRINT
34000 RETURN
35000 PRINT " ENTER D= NEW DESIGN, SAME PARAMATERS"
35010 PRINT " E= NEW ELEVATION ANGLE
35020 PRINT " F= NEW FREQUENCY"
35030 PRINT " P= CALCULATE PATTERN"
35040 PRINT " Q= QUIT
35100 INPUT T$
35110 IF T$="D" THEN 1000
35120 IF T$="E" THEN 550
35130 IF T$="F" THEN 500
35140 IF T$="P" THEN GOSUB 40000
36000 IF T$<>"Q" THEN 35000
36010 STOP
40000 PRINT
40010 PRINT " THE RELATIVE VERTICAL PATTERN ON THE RHOMBIC AXIS IS APPROXIMATELY"
40020 PRINT " ANGLE"," DB","ANGLE","DB"
40025 PRINT
40026 IF P$="Y" THEN LPRINT " THE RELATIVE VERTICAL PATTERN ON THE RHOMBIC AXIS IS APPROXIMATELY"
40027 IF P$="Y" THEN LPRINT " ANGLE"," DB","ANGLE","DB"
40030 RTILT=TILTANGL*TORAD
40100 FOR ANGL=0 TO 180 STEP 5
40110 RANGL=ANGL*TORAD
40120 CHI=(1-SIN(RTILT)*COS(RANGL))*.5:IF CHI=0 THEN CHI=.000001
40130 SIG=COS(RTILT)*SIN(2*PI*HEIGHTLAM*SIN(RANGL))
40140 SIG=SIG*(SIN(CHI*2*PI*LEGLENLAM))^2
40150 SIG=ABS(SIG/CHI):IF SIG=0 THEN SIG =.0000001
40160 DSIG=20/2.3*LOG(SIG)
40200 PRINT ANGL,
40210 PRINT USING "#####.#";DSIG;
40215 IF P$="Y" THEN LPRINT ANGL,
40216 IF P$="Y" THEN LPRINT USING "#####.#";DSIG;
40220 PRINT ,
40225 IF P$="Y" THEN LPRINT,
40230 IF ANGL/2-INT(ANGL/2)=0 THEN PRINT
40235 IF P$="Y" THEN IF ANGL/2-INT(ANGL/2)=0 THEN LPRINT
40300 NEXT ANGL
40400 PRINT
40410 INPUT "PRESS RETURN TO CONTINUE";T$
40420 RETURN
60000 PRINT " ERROR";ERR;"AT LINE";ERL
60010 STOP