0 'RFPATH.100 v3.6 10-9-87 1 'CLUB 100 Library - 415/939-1246 BBS, 937-5039 NEWSLETTER, 932-8856 VOICE 2 'Radio Frequency Path calculations 3 ' by: Steve Petit [73300,2217] 4 ' mods: Bill Templeton [75655,1056] 5 ' c87: All rights reserved 10 MAXFILES=1:POKE63038,191:A$="####.##":E$=CHR$(27):R$=E$+"p":N$=E$+"q":ONERRORGOTO80 11 CLS:PRINT@14,R$" RFPATH.100 ":PRINT@80,R$" Select from the following: "N$:PRINT"[1] Free Space Loss in Miles 12 PRINT"[2] Free Space Loss in Feet":PRINT"[3] Free Space Loss in Miles";:PRINT"[4] Exit "; 13 PRINT@298,;:INPUTX:IFX<1ORX>4THEN13ELSEIFX=4THENMENU 14 CLS:PRINT@80,R$" Select output mode: "N$:PRINT@125,"1) RAM file":PRINT@165,"2) Disk file":PRINT@205,"3) LCD screen 15 PRINT@245,"4) Printer":PRINT@298,;:INPUTDF 16 IFDF<1ORDF>4THEN15ELSEIFDF=1THEN17ELSEIFDF=2THEN18ELSEIFDF=4THEN20ELSE19 17 CLS:PRINT@40,"Name of RAM file: ";:INPUTF$:CLOSE:OPENF$FORAPPENDAS1:IFQQ=1THEN36ELSE21 18 CLS:PRINT@40,"Name of Disk file: ";:INPUTF$:CLOSE:OPEN"0:"+F$+".do"FORAPPENDAS1:GOTO21 19 CLOSE:OPEN"lcd:"FOROUTPUTAS1:GOTO21 20 CLOSE:OPEN"lpt:"FOROUTPUTAS1:IFQ=1THEN36ELSE21 21 CLS:PRINT@40,R$" Transmitter location: ""["Y$"] "N$;:PRINT@125,"(9 characters max.) ";:INPUTY$ 22 CLS:PRINT@40,R$" Transmitter power: ""["TX"] DBM "N$ 23 PRINT@120," (Enter 0 for WATTS/DBM subroutine)":PRINT@200,SPACE$(20);:INPUTTX:IFTX=0THEN61 24 CLS:PRINT@40,R$" Transmitter antenna gain ""["A1"] DB "N$;:INPUTA1 25 CLS:PRINT@40,R$" Transmitter antenna losses ""["AS"] DB "N$:GOSUB78:INPUTAS 26 CLS:PRINT@40,R$" Receiver location: ""["Z$"] "N$;:PRINT@125,"(9 characters max.) ";:INPUTZ$ 27 CLS:PRINT@40,R$" Receiver sensitivity: ""["RX"] DBM "N$ 28 PRINT@121,"Enter 0 for uv/DBM subroutine...":GOSUB79:INPUTRX:IFRX=0THEN63 29 CLS:PRINT@40,R$" Receiver antenna gain: ""["A2"] DB "N$;:INPUTA2 30 CLS:PRINT@40,R$" Receiver antenna losses: ""["AT"] DB "N$:GOSUB78:INPUTAT 31 CLS:PRINT@40,R$" Frequency: ""["F"] Mhz "N$;:INPUTF:IFX=1THEN32ELSEIFX=2THEN33ELSE34 32 CLS:PRINT@40,R$" Distance: ""["D"] Mi "N$;:INPUTD:GOTO36 33 CLS:PRINT@40,R$" Distance: ""["D1"] Feet "N$;:INPUTD1:GOTO37 34 CLS:PRINT@40,R$" Distance: ""["D"] Mi "N$;:INPUTD:CLS:PRINT@40,R$" Height, TX Antenna: ""["H1"] Feet "N$;:INPUTH1 35 CLS:PRINT@40,R$" Height, RX Antenna: ""["H2"] Feet "N$;:INPUTH2:GOTO38 36 CLS:PRINT#1,"Free Space (Mi) ":GOTO39 37 CLS:PRINT#1,"Free Space (Ft) ":GOTO39 38 CLS:PRINT#1,"Free Space (Emp) 39 PRINT#1,SPACE$(21)"Xmtr Rcvr 40 PRINT#1,"Locations: ";:PRINT#1,USING"\ \";Y$;:PRINT#1," ";:PRINT#1,USING"\ \";Z$ 41 PRINT#1,"Power/Sens: ";:PRINT#1,USING"####";TX;:PRINT#1," DBM ";:PRINT#1,USING"####";RX;:PRINT#1," DBM 42 PRINT#1,"Antenna Gain: ";:PRINT#1,USING"####";A1;:PRINT#1," DB ";:PRINT#1,USING"####";A2;:PRINT#1," DB 43 PRINT#1,"Antenna Loss: ";:PRINT#1,USING"####";AS;:PRINT#1," DB ";:PRINT#1,USING"####";AT;:PRINT#1," DB 44 PRINT#1,"Frequency: ";:PRINT#1,USING"####";F;:PRINT#1," Mhz":GOSUB75:IFDF=3THENCLS 45 IFX=1ORX=3THEN46ELSE47 46 PRINT#1,"Distance: ";:PRINT#1,USING"####";D;:PRINT#1," Miles":GOTO48 47 PRINT#1,"Distance: ";:PRINT#1,USING"####";D1;:PRINT#1," Feet 48 IFX=3THEN49ELSE50 49 PRINT#1,"Height: ";:PRINT#1,USING"####";H1;:PRINT#1," Ft ";:PRINT#1,USING"####";H2;:PRINT#1," Ft 50 IFX=1THEN51ELSEIFX=2THEN53ELSE55 51 L=20*LOG(F)/LOG(10)+20*LOG(D)/LOG(10)+33:L=L-2*L 52 PRINT#1,"Path Loss: ";:PRINT#1,USINGA$;L;:PRINT#1," DB":GOSUB65:GOTO74 53 L=20*LOG(F)/LOG(10)+20*LOG(D1)/LOG(10)-41.5:L=L-2*L 54 PRINT#1,"Path Loss: ";:PRINT#1,USINGA$;L;:PRINT#1," DB":GOSUB65:GOTO74 55 L=20*LOG(F)/LOG(10)+20*LOG(D)/LOG(10)+33:L=L-2*L 56 L1=117+20*LOG(F)/LOG(10)+40*LOG(D)/LOG(10):L1=L1-20*LOG(H1*H2)/LOG(10):L1=L1-2*L1:IFL"ELSEPRINT#1," DB 58 IFL1"ELSEL$=" 59 IFL11THENE=INT(10*E+.5)/10 'Conversion from dbm to uv 68 E=INT(100*E+.5)/100 69 PRINT#1,"Signal Level: ";:PRINT#1,USINGA$;E/1000;:PRINT#1," uv";:PRINT#1,USINGA$;SD;:PRINT#1," DBM":RETURN 70 IFX=3THENCLS 71 PRINT"NOTE: Emperical calculation will compare to Free Space calculation and choose largest figure."; 72 PRINT" You will receive a note of or depending on results. 73 GOSUB75:RETURN 74 PRINT#1,STRING$(39,45):PRINT#1,:GOSUB75:GOTO76 75 PRINT@280,R$SPACE$(7)"PRESS TO CONTINUE"SPACE$(7)N$;:S$=INPUT$(1):RETURN 76 PRINT@280,R$SPACE$(12)"Hard copy (Y/N?)"SPACE$(12)N$;:Q$=INPUT$(1):IFINSTR("yY",Q$)THENDF=4:Q=1:GOTO20ELSEDF=3:Q=0 77 PRINT@280,R$SPACE$(7)"Append to RAM file (Y/N?)"SPACE$(7)N$;:Q$=INPUT$(1):IFINSTR("yY",Q$)THENDF=2:QQ=1:GOTO17ELSEDF=3:QQ=0:GOTO11 78 PRINT" Must be a negative number... ";:RETURN 79 PRINT" or a negative number... ";:RETURN 80 IFERR=55THENPRINT@280,R$SPACE$(14)"Bad Filename"SPACE$(14)N$:FORQ=1TO500:NEXT:RESUME11 81 IFERRTHENPRINT@280,R$SPACE$(10)"Error"ERR"in line"ERLSPACE$(10)N$:STOP