home *** CD-ROM | disk | FTP | other *** search
Wrap
GW-BASIC | 1992-06-30 | 26.8 KB | 496 lines
10 REM ***************************************************** 20 REM S T L P R O G R A M 30 REM PATH GAINS, LOSSES, AND CLEARANCE 40 REM By: Steve Schott 50 REM ***************************************************** 60 CL$ = " " : REM String of Blanks to Clear Line 70 CHL$ = " " : REM Clear Half Line 80 D$ = CHR$(248) 'Degree Symbol 90 Q$ = CHR$(34) 'Quotation Mark (") 100 FORMFEED$ = CHR$(12) 'Form Feed (FF) 110 PI = 3.14159 'Pi 120 LG = 0.434294 'Natural to Common Log Conversion 130 DIM D(150) : DIM F(3,150) : DIM FT(150) : DIM H(3,150) : DIM RT$(20) 140 GOTO 1810 150 DATA -76.9, -84, -82, -66, -84, -67, -80.9, -74.9, -77.3, -84, -86.9, -72.9 160 REM ------------- 170 REM PATH DISTANCE 180 REM ------------- 190 LOCATE 3,1 : PRINT CL$ : LOCATE 3,3 : PRINT " 1." : LOCATE 3,20 : PRINT "Path Distance: "; :LOCATE 3,40 : INPUT "",A$ 200 D = VAL(A$) 210 IF D =< 0 THEN 190 220 LOCATE 3,1 : PRINT CL$ : LOCATE 3,3 : PRINT " 1." : LOCATE 3,20 : PRINT "Path Distance: " 230 LOCATE 3,40 : PRINT CHL$ : LOCATE 3,40 : PRINT USING "###.# Miles";D 240 REM ----------- 250 REM PATH LOSSES 260 REM ----------- 270 CP = 97 + (20 * ((LOG(D)) * LG)) 280 GP = 98.3 + (20 * ((LOG(D)) * LG)) 290 LOCATE 4,1 : PRINT CL$ : LOCATE 4,3 : PRINT " 2." : LOCATE 4,18 : PRINT "Clear Path Loss: "; :LOCATE 4,40 : PRINT USING "###.## dB";CP : LOCATE 4,50 : PRINT USING "(Grazing Path Loss: ###.# dB)";GP 300 RETURN 310 REM ----------------------- 320 REM TRANSMITTER LINE LENGTH 330 REM ----------------------- 340 LOCATE 5,1 : PRINT CL$ : LOCATE 5,3 : PRINT " 3." : LOCATE 5,10 : PRINT "Transmitter Line Length: "; :LOCATE 5,40 : INPUT "",A$ 350 LL% = VAL(A$) 360 IF LL% =< 0 THEN 340 370 GOSUB 2130 : XL% = LL% : XL = LA : XL$ = L$ 380 LOCATE 5,1 : PRINT CL$ : LOCATE 5,3 : PRINT " 3." : LOCATE 5,12 : PRINT "Transmitter Line Loss: " 390 LOCATE 5,40 : PRINT CHL$ : LOCATE 5,40 : PRINT USING "###.## dB loss w/";XL;: PRINT XL%;"ft. of ";XL$ 400 RETURN 410 REM -------------------- 420 REM RECEIVER LINE LENGTH 430 REM -------------------- 440 LOCATE 6,1 : PRINT CL$ : LOCATE 6,3 : PRINT " 4." : LOCATE 6,13 : PRINT "Receiver Line Length: "; :LOCATE 6,40 : INPUT "",A$ 450 LL% = VAL(A$) 460 IF LL% =< 0 THEN 440 470 GOSUB 2130 : RL% = LL% : RL = LA : RL$ = L$ 480 LOCATE 6,1 : PRINT CL$ : LOCATE 6,3 : PRINT " 4." : LOCATE 6,15 : PRINT "Receiver Line Loss: " 490 LOCATE 6,40 : PRINT CHL$ : LOCATE 6,40 : PRINT USING "###.## dB loss w/";RL;: PRINT RL%;"ft. of ";RL$ 500 RETURN 510 REM ---------------- 520 REM MATED CONNECTORS 530 REM ---------------- 540 LOCATE 20,1 : PRINT "SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND" 550 PRINT " Number of mated connectors in transmission line not including isocouplers," 560 PRINT " combiners, etc. Enter 4 connectors if pigtails used -- Enter 2 without." 570 PRINT "SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND" 580 LOCATE 7,1 : PRINT CL$ : LOCATE 7,3 : PRINT " 5." : LOCATE 7,11 : PRINT "Total Connector Losses:" 590 LOCATE 19,1 : PRINT CL$ : LOCATE 19,17 : INPUT "NUMBER OF CONNECTORS IN TRANSMITTER LINE: ",A$ : NX% = VAL(A$) : IF NX% =< 0 THEN 590 600 LOCATE 19,1 : PRINT CL$ : LOCATE 19,17 : INPUT "NUMBER OF CONNECTORS IN RECEIVER LINE: ",A$ : NR% = VAL(A$) : IF NR% =< 0 THEN 600 610 NC% = NX% + NR% : CL = NC% * 0.125 620 GOSUB 2310 630 LOCATE 7,1 : PRINT CL$ : LOCATE 7,3 : PRINT " 5." : LOCATE 7,11 : PRINT "Total Connector Losses:" 640 LOCATE 7,40 : PRINT CHL$ : LOCATE 7,40 : PRINT USING "###.## dB loss with";CL;: PRINT NC%;"mated connectors" 650 RETURN 660 REM ------------------- 670 REM OTHER SYSTEM LOSSES 680 REM ------------------- 690 LOCATE 8,1 : PRINT CL$ : LOCATE 8,3 : PRINT " 6." : LOCATE 8,14 : PRINT "Other System Losses: " 700 LOCATE 20,1 : PRINT "SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND" 710 IC = 0 : LOCATE 21,22 : INPUT "IS AN ISOCOUPLER USED (Y/N)? ",A$ : IF A$ = "y" OR A$ = "Y" THEN IC = 1 : LOCATE 21,1 : PRINT CL$ : LOCATE 21,10 : INPUT "IS THE ISOCOUPLER IN THE TRANSMITTER LINE (Y/N)? ",A$ : IF A$ = "y" OR A$ = "Y" THEN IX = IC 720 CB = 0 : LOCATE 21,1 : PRINT CL$ : LOCATE 21,22 : INPUT "IS A COMBINER USED (Y/N)? ",A$ : IF A$ = "y" OR A$ = "Y" THEN CB = 4 730 SP = 0 : LOCATE 21,1 : PRINT CL$ : LOCATE 21,22 : INPUT "IS A POWER SPLITTER USED (Y/N)? ",A$ : IF A$ = "y" OR A$ = "Y" THEN SP = 3.7 740 CR = 0 : LOCATE 21,1 : PRINT CL$ : LOCATE 21,22 : INPUT "IS A CAVITY RESONATOR USED (Y/N)? ",A$ : IF A$ = "n" OR A$ = "N" OR A$ = "" THEN GOTO 762 750 IF A$ = "y" OR A$ = "Y" THEN LOCATE 21,1 : PRINT CL$ : LOCATE 21,5 : INPUT "CAVITY RESONATOR TUNED FOR: (A) -0.5 DB (B) -1.0 DB (C) -1.5 DB ?",CR$ 760 IF CR$ = "a" OR CR$ = "A" THEN CR = 0.5 ELSE IF CR$ = "b" OR CR$ = "B" THEN CR = 1 ELSE IF CR$ = "c" OR CR$ = "C" THEN CR = 1.5 ELSE GOTO 750 762 OT = 0 : LOCATE 21,1 : PRINT CL$ : LOCATE 21,22 : INPUT "OTHER LOSSES IN SYSTEM (Y/N)? ",A$ : IF A$ = "n" OR A$ = "N" OR A$ = "" THEN GOTO 770 764 IF A$ = "y" OR A$ = "Y" THEN LOCATE 21,1 : PRINT CL$ : LOCATE 21,5 : INPUT "ENTER OTHER LOSSES IN DB: ",OT$ : OT = VAL(OT$) : OT = ABS(OT) 766 OX = 0 : LOCATE 21,1 : PRINT CL$ : LOCATE 21,10 : INPUT "IS THE OTHER LOSS IN THE TRANSMITTER LINE (Y/N)? ",A$ : IF A$ = "y" OR A$ = "Y" THEN OX = OT 770 GOSUB 2310 780 OL = IC + CB + SP + CR + OT 790 LOCATE 8,1 : PRINT CL$ : LOCATE 8,3 : PRINT " 6." : LOCATE 8,14 : PRINT "Other System Losses: " 800 LOCATE 8,40 : PRINT CHL$ : LOCATE 8,40 : PRINT USING "###.## dB";OL 810 RETURN 820 REM ----------------------------- 830 REM CALCULATE TOTAL SYSTEM LOSSES 840 REM ----------------------------- 850 LOCATE 9,40 : PRINT "SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND" 860 SL = CP + RL + XL + CL + OL 870 LOCATE 10,1 : PRINT CL$ : LOCATE 10,14 : PRINT "TOTAL SYSTEM LOSSES:" : LOCATE 10,40 : PRINT USING "###.## dB";SL 880 RETURN 890 REM ---------------- 900 REM TRANSMITTER GAIN 910 REM ---------------- 920 LOCATE 19,26 : PRINT "MAXIMUM TRANSMITTER POWER" 930 PRINT "SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND" 940 PRINT "Marti STL-8: 8W Moseley PCL-505: 7W TFT 7700: 12W TFT 8600: 7W" 950 PRINT "Marti STL-10: 10W Moseley PCL-600: 5W TFT 8300: 14W MCI PRS-10: 10W" 960 PRINT "Moseley 6010: 7W Moseley PCL-606: 6W" 970 LOCATE 12,1 : PRINT CL$ : LOCATE 12,3 : PRINT " 7." : LOCATE 12,9 : PRINT "Transmitter Power Output: "; : LOCATE 12,40 : INPUT "",A$ 980 TP = VAL(A$) : IF TP =< 0 OR TP > 15 THEN GOTO 970 990 TG = 30 + 10 * (LOG(TP) * LG) 1000 GOSUB 2310 1010 LOCATE 12,1 : PRINT CL$ : LOCATE 12,3 : PRINT " 7." : LOCATE 12,9 : PRINT "Transmitter Power Output: " 1020 LOCATE 12,40 : PRINT CHL$ : LOCATE 12,40 : PRINT USING "###.## dB gain with";TG;: PRINT TP;"Watts TPO" 1030 RETURN 1040 REM -------------------- 1050 REM CHOOSE RECEIVER TYPE 1060 REM -------------------- 1070 LOCATE 19,1 : PRINT "SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND" 1080 RT$(1)="Marti R-200" : RT$(2)="Marti R-10/950" : RT$(3)="Moseley PCL-505/600" : RT$(4)="Moseley PCL-505/600/C" : RT$(5)="Moseley PCL-606/6000" : RT$(6)="Moseley PCL-606/C" 1090 RT$(7)="T.F.T. 7705" : RT$(8)="T.F.T. 7707" : RT$(9)="T.F.T. 8301" : RT$(10)="T.F.T. 8601" : RT$(11)="M.C.I. PRS-10N" : RT$(12)="M.C.I. PRS-10C" 1100 I = 1 : FOR C = 1 TO 61 STEP 30 : FOR L = 20 TO 23 : LOCATE L,C : PRINT USING "##) ";I; : PRINT RT$(I) : I = I + 1 : NEXT L : NEXT C 1110 LOCATE 18,28 : INPUT "SELECT RECEIVER TYPE: ",A$ : RT% = VAL(A$) : IF RT% =< 0 OR RT% > 12 THEN 1110 1120 FOR I = 1 TO RT% : READ RT : NEXT I : RESTORE 1130 RZ = 10 ^ (RT / 20) * 223600 1140 LOCATE 18,1 : PRINT CL$ : GOSUB 2310 1150 RETURN 1160 REM ------------------------ 1170 REM TRANSMITTER ANTENNA GAIN 1180 REM ------------------------ 1190 LOCATE 13,1 : PRINT CL$ : LOCATE 13,3 : PRINT " 8." : LOCATE 13,9 : PRINT "Transmitter Antenna Gain: "; : GOSUB 2360 1200 GOSUB 2440 : GOSUB 2310 : XG = AG : XG$ = AZ$ : XBW$ = BW$ 1210 LOCATE 13,1 : PRINT CL$ : LOCATE 13,3 : PRINT " 8." : LOCATE 13,9 : PRINT "Transmitter Antenna Gain: " 1220 LOCATE 13,40 : PRINT CHL$ : LOCATE 13,40 : PRINT USING "###.## dB gain with ";XG;: PRINT XG$ 1230 RETURN 1240 REM --------------------- 1250 REM RECEIVER ANTENNA GAIN 1260 REM --------------------- 1270 LOCATE 14,1 : PRINT CL$ : LOCATE 14,3 : PRINT " 9." : LOCATE 14,12 : PRINT "Receiver Antenna Gain: "; : GOSUB 2360 1280 GOSUB 2440 : GOSUB 2310 : RG = AG : RG$ = AZ$ : RBW$ = BW$ 1290 LOCATE 14,1 : PRINT CL$ : LOCATE 14,3 : PRINT " 9." : LOCATE 14,12 : PRINT "Receiver Antenna Gain: " 1300 LOCATE 14,40 : PRINT CHL$ : LOCATE 14,40 : PRINT USING "###.## dB gain with ";RG;: PRINT RG$ 1310 RETURN 1320 REM -------------------- 1330 REM ANTENNA PREAMPLIFIER 1340 REM -------------------- 1350 LOCATE 15,1 : PRINT CL$ : LOCATE 15,3 : PRINT "10." : LOCATE 15,8 : PRINT "Antenna Preamplifier Gain: " 1360 LOCATE 19,20 : INPUT "Is an Antenna Preamplifer Used? ",A$ : LOCATE 19,1 : PRINT CL$ : IF A$ = "y" OR A$ = "Y" THEN GOTO 1380 1370 LOCATE 15,40 : PRINT CHL$ : PA = 0 : LOCATE 15,40 : PRINT " NONE USED" : RETURN 1380 LOCATE 19,20 : PRINT "Enter Preamplifier Gain in dB" 1390 LOCATE 15,40 : PRINT CHL$ : LOCATE 15,40 : INPUT "",PA$ : PA = VAL(PA$) : IF PA =< 0 THEN 1380 1400 LOCATE 19,1 : PRINT CL$ 1410 LOCATE 15,1 : PRINT CL$ : LOCATE 15,3 : PRINT "10." : LOCATE 15,8 : PRINT "Antenna Preamplifier Gain: " 1420 IF PA = 0 THEN GOTO 1370 ELSE LOCATE 15,40 : PRINT CHL$ : LOCATE 15,40 : PRINT USING "###.## dB Gain";PA 1430 RETURN 1440 REM --------------------------- 1450 REM CALCULATE TOTAL SYSTEM GAIN 1460 REM --------------------------- 1470 LOCATE 16,40 : PRINT "SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND" 1480 SG = TG + XG + RG + PA 1490 LOCATE 17,1 : PRINT CL$ : LOCATE 17,15 : PRINT "TOTAL SYSTEM GAINS:" : LOCATE 17,40 : PRINT USING "###.## dB";SG 1500 RETURN 1510 REM --------------------- 1520 REM CALCULATE SYSTEM LOSS 1530 REM --------------------- 1540 SY = SG - SL 1550 SZ = 10 ^ (SY / 20) * 223600 1560 LOCATE 19,18 : PRINT "RECEIVER SIGNAL:" : LOCATE 19,40 : PRINT USING "###.## dB = ";SY; : PRINT USING "(#### uV)";SZ 1570 REM ----------------------- 1580 REM MINIMUM RECEIVER SIGNAL 1590 REM ----------------------- 1600 LOCATE 20,18 : L$ = "MIN " + RT$(RT%) + " SIGNAL:" : LOCATE 20,34 - LEN(L$) : PRINT L$ : LOCATE 20,40 : PRINT USING "###.## dB = ";RT; : PRINT USING "(#### uV)";RZ 1610 REM ----------- 1620 REM FADE MARGIN 1630 REM ----------- 1640 FM = SY - RT 1650 LOCATE 21,22 : PRINT "FADE MARGIN:" : LOCATE 21,40 : PRINT USING "###.## dB";FM 1660 REM ------------- 1670 REM CALCULATE ERP 1680 REM ------------- 1690 LX = XL + NL + IX + CB + OX : REM CALCULATE XMTR SYSTEM LOSSES 1700 AP = TP * (10^ (( - 1 * LX) / 10)) : PG = 10 ^ (XG / 10) : ERP = AP * PG 1710 RETURN 1720 REM -------- 1730 REM SUB MENU 1740 REM -------- 1750 LOCATE 23,1 : PRINT CL$ : LOCATE 23,18 : COLOR 15 : PRINT "C"; : COLOR 6 : PRINT "hange Data - "; : COLOR 15 : PRINT "A"; : COLOR 6 : PRINT "ntenna Data - "; : COLOR 15 : PRINT "M"; : COLOR 6 : PRINT "ain Menu" : COLOR 7 1760 A$ = INPUT$(1) 1770 IF A$ = "c" OR A$ = "C" THEN GOTO 2700 1780 IF A$ = "a" OR A$ = "A" THEN GOTO 1940 1790 IF A$ = "m" OR A$ = "M" THEN GOTO 1810 1800 GOTO 1760 1810 REM --------- 1820 REM MAIN MENU 1830 REM --------- 1840 GOSUB 2570 1850 LOCATE 5,1 : PRINT "1. Enter New Data" : PRINT : PRINT "2. Display Losses and Gains on Screen" : PRINT : PRINT "3. Print Losses and Gains" : PRINT : PRINT "4. Display Path Clearance on Screen" : PRINT 1855 PRINT "5. Print Path Clearance" : PRINT : PRINT "6. Print Path Clearance Explanation" : PRINT : PRINT "7. Quit" 1860 LOCATE 22,32 : COLOR 15 : PRINT "SELECT NUMBER: "; : COLOR 7 : A$ = INPUT$(1) 1870 A = VAL(A$) : IF A < 1 OR A > 7 THEN 1860 1875 IF A > 1 AND A < 7 AND D = 0 THEN LOCATE 22,10 : PRINT "NO DATA ENTERED . . . . . . . PRESS ANY KEY TO CONTINUE" : A$ = INPUT$(1) : GOTO 1810 1880 ON A GOTO 2660, 1900, 2790, 3600, 4270, 3870, 1890 1890 RUN "TECHMENU" 1900 REM ---------------------------------- 1910 REM DISPLAY GAINS AND LOSSES ON SCREEN 1920 REM ---------------------------------- 1930 GOSUB 2570 : GOTO 2780 1940 REM ------------------------------ 1950 REM DISPLAY ANTENNA DATA ON SCREEN 1960 REM ------------------------------ 1970 GOSUB 2600 'PRINT SCREEN HEADER 1980 LOCATE 5,1 : PRINT " Transmitter Power Output: "; : PRINT USING " ##.## Watts";TP 1990 PRINT "Transmitting System Losses: "; : PRINT USING " ##.## Watts"; TP - AP; : PRINT USING " (##.## dB)";LX 2000 PRINT " Antenna Input Power: "; : PRINT USING "###.## Watts";AP 2010 PRINT " Antenna Power Gain: "; : PRINT USING "###.## Gain for ";PG; : PRINT XG$; " Antenna" 2020 PRINT " Effective Radiated Power: "; : PRINT USING "####.## Watts";ERP 2030 PRINT 2040 PRINT " Antenna Gain: "; : PRINT USING "###.## dBI for ";XG; : PRINT XG$; " Antenna" 2050 PRINT " Antenna Beam Width: "; : PRINT XBW$ 2060 PRINT 2070 IF IC THEN PRINT TAB(35); : PRINT USING "* ##.## dB Loss in Isocoupler";IC 2080 IF CB THEN PRINT TAB(35); : PRINT USING "* ##.## dB Loss in Combiner";CB 2090 IF SP THEN PRINT TAB(35); : PRINT USING "* ##.## dB Loss in Power Splitter";SP 2100 IF CR THEN PRINT TAB(35); : PRINT USING "* ##.## dB Loss in Cavity Resonator";CR 2105 IF OT THEN PRINT TAB(35); : PRINT USING "* ##.## dB Loss (Other Losses)";OT 2110 LOCATE 23,28 : COLOR 15 : PRINT "Press Any Key for Menu" : COLOR 7 : A$ = INPUT$(1) : GOTO 1810 2120 END 2130 REM ------------------- 2140 REM LINE SELECTION MENU 2150 REM ------------------- 2160 LOCATE 20, 1 : PRINT "SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND" 2170 PRINT "1. RG-8/U 3. 1/2";Q$;" Foam 5. 1-1/4";Q$;" Foam 7. 1/2";Q$;" Air 9. 1-5/8";Q$;" AIR" 2180 PRINT "2. RG-21B/U 4. 7/8";Q$;" Foam 6. 1-5/8";Q$;" Foam 8. 7/8";Q$;" Air" 2190 PRINT "SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND" 2200 LOCATE 19,31 : INPUT "SELECT LINE SIZE: ",A$ 2210 LA = VAL(A$) : IF LA =< 0 OR LA > 9 THEN GOTO 2200 2220 IF LA = 1 THEN LA = 8.5 : L$ = "RG-8/U" 2230 IF LA = 2 THEN LA = 3.8 : L$ = "RG-21B/U" 2240 IF LA = 3 THEN LA = 2.34 : L$ = "1/2" + Q$ + " Foam" 2250 IF LA = 4 THEN LA = 1.31 : L$ = "7/8" + Q$ + " Foam" 2255 IF LA = 5 THEN LA = 0.967 : L$ = "1-1/4" + Q$ + " Foam" 2260 IF LA = 6 THEN LA = 0.819 : L$ = "1-5/8" + Q$ + " Foam" 2270 IF LA = 7 THEN LA = 2.65 : L$ = "1/2" + Q$ + " Air" 2280 IF LA = 8 THEN LA = 1.27 : L$ = "7/8" + Q$ + " Air" 2290 IF LA = 9 THEN LA = 0.7 : L$ = "1-5/8" + Q$ + " Air" 2300 LA = (LA / 100) * LL% 2310 REM -------------- 2320 REM CLEAR SUB MENU 2330 REM -------------- 2340 LOCATE 19,1 : FOR I = 1 TO 5 : PRINT CL$ : NEXT I 2350 RETURN 2360 REM ----------------- 2370 REM ANTENNA GAIN MENU 2380 REM ----------------- 2390 LOCATE 20,1 : PRINT "SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND" 2400 PRINT "A. P-948 4 ft C. P-996 8 ft E. MG-944 MINIGRID G. MF-960 MINIFLECTOR" 2410 PRINT "B. P-972 6 ft D. P-9120 10 ft F. PR-450 PARAFLECTOR H. SH-872 SHORT HAUL" 2420 PRINT "SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND" 2430 RETURN 2440 LOCATE 19,1 : PRINT CL$ : LOCATE 19,29 : INPUT "SELECT ANTENNA TYPE: ",A$ 2450 IF A$ = "a" OR A$ = "A" THEN AZ$ = "P-9A48G 4-foot" : AG = 19.1 : BW$ = "17.5 Degrees" : RETURN 2460 IF A$ = "b" OR A$ = "B" THEN AZ$ = "P-9A72G 6-foot" : AG = 22.6 : BW$ = "11.1 Degrees" : RETURN 2470 IF A$ = "c" OR A$ = "C" THEN AZ$ = "P-9A96G 8-foot" : AG = 25.1 : BW$ = "8.7 Degrees" : RETURN 2480 IF A$ = "d" OR A$ = "D" THEN AZ$ = "P-9A126G 10-foot" : AG = 27 : BW$ = "7 Degrees" : RETURN 2490 IF A$ = "e" OR A$ = "E" THEN AZ$ = "MG-944 Minigrid" : AG = 13.5 : BW$ = "18 Degrees" : RETURN 2500 IF A$ = "f" OR A$ = "F" THEN AZ$ = "PR-450 Paraflector" : AG = 18 : BW$ = "Hor: 12 Deg & Ver: 24 Deg" : RETURN 2510 IF A$ = "g" OR A$ = "G" THEN AZ$ = "MR-960 Miniflector" : AG = 14 : BW$ = "16 Degrees" : RETURN 2520 IF A$ = "h" OR A$ = "H" THEN AZ$ = "SH-872 Short Haul" : AG = 19 : BW$ = "13 Degrees Horizontal" : RETURN 2530 GOTO 2440 2540 REM -------------- 2550 REM SCREEN HEADERS 2560 REM -------------- 2570 CLS : COLOR 7,0 : KEY OFF 2580 PRINT "THENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHEN S T L P R O G R A M THENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHEN" 2590 RETURN 2600 CLS : COLOR 7,0 : KEY OFF 2610 PRINT "THENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHEN A N T E N N A D A T A THENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHEN" 2620 RETURN 2630 CLS : COLOR 7,0 : KEY OFF 2640 PRINT "THENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHEN P A T H C L E A R A N C E THENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHEN" 2650 RETURN 2660 REM -------------- 2670 REM ENTER NEW DATA 2680 REM -------------- 2690 GOSUB 2570 : GOSUB 160 : GOSUB 310 : GOSUB 410 : GOSUB 510 : GOSUB 660 : GOSUB 820 : GOSUB 890 : GOSUB 1040 : GOSUB 1160 : GOSUB 1240 : GOSUB 1320 : GOSUB 1440 : GOSUB 1510 : GOTO 1720 2700 REM ------------ 2710 REM MAKE CHANGES 2720 REM ------------ 2730 LOCATE 23,1 : PRINT CL$ : LOCATE 23,27 : INPUT "Change Which Number? ",A$ 2740 A = VAL(A$) : IF A < 1 OR A > 10 THEN 2730 2750 GOSUB 2310 2760 ON A GOSUB 160, 160, 310, 410, 510, 660, 890, 1160, 1240, 1320 : REM SELECT CHANGE NUMBER 2770 IF A = 7 THEN GOSUB 1040 2780 GOSUB 220 : GOSUB 380 : GOSUB 480 : GOSUB 630 : GOSUB 790 : GOSUB 820 : GOSUB 1010 : GOSUB 1210 : GOSUB 1290 : GOSUB 1410 : GOSUB 1440 : GOSUB 1510 : GOTO 1720 2790 REM ------------------------------------- 2800 REM SEND LOSSES AND GAINS DATA TO PRINTER 2810 REM ------------------------------------- 2815 FOR I = 3 TO 23 : LOCATE I,1 : PRINT CL$ : NEXT I 2820 GOSUB 4730 2830 WIDTH "lpt1:",90 + T 2840 LPRINT PITCH$; BOLD$; 2850 N$ = "STL DATA PREPARED FOR: " + NM$ : TB = INT (T + 40 - LEN(N$) / 2) : LPRINT TAB(TB) N$ 2860 LPRINT TAB(T) "_______________________________________________________________________________" : LPRINT 2870 LPRINT TAB(T) " 1. Path Distance: "; : LPRINT USING "###.# Miles";D 2880 LPRINT TAB(T) " 2. Clear Path Loss: "; : LPRINT USING "###.## dB";CP; : LPRINT USING " (Grazing Path Loss: ###.# dB)";GP 2890 LPRINT TAB(T) " 3. Transmitter Line Loss: "; : LPRINT USING "###.## dB loss w/";XL;: LPRINT XL%;"ft. of ";XL$ 2900 LPRINT TAB(T) " 4. Receiver Line Loss: "; : LPRINT USING "###.## dB loss w/";RL;: LPRINT RL%;"ft. of ";RL$ 2910 LPRINT TAB(T) " 5. Total Connector Losses: "; : LPRINT USING "###.## dB with";CL;: LPRINT NC%;"mated connectors" 2920 LPRINT TAB(T) " 6. Other System Losses: * "; : LPRINT USING "###.## dB";OL 2930 LPRINT TAB(T) " ----------------------------------------------" 2940 LPRINT TAB(T) " TOTAL SYSTEM LOSSES: "; : LPRINT USING "###.## dB";SL 2950 LPRINT : LPRINT 2960 LPRINT TAB(T) " 7. Transmitter Pwr Output: "; : LPRINT USING "###.## dB gain with";TG;: LPRINT TP;"Watts TPO" 2970 LPRINT TAB(T) " 8. Transmitting Antenna: "; : LPRINT USING "###.## dB gain with ";XG;: LPRINT XG$ 2980 LPRINT TAB(T) " 9. Receiving Antenna: "; : LPRINT USING "###.## dB gain with ";RG;: LPRINT RG$ 2990 IF PA <> 0 THEN LPRINT TAB(T) "10. Antenna Preamplifier: "; : LPRINT USING "###.## dB gain";PA 3000 LPRINT TAB(T) " ----------------------------------------------" 3010 LPRINT TAB(T) " TOTAL SYSTEM GAINS: "; : LPRINT USING "###.## dB";SG 3020 LPRINT : LPRINT 3030 LPRINT TAB(T) " RECEIVER SIGNAL: "; : LPRINT USING "###.## dB = ";SY; : LPRINT USING "(#### uV)";SZ 3040 LPRINT TAB(T) " MINIMUM SIGNAL: "; : LPRINT USING "###.## dB = ";RT; : LPRINT USING "(#### uV)";RZ; : LPRINT " for "; RT$(RT%); " Rcvr" 3050 LPRINT TAB(T) " FADE MARGIN: "; : LPRINT USING "###.## dB";FM 3060 LPRINT : LPRINT 3070 LPRINT TAB(T) " Transmitter Power Output: "; : LPRINT USING " ##.## Watts";TP 3080 LPRINT TAB(T) "Transmitting System Losses: "; : LPRINT USING " ##.## Watts"; TP - AP; : LPRINT USING " (##.## dB)";LX 3090 LPRINT TAB(T) " Antenna Input Power: "; : LPRINT USING "###.## Watts";AP 3100 LPRINT TAB(T) " Antenna Power Gain: "; : LPRINT USING "###.## Gain for ";PG; : LPRINT XG$; " Antenna" 3110 LPRINT TAB(T) " Effective Radiated Power: "; : LPRINT USING "####.## Watts";ERP 3120 LPRINT TAB(T) " Antenna Gain: "; : LPRINT USING "###.## dBI for ";XG; : LPRINT XG$; " Antenna" 3130 LPRINT TAB(T) " Antenna Beam Width: "; : LPRINT XBW$ 3140 LPRINT : LPRINT 3150 IF IC THEN LPRINT TAB(T+35); : LPRINT USING "* ##.## dB Loss in Isocoupler";IC 3160 IF CB THEN LPRINT TAB(T+35); : LPRINT USING "* ##.## dB Loss in Combiner";CB 3170 IF SP THEN LPRINT TAB(T+35); : LPRINT USING "* ##.## dB Loss in Power Splitter";SP 3180 IF CR THEN LPRINT TAB(T+35); : LPRINT USING "* ##.## dB Loss in Cavity Resonator";CR 3185 IF OT THEN LPRINT TAB(T+35); : LPRINT USING "* ##.## dB Loss in Other Losses";OT 3190 LPRINT FORMFEED$ 3200 GOTO 1810 3210 REM ----------------------------------------- 3220 REM ENTER EARTH CURVATURE & FRESNEL ZONE DATA 3230 REM AND DISPLAY TO SCREEN 3240 REM ----------------------------------------- 3250 GOSUB 2630 : LOCATE 3,1 3260 PRINT "To determine the correct path height necessary to clear obstructions along the" 3270 PRINT "microwave path, at least two factors must be determined which are:" 3280 PRINT 3290 PRINT " 1. EARTH CURVATURE 2. FRESNEL ZONE RADIUS" 3300 PRINT 3310 PRINT "EARTH CURVATURE:" 3320 PRINT "The Earth Curvature Constant is expressed as K with TRUE EARTH CURVATURE as the" 3330 PRINT "reference (K = 1). The RADIO HORIZON is expressed as 4/3rd of true earth curv-" 3340 PRINT "ature (K = 4/3) and is the most commonly used constant. However, atmospheric &" 3350 PRINT "climatic conditions may require earth curvatures of 1 (true earth) or 2/3rds." 3360 PRINT 3370 PRINT "FRESNEL ZONE:" 3380 PRINT "Clearance of at least 60% of the first fresnel zone is usually necessary for a" 3390 PRINT "clear path. Three fresnel zones are used in this program: (1.0F, 0.6F & 0.3F)." 3400 PRINT 3410 PRINT "EXAMPLES: No Temperature Inversions (Rocky Mountains) ...... K = 4/3 0.6F" 3420 PRINT " Some Light Standard Fog (Plains & N.E. States) ... K = 4/3 1.0F" 3430 PRINT " Surface Layers & Ground Fog (Coastal Areas) ...... K = 1 0.6F" 3440 PRINT " Ducting Fog & Over Water (Coastal & Gulf States) . K = 2/3 0.3F" 3450 LOCATE 23,7 : COLOR 15 : PRINT "Select Earth Curvature: (A) K = 4/3 (B) K = 1 (C) K = 2/3" : COLOR 7 : A$ = INPUT$(1) 3460 IF A$ = "a" OR A$ = "A" THEN K = 1 : K$ = "4/3rds Earth Curvature" : GOTO 3500 3470 IF A$ = "b" OR A$ = "B" THEN K = 2 : K$ = "True Earth Curvature" : GOTO 3500 3480 IF A$ = "c" OR A$ = "C" THEN K = 2 : K$ = "True Earth Curvature" : GOTO 3500 3490 GOTO 3450 3500 LOCATE 23,1 : PRINT CL$ 3510 LOCATE 23,3 : COLOR 15 : PRINT "Select Fresnel Zone Clearance: (A) F = 1.0 (B) F = 0.6 (C) F = 0.3" : COLOR 7 : A$ = INPUT$(1) 3520 IF A$ = "a" OR A$ = "A" THEN E = 1 : F$ = "1.0 of First Fresnel Zone" : RETURN 3530 IF A$ = "b" OR A$ = "B" THEN E = 2 : F$ = "0.6 of First Fresnel Zone" : RETURN 3540 IF A$ = "c" OR A$ = "C" THEN E = 2 : F$ = "0.3 of First Fresnel Zone" : RETURN 3550 GOTO 3510 3560 REM ------------------------------------------------ 3570 REM DISPLAY PATH CLEARANCE INFO TO SCREEN 3580 REM ENTER EARTH CURVATURE AND FRESNEL ZONE CONSTANTS 3590 REM ------------------------------------------------ 3600 GOSUB 3210 : GOSUB 2630 : LOCATE 3,1 3610 PRINT "PATH CLEARANCE DATA will be displayed in 1/2 mile intervals. All three earth" 3620 PRINT "curvatures (4/3, 1/1, & 2/3), all three fresnel zone radii (1.0, 0.6, & 0.3)," 3630 PRINT "and the total of the two constants selected are displayed in columns." 3640 PRINT 3650 PRINT "To use this data you must first construct a TERRAIN PROFILE on graph paper." 3660 PRINT "Special earth curvature graph paper is NOT necessary. Use ordinary straight" 3670 PRINT "line graph paper and plot terrain altitude vs. distance from topographical maps" 3680 PRINT "such as U.S. Geological Survey Maps. Plot the altitude of the STL transmitting" 3690 PRINT "and receiving antennas and draw a straight line between them. Height between" 3700 PRINT "the plotted terrain and the straight line cannot exceed the total (last column)." 3710 LOCATE 23,12 : COLOR 15 : PRINT "Press Any Key to Display Data - Press ESC Key to Pause" : COLOR 7 : GOSUB 4410 : A$ = INPUT$(1) 3720 REM -------------------------------- 3730 REM DISPLAY PATH CLEARANCE ON SCREEN 3740 REM -------------------------------- 3750 CLS : COLOR 1,7 : LOCATE 25,1 : PRINT " MILES 4/3 K 1/1 K 2/3 K 1.0 F 0.6 F 0.3 F TOTAL "; : COLOR 7,0 3760 LOCATE 24,1 : PRINT CL$ 3770 FOR I = 0 TO J 3780 PRINT USING "##.#";D(I); : PRINT TAB(9); : PRINT USING "###";H(1,I); : PRINT TAB(18); : PRINT USING "###";H(2,I); : PRINT TAB(27) : PRINT USING "###";H(3,I); 3790 PRINT TAB(36); : PRINT USING "###";F(1,I); : PRINT TAB(45); : PRINT USING "###";F(2,I); : PRINT TAB(54) : PRINT USING "###";F(3,I); 3800 PRINT TAB(63); : PRINT USING "### ft.";FT(I) 3810 PAUSE$ = INKEY$ 3820 IF PAUSE$ = CHR$(27) THEN GOSUB 4590 3830 NEXT I 3840 PRINT 3850 COLOR 15 : PRINT TAB(19) "Press Any Key to Return to the Menu" : COLOR 7 : PRINT : A$ = INPUT$(1) 3860 GOTO 1810 3870 REM ------------------------------------------------------------ 3880 REM SEND EARTH CURVATURE & FRESNEL ZONE INFO AND DATA TO PRINTER 3890 REM ------------------------------------------------------------ 3910 FOR I = 3 TO 23 : LOCATE I,1 : PRINT CL$ : NEXT I 3920 GOSUB 4770 3930 WIDTH "lpt1:",80 + T 3940 LPRINT PITCH$; BOLD$; TAB(28 + T) "EXPLAINATION OF STL DATA"; CLBOLD$ 3950 LPRINT 3960 LPRINT TAB(T) "To determine the correct path height necessary to clear obstructions along the" 3970 LPRINT TAB(T) "microwave path, at least two factors must be determined which are:" 3980 LPRINT 3990 LPRINT TAB(T) " 1. EARTH CURVATURE 2. FRESNEL ZONE RADIUS" 4000 LPRINT 4010 LPRINT TAB(T) "EARTH CURVATURE:" 4020 LPRINT TAB(T) "The Earth Curvature Constant is expressed as K with TRUE EARTH CURVATURE as the" 4030 LPRINT TAB(T) "reference (K = 1). The RADIO HORIZON is expressed as 4/3rd of true earth curv-" 4040 LPRINT TAB(T) "ature (K = 4/3) and is the most commonly used constant. However, atmospheric &" 4050 LPRINT TAB(T) "climatic conditions may require earth curvatures of 1 (true earth) or 2/3rds." 4060 LPRINT 4070 LPRINT TAB(T) "FRESNEL ZONE:" 4080 LPRINT TAB(T) "Clearance of at least 60% of the first fresnel zone is usually necessary for a" 4090 LPRINT TAB(T) "clear path. Three fresnel zones are used in this program: (1.0F, 0.6F & 0.3F)." 4100 LPRINT 4110 LPRINT TAB(T) "EXAMPLES: No Temperature Inversions (Rocky Mountains) ...... K = 4/3 0.6F" 4120 LPRINT TAB(T) " Some Light Standard Fog (Plains & N.E. States) ... K = 4/3 1.0F" 4130 LPRINT TAB(T) " Surface Layers & Ground Fog (Coastal Areas) ...... K = 1 0.6F" 4140 LPRINT TAB(T) " Ducting Fog & Over Water (Coastal & Gulf States) . K = 2/3 0.3F" 4150 LPRINT 4160 LPRINT TAB(T) "PATH CLEARANCE DATA will be displayed in 1/2 mile intervals. All three earth" 4170 LPRINT TAB(T) "curvatures (4/3, 1/1, & 2/3), all three fresnel zone radii (1.0, 0.6, & 0.3)," 4180 LPRINT TAB(T) "and the total of the two constants selected are displayed in columns." 4190 LPRINT 4200 LPRINT TAB(T) "To use this data you must first construct a TERRAIN PROFILE on graph paper." 4210 LPRINT TAB(T) "Special earth curvature graph paper is NOT necessary. Use ordinary straight" 4220 LPRINT TAB(T) "line graph paper and plot terrain altitude vs. distance from topographical maps" 4230 LPRINT TAB(T) "such as U.S. Geological Survey Maps. Plot the altitude of the STL transmitting" 4240 LPRINT TAB(T) "and receiving antennas and draw a straight line between them. Height between" 4250 LPRINT TAB(T) "the plotted terrain and the straight line cannot exceed the total (last column)." 4260 LPRINT FORMFEED$ 4265 GOTO 1810 4270 REM -------------------------------- 4280 REM SEND PATH HEIGHT DATA TO PRINTER 4290 REM -------------------------------- 4300 GOSUB 3210 : FOR I = 3 TO 23 : LOCATE I,1 : PRINT CL$ : NEXT I : GOSUB 4770 : WIDTH "lpt1:",80 + T 4310 GOSUB 4410 4320 LPRINT BOLD$; PITCH$: LPRINT TAB(T) " MILES 4/3 K 1/1 K 2/3 K 1.0 F 0.6 F 0.3 F TOTAL" 4330 LPRINT TAB(T) "------ ----- ----- ----- ----- ----- ----- ---------" 4340 FOR I = 0 TO J 4350 LPRINT TAB(T) : LPRINT USING "##.#";D(I); : LPRINT TAB(T + 9); : LPRINT USING "###";H(1,I); : LPRINT TAB(T + 18); : LPRINT USING "###";H(2,I); : LPRINT TAB(T + 27) : LPRINT USING "###";H(3,I); 4360 LPRINT TAB(T + 36); : LPRINT USING "###";F(1,I); : LPRINT TAB(T + 45); : LPRINT USING "###";F(2,I); : LPRINT TAB(T + 54) : LPRINT USING "###";F(3,I); 4370 LPRINT TAB(T + 63); : LPRINT USING "### ft.";FT(I) 4380 NEXT I 4385 LPRINT : LPRINT TAB(T); "Total Is Sum of "; K$; " and "; F$; "." 4390 LPRINT FORMFEED$ 4400 GOTO 1810 4410 REM -------------------------------------------- 4420 REM CALCULATE PATH HEIGHT AND FRESNEL ZONE RADII 4430 REM -------------------------------------------- 4440 J = INT (D/0.5) 4450 FOR I = 0 TO J : D(I) = I * 0.5 '1/2 Mile Segments 4460 DD1 = D(I) : DD2 = D - D(I) : DD = DD1 * DD2 4470 H(1,I) = DD / (1.5 * (4 / 3)) 4480 H(2,I) = DD / (1.5) 4490 H(3,I) = DD / (1.5 * (2 / 3)) 4500 FZ = 72.1 * SQR (D(I) * (D - D(I)) / (0.95 * D)) 4510 F(1,I) = FZ 4520 F(2,I) = 0.6 * FZ 4530 F(3,I) = 0.3 * FZ 4540 FT(I) = H(K,I) + F(E,I) 4550 IF FLAG THEN FLAG = 0 : RETURN 4560 NEXT I 4570 IF D > D(I) THEN : D(I) = D : J = J + 1 : FLAG = 1 : GOTO 4460 4580 RETURN 4590 REM --------------------------------------------- 4600 REM SUB-ROUTINE TO PAUSE PATH CLEARANCE SCROLLING 4610 REM --------------------------------------------- 4620 START$ = INKEY$ 4630 IF START$ = CHR$(27) THEN RETURN 4640 GOTO 4620 4650 REM --------------------------------------------------------- 4660 REM PRINTER CODES FOR 12 PITCH, BOLD PRINT, NORMAL PRINT 4670 REM FOR BROTHER/DYNEX (DIABLO), IBM QUIETWRITER, EPSON, TANDY 4680 REM --------------------------------------------------------- 4690 PITCH$ = CHR$(27) + CHR$(31) + CHR$(11) : BOLD$ = CHR$(27) + CHR$(87) : NORMAL$ = CHR$(27) + CHR$(38) : RETURN 'Printer Codes for Brother/Dynex (Diablo) 4700 PITCH$ = CHR$(27) + CHR$(58) : BOLD$ = CHR$(27) + CHR$(71) : NORMAL$ = CHR$(27) + CHR$(72) : RETURN 'Printer Codes for IBM QuietWriter 4710 PITCH$ = CHR$(27) + CHR$(80) : BOLD$ = CHR$(69) : NORMAL$ = CHR$(70) : RETURN 'Printer Codes for Epson 4720 PITCH$ = CHR$(27) + CHR$(14) : BOLD$ = CHR$(15) : NORMAL$ = CHR$(14) : RETURN 'Printer Codes for Tandy Daisy Wheel Printer II (BOLD$ is Underlining for Tandy) 4725 PITCH$ = CHR$(27) + CHR$(40) + CHR$(115) + CHR$(49) + CHR$(53) + CHR$(72): BOLD$ = CHR$(27) + CHR$(40) + CHR$(115) + CHR$(51) + CHR$(66) :LPI$ = CHR$(27) + CHR$(38) + CHR$(108) + CHR$(56) + CHR$(68) 4727 NORMAL$ = CHR$(27) + CHR$(40) + CHR$(115) + CHR$(49) + CHR$(48) + CHR$(72) + CHR$(27) + CHR$(40) + CHR$(115) + CHR$(48) + CHR$(66) + CHR$(27) + CHR$(38) + CHR$(108) + CHR$(54) + CHR$(68): RETURN 'Printer Codes for LaserJet 4730 REM ------------------ 4740 REM INITIALIZE PRINTER 4750 REM ------------------ 4760 LOCATE 18,1 : PRINT CL$ : LOCATE 18,21 : PRINT "Enter Name of Station or Company: "; : LINE INPUT ""; NM$ 4770 LOCATE 18,1 : PRINT CL$ : LOCATE 18,1 : COLOR 5 : PRINT "Number of Characters in Lefthand Margin (12 Characters/Inch): "; : COLOR 7 : INPUT "", TB$ : T = VAL (TB$) : IF T < 1 THEN BEEP : GOTO 4770 4780 LOCATE 18,1 : PRINT CL$ : LOCATE 18,1 : COLOR 5 : PRINT "Enter Number of Lines in Top Margin (6 Lines per Inch): "; : COLOR 7 : INPUT "", TM$ : TM = VAL (TM$) 4790 LOCATE 18,1 : PRINT CL$ : LOCATE 18,1 : COLOR 5 : PRINT "Printer: (1)-Brother/Diablo (2)-QuietWriter (3)-Epson (4)-Tandy (5)-LaserJet "; : COLOR 7 : INPUT "", PT$ : PT = VAL (PT$) : IF PT < 1 OR PT > 5 THEN BEEP : GOTO 4790 4795 ON PT GOSUB 4690, 4700, 4710, 4720, 4725 4800 LOCATE 18,1 : PRINT CL$ : LOCATE 18,4 : COLOR 7 : PRINT "PREPARE PRINTER - PRESS <ESC> ABORT or ANY OTHER KEY TO START PRINTING"; : A$ = INPUT$(1) : IF A$ = CHR$(27) THEN LOCATE 21,1 : PRINT CL$ : GOTO 1810 4810 IF TM < 1 THEN GOTO 4820 ELSE FOR I = 1 TO TM : LPRINT : NEXT I 4820 RETURN