home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 1 / HamRadio.cdr / tech / ee2 / convshyz.bas < prev    next >
BASIC Source File  |  1979-12-31  |  4KB  |  213 lines

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