home *** CD-ROM | disk | FTP | other *** search
- 10 REM**** LOPASS FILTER PROGRAM WRITTEN BY M. CHOMET 2/10/80*
- 11 REM ** FOR USE WITH MICROSOFT BASIC ***
- 12 REM ** USING TABLES FROM EDN MAR. 15,1971 ***
- 15 INPUT"DO YOU WANT SCHEMATIC ? ";A$
- 16 IF A$="Y" OR A$="YES" THEN 2000
- 20 DIM F(10),C(10)
- 30 INPUT"SPECIFY 3 DB FREQUENCY IN HERTZ ";F0
- 40 INPUT"SPECIFY SKIRT ATTENUATION AND FREQUENCY ";D,F1
- 50 P=D/(8.6858*LOG(F1/F0))
- 60 P1=INT(P+.99)
- 70 P4=3.14153
- 80 R=10000
- 90 W=2*P4*F0
- 100 PRINT"NUMBER OF POLES NEEDED IS ";P1
- 110 IF P1>10 THEN 1310
- 120 ON P1 GOTO 140,150,160,170,180,190,200,210,220,230
- 130 PRINT: PRINT
- 140 PRINT"AN ACTIVE FILTER IS NOT NEEDED IN THIS CASE.": END
- 150 PRINT"SINGLE OPAMP TWO POLE CASE": GOTO 240
- 160 PRINT"SINGLE OPAMP THREE POLE CASE": GOTO 330
- 170 PRINT"CASCADE 2 TWO POLE STAGES": GOTO 430
- 180 PRINT"CASCADE A THREE POLE WITH A TWO POLE STAGE": GOTO 510
- 190 PRINT"CASCADE 3 TWO POLE STAGES": GOTO 590
- 200 PRINT"CASCADE A THREE POLE STAGE WITH 2 TWO POLE STAGES": GOTO 720
- 210 PRINT"CASCADE 4 TWO POLE STAGES": GOTO 860
- 220 PRINT"CASCADE A 3 POLE STAGE WITH 3 TWO POLE STAGES": GOTO 1000
- 230 PRINT"CASCADE 5 TWO POLE STAGES": GOTO 1140
- 240 C1=1.41: C2=.707
- 250 Q=1/(W*R)
- 260 C1=C1*Q
- 270 C2=C2*Q
- 280 IF R=<10 THEN 1280
- 290 IF C2<1E-10 THEN R=R/2
- 300 IF C2<1E-10 THEN 240
- 310 PRINT"R= ";R,"C1= ";C1,"C2= ";C2
- 320 END
- 330 C1=1.39: C2=3.54: C3=.202
- 340 Q=1/(W*R)
- 350 C1=C1*Q
- 360 C2=C2*Q
- 370 C3=C3*Q
- 380 IF R=<10 THEN 1280
- 390 IF C3<1E-10 THEN R=R/2
- 400 IF C3<1E-10 THEN 330
- 410 PRINT"R= ";R,"C1= ";C1,"C2= ";C2,"C3= ";C3
- 420 END
- 430 C1=1.08: C2=.924: C3=2.61: C4=.383
- 440 Q=1/(W*R)
- 450 C1=C1*Q: C2=C2*Q: C3=C3*Q: C4=C4*Q
- 460 IF R=<10 THEN 1280
- 470 IF C4<1E-10 THEN R=R/2
- 480 IF C4<1E-10 THEN 430
- 490 PRINT"R= ";R,"C1= ";C1,"C2= ";C2,"C3= ";C3,"C4= ";C4
- 500 END
- 510 C1=1.09: C2=1.8: C3=.509: C4=3.24: C5=.309
- 520 Q=1/(W*R)
- 530 C1=C1*Q: C2=C2*Q: C3=C3*Q: C4=C4*Q: C5=C5*Q
- 540 IF R=<10 THEN 1280
- 550 IF C5<1E-10 THEN R=R/2
- 560 IF C5<1E-10 THEN 510
- 570 PRINT"R= ";R,"C1= ";C1,"C2= ";C2,"C3= ";C3,"C4= ";C4,"C5= ";C5
- 580 END
- 590 C(1)=1.41: C(2)=.707: C(3)=1.04: C(4)=.966: C(5)=3.86: C(6)=.259
- 600 Q=1/(W*R)
- 610 FOR I=1 TO 6
- 620 C(I)=C(I)*Q
- 630 NEXT I
- 640 IF R=<10 THEN 1280
- 650 IF C(6)<1E-10 THEN R=R/2
- 660 IF C(6)<1E-10 THEN 590
- 670 PRINT"R= ";R
- 680 FOR I=1 TO 6
- 690 PRINT"C ";I;" = ";C(I)
- 700 NEXT I
- 710 END
- 720 C(1)=1.38: C(2)=2.52: C(3)=.288: C(4)=1.11: C(5)=.9
- 730 C(6)=4.49: C(7)=.223
- 740 Q=1/(W*R)
- 750 FOR I=1 TO 7
- 760 C(I)=C(I)*Q
- 770 NEXT I
- 780 IF R=<10 THEN 1280
- 790 IF C(6)<1E-10 THEN R=R/2
- 800 IF C(6)<1E-10 THEN 720
- 810 PRINT"R= ";R
- 820 FOR I=1 TO 7
- 830 PRINT"C";I;" = ";C(I)
- 840 NEXT I
- 850 END
- 860 C(1)=1.18: C(2)=.846: C(3)=2.05: C(4)=.437
- 870 C(5)=.965: C(6)=1.04: C(7)=4.84: C(8)=.207
- 880 Q=1/(W*R)
- 890 FOR I=1 TO 8
- 900 C(I)=C(I)*Q
- 910 NEXT I
- 920 IF R=<10 THEN 1280
- 930 IF C(8)<1E-10 THEN R=R/2
- 940 IF C(8)<1E-10 THEN 590
- 950 PRINT"R= ";R
- 960 FOR I=1 TO 8
- 970 PRINT"C";I;" = ";C(I)
- 980 NEXT I
- 990 END
- 1000 C(1)=1.36: C(2)=1.88: C(3)=.39: C(4)=2: C(5)=.5
- 1010 C(6)=1.06: C(7)=.94: C(8)=5.76: C(9)=.174
- 1020 Q=1/(W*R)
- 1030 FOR I=1 TO 9
- 1040 C(I)=C(I)*Q
- 1050 NEXT I
- 1060 IF R=<10 THEN 1280
- 1070 IF C(9)<1E-10 THEN R=R/2
- 1080 IF C(9)<1E-10 THEN 1000
- 1090 PRINT"R= ";R
- 1100 FOR I=1 TO 9
- 1110 PRINT"C";I;" = ";C(I)
- 1120 NEXT I
- 1130 END
- 1140 C(1)=1.12: C(2)=.891: C(3)=1.42: C(4)=.706: C(5)=2.2
- 1150 C(6)=.454: C(7)=1.01: C(8)=.988: C(9)=6.39: C(10)=.156
- 1160 Q=1/(W*R)
- 1170 FOR I=1 TO 10
- 1180 C(I)=C(I)*Q
- 1190 NEXT I
- 1200 IF R=<10 THEN 1280
- 1210 IF C(10)<1E-10 THEN R=R/2
- 1220 IF C(10)<1E-10 THEN 1140
- 1230 PRINT"R= ";R
- 1240 FOR I=1 TO 10
- 1250 PRINT"C";I;" = ";C(I)
- 1260 NEXT I
- 1270 END
- 1280 PRINT"R= ";R;" THIS VALUE IS TOO LOW FOR PRACTICAL USE"
- 1290 PRINT"SUGGEST YOU EXAMINE REQUIREMENTS AND TRY AGAIN"
- 1300 GOTO 30
- 1310 PRINT"A FILTER FOR THE CONDITIONS REQUIRED NEEDS MORE THAN"
- 1320 PRINT"TEN (10) STAGES AND IS OUTSIDE THE PROGRAMMED CAPABILITY.": GOTO 1290
- 2000 PRINT" +--------------|C1|-------+"
- 2005 PRINT" ! !"
- 2010 PRINT" R ! R +-----+ !"
- 2020 PRINT"----/\/\/\/\---+---/\/\/\/\--+--!UNITY! !"
- 2025 PRINT" ! !GAIN !--+------>"
- 2030 PRINT" ! ! AMP !"
- 2040 PRINT" ! +-----+"
- 2050 PRINT" ---"
- 2060 PRINT" C2"
- 2070 PRINT" ---"
- 2080 PRINT" !"
- 2090 PRINT" !"
- 2100 PRINT" \/"
- 2105 PRINT" TYPICAL TWO POLE STAGE "
- 2110 FOR X=1 TO 3000
- 2120 NEXT X
- 2130 PRINT: PRINT: PRINT
- 2140 PRINT" +-------|C2|----------+"
- 2150 PRINT" ! !"
- 2160 PRINT" R R ! R +------+ !"
- 2170 PRINT"--/\/\/\--+--/\/\/\----+--/\/\/\--+-!UNITY ! !"
- 2180 PRINT" ! ! !GAIN !-+----->"
- 2190 PRINT" ---- ---! AMP !"
- 2200 PRINT" C1 C3 ! !"
- 2210 PRINT" ---- ---+------+"
- 2220 PRINT" ! !"
- 2230 PRINT" ! !"
- 2240 PRINT" \/ \/"
- 2245 PRINT" TYPICAL THREE POLE STAGE "
- 2246 PRINT
- 2250 GOTO 20
- !"
- 2240 PRINT" \/ ! !"
- 2230 PRINT" ! !"
- 2240 PRINT" \/ σσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσ