1 REM ************************* 2 REM FILE FROM JMOFFAT ARCHIVE 3 REM MINOR CORRECTIONS 4 REM / 2025 MAY, BH 5 REM ************************* 9002 REM DESIGNS LOW PASS FILTER 9003 PRINT "PROGRAM FOR THE DESIGN OF A LOW PASS FILTER" 9004 PRINT 9005 PRINT "WHAT IS THE DESIRED CHARACTERISTIC IMPEDANCE IN OHMS "; 9006 INPUT R 9007 MAT F=ZER 9008 PRINT 9009 PRINT "WHAT IS THE DESIRED CUTOFF FREQUENCY IN HZ "; 9010 INPUT F[1] 9011 PRINT 9012 PRINT "HOW MANY ATTENUATORS ARE DESIRED IN THE STOP BAND "; 9013 INPUT A 9014 GOTO 9026 9015 FOR I=2 TO A+1 9016 PRINT "WHAT IS THE FREQUENCY FOR ATTENUATOR NUMBER "I-1; 9017 INPUT F[I] 9018 PRINT 9019 NEXT I 9020 LET L=1000*R/(3.14159*F[1]) 9021 LET C=1.00000E+06/(3.14159*F[1]*R) 9022 LET L[1]=.6*L/2 9023 LET S[1]=.64*L/1.2 9024 LET C[1]=.6*C/2 9025 GOTO 9029 9026 PRINT 9027 IF A=0 THEN 9020 9028 GOTO 9015 9029 FOR I=2 TO 10 9030 IF F[I]=0 THEN 9036 9031 LET M[I]=SQR(1-F[1]/F[I]*F[1]/F[I]) 9032 LET L[I]=M[I]*L/2 9033 LET S[I]=L*((1-M[I]*M[I])/(4*M[I])) 9034 LET C[I]=C*M[I] 9035 NEXT I 9036 PRINT 9037 PRINT 9038 GOSUB 9077 9039 GOSUB 9071 9040 GOSUB 9075 9041 GOSUB 9071 9042 PRINT ">",L/2+L[1],"MH"," I" 9043 GOSUB 9071 9044 PRINT "+--------------",C," MFD ----------------------+" 9045 GOSUB 9071 9046 LET I=2 9047 IF F[I]=0 THEN 9065 9048 PRINT ">",L/2+L[I],"MH"," I" 9049 GOSUB 9071 9050 PRINT "+--------";S[2]"MH +",C[2],"MFD ----------+" 9051 GOSUB 9071 9052 FOR I=3 TO 10 9053 IF F[I]=0 THEN 9059 9054 PRINT ">",L[I]+L[I-1],"MH"," I" 9055 GOSUB 9071 9056 PRINT "+--------";S[I]"MH +",C[I],"MFD ----------+" 9057 GOSUB 9071 9058 NEXT I 9059 PRINT ">",L[I-1]+L[1],"MH"," I" 9060 GOSUB 9071 9061 GOSUB 9075 9062 GOSUB 9071 9063 GOSUB 9077 9064 GOTO 9079 9065 PRINT ">",L/2+L[1],"MH"," I" 9066 GOSUB 9071 9067 GOSUB 9075 9068 GOSUB 9071 9069 GOSUB 9077 9070 GOTO 9079 9071 FOR N=1 TO 2 9072 PRINT "I"," "," "," I" 9073 NEXT N 9074 RETURN 9075 PRINT "+--------";S[1]"MH +",C[1],"MFD ----------+" 9076 RETURN 9077 PRINT "0<-------------",R,"OHM LINE","------------->0" 9078 RETURN 9079 PRINT 9080 PRINT 9081PRINT "TERMINATING SECT'S GIVE MAX. ATTEN. AT"1.25*F[1]"HZ" 9082 IF F[2]=0 THEN 9088 9083 PRINT "IN ADDITION TO THOSE SPECIFIED AT:" 9084 FOR I=2 TO 10 9085 IF F[I]=0 THEN 9088 9086 PRINT F[I]"HZ" 9087 NEXT I 9088 STOP 9999 END