home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HAM Radio 1
/
HamRadio.cdr
/
tech
/
design3
/
lowpass.bas
< prev
next >
Wrap
BASIC Source File
|
1979-12-31
|
6KB
|
171 lines
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" \/ σσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσ