home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 1 / HamRadio.cdr / tech / rf2 / tpcmod01.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1986-04-03  |  4.8 KB  |  253 lines

  1. 10  PRINT"**S. NOVAK , OCT ,84 *****"
  2. 20  LPRINT"**S. NOVAK , OCT ,84 *****"
  3. 30  PRINT "PRINTED IN R.F. DESIGN, May 85"
  4. 40  LPRINT "PRINTED IN R.F. DESIGN, May 85"
  5. 50  PRINT"MAKE SURE PRINTER IS TURNED ON AND READY!"
  6. 60  REM " PARAM. CONV. ",8
  7. 70  PI=3.14159
  8. 80  LPRINT " PARAM. CONVERSION PROGRAM; MODIFIED BY J.PETROSINO AND G.HARRISON 9/85"
  9. 90  PRINT " PARAM. CONVERSION PROGRAM; MODIFIED BY J.PETROSINO AND G.HARRISON 9/85"
  10. 100  DIM R(4),I(4),M(4),A(4),A$(4)
  11. 110  A$(1)=" INPUT PARAM. (11)="
  12. 120  A$(2)=" REVERSE PARAM. (12)="
  13. 130  A$(3)=" FORWARD PARAM. (21)="
  14. 140  A$(4)=" OUTPUT PARAM. (22)="
  15. 150  INPUT " PARAMETERS SUPPLIED ?(Z,Y,H,S,A)";P$
  16. 160  LPRINT " PARAMETERS SUPPLIED ?(Z,Y,H,S,A)";P$
  17. 170  INPUT" POLAR FORM (P) OR RE. AND IM. PARTS (R)";R$
  18. 180  LPRINT" POLAR FORM (P) OR RE. AND IM. PARTS (R)";R$
  19. 190  INPUT" PARAMETER REQUIRED (Z,Y,H,S,A)";S$
  20. 200  LPRINT" PARAMETER REQUIRED (Z,Y,H,S,A)";S$
  21. 210  IF P$="S" OR S$="S" THEN GOSUB 1780
  22. 220  IF R$="P" THEN LPRINT " ENTER MAGNITUDE AND ANGLE IN DEGREES"
  23. 230  IF R$="P" THEN PRINT " ENTER MAGNITUDE AND ANGLE IN DEGREES"
  24. 240  IF R$="R" THEN LPRINT " ENTER REAL AND IMAG. PART"
  25. 250  IF R$="R" THEN PRINT " ENTER REAL AND IMAG. PART"
  26. 260  FOR K=1 TO 4
  27. 270  PRINT A$(K)
  28. 280  INPUT R(K),I(K)
  29. 290  LPRINT A$(K) R(K)","I(K)
  30. 300  IF R$="P" THEN GOSUB 1890
  31. 310  NEXT K
  32. 320  PRINT : LPRINT
  33. 330  IF P$="H" AND S$="S" OR P$="S" AND S$="H" THEN GOSUB 2400 
  34. 340  IF P$="H" AND S$="A" OR P$="A" AND S$="H" THEN GOSUB 2430 
  35. 350  IF P$="S" AND S$="Z" OR P$="Z" AND S$="S" THEN GOSUB 2450 
  36. 360  IF P$="S" AND S$="A" THEN GOSUB 2490
  37. 370  IF P$="A" AND S$="S" THEN GOSUB 2470
  38. 380  REM MULTIPLY BY Z0 **************
  39. 390  IF P$="Y" AND S$="S" THEN GOSUB 2040
  40. 400  REM CALC. P12*P21 AND DP**********
  41. 410  R1=R(2)
  42. 420  I1=I(2)
  43. 430  R2=R(3)
  44. 440  I2=I(3)
  45. 450  GOSUB 1800
  46. 460  P=RE
  47. 470  Q=IM
  48. 480  R1=R(1)
  49. 490  I1=I(1)
  50. 500  R2=R(4)
  51. 510  I2=I(4)
  52. 520  GOSUB 1800
  53. 530  R=RE-P
  54. 540  I=IM-Q
  55. 550  R1=R(1)
  56. 560  REM SELECT PARAM. ******************
  57. 570  IF P$="Z" AND S$="Y" OR P$="Y" AND S$="Z" THEN GOSUB 920
  58. 580  IF P$="A" AND S$="Z" OR P$="Z" AND S$="A" THEN GOSUB 1140
  59. 590  IF P$="H" AND S$="Z" OR P$="Z" AND S$="H" THEN GOSUB 1340
  60. 600  IF P$="Y" AND S$="S" OR P$="S" AND S$="Y" THEN GOSUB 1540
  61. 610  IF P$="H" AND S$="Y" OR P$="Y" AND S$="H" THEN GOSUB 720
  62. 620  REM DUAL CONVERSIONS **************
  63. 630  IF P$="Y" AND S$="A" THEN 660
  64. 640  IF P$="A" AND S$="Y" THEN 690
  65. 650  GOTO 2160
  66. 660  P$="Z"
  67. 670  GOSUB 920
  68. 680  GOTO 380
  69. 690  P$="Z"
  70. 700  GOSUB 1140
  71. 710  GOTO 380
  72. 720  REM CONV. Y TO H OR H TO Y *********
  73. 730  R2=R(1)
  74. 740  I2=I(1)
  75. 750  R1=1
  76. 760  I1=0
  77. 770  K=1
  78. 780  GOSUB 2080
  79. 790  R1=-R(2)
  80. 800  I1=-I(2)
  81. 810  K=2
  82. 820  GOSUB 2080
  83. 830  R1=R(3)
  84. 840  I1=I(3)
  85. 850  K=3
  86. 860  GOSUB 2080
  87. 870  R1=R
  88. 880  I1=I
  89. 890  K=4
  90. 900  GOSUB 2080
  91. 910  RETURN
  92. 920  REM CONV. Y TO Z OR Z TO Y *********
  93. 930  R3=R(1)
  94. 940  I3=I(1)
  95. 950  R1=R(4)
  96. 960  I1=I(4)
  97. 970  R2=R
  98. 980  I2=I
  99. 990  K=1
  100. 1000  GOSUB 2080
  101. 1010  R1=-R(2)
  102. 1020  I1=-I(2)
  103. 1030  K=2
  104. 1040  GOSUB 2080
  105. 1050  R1=-R(3)
  106. 1060  I1=-I(3)
  107. 1070  K=3
  108. 1080  GOSUB 2080
  109. 1090  R1=R3
  110. 1100  I1=I3
  111. 1110  K=4
  112. 1120  GOSUB 2080
  113. 1130  RETURN
  114. 1140  REM CONV. A TO Z OR Z TO A ********
  115. 1150  R2=R(3)
  116. 1160  I2=I(3)
  117. 1170  R1=R(1)
  118. 1180  I1=I(1)
  119. 1190  K=1
  120. 1200  GOSUB 2080
  121. 1210  R1=R
  122. 1220  I1=I
  123. 1230  K=2
  124. 1240  GOSUB 2080
  125. 1250  R1=1
  126. 1260  I1=0
  127. 1270  K=3
  128. 1280  GOSUB 2080
  129. 1290  R1=R(4)
  130. 1300  I1=I(4)
  131. 1310  K=4
  132. 1320  GOSUB 2080
  133. 1330  RETURN
  134. 1340  REM CONV. H TO Z OR Z TO H *******
  135. 1350  R2=R(4)
  136. 1360  I2=I(4)
  137. 1370  R1=R
  138. 1380  I1=I
  139. 1390  K=1
  140. 1400  GOSUB 2080
  141. 1410  R1=R(2)
  142. 1420  I2=I(2)
  143. 1430  K=2
  144. 1440  GOSUB 2080
  145. 1450  R1=-R(3)
  146. 1460  I1=-I(3)
  147. 1470  K=3
  148. 1480  GOSUB 2080
  149. 1490  R1=1
  150. 1500  I1=0
  151. 1510  K=4
  152. 1520  GOSUB 2080
  153. 1530  RETURN
  154. 1540  REM CONV. Y TO S OR S TO Y *******
  155. 1550  R3=R(1)
  156. 1560  I3=I(1)
  157. 1570  R1=1+R(4)-R(1)-R
  158. 1580  I1=I(4)-I(1)-I
  159. 1590  R2=1+R(4)+R(1)+R
  160. 1600  I2=I(4)+I(1)+I
  161. 1610  IF P$="S" AND S$="Y" THEN R2=R2*Z0
  162. 1620  IF P$="S" AND S$="Y" THEN I2=I2*Z0
  163. 1630  K=1
  164. 1640  GOSUB 2080
  165. 1650  R1=-2*R(2)
  166. 1660  I1=-2*I(2)
  167. 1670  K=2
  168. 1680  GOSUB 2080
  169. 1690  R1=-2*R(3)
  170. 1700  I1=-2*I(3)
  171. 1710  K=3
  172. 1720  GOSUB 2080
  173. 1730  R1=1+R3-R(4)-R
  174. 1740  I1=I3-I(4)-I
  175. 1750  K=4
  176. 1760  GOSUB 2080
  177. 1770  RETURN
  178. 1780  INPUT " CHAR. IMP. OF THE LINE (Z0)=",Z0
  179. 1790  RETURN
  180. 1800  REM COMPL. NO MULT. SUB ************
  181. 1810  RE=R1*R2-I1*I2
  182. 1820  IM=I1*R2+R1*I2
  183. 1830  RETURN
  184. 1840  REM COMP. NO. DIV. SUB *************
  185. 1850  D=R2*R2+I2*I2
  186. 1860  RE=(R1*R2+I1*I2)/D
  187. 1870  IM=(I1*R2-R1*I2)/D
  188. 1880  RETURN
  189. 1890  REM POLAR TO RECT. ***************
  190. 1900  A=I(K)
  191. 1910  M=R(K)
  192. 1920  A=A*PI/180
  193. 1930  RE=M*COS(A)
  194. 1940  IM=M*SIN(A)
  195. 1950  R(K)=RE
  196. 1960  I(K)=IM
  197. 1970  RETURN
  198. 1980  REM RECT. TO POLAR ***************
  199. 1990  M=SQR(RE*RE+IM*IM)
  200. 2000  A=90*(SGN(IM)+(IM=0))
  201. 2010  IF RE=0 THEN 2030
  202. 2020  A=ATN(IM/RE)*180/PI+A*(1-SGN(RE))
  203. 2030  RETURN
  204. 2040  FOR K=1 TO 4
  205. 2050  R(K)=R(K)*Z0:I(K)=I(K)*Z0
  206. 2060  NEXT K
  207. 2070  RETURN
  208. 2080  REM SUB. STORE RESULTS ***********
  209. 2090  GOSUB 1840
  210. 2100  R(K)=RE
  211. 2110  I(K)=IM
  212. 2120  GOSUB 1980
  213. 2130  M(K)=M
  214. 2140  A(K)=A
  215. 2150  RETURN
  216. 2160  REM SUB. PRINT *******************
  217. 2170  LPRINT " CALCULATED PARAMETER ="S$
  218. 2180  PRINT " CALCULATED PARAMETER ="S$
  219. 2190  E=1E+08
  220. 2200  FOR K=1 TO 4
  221. 2210  LPRINT A$(K);S$
  222. 2220  PRINT A$(K);S$
  223. 2230  LPRINT "RE","IM","MAG","ANGLE"
  224. 2240  PRINT "RE","IM","MAG","ANGLE"
  225. 2250  REM LPRINT  (INT(R(K)*E))/E, (INT(I(K)*E))/E, (INT(M(K)*E))/E, (INT(A(K)*E))/E
  226. 2260  REM PRINT  (INT(R(K)*E))/E, (INT(I(K)*E))/E, (INT(M(K)*E))/E, (INT(A(K)*E))/E
  227. 2270  PRINT USING "#.###^^^^  ";R(K),I(K),M(K),A(K)
  228. 2280  LPRINT USING "##.###^^^^  ";R(K),I(K),M(K),A(K)
  229. 2290  LPRINT
  230. 2300  NEXT K
  231. 2310  PRINT""
  232. 2320  PRINT""
  233. 2330  LPRINT""
  234. 2340  LPRINT""
  235. 2350  LPRINT""
  236. 2360  IF S1$<>S$ THEN 2510 
  237. 2370  INPUT " ANOTHER CALCULATION (Y OR N)";C$
  238. 2380  IF C$<>"Y" THEN END
  239. 2390  GOTO 150
  240. 2400  REM SUB FOR PAR CON **********
  241. 2410  S1$=S$:S0$=S$:S$="Y"
  242. 2420  RETURN
  243. 2430  S1$=S$:S0$=S$:S$="Z"
  244. 2440  RETURN
  245. 2450  S1$=S$:S0$=S$:S$="Y"
  246. 2460  RETURN
  247. 2470  S1$=S$:S0$=S$:S$="Y"
  248. 2480  RETURN
  249. 2490  S1$=S$:S0$="Z":S$="Y"
  250. 2500  RETURN
  251. 2510  P$=S$:S$=S0$:S0$=S1$
  252. 2520  GOTO 330
  253.