home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 1 / HamRadio.cdr / tech / david4 / covpred.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1987-01-05  |  6.6 KB  |  257 lines

  1. 10  KEY OFF
  2. 20  CLS
  3. 30  PRINT "COLOR SCREEN (Y/N) "
  4. 40  CS$=INKEY$
  5. 50  IF CS$="" GOTO 40
  6. 60  IF CS$="Y" OR CS$="y" THEN GOTO 300
  7. 70  CLS
  8. 80   LOCATE ,,0 :LS$=" COVERAGE ":RS$="PREDICTIONS "
  9. 90   ILS=1 : ILE=40-LEN(LS$):IRS=80-LEN(RS$) :IRE=41
  10. 100   IF ILS>ILE THEN 110 ELSE LOCATE 1,ILS:PRINT LS$;:ILS=ILS+1
  11. 110   IF IRS<IRE THEN 120 ELSE LOCATE 1,IRS:PRINT RS$;:IRS=IRS-1
  12. 120   IF IRS=IRE OR ILS<=ILE GOTO 100
  13. 130   LOCATE 1,ILS-1,1:PRINT LS$""RS$:PRINT
  14. 140   A$="COPYRIGHT 1978;1986" :B$="BY TOM B. JONES, III"
  15. 150    LOCATE 2,(80-LEN(A$))/2 :PRINT A$
  16. 160    LOCATE 3,(80-LEN(B$))/2 :PRINT B$
  17. 170    LOCATE 4,1
  18. 180    TITLE$="MONTGOMERY, ALABAMA":GOSUB 270
  19. 190    TITLE$="(205)-272-4824":GOSUB 270 :PRINT
  20. 200  PRINT
  21. 210  TITLE$= "Adapted from a calculator program"
  22. 220  GOSUB 270
  23. 230  TITLE$="from Harris Broadcast Products Company" : GOSUB 270
  24. 240  PRINT
  25. 250    TITLE$="All Rights Reserved":GOSUB 270
  26. 260    GOTO 560
  27. 270    PRINT TAB((80-LEN(TITLE$))/2);TITLE$
  28. 280    RETURN
  29. 290    PRINT:PRINT
  30. 300  CLS
  31. 310  COLOR 1
  32. 320  LOCATE ,,0 :LS$=" COVERAGE ":RS$="PREDICTIONS "
  33. 330  ILS=1 : ILE=40-LEN(LS$):IRS=80-LEN(RS$) :IRE=41
  34. 340  IF ILS>ILE THEN 350 ELSE LOCATE 1,ILS:PRINT LS$;:ILS=ILS+1
  35. 350  IF IRS<IRE THEN 360 ELSE LOCATE 1,IRS:PRINT RS$;:IRS=IRS-1
  36. 360  IF IRS=IRE OR ILS<=ILE GOTO 340
  37. 370  LOCATE 1,ILS-1,1:PRINT LS$""RS$:PRINT
  38. 380  A$="COPYRIGHT 1978;1986" :B$="BY TOM B. JONES, III"
  39. 390  COLOR 3
  40. 400  LOCATE 2,(80-LEN(A$))/2 :PRINT A$
  41. 410  COLOR 6
  42. 420  LOCATE 3,(80-LEN(B$))/2 :PRINT B$
  43. 430  COLOR 1
  44. 440  LOCATE 4,1
  45. 450  TITLE$="MONTGOMERY, ALABAMA":GOSUB 540
  46. 460  COLOR 6
  47. 470  TITLE$="(205)-272-4824":GOSUB 540 :PRINT
  48. 480  COLOR 1 :TITLE$="Adapted from a calculator program":GOSUB 540
  49. 490  TITLE$="from Harris Broadcast Products Company":GOSUB 540:PRINT
  50. 500  COLOR 25
  51. 510  TITLE$="All Rights Reserved":GOSUB 540
  52. 520  COLOR 7
  53. 530  GOTO 560
  54. 540  PRINT TAB((80-LEN(TITLE$))/2);TITLE$
  55. 550  RETURN
  56. 560  PRINT:PRINT
  57. 570  XX=0
  58. 580  REM COVERAGE PREDICTIONS FOR FM AND CH.2-6 T.V.
  59. 590  PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT
  60. 600  PRINT "ANTENNA HEIGHT IN FEET ";
  61. 610  INPUT X
  62. 620  LET X = LOG (X)
  63. 630  REM LOG IS LOGARITHM BASE 2.718...
  64. 640  PRINT "TERRAIN ROUGHNESS CORRECTION, YES OR NO" ;
  65. 650  INPUT A$
  66. 660  LET T = 0
  67. 670  IF A$ = "NO" THEN 790
  68. 680  PRINT "INPUT - TV.CH #, - OR FM MHZ, AND  -  METERS ROUGHNESS";
  69. 690  REM EXAMPLE - TV,2, 200
  70. 700  INPUT A$,N,P
  71. 710  IF A$ = "FM" THEN 770
  72. 720  PRINT
  73. 730  LET T = 6*N + 343
  74. 740  IF N<5 THEN 780
  75. 750  LET T = T + 4
  76. 760  GOTO 780
  77. 770  LET T = N+300
  78. 780  LET T = 1.9 - P * T / 10000
  79. 790  PRINT " ERP IN KILLOWATTS";
  80. 800  INPUT P
  81. 810  LET P = 4.34294 * LOG(P)
  82. 820  REM 4.3429448 * LOG (P) IS TEN TIMES LOGARITHMBASE 10 OF P
  83. 830  PRINT "ARE YOU WANTING TV OR FM COVERAGE";
  84. 840  INPUT V$
  85. 850  IF V$ = "TV" THEN 870
  86. 860  IF V$ = "FM" THEN 910
  87. 870  PRINT"         CH 2 - 6 TELEVISION SIGNAL STANDARDS"
  88. 880  PRINT " PRINCIPLE COMMUNITY     GRADE A       GRADE B"
  89. 890  PRINT "   74 DBU/M             68 DBU/M       47 DBU/M"
  90. 900  GOTO 1530
  91. 910  PRINT "             FM SIGNAL STANDARDS "
  92. 920  PRINT"          FCC SPECS       CCIR MONO    CCIR STEREO"
  93. 930  PRINT"PRIN.COM.  70 DBU/M          69.55          73.98"
  94. 940  PRINT"URBAN      60 DBU/M          60             66
  95. 950  PRINT"RURAL      34 DBU/M          47.95          54"
  96. 960  PRINT
  97. 970  PRINT "DO YOU WANT ALL STANDARD FCC FIELDS (Y/N) ";
  98. 980  INPUT Q$
  99. 990  IF Q$ = "Y" THEN 1010
  100. 1000  IF Q$ = "N" THEN 1530
  101. 1010  Y=70-P-T
  102. 1020  LET Z =0
  103. 1030  FOR F = 0 TO 4
  104. 1040  LET M = 0
  105. 1050  FOR E = 0 TO 4
  106. 1060  READ A
  107. 1070  LET M= M+A * X^E
  108. 1080  NEXT E
  109. 1090  LET Z = Z+M * Y^F
  110. 1100  NEXT F
  111. 1110  LET W = 10*EXP(Z)
  112. 1120  PRINT:PRINT:PRINT:PRINT:PRINT:PRINT
  113. 1130  PRINT "WITH AN ANTENNA HEIGHT OF";2.71828^X;" FEET, AND AN ERP OF";10^(P/10);"  KW.,  THE FIELD DISTANCES ARE:<UNK! {000A}>"
  114. 1140  PRINT (INT (W)+INT ((W-INT(W))*2))/10;" MILES FOR 70 DBU/M" ,"OR";
  115. 1150  PRINT ((INT (W)+INT ((W-INT(W))*2))/10)^2 *(3.14159) ;" SQUARE MILES"
  116. 1160  REM MILES = EXP (Z) AND IS ROUNDED TO THE NEAREST TENTH
  117. 1170  RESTORE
  118. 1180  PRINT
  119. 1190  Y=60-P-T
  120. 1200  LET Z = 0
  121. 1210  FOR F = 0 TO 4
  122. 1220  LET M =0
  123. 1230  FOR E = 0 TO 4
  124. 1240  READ A
  125. 1250  LET M = M+A * X^E
  126. 1260  NEXT E
  127. 1270  LET Z = Z+M*Y^F
  128. 1280  NEXT F
  129. 1290  LET W = 10*EXP(Z)
  130. 1300  PRINT (INT (W) + INT ((W-INT(W))*2))/10;" MILES FOR 60 DBU/M","OR";
  131. 1310  PRINT ((INT(W) + INT ((W-INT(W))*2))/10)^2*(3.14159);" SQUARE MILES"
  132. 1320  REM MILES = EXP(Z) AND IS ROUNDED TO THE NEAREST TENTH
  133. 1330  RESTORE
  134. 1340  PRINT
  135. 1350  Y= 34-P-T
  136. 1360  LET Z = 0
  137. 1370  FOR F = 0 TO 4
  138. 1380  LET M=0
  139. 1390  FOR E = 0 TO 4
  140. 1400  READ A
  141. 1410  LET M = M+A*X^E
  142. 1420  NEXT E
  143. 1430  LET Z = Z+M*Y^F
  144. 1440  NEXT F
  145. 1450  LET W = 10 *EXP(Z)
  146. 1460  PRINT (INT(W)+INT((W-INT (W))*2))/10;   " MILES FOR 34 DBU/M","OR";
  147. 1470  PRINT ((INT (W)+INT((W-INT(W))*2))/10)^2*(3.14159);" SQUARE MILES"
  148. 1480  REM MILES=EXP(Z)AND IS ROUNDED TO THE NEAREST TENTH
  149. 1490  RESTORE
  150. 1500  PRINT 
  151. 1510  PRINT
  152. 1520  GOTO 1740
  153. 1530  PRINT "ENTER DESIRED FIELD IN DBU/M";
  154. 1540  INPUT Y
  155. 1550  LET Y = Y - P - T
  156. 1560  IF Y > 80 THEN 1580
  157. 1570  IF Y > 0  THEN 1590
  158. 1580  PRINT "INACCURATE REGION, CHECK RESULT MANUALLY"
  159. 1590  LET Z = 0
  160. 1600  FOR F = 0 TO 4
  161. 1610  LET M = 0
  162. 1620  FOR E = 0 TO 4
  163. 1630  READ A
  164. 1640  LET M = M + A * X^E
  165. 1650  NEXT E
  166. 1660  LET Z = Z + M * Y^F
  167. 1670  NEXT F
  168. 1680  LET W = 10 * EXP (Z)
  169. 1690  PRINT (INT (W) + INT( (W- INT(W))*2))/10;"MILES"
  170. 1700  REM MILES = EXP (Z) AND IS ROUNDED TO THE NEAREST TENTH
  171. 1710  RESTORE
  172. 1720  GOTO 1780
  173. 1730  PRINT
  174. 1740  PRINT "WOULD YOU LIKE A PRINTED RECORD (Y/N)";
  175. 1750  INPUT T$
  176. 1760  IF T$ = "Y" THEN 1850
  177. 1770  IF T$ = "N" THEN 1780
  178. 1780  PRINT:PRINT:PRINT:PRINT "WOULD YOU LIKE TO (END), START OVER (NEW),";
  179. 1790  PRINT "OR DERIVE A DIFFERENT DISTANCE FIELD USING THE SAME HEIGHT";
  180. 1800  PRINT " AND POWER (OLD)";
  181. 1810  INPUT A$
  182. 1820  IF A$ = "NEW" THEN 600
  183. 1830  IF A$ = "OLD" THEN 1530
  184. 1840  END
  185. 1850  IF XX=1 GOTO 1960
  186. 1860  LPRINT "THIS IS A COMPUTER DETERMINATION OF COVERAGE BASED ON CHARTS"
  187. 1870  LPRINT "AND FORMULAS IN THE F.C.C. RULES, AND INFORMATION ON FILE AT"
  188. 1880  LPRINT "THE RECORDS DIVISION OF THE F.C.C. IN WASHINGTON D.C."
  189. 1890  LPRINT:LPRINT:LPRINT
  190. 1900  LPRINT STRING$(80,"*")
  191. 1910  LPRINT TAB(20) "70 DBU/M = PRINCIPLE COMMUNITY COVERAGE"
  192. 1920  LPRINT TAB(20) "60 DBU/M = URBAN COMMUNITY COVERAGE"
  193. 1930  LPRINT TAB(20) "34 DBU/M = RURAL COVERAGE
  194. 1940  LPRINT :LPRINT : LPRINT STRING$(80,"*")
  195. 1950  XX = 1
  196. 1960  INPUT "STATION CALL SIGN "; CL$
  197. 1970  LPRINT "WITH AN ANTENNA HEIGHT OF ";2.71828^X;" FEET, AND AN"
  198. 1980  LPRINT "ERP OF ";10^(P/10);" KW., THE FIELD DISTANCES  FOR ";CL$;" ARE:
  199. 1990  LPRINT : LPRINT
  200. 2000  Y=70-P-T
  201. 2010  LET Z = 0
  202. 2020  FOR F = 0 TO 4
  203. 2030  LET M=0
  204. 2040  FOR E = 0 TO 4
  205. 2050  READ A
  206. 2060  LET M=M+A*X^E
  207. 2070  NEXT E
  208. 2080  LET Z=Z+M*Y^F
  209. 2090  NEXT F
  210. 2100     LET W =10*EXP(Z)
  211. 2110  LPRINT (INT (W)+INT ((W-INT(W))*2))/10;" MILES FOR 70 DBU/M","OR";
  212. 2120  LPRINT ((INT (W)+INT ((W-INT(W))*2))/10)^2*(3.14159);" SQUARE MILES"
  213. 2130  REM MILES = EXP (Z) AND IS ROUNDED TO THE NEAREST TENTH
  214. 2140  RESTORE
  215. 2150  PRINT
  216. 2160  Y=60-P-T
  217. 2170  LET Z = 0
  218. 2180  FOR F = 0 TO 4
  219. 2190  LET M =0
  220. 2200  FOR E = 0 TO 4
  221. 2210  READ A
  222. 2220  LET M = M+A * X^E
  223. 2230  NEXT E
  224. 2240  LET Z = Z+M*Y^F
  225. 2250  NEXT F
  226. 2260  LET W = 10*EXP(Z)
  227. 2270  LPRINT (INT(W)+INT((W-INT(W))*2))/10;   " MILES FOR 60 DBU/M","OR";
  228. 2280  LPRINT ((INT(W)+INT((W-INT(W))*2))/10)^2*(3.14159);" SQUARE MILES"
  229. 2290  REM MILES = EXP(Z) AND IS ROUNDED TO THE NEAREST TENTH
  230. 2300  RESTORE
  231. 2310  PRINT
  232. 2320  Y= 34-P-T
  233. 2330  LET Z = 0
  234. 2340  FOR F = 0 TO 4
  235. 2350  LET M=0
  236. 2360  FOR E = 0 TO 4
  237. 2370  READ A
  238. 2380  LET M = M+A*X^E
  239. 2390  NEXT E
  240. 2400  LET Z = Z+M*Y^F
  241. 2410  NEXT F
  242. 2420  LET W = 10 *EXP(Z)
  243. 2430  LPRINT (INT(W)+INT((W-INT(W))*2))/10;" MILES FOR 34 DBU/M","OR";
  244. 2440  LPRINT ((INT(W)+INT((W-INT(W))*2))/10)^2*(3.14159);" SQUARE MILES"
  245. 2450  LPRINT :LPRINT
  246. 2460  REM MILES=EXP(Z)AND IS ROUNDED TO THE NEAREST TENTH
  247. 2470  RESTORE
  248. 2480  PRINT 
  249. 2490  PRINT
  250. 2500  DATA 3.68, 5.368E-1,-9.454E-2,6.257E-3, 0
  251. 2510  DATA 1.1654,-7.2486E-1,1.6038E-1,-1.5565E-2,5.6445E-4
  252. 2520  DATA -9.2989E-2, 5.5882E-2, -1.2486E-2, 1.2408E-3, -4.6425E-5
  253. 2530  DATA 1.8513E-3, -1.1238E-3, 2.5306E-4, -2.534E-5,9.5651E-7
  254. 2540  DATA -1.1158E-5, 6.8286E-6, -1.5485E-6,1.5598E-7, -5.9243E-9
  255. 2550  GOTO 1780
  256. 2560  END
  257.