home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.whtech.com
/
ftp.whtech.com.tar
/
ftp.whtech.com
/
club100
/
tel
/
rfpath.ba
< prev
next >
Wrap
Text File
|
2006-10-19
|
6KB
|
79 lines
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 <Emperical> 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<L1THENL1=L
57 PRINT#1,"Path Loss: ";:PRINT#1,USINGA$;L1;:IFL1<LTHENPRINT#1," DB <EMPERICAL>"ELSEPRINT#1," DB <FREE SPACE>
58 IFL1<LTHENL$="<EMPERICAL>"ELSEL$="<FREE SPACE>
59 IFL1<LTHENL=L1
60 GOSUB65:GOTO74
61 CLS:PRINT@40,R$" Watts output: "N$;:INPUTW:IFW=<0THEN61
62 TX=10*LOG(W)/LOG(10):TX=INT(TX*10+.5)/10:TX=TX+30:PRINT@170,W" Watts ="TX" DBM":PRINT@280,:FORS=1TO500:NEXT:GOTO22
63 CLS:PRINT@40,R$" Receiver sensitivity in uv "N$;:INPUTET:IFET=<0THEN63
64 RX=20*LOG(ET)/LOG(10)-107:RX=INT(RX*10+.5)/10:PRINT@170,ET" uv = "RX" DBM":PRINT@280,:FORS=1TO500:NEXT:GOTO27
65 SN=TX-RX+A1+AS+A2+AT+L:SD=TX+A1+AS+A2+AT+L 'Power calculations
66 PRINT#1,"Signal Level: ";:PRINT#1,USINGA$;SN;:PRINT#1," DB above RX
67 SG=RX+SN:E=(SG+167)/20:E=EXP(E/.4342945):IFE=>1THENE=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 <emperical> or <free space> depending on results.
73 GOSUB75:RETURN
74 PRINT#1,STRING$(39,45):PRINT#1,:GOSUB75:GOTO76
75 PRINT@280,R$SPACE$(7)"PRESS <ENTER> 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