home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 1 / HamRadio.cdr / tech / rf3 / refcoef.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1986-08-18  |  2.3 KB  |  57 lines

  1. 10  CLS: PRINT "PROGRAM TO CALC REFLECTION COEF <> Z"
  2. 15  PRINT "BY A. KATZ FOR TSC ELECTRONICS PROGRAM V2.1 (8/18/86)
  3. 20  REM: RECT. TO POLAR FIXED AND IMPROVED FORMAT - GH 6/15/86
  4. 30  REM: MODIFIED FOR IBM PC BY ART HOLMES
  5. 40  REM PRECISION 5: REM BY A. KATZ V2.0 12/22/83
  6. 50  PI=4*ATN(1)
  7. 60  REM COMPLEX ARITHMATIC SUBROUTEENS
  8. 70  DG=180/PI: Z0=50
  9. 80  DEF FNMR(AR,AX,BR,BX)=AR*BR-AX*BX
  10. 90  DEF FNMX(AR,AX,BR,BX)=AR*BX+AX*BR
  11. 100  DEF FNDR(AR,AX,BR,BX)=(AR*BR+AX*BX)/(BR^2+BX^2)
  12. 110  DEF FNDX(AR,AX,BR,BX)=(AX*BR-AR*BX)/(BR^2+BX^2)
  13. 120  DEF FNMG(AR,AX)=SQR(AR^2+AX^2)
  14. 130  DEF FNAG(AR,AX)=DG*(ATN(AX/AR)-(SGN(AR)-1)*PI/2)
  15. 140  DEF FNR(MG,AG)=MG*COS(AG/DG)
  16. 150  DEF FNX(MG,AG)=MG*SIN(AG/DG)
  17. 170  PRINT: INPUT "WANT TO CALC Z OR REF COEF (Z/R) OR (END)"; Q$
  18. 175  IF Q$="END" THEN END
  19. 180  IF Q$="R" THEN 300 ELSE IF Q$<>"Z" THEN 170
  20. 190  REM:******calculate z from ref. coef.************************
  21. 200  PRINT: INPUT "MAG OF REF COEF (IF NEG THEN IN dB)"; MI
  22. 210  INPUT "ANGLE"; AG: IF MI<0 THEN MG=10^(MI/20) ELSE MG=MI
  23. 220  RG=FNR(MG,AG): XG=FNX(MG,AG)
  24. 230  IF RG=1 THEN RG=1.0001
  25. 240  RZ=Z0*FNDR(1+RG,XG,1-RG,-XG): XZ=Z0*FNDX(1+RG,XG,1-RG,-XG)
  26. 250  PRINT: PRINT, "REF COEF MAG =" MG " AT ANGLE" AG "
  27. 260  PRINT "Z IN RECT. FORM :       REAL = ";RZ;:PRINT "      IMAG = ";XZ
  28. 270  PRINT: INPUT "WANT HARD COPY (Y/N)"; H$
  29. 280  IF H$="Y" GOTO 440 ELSE GOTO 170
  30. 290  REM:******calculate ref. coef from z*************************
  31. 300  PRINT: INPUT "REAL PART OF IMPEDANCE"; RZ
  32. 310  INPUT "IMAGINARY PART OF IMPEDANCE"; XZ
  33. 320  RG=FNDR(RZ-Z0,XZ,RZ+Z0,XZ)
  34. 330  XG=FNDX(RZ-Z0,XZ,RZ+Z0,XZ)
  35. 340  IF RG=0 THEN RG=9.9999E-05
  36. 350  REM: IF XG=0 THEN XG=.0001
  37. 360  GM=FNMG(RG,XG): GA=FNAG(RG,XG): PRINT
  38. 370  PRINT: PRINT, "REAL Z =" RZ " IMAG Z =" XZ "
  39. 380  PRINT "REFLECTION COEFFICIENT:"
  40. 390  PRINT "     RECTANGULAR FORM:  REAL = ";RG;: PRINT "  IMAG. = ";XG
  41. 400  PRINT "     POLAR FORM      :  MAG. = ";GM;: PRINT "  ANG.  = ";GA
  42. 402  DB=20*LOG(GM)/LOG(10)
  43. 405  PRINT " RETN LOSS FORM      :  M dB = ";DB;: PRINT "  ANG.  = ";GA
  44. 410  PRINT: INPUT "WANT HARD COPY (Y/N)"; H$
  45. 420  IF H$="Y" GOTO  470  ELSE GOTO 170
  46. 430   REM: **********************PRINT ROUTINE*********************
  47. 440  LPRINT, "REF COEF MAG =" MG " AT ANGLE" AG "
  48. 450  LPRINT "Z IN RECT. FORM :       REAL = ";RZ;:LPRINT "      IMAG = ";XZ
  49. 460  GOTO 170
  50. 470  LPRINT: LPRINT, "REAL Z =" RZ " IMAG Z =" XZ "
  51. 480  LPRINT "REFLECTION COEFFICIENT:"
  52. 490  LPRINT "     RECTANGULAR FORM:  REAL = ";RG;:LPRINT "  IMAG. = ";XG
  53. 500  LPRINT "     POLAR FORM      :  MAG. = ";GM;:LPRINT "  ANG.  = ";GA
  54. 505  LPRINT " RETN LOSS FORM      :  M dB = ";DB;: PRINT "  ANG.  = ";GA
  55. 510  GOTO 170
  56. 520  END
  57.