home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 1 / HamRadio.cdr / tech / design5 / nfcascad.bas < prev    next >
BASIC Source File  |  1987-06-13  |  3KB  |  81 lines

  1. 5   REM PROGRAM NAME:NFCASCAD
  2. 10  REM PROGRAM CODED BY G. HARRISON ON 1/3/87,rev.6-10-87 by gh
  3. 15  REM reminder for future improvement: allow what-if with out re-entering
  4. 16  REM all the data. gh 6-12-87
  5. 20  REM BASED ON:"NOISE FIGURE CALCULATION OF CASCADED NETWORKS"
  6. 30  REM R.F.DESIGN, APRIL 1980; BY ANDRZEJ B. PRZEDPELSKI
  7. 40  REM MR. PRZEDPELSKI SUPPLIED ME WITH A PROGRAM WRITTEN IN H.P. BASIC
  8. 50  REM THE UTILITY OF THE PROGRAM IS IN THE LAST COLUMN OF THE PRINTOUT.
  9. 60  REM THIS COLUMN IS THE VALUE OF EACH OF THE TERMS IN THE CLAIC NOISE
  10. 70  REM FIGURE EQUATION AND THUS GIVES ONE AN INSITE AS TO REDUCING THE
  11. 80  REM OVERALL NOISE FIGURE.
  12. 81    PRINT "ENTER GAIN OF AN ATTENUATOR AS THE NEG. OF ITS LOSS IN dB"
  13. 82    PRINT "ENTER NF OF AN ATTENUATOR AS ITS LOSS IN dB":PRINT:PRINT
  14. 90 INPUT "ENTER NUMBER OF STAGES,  N=", N
  15. 100 PRINT
  16. 110 REM ****** CLEAR ARRAYS ********
  17. 120 FOR I = 1 TO N
  18. 130 G(I)=0:F(I)=0
  19. 140 NEXT I
  20. 150 REM ****** ENTER STAGE GAINS IN DB *****
  21. 160 PRINT"ENTER STAGE GAINS IN DB"
  22. 170 FOR I=1 TO N-1
  23. 180 PRINT "INPUT GAIN IN DB FOR STAGE #";I
  24. 190 INPUT G(I)
  25. 200 NEXT I
  26. 210 REM ****** ENTER STAGE NF IN DB  ******
  27. 220 FOR I=1 TO N
  28. 230 PRINT "ENTER STAGE NOISE FIGURES IN dB FOR STAGE #";I
  29. 240 INPUT F(I)
  30. 250 NEXT I
  31. 260 REM ******* CAL. FIRST STAGE NOISE FACTOR
  32. 270  NF(1)= 10^(F(1)/10)
  33. 280 REM ******* CAL ALL POWER GAINS AND NOISE FACTOR MINUS ONE ******
  34. 290 FOR I = 1 TO N
  35. 300 GF(I)=10^(G(I)/10)
  36. 310 FF(I)= 10^(F(I)/10)-1
  37. 320 NEXT I
  38. 330 REM ******* START MAIN LOOP
  39. 340 FOR I = 2 TO N
  40. 350 NF(I)=FF(I)/GF(I-1)
  41. 360 FOR J = I TO 2 STEP -1
  42. 370 IF (J-2)<1 GOTO 390
  43. 380 NF(I)=NF(I)/GF(J-2)
  44. 390 REM DUMMY
  45. 400 NEXT J
  46. 410 REM
  47. 420 NEXT I
  48. 430 REM ******* END MAIN LOOP ********
  49. 440  NF(1)= 10^(F(1)/10)
  50. 450 NFT = NF(1)
  51. 460 FOR I = 2 TO N
  52. 470 NFT = NFT + NF(I)
  53. 480 NEXT I
  54. 490 NFTDB=(10*LOG(NFT))/2.302585
  55. 500 PRINT "TOTAL NOISE FIGURE ="(10*LOG(NFT))/2.302585
  56. 510 PRINT"DO YOU WANT A PRINTOUT?  {Y}ES"
  57. 520  INPUT Q$
  58. 530 IF Q$ <> "Y" GOTO 90
  59. 540 LPRINT  "STAGE         STAGE          STAGE NOISE      STAGE         NOISE FACTOR"
  60. 550 LPRINT  "GAIN/dB       GAIN;P/P         FIGURE/dB    NOISE FACTOR    CONTRIBUTION"
  61. 560 LPRINT"------------------------------------------------------------------------"
  62. 570 FOR I = 1 TO N-1
  63. 580 LPRINT USING "##.##         "; G(I);
  64. 590 LPRINT USING "##.##^^^^^      "; GF(I);
  65. 600 LPRINT USING "##.##           "; F(I); FF(I)+1; NF(I)
  66. 610 NEXT I
  67. 611 LPRINT TAB(31)
  68. 615 LPRINT USING "##.##           "; F(I); FF(I)+1; NF(I)
  69. 620 LPRINT TAB(60) "--------"
  70. 630 LPRINT TAB(63)
  71. 640 LPRINT USING "##.##";NFT
  72. 650 LPRINT
  73. 660 LPRINT "TOTAL NOISE FACTOR = ";:LPRINT USING "##.##";NFT
  74. 670 LPRINT "TOTAL NOISE FIGURE = ";:LPRINT USING "##.##";NFTDB;:LPRINT "  dB"
  75. 680 LPRINT
  76. 690 PRINT
  77. 700 PRINT "NEW RUN, PRESS CTRL C TO ABORT"
  78. 710 PRINT
  79. 720 GOTO 90
  80. 730 END
  81.