Google
 

Trailing-Edge - PDP-10 Archives - decuslib10-01 - 43,50144/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