home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Antennas
/
Antennas_CD-ROM_Walnut_Creek_September_1996.iso
/
w4mb
/
vol1
/
basic
/
nbsyagi.asc
< prev
next >
Wrap
Text File
|
1996-06-30
|
4KB
|
88 lines
100 CLS : PRINT " ***********************************"
110 PRINT " * NBS YAGI ANTENNAS *"
120 PRINT " * REFERENCE-VIEZBICKE *"
130 PRINT " * NBS REPORT NBS-TN-688 *"
140 PRINT " * PROGRAM COPYRIGHT 1985 *"
150 PRINT " * R.P. HAVILAND, W4MB *"
170 PRINT " ***********************************"
175 REM PROGRAM 19
200 DIM A(19, 6), DI(15, 2)
210 FOR N = 0 TO 19
220 FOR M = 1 TO 6
230 READ A(N, M)
240 NEXT M
250 NEXT N
260 DEF FNA (X) = INT(10 * X + .5) / 10
270 DEF FNB (X) = INT(100 * X + .5) / 100
300 PRINT
310 INPUT " ENTER CENTER FREQUENCY, MHZ"; FO
320 INPUT "MAXIMUM BOOM LENGHT, FEET"; MB
330 LA = 984 / FO
340 K = 6
350 BL = A(19, K): IF BL = O THEN PRINT "BEYOND TABLES": GOTO 320
360 IF LA * BL > MB THEN K = K - 1: GOTO 350
370 PRINT "TABLE BOOM LENGTH IS "; FNB(A(19, K) * LA); "FEET"
380 PRINT : INPUT "ENTER +1=LONGER BOOM,-1=SHORTER,0=SAME"; TV
390 IF K + TV < 1 OR K + TV > 6 THEN PRINT "BEYOND TABLES": GOTO 380
400 IF TV = 0 THEN 500
410 K = K + TV: BL = A(19, K): GOTO 370
500 PRINT : PRINT "THE GAIN IS "; A(17, K); "DB"
510 PRINT "THE B00M LENGTH IS "; FNB(BL * LA); "FEET(+ENDS)"
520 PRINT "THE REFLECTOR SPACING IS "; FNB(.2 * LA); "FEET OR "; FNB(2.4 * LA); " INCHES"
530 PRINT "THE DIRECTOR SPACING IS"; FNB(A(16, K) * LA); "FEET OR";
540 PRINT FNB(A(16, K) * LA * 12); "INCHES"
550 E1 = 8.500001E-03
560 PRINT "THE ELEMENT REFERENCE DIAMETER IS": PRINT FNB(8.500001E-03 * LA * 12); "INCHES"
570 PRINT : INPUT "ENTER NEW (AVERAGE) ELEMENT DIAMETER, OR 0 FOR NO CHANGE"; T$
580 IF VAL(T$) = 0 THEN E2 = 8.500001E-03: GOTO 700
590 E2 = VAL(T$) / 12 / LA
700 FOR N = 0 TO 15
710 IF A(N, K) = 0 THEN DI(N, 0) = 0: DI(N, 1) = 0: EL = N - 1: N = 15: GOTO 740
720 DI(N, 0) = 23 + (373.75 * LOG(2 / E1) - 640) * (A(N, K) - .4975)
730 DI(N, 1) = .4975 + (DI(N, 0) - 23) / (373.75 * LOG(2 / E2) - 640)
740 NEXT N
800 PRINT "ENTER 0 FOR INSULATED BOOM, OR DIAMETER (INCHES) IF METALLIC"
810 INPUT BD
820 BC = .06875 * BD / LA
830 FOR N = 0 TO EL
840 DI(N, 2) = DI(N, 1) + BC
850 NEXT N
900 PRINT "THE CORRECTED ELEMENT LENGTHS ARE;"
910 PRINT "REFLECTOR "; FNB(DI(0, 2) * LA); "FEET="; FNB(DI(0, 2) * 12 * LA); " INCHES"
920 FOR N = 1 TO EL: IF DI(N, 2) = 0 THEN 1000
930 PRINT "DIRECTOR "; N; FNB(DI(N, 2) * LA); "FEET="; FNB(DI(N, 2) * 12 * LA); " INCHES"
940 NEXT N
950 PRINT : PRINT "FOR DRIVEN ELEMENT LENGTH USE PROGRAM 1"
960 PRINT "WITH EXACT LENGTH DEPENDING ON FEED TYPE"
1000 INPUT "ENTER Y FOR REACTANCE LISTING"; T$
1010 IF T$ <> "Y" THEN 1060
1020 PRINT : PRINT "REFLECTOR "; FNA(DI(0, 0)); " OHMS"; ""
1030 FOR N = 1 TO 15: IF DI(N, 2) = 0 THEN 1060
1040 PRINT "DIRECTOR "; N; FNB(DI(N, 0)); " OHMS"
1050 NEXT N
1060 PRINT "PRESS R TO RERUN, ANY OTHER KEY TO STOP"
1070 Q$ = INKEY$: IF Q$ = "" GOTO 1070
1080 IF Q$ = "R" OR Q$ = "r" THEN RUN
1090 END
10000 DATA .482,.482,.482,.482,.482,.475
10010 DATA .424,.428,.428,.432,.428,.424
10020 DATA ,.424,.42,.415,.42,.424
10030 DATA ,.428,.42,.407,.407,.42
10040 DATA ,,.428,.398,.398,.407
10050 DATA ,,,.39,.394,.403
10060 DATA ,,,.39,.39,.398
10070 DATA ,,,.39,.386,.394
10080 DATA ,,,.39,.386,.39
10090 DATA ,,,.398,.386,.390
10100 DATA ,,,.407,.386,.39
10110 DATA ,,,,.386,.39
10120 DATA ,,,,.386,.39
10130 DATA ,,,,.386,.39
10140 DATA ,,,,.386,0
10150 DATA ,,,,.386,0
10160 DATA .2,.2,.25,.2,.2,.308
10170 DATA 7.1,9.2,10.2,12.25,13.4,14.2
10180 DATA 1,2,2,3,2,4
10190 DATA .4,.8,1.2,2.2,3.2,4.2