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

  1. 10 DEFDBL A-H,J-M,O-Z
  2. 20 REM intercept and noise figure program "intrcp"
  3. 30 REM W. SABIN SEP., 1980
  4. 40 REM DIM F(21),I1(21),1(21),G(20),CF(21)
  5. 50 REM DIM 12(20),2(20),P(21),D(21),C(20),BR(20)
  6. 60 PRINT "CASCADE IP(3) OR IP(2)"
  7. 70 PRINT "CASCADE NOISE FIGURE"
  8. 80 INPUT "NUMBER OF STAGES=";N
  9. 90 PRINT "TYPE 1 IF LOAD PASSIVE,2 IF ACTIVE"
  10. 100 INPUT E:  IF E=2 GOTO 140
  11. 110 LET CF(N+1)=0: I1(N+1)=50
  12. 120 PRINT "PASSIVE LOAD"
  13. 130 GOTO 160
  14. 140 INPUT "N.F. (DB) OF LOAD";CF(N+1)
  15. 150 INPUT "I.P. (DBM) OF LOAD";I1(N+1)
  16. 160 PRINT "TYPE 3 FOR THIRD ORDER I.P."
  17. 170 PRINT "TYPE 2 FOR SECOND ORDER I.P."
  18. 180 INPUT X
  19. 190 LET P(N+1)=30
  20. 200 FOR I=N TO 1 STEP -1
  21. 210 PRINT: PRINT : PRINT "STAGE NUMBER";I
  22. 220 PRINT "TYPE 1 IF STAGE IS ACTIVE"
  23. 230 PRINT "TYPE 2 IF STAGE IS PASSIVE"
  24. 240 INPUT K
  25. 250 ON K GOTO 320,260
  26. 260 INPUT "INSERTION LOSS (DB)";G(I)
  27. 270 INPUT "BANDWIDTH RATIO=";BR(I)
  28. 280 IF BR(I)<1 THEN BR(I)=1
  29. 290 LET I1(I)=50: O1(I)=50: C(I)=1
  30. 300 LET F(I)=G(I):G(I)=-G(I)
  31. 310 GOTO 490
  32. 320 INPUT "AVAILABLE GAIN(DB)";G(I)
  33. 330 INPUT "STAGE NOISE FIG.";F(I)
  34. 340 INPUT "BANDWIDTH RATIO=";BR(I)
  35. 350 IF BR(I)<1 THEN BR(I)=1
  36. 360 PRINT "TYPE 1 IF INPUT I.P. IS SPECIFIED"
  37. 370 PRINT "TYPE 2 IF OUTPUT I.P. IS SPECIFIED"
  38. 380 INPUT Y
  39. 390 ON Y GOTO 450,400
  40. 400 INPUT "OUTPUT I.P. (DBM) ";O1(I)
  41. 410 LET I1(I)=O1(I)-G(I)
  42. 420 PRINT "INPUT I.P.=";I1(I)
  43. 430 INPUT "CORRELATION FACTOR";C(I)
  44. 440 GOTO 490
  45. 450 INPUT "INPUT I.P. (DBM)";I1(I)
  46. 460 LET O1(I)=I1(I)+G(I)
  47. 470 PRINT "OUTPUT I.P.=";O1(I)
  48. 480 INPUT "CORRELATION FACTOR";C(I)
  49. 490 LET P(I)=P(I+1)-G(I)
  50. 500 IF X=3 THEN D(I)=3*P(I)-2*I1(I)
  51. 510 IF X=2 THEN D(I)=2*P(I)-I1(I)
  52. 520 LET D(I)=.001*10^(D(I)/10)
  53. 530 LET U=10^(F(I)/10)
  54. 540 LET V=10^(CF(I+1)/10)
  55. 550 LET V=V*BR(I)
  56. 560 LET W=10^(G(I)/10)
  57. 570 LET CF(I)=U+(V-1)/W
  58. 580 IF CF(I)<1E-37 THEN CF(I)=1E-37
  59. 590 LET CF(I)=4.3429*LOG(CF(I))
  60. 600 NEXT I
  61. 610 IF X=3 THEN D(N+1)=3*P(N+1)-2*I1(N+1)
  62. 620 IF X=2 THEN D(N+1)=2*P(N+1)-I1(N+1)
  63. 630 LET D(N+1)=.001*10^(D(N+1)/10)
  64. 640 FOR I=N TO 1 STEP-1
  65. 650 LET B=D(I+1)/(10^(G(I)/10))
  66. 660 LET D(I)=D(I)+2*C(I)*SQR(D(I))*SQR(B)+B
  67. 670 NEXT I
  68. 680 PRINT " INTERCEPTS,N.F."
  69. 690 PRINT "STAGE         INPUT I.P.        N.F."
  70. 700 PRINT
  71. 710 FOR I=1 TO N
  72. 720 IF D(I)<1E-37 THEN D(I)=1E-37
  73. 730 LET D(I)=4.3429*LOG(D(I)/.001)
  74. 740 IF X=3 THEN I2(I)=1.5*P(I)-.5*D(I)
  75. 750 IF X=2 THEN I2(I)=2*P(I)-D(I)
  76. 760 NEXT I
  77. 770 FOR I=1 TO N
  78. 780 LET I2(I)=INT(I2(I)*100+.5)/100
  79. 790 LET CF(I)=INT(CF(I)*100+.5)/100
  80. 800 PRINT I,I2(I),CF(I)
  81. 810 NEXT I
  82. 820 PRINT :PRINT
  83. 850 PRINT "STAGE","OUTPUT I.P.":PRINT
  84. 860 LET D(1)=-50
  85. 870 FOR I=2 TO N+1
  86. 880 IF X=3 THEN D(I)=3*P(I)-2*O1(I-1)
  87. 890 IF X=2 THEN D(I)=2*P(I)-O1(I-1)
  88. 900 LET D(I)=.001*10^(D(I)/10)
  89. 910 LET D(I-1)=.001*10^(D(I-1)/10)
  90. 920 LET B=D(I-1)*10^(G(I-1)/10)
  91. 930 LET D(I)=D(I)+2*C(I)*SQR(D(I))*SQR(B)+B
  92. 940 IF D(I)<1E-37 THEN D(I)=1E-37
  93. 950 LET D(I)=4.3429*LOG(D(I)/.001)
  94. 960 IF X=3 THEN O2(I)=1.5*P(I)-.5*D(I)
  95. 970 IF X=2 THEN O2(I)=2*P(I)-D(I)
  96. 980 IF D(I-1)<1E-37 THEN D(I-1)=1E-37
  97. 990 LET D(I-1)=4.3429*LOG(D(I-1)/.001)
  98. 1000 LET O2(I)=INT(O2(I)*100+.5)/100
  99. 1010 PRINT I-1,O2(I)
  100. 1020 NEXT I
  101. 1030 END
  102.