home *** CD-ROM | disk | FTP | other *** search
/ Antennas / Antennas_CD-ROM_Walnut_Creek_September_1996.iso / w4mb / vol2 / basic / zlzg.asc < prev   
Text File  |  1996-06-30  |  6KB  |  163 lines

  1. 2 ON ERROR GOTO 64000
  2. 3 CLS
  3. 10 PRINT "   ***************************************************************"
  4. 20 PRINT "   *         TRANSMISSION LINE END IMPEDANCE CALCULATIONS        *"
  5. 30 PRINT "   *               PROGRAM BY  R.P. HAVILAND, W4MB               *"
  6. 40 PRINT "   *                      COPYRGHT 1990                          *"
  7. 50 PRINT "   *         MINILAB BOOKS, DAYTONA BEACH, FL 32121-1086         *"
  8. 60 PRINT "   ***************************************************************"
  9. 70 DEF FNP(X)=INT(10*180*X/+.5)/10:PI=3.141592
  10. 80 DEF FNSINH(X)=(EXP(X)+EXP(-X))/2
  11. 90 DEF FNCOSH(X)=(EXP(X)-EXP(-X))/2
  12. 100 PRINT"    RESISTANCES,REACTANCES IN OHMS"
  13. 110 PRINT"      ANGLES IN DEGREES FOR I/O"
  14. 120 PRINT"  WARNING- THERE IS NO CHECK FOR IMPOSSIBLE INPUT CONDITIONS,"
  15. 130 PRINT"   WHICH WILL PRODUCE AN OUTPUT ERROR"
  16. 140 PRINT"    USE OF A SMITH CHART AS A QUICK CHECK IS HELPFUL"
  17. 150 PRINT" ENTER LENGTH OF LINE, FEET" :INPUT LL
  18. 160 PRINT"  ENTER LINE TYPE:NULL= RG-8A/U,"
  19. 170 PRINT"   OR ENTER TYPE, (RG-58A/U, ETC), OR 300-TWIN OR 300-OPEN":INPUT TY$
  20. 200 PRINT:IF TY$="" THEN TY$="RG-8A/U"
  21. 210 IF TY$="RG-8A/U" THEN ZO=50:ML=.21:XP=.57:PF=29.5:VF=.66:GOTO 500
  22. 220 IF TY$="RG-8F/U" THEN ZO=50:ML=.15:XP=.53:PF=25.4:VF=.8:GOTO 500
  23. 230 IF TY$="RG-11A/U" THEN ZO=75:ML=.15:XP=.53:PF=20.6:VF=.66:GOTO 500
  24. 240 IF TY$="RG-58A/U" THEN ZO=53.5:ML=.33:XP=.58:PF=28.5:VF=.66:GOTO 500
  25. 250 IF TY$="RG-58F/U" THEN ZO=53.5:ML=.31:XP=.51:PF=28.5:VF=.79:GOTO 500
  26. 260 IF TY$="RG-59A/U" THEN ZO=73:ML=.31:XP=.51:PF=21:VF=.66:GOTO 500
  27. 270 IF TY$="RG-213/U" THEN ZO=50:ML=.15:XP=.56:PF=30.8:VF=.66:GOTO 500
  28. 280 IF TY$="RG-246/U" THEN ZO=75:ML=.048:XP=.48:PF=16.7:VF=.81:GOTO 500
  29. 290 IF TY$="RG-360/U" THEN ZO=50:ML=.06:XP=.55:PF=25:VF=.81:GOTO 500
  30. 300 IF TY$="300-OPEN" THEN ZO=300:ML=8.999999E-03:XP=1.12:PF= 5:VF=.95:GOTO 500
  31. 310 IF TY$="300-TWIN" THEN ZO=300:ML=.08:XP=.56:PF=4.6:VF=.95:GOTO 500
  32. 400 PRINT" TYPE  IS NOT IN FILE. ENTER, IN ORDER"
  33. 410 PRINT" ZO,LOSS MULTIPLIIER, LOSS EXPONENT"
  34. 420 INPUT ZO,ML,XP
  35. 430 PRINT" ENTER IN ORDER"
  36. 440 PRINT" CAPACITY PER FOOT, VELOCITY FACTOR"
  37. 450 INPUT PF,VF
  38. 500 GOSUB 21800
  39. 600 PRINT " ENTER L=MOVE FROM GENERATOR TO LOAD"
  40. 610 PRINT "       G=MOVE FROM LOAD TO GENERATOR"
  41. 620 INPUT T$
  42. 630 IF T$="G" THEN FL=0:GOTO 1000
  43. 640 IF T$="L" THEN FL=1:GOTO 1000
  44. 650 GOTO 600
  45. 999 REM SMITH CHART ROTATE
  46. 1000 PRINT" SMITH CHART ROTATE":PRINT"  ENTER NUMBER OF DATA SETS (ROWS)"
  47. 1005 INPUT RO:DIM A(RO,8):PRINT"":CO=8
  48. 1010 FOR N=1 TO RO:PRINT :PRINT"        FOR ROW ";N;
  49. 1015 PRINT" ENTER IN ORDER; FREQ, MHZ, Z-MAG, Z-ANGL (DEG.)"
  50. 1020 INPUT A(N,1),A(N,2),A(N,3):F=A(N,1):A(N,3)=A(N,3)*PI/180
  51. 1025 GOSUB 21800:A(N,4)=LO
  52. 1030 PRINT "   LINE LOSS=";LO;"DB,    LENGTH=";BE/2/PI; "WAVELENGTHS"
  53. 1035 SM=A(N,2):SA=A(N,3)
  54. 1040 GOSUB 7105:GOSUB 8200
  55. 1045 A(N,5)=SM:A(N,6)=SA
  56. 1050 PRINT" AT OPPOSITE LINE END, RESIS.= ";SM;"OHMS":A(N,4)=SM
  57. 1055 PRINT"                       REACT.= ";SA;"OHMS":A(N,5)=SA
  58. 1060 A(N,7)=INT(EL*F/984)
  59. 1065 NEXT N
  60. 1070 PRINT" FILE FULL. "
  61. 1075 PRINT"  ENTER  P= PRINTOUT, OR R= RERUN, OTHER= QUIT"
  62. 1080 INPUT S$
  63. 1085 IF S$="P" THEN 10000
  64. 1090 IF S$="R" THEN ERASE A:GOTO 100
  65. 1095 STOP
  66. 6499 REM ADD ROUTINE
  67. 6500 GOSUB 8200
  68. 6505 HP=SM:HQ=SA
  69. 6510 SM=SN:SA=SB                         
  70. 6515 GOSUB 8200
  71. 6520 SM=SM+HP:SA=SA+HQ
  72. 6525 GOSUB 8000
  73. 6530 RETURN
  74. 6799 REM DIVIDE
  75. 6800 SM=SN/SM:SA=SB-SA
  76. 6805 RETURN
  77. 7099 REM ROTATE TO GENERATOROR
  78. 7100 FL=0
  79. 7105 HM=SM:HA=SA 
  80. 7110 SM=ZO:SA=ZP 
  81. 7115 SN=ZM:SB=ZA 
  82. 7120 GOSUB 7700 
  83. 7125 SN=HM:SB=HA
  84. 7130 IF FL=0 THEN GOSUB 6500
  85. 7135 IF FL=1 THEN GOSUB 8300 
  86. 7140 SN=HM:SB=HA 
  87. 7145 HM=SM:HA=SA
  88. 7150 SM=ZM:SA=ZA 
  89. 7155 GOSUB 7700   
  90. 7160 SN=ZO:SB=ZP  
  91. 7165 IF FL=0 THEN GOSUB 6500
  92. 7170 IF FL=1 THEN GOSUB 8300  
  93. 7175 SN=HM:SB=HA  
  94. 7180 GOSUB 6800   
  95. 7185 SN=ZO:SB=ZP  
  96. 7190 GOSUB 7700   
  97. 7200 RETURN
  98. 7599 REM ROTATE TO LOAD
  99. 7600 FL=1
  100. 7605 GOTO 7105
  101. 7699 REM MULTIPLY                        
  102. 7700 SM=SM*SN:SA=SA+SB
  103. 7705 RETURN
  104. 7999 REM TO POLAR
  105. 8000 TP=SM:TQ=SA:IF TP=0 THEN TP=.00001
  106. 8005 SM=SQR(TP*TP+TQ*TQ)
  107. 8010 SA=ATN(TQ/TP)
  108. 8015 RETURN
  109. 8099 REM SQUARE ROOT
  110. 8100 SM=SQR(SM):SA=SA/2
  111. 8105 RETURN
  112. 8199 REM TO RECTANGULAR
  113. 8200 TP=SM:TQ=SA
  114. 8205 SM=TP*COS(TQ):SA=TP*SIN(TQ)
  115. 8210 RETURN
  116. 8299 REM SUBTRACT
  117. 8300 GOSUB 8200
  118. 8305 HP=SM:HQ=SA
  119. 8310 SM=SN:SA=SB                         
  120. 8315 GOSUB 8200
  121. 8320 SM=HP-SM:SA=HQ-SA
  122. 8325 GOSUB 8000
  123. 8330 RETURN
  124. 10000 PRINT "      IMPEDANCE CORRECTION FOR LINE LENGTH"
  125. 10010 PRINT "  LINE LENGTH=";LL;"FEET"
  126. 10020 PRINT "        TYPE =";TY$
  127. 10030 PRINT "    IMPEDANCE=";ZO;"OHMS"
  128. 10040 PRINT   
  129. 10100 IF FL=0 THEN PRINT "        GENERATOR END",,"      LOAD END"
  130. 10110 IF FL=1 THEN PRINT "        LOAD END",,"GENERATOR END"
  131. 10120 PRINT "FREQUENCY","ZMAG","ZANGL","RES","REACT"
  132. 10130 FOR N=1 TO RO
  133. 10140 FOR K=1 TO 5
  134. 10150 PRINT A(N,K),
  135. 10160 NEXT K
  136. 10180 NEXT N
  137. 10190 PRINT 
  138. 10990 GOTO 1075
  139. 21440 SA=FNSINH(AL)*SIN(BE)
  140. 21799 REM DO Z
  141. 21800 LO=ML*F^XP*LL/100
  142. 21805 AL=LO/8.686
  143. 21810 BE=LL*F*2*PI/(984*VF)
  144. 21815 TP=EXP(4*AL)+1+2*EXP(2*AL)*COS(2*BE)
  145. 21820 SM=(EXP(4*AL)-1)/TP
  146. 21825 SA=2*EXP(2*AL)*SIN(2*BE)/TP
  147. 21830 GOSUB 8000
  148. 21835 SM=FNCOSH(AL)*COS(BE)
  149. 21845 GOSUB 8000
  150. 21850 SN=SM
  151. 21855 SB=SA
  152. 21860 SM=FNSINH(AL)*COS(BE)
  153. 21865 SA=FNCOSH(AL)*SIN(BE)
  154. 21870 GOSUB 8000
  155. 21875 GOSUB 6800
  156. 21880 ZM=SM
  157. 21885 ZA=SA
  158. 21890 RETURN
  159. 63333 END
  160. 64000 PRINT " ERROR";ERR;"AT LINE ";ERL
  161. 64010 PRINT "  RERUN WITH DIFFERENT CONDITIONS?
  162. 64020 RESUME 600
  163.