Trailing-Edge
-
PDP-10 Archives
-
decuslib20-01
-
decus/20-0025/lpfilt.bas
There are 2 other files named lpfilt.bas in the archive. Click here to see a list.
00001 PRINT "PROGRAM FOR THE DESIGN OF LOW PASS FILTERS USING CONSTANT K"
00002 PRINT"PROTOTYPE T SECTION AND M DERIVED (M=.6) TERMINATION L SECTS."
00003 PRINT "UP TO 9 ADDITIONAL M DERIVED T SECTIONS MAY BE INCLUDED TO"
00004 PRINT "GIVE HIGH ATTENUATION AT SPECIFIED FREQ'S IN THE STOP BAND."
00005 PRINT
00006 PRINT "WHAT IS THE DESIRED CHARACTERISTIC IMPEDANCE IN OHMS ";
00007 INPUT R
00008 FOR I=1 TO 10
00009 LET F(I)=0
00010 NEXT I
00011 PRINT
00012 PRINT "WHAT IS THE DESIRED CUTOFF FREQUENCY IN CPS ";
00014 INPUT F(1)
00015 PRINT
00016 PRINT "HOW MANY ATTENUATORS ARE DESIRED IN THE STOP BAND ";
00018 INPUT A
00019 PRINT
00020 FOR I=2 TO A+1
00022 PRINT "WHAT IS THE FREQUENCY FOR ATTENUATOR NUMBER "I-1;
00024 INPUT F(I)
00025 PRINT
00026 NEXT I
00060 LET L=1000*R/(3.1415926*F(1))
00070 LET C=1000000/(3.1415926*F(1)*R)
00080 LET L(1)=.6*L/2
00090 LET S(1)=.64*L/1.2
00100 LET C(1)=.6*C/2
01000 FOR I=2 TO 10
01005 IF F(I)=0 THEN 2000
01010 LET M(I)=SQR(1-F(1)/F(I)*F(1)/F(I))
01020 LET L(I)=M(I)*L/2
01030 LET S(I)=L*((1-M(I)*M(I))/(4*M(I)))
01040 LET C(I)=C*M(I)
01050 NEXT I
02000 PRINT
02001 PRINT
02030 GO SUB 9000
02040 GO SUB 8000
02050 GO SUB 8500
02060 GO SUB 8000
02070 PRINT">",L/2+L(1),"MH"," I"
02080 GO SUB 8000
02090 PRINT "+--------------";C," MFD ----------------------+"
02100 GO SUB 8000
02110 LET I=2
02120 IF F(I)=0 THEN 5000
02130 PRINT">",L/2+L(I),"MH"," I"
02140 GO SUB 8000
02150 PRINT"+--------";S(2)"MH +",C(2),"MFD ----------+"
02160 GO SUB 8000
02170 FOR I=3 TO 10
02180 IF F(I)=0 THEN 4000
02190 PRINT">",L(I)+L(I-1),"MH"," I"
02200 GO SUB 8000
02210 PRINT"+--------";S(I)"MH +",C(I),"MFD ----------+"
02220 GO SUB 8000
02230 NEXT I
04000 PRINT">",L(I-1)+L(1),"MH"," I"
04010 GO SUB 8000
04020 GO SUB 8500
04030 GO SUB 8000
04040 GO SUB 9000
04050 GO TO 9900
05000 PRINT">",L/2+L(1),"MH"," I"
05010 GO SUB 8000
05020 GO SUB 8500
05030 GO SUB 8000
05040 GO SUB 9000
05050 GO TO 9900
08000 FOR N=1 TO 2
08010 PRINT"I"," "," "," I"
08020 NEXT N
08030 RETURN
08500 PRINT"+--------";S(1)"MH +",C(1),"MFD ----------+"
08510 RETURN
09000 PRINT "0<-------------";R,"OHM LINE","------------->0"
09010 RETURN
09900 PRINT
09910 PRINT
09930 PRINT"TERMINATING SECT'S GIVE MAX. ATTEN. AT"1.25*F(1)"CPS"
09940 IF F(2)=0 THEN 9999
09950 PRINT "IN ADDITION TO THOSE SPECIFIED AT:"
09960 FOR I=2 TO 10
09970 IF F(I)=O THEN 9999
09980 PRINT F(I)"CPS"
09985 NEXT I
09999 END