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