home *** CD-ROM | disk | FTP | other *** search
- 5 REM PROGRAM NAME:NFCASCAD
- 10 REM PROGRAM CODED BY G. HARRISON ON 1/3/87,rev.6-10-87 by gh
- 15 REM reminder for future improvement: allow what-if with out re-entering
- 16 REM all the data. gh 6-12-87
- 20 REM BASED ON:"NOISE FIGURE CALCULATION OF CASCADED NETWORKS"
- 30 REM R.F.DESIGN, APRIL 1980; BY ANDRZEJ B. PRZEDPELSKI
- 40 REM MR. PRZEDPELSKI SUPPLIED ME WITH A PROGRAM WRITTEN IN H.P. BASIC
- 50 REM THE UTILITY OF THE PROGRAM IS IN THE LAST COLUMN OF THE PRINTOUT.
- 60 REM THIS COLUMN IS THE VALUE OF EACH OF THE TERMS IN THE CLAIC NOISE
- 70 REM FIGURE EQUATION AND THUS GIVES ONE AN INSITE AS TO REDUCING THE
- 80 REM OVERALL NOISE FIGURE.
- 81 PRINT "ENTER GAIN OF AN ATTENUATOR AS THE NEG. OF ITS LOSS IN dB"
- 82 PRINT "ENTER NF OF AN ATTENUATOR AS ITS LOSS IN dB":PRINT:PRINT
- 90 INPUT "ENTER NUMBER OF STAGES, N=", N
- 100 PRINT
- 110 REM ****** CLEAR ARRAYS ********
- 120 FOR I = 1 TO N
- 130 G(I)=0:F(I)=0
- 140 NEXT I
- 150 REM ****** ENTER STAGE GAINS IN DB *****
- 160 PRINT"ENTER STAGE GAINS IN DB"
- 170 FOR I=1 TO N-1
- 180 PRINT "INPUT GAIN IN DB FOR STAGE #";I
- 190 INPUT G(I)
- 200 NEXT I
- 210 REM ****** ENTER STAGE NF IN DB ******
- 220 FOR I=1 TO N
- 230 PRINT "ENTER STAGE NOISE FIGURES IN dB FOR STAGE #";I
- 240 INPUT F(I)
- 250 NEXT I
- 260 REM ******* CAL. FIRST STAGE NOISE FACTOR
- 270 NF(1)= 10^(F(1)/10)
- 280 REM ******* CAL ALL POWER GAINS AND NOISE FACTOR MINUS ONE ******
- 290 FOR I = 1 TO N
- 300 GF(I)=10^(G(I)/10)
- 310 FF(I)= 10^(F(I)/10)-1
- 320 NEXT I
- 330 REM ******* START MAIN LOOP
- 340 FOR I = 2 TO N
- 350 NF(I)=FF(I)/GF(I-1)
- 360 FOR J = I TO 2 STEP -1
- 370 IF (J-2)<1 GOTO 390
- 380 NF(I)=NF(I)/GF(J-2)
- 390 REM DUMMY
- 400 NEXT J
- 410 REM
- 420 NEXT I
- 430 REM ******* END MAIN LOOP ********
- 440 NF(1)= 10^(F(1)/10)
- 450 NFT = NF(1)
- 460 FOR I = 2 TO N
- 470 NFT = NFT + NF(I)
- 480 NEXT I
- 490 NFTDB=(10*LOG(NFT))/2.302585
- 500 PRINT "TOTAL NOISE FIGURE ="(10*LOG(NFT))/2.302585
- 510 PRINT"DO YOU WANT A PRINTOUT? {Y}ES"
- 520 INPUT Q$
- 530 IF Q$ <> "Y" GOTO 90
- 540 LPRINT "STAGE STAGE STAGE NOISE STAGE NOISE FACTOR"
- 550 LPRINT "GAIN/dB GAIN;P/P FIGURE/dB NOISE FACTOR CONTRIBUTION"
- 560 LPRINT"------------------------------------------------------------------------"
- 570 FOR I = 1 TO N-1
- 580 LPRINT USING "##.## "; G(I);
- 590 LPRINT USING "##.##^^^^^ "; GF(I);
- 600 LPRINT USING "##.## "; F(I); FF(I)+1; NF(I)
- 610 NEXT I
- 611 LPRINT TAB(31)
- 615 LPRINT USING "##.## "; F(I); FF(I)+1; NF(I)
- 620 LPRINT TAB(60) "--------"
- 630 LPRINT TAB(63)
- 640 LPRINT USING "##.##";NFT
- 650 LPRINT
- 660 LPRINT "TOTAL NOISE FACTOR = ";:LPRINT USING "##.##";NFT
- 670 LPRINT "TOTAL NOISE FIGURE = ";:LPRINT USING "##.##";NFTDB;:LPRINT " dB"
- 680 LPRINT
- 690 PRINT
- 700 PRINT "NEW RUN, PRESS CTRL C TO ABORT"
- 710 PRINT
- 720 GOTO 90
- 730 END