home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.barnyard.co.uk
/
2015.02.ftp.barnyard.co.uk.tar
/
ftp.barnyard.co.uk
/
cpm
/
walnut-creek-CDROM
/
MBUG
/
MBUG055.ARC
/
ATTEN.BAS
< prev
next >
Wrap
BASIC Source File
|
1979-12-31
|
3KB
|
68 lines
10 'ATTENUATOR DESIGN PROGRAM
12 'Written in MICROSOOFT BASIC 7/31/82 by
14 ' Trevor Marshall, SYSOP, Thousand Oaks Technical RBBS
16 '
20 'This program designs T, PI, or minimum loss attenuators
30 ' T PI Min Loss Z1>Z2 Z1<Z2
40 ' ---R1----R2-- -----R3----- ----R1---- ----R1----
50 ' | | | | |
60 ' R3 R1 R2 R2 R2
70 ' | | | | |
80 ' ------------- ------------ --------- ----------
90 '
100 INPUT "What attenuator do you want, TEE, PI or MINIMUM LOSS..";A$
110 PRINT:INPUT "What is the input impedance...";A
120 PRINT:INPUT "What is the output impedance..";B
130 IF LEFT$(A$,1)="M" OR LEFT$(A$,1)="m" THEN GOTO 3000
140 PRINT:INPUT "What is the required loss (in dB)...";X
150 GOSUB 6000
160 IF R2>X THEN GOTO 2600 'Loss too low
170 PRINT "Asymmetrical"
172 IF LEFT$(A$,1)="P" OR LEFT$(A$,1)="p" THEN GOTO 1000
180 PRINT "Tee Section" : PRINT
190 PRINT "--R1-----R2--"
200 PRINT " |"
210 PRINT " R3"
220 PRINT " |"
230 PRINT "-------------" : PRINT : GOTO 2000
1000 PRINT " PI Section" :PRINT
1010 PRINT "------R3------"
1020 PRINT " | |"
1030 PRINT " R1 R2"
1040 PRINT " | |"
1050 PRINT "--------------"
2000 PRINT "Source Impedance=";A;: PRINT ",Terminating Impedance=";B;
2010 PRINT "Loss (dB)=";X
2020 Y=10!^(X/10!) : IF LEFT$(A$,1)="P" OR LEFT$(A$,1)="p" THEN GOTO 2500
2040 R3=SQR(Y*A*B)*2!/(Y-1)
2060 PRINT "R1=";A*((Y+1!)/(Y-1!))-R3;
2080 PRINT ",R2=";B*((Y+1!)/(Y-1!))-R3;
2090 PRINT ",R3=";R3 : PRINT : PRINT : GOTO 10
2500 R3=((Y-1!)/2!)*SQR(A*B/Y)
2510 PRINT "R1=";1!/(((Y+1!)/(A*(Y-1!)))-1!/R3);
2520 PRINT ",R2=";1!/(((Y+1!)/(B*(Y-1!)))-1!/R3);
2530 PRINT ",R3=";R3 : PRINT : PRINT : GOTO 10
2600 PRINT "Specified loss is too low..adjusting to...."
3000 PRINT "MINIMUM LOSS PAD DESIGN" : PRINT
3010 IF A>B THEN GOTO 5000
3020 PRINT "Pad for Z2 > Z1" : PRINT
3030 PRINT "--------R1----"
3040 PRINT " |"
3050 PRINT " R2"
3060 PRINT " |"
3070 PRINT "--------------" : PRINT
4000 PRINT "Source Impedance=";A;: PRINT ",Terminating Impedance=";B
4010 GOSUB 6000
4020 PRINT "R1=,";R0*SQR(1!-R1/R0);: PRINT ",R2=";R1/(SQR(1!-R1/R0))
4030 PRINT "Loss (dB)=";R2 : PRINT : PRINT : GOTO 10
5000 PRINT "Pad for Z1 > Z2" : PRINT
5010 PRINT "----R1--------"
5020 PRINT " |"
5030 PRINT " R2"
5040 PRINT " |"
5050 PRINT "--------------"
5060 GOTO 4000
6000 R0=A : R1=B : IF B>A THEN R0=B : IF B>A THEN R1=A
6010 R2=10!*LOG((SQR(R0/R1)+SQR(R0/R1-1!))^2!)/2.30259 : RETURN
4000
6000 R0=