home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 3 / hamradioversion3.0examsandprograms1992.iso / misc / hamutil2 / s-to-y.bas < prev    next >
BASIC Source File  |  1979-12-31  |  3KB  |  79 lines

  1. 100 CLS :REM "S-TO-Y"
  2. 110 PRINT TAB(26);"**** S to Y CONVERSION ****"
  3. 120 REM V.HEESEN-1985
  4. 130 PRINT :PRINT "THIS PROGRAM CONVERTS S-PARAMETERS TO Y-PARAMETERS."
  5. 140 PI=4*ATN(1) :RAD=180/PI
  6. 150 PRINT :BEEP :PRINT "HARD COPY REQUIRED? (Y/N)"
  7. 160 P$=INKEY$ :IF P$="" THEN 160
  8. 170 IF P$="N" THEN 220
  9. 180 IF P$<>"Y" THEN 160
  10. 190 LPRINT :LPRINT TAB(15);"*** CONVERSION OF S-PARAMETERS TO Y-PARAMETERS ***"
  11. 200 LPRINT :LPRINT "DEVICE:__________CONDITIONS:________________________";
  12. 210 LPRINT "Freq:_________Date:_________" :LPRINT
  13. 220 PRINT :BEEP :INPUT "S11(M,P)=";AM,APP :AP=APP/RAD
  14. 230 PRINT :BEEP :INPUT "S12(M,P)=";BM,BPP :BP=BPP/RAD
  15. 240 PRINT :BEEP :INPUT "S21(M,P)=";CM,CPP :CP=CPP/RAD
  16. 250 PRINT :BEEP :INPUT "S22(M,P)=";DM,DPP :DP=DPP/RAD
  17. 260 IF P$<>"Y" THEN 290
  18. 270 LPRINT "S11=";AM;",";APP;TAB(20);"S12=";BM;",";BPP;TAB(40);
  19. 280 LPRINT "S21=";CM;",";CPP;TAB(60);"S22=";DM;",";DPP
  20. 290 V1=1+(AM*COS(AP)) :V2=AM*SIN(AP)
  21. 300 V3=SQR((V1^2)+(V2^2)) :V4=2*ATN(V2/(V3+V1))
  22. 310 V1=1+(DM*COS(DP)) :V2=DM*SIN(DP)
  23. 320 V5=SQR((V1^2)+(V2^2)) :V6=2*ATN(V2/(V5+V1))
  24. 330 V1=V5*V3 :V2=V6+V4
  25. 340 V8=BM*CM :V9=BP+CP
  26. 350 V3=(V1*COS(V2))-(V8*COS(V9))
  27. 360 V4=(V1*SIN(V2))-(V8*SIN(V9))
  28. 370 U1=SQR((V3^2)+(V4^2)) :U2=2*ATN(V4/(U1+V3))
  29. 380 V1=1+(DM*COS(DP)) :V2=DM*SIN(DP)
  30. 390 V3=SQR((V1^2)+(V2^2)) :V4=2*ATN(V2/(V3+V1))
  31. 400 V1=1-(AM*COS(AP)) :V2=-AM*SIN(AP)
  32. 410 V5=SQR((V1^2)+(V2^2)) :V6=2*ATN(V2/(V5+V1))
  33. 420 V1=V5*V3 :V2=V6+V4
  34. 430 V8=BM*CM :V9=BP+CP
  35. 440 V3=V8*COS(V9)+V1*COS(V2)
  36. 450 V4=V8*SIN(V9)+V1*SIN(V2)
  37. 460 U3=SQR((V3^2)+(V4^2)) :U4=2*ATN(V4/(U3+V3))
  38. 470 U5=-2*BM :U6=-2*CM
  39. 480 V1=1+(AM*COS(AP)) :V2=AM*SIN(AP)
  40. 490 V3=SQR((V1^2)+(V2^2)) :V4=2*ATN(V2/(V3+V1))
  41. 500 V1=1-(DM*COS(DP)) :V2=-DM*SIN(DP)
  42. 510 V5=SQR((V1^2)+(V2^2)) :V6=2*ATN(V2/(V5+V1))
  43. 520 V1=V5*V3 :V2=V6+V4
  44. 530 V8=BM*CM :V9=BP+CP
  45. 540 V3=V8*COS(V9)+V1*COS(V2)
  46. 550 V4=V8*SIN(V9)+V1*SIN(V2)
  47. 560 U7=SQR((V3^2)+(V4^2)) :U8=2*ATN(V4/(U7+V3))
  48. 570 AM=U3/U1 :AP=U4-U2
  49. 580 M11=AM*COS(AP) :P11=AM*SIN(AP)
  50. 590 IF P11<0 THEN A$="-" ELSE A$="+"
  51. 600 M11=INT(M11*2000)/100  :P11=INT(P11*200)/10
  52. 610 IF ABS(M11)>99 THEN M11=INT(M11)
  53. 620 BM=U5/U1 :BP=BP-U2
  54. 630 M12=BM*COS(BP) :P12=BM*SIN(BP)
  55. 640 IF P12<0 THEN B$="-" ELSE B$="+"
  56. 650 M12=INT(M12*2000)/100 :P12=INT(P12*200)/10
  57. 660 IF ABS(M12)>99 THEN M12=INT(M12)
  58. 670 CM=U6/U1 :CP=CP-U2
  59. 680 M21=CM*COS(CP) :P21=CM*SIN(CP)
  60. 690 IF P21<0 THEN C$="-" ELSE C$="+"
  61. 700 M21=INT(M21*2000)/100 :P21=INT(P21*200)/10
  62. 710 IF ABS(M21)>99 THEN M21=INT(M21)
  63. 720 DM=U7/U1 :DP=U8-U2
  64. 730 M22=DM*COS(DP) :P22=DM*SIN(DP)
  65. 740 IF P22<0 THEN D$="-" ELSE D$="+"
  66. 750 M22=INT(M22*2000)/100 :P22=INT(P22*200)/10
  67. 760 IF M22>99 THEN M22=INT(M22)
  68. 770 PRINT :PRINT "Y11=";M11;A$;"J"ABS(P11)
  69. 780 PRINT :PRINT "Y12=";M12;B$;"J";ABS(P12)
  70. 790 PRINT :PRINT "Y21=";M21;C$;"J";ABS(P21)
  71. 800 PRINT :PRINT "Y22=";M22;D$;"J";ABS(P22)
  72. 810 IF P$<>"Y" THEN 840
  73. 820 LPRINT:LPRINT "Y11=";M11;A$;"J";ABS(P11);TAB(20);"Y12=";M12;B$;"J";ABS(P12);
  74. 830 LPRINT TAB(40);"Y21=";M21;C$;"J";ABS(P21);TAB(60);"Y22=";M22;D$;"J";ABS(P22)
  75. 840 CLOSE #1 :PRINT :PRINT "CONTINUE? (Y/N)"
  76. 850 E$=INKEY$ :IF E$="" THEN 850
  77. 860 IF E$="Y" THEN 100
  78. 870 IF E$<>"N" THEN 850 ELSE END
  79.