10 REM ELLIPBP.BAS
20 REM WRITTEN BY RUSS KINCAID, AUGUST 1997. BASED ON INFO FROM
30 REM "SIMPLIFIED MODERN FILTER DESIGN" BY PHILLIP GEFFE (RIDER 1963)
40 CLS:PRINT"ELLIPTIC FUNCTION FILTERS DESIGNED FROM TABLES"
44 PRINT"THE BANDPASS DESIGNED HERE HAS A FLOATING NODE WHICH IS SUSEPTABLE"
46 PRINT"TO STRAY CAPACITANCE. THE IMPROVED DESIGN HAS AN EXTRA INDUCTOR"
48 PRINT
50 PRINT"FOR LOWPASS ENTER (1) FOR BANDPASS ENTER (2)":INPUT TYPE
55 PRINT:INPUT"WHAT WILL YOU CALL THIS DESIGN ";NME$
60 PRINT:PRINT"CAPACITOR INPUT CONFIGURATION IS ASSUMED"
70 PI=3.1415927#
80 DIM C(11),L(11),CC(11),LL(11)
90 INPUT"SOURCE RESISTANCE:";RS
100 INPUT"LOAD RESISTANCE:";RL
110 IF TYPE = 1 THEN 160
120 INPUT"BANDEDGE FREQUENCIES (F1,F2) (HZ) ";F1,F2
130 BW=F2-F1:F0=(F1*F2)^.5 : W=2*PI*F0 :Q=F0/BW
140 PRINT:PRINT"CENTER FREQUENCY IS : ";F0
150 GOTO 180
160 INPUT"UPPER BANDEDGE FREQUENCY(HZ) : ";FU
170 BW=FU
180 PRINT"ENTER THE NORMALIZED PROTOTYPE VALUES FROM TABLES.
190 PRINT"TO END THE INPUT CYCLE, ENTER ZERO OR JUST PRESS ENTER"
200 FOR J=1 TO 9
210 PRINT"INPUT C(";J;"):";:INPUT C(J)
220 IF C(J)=0 THEN PRINT" THIS WILL END THE FILTER":GOTO 262
230 IF INT(J/2)>100000! THEN K=1E-12:CUNIT$="PF": S=1E-09:LUNIT$="NH"
520 IF F0<=100000! THEN S=.001:LUNIT$="MH": K=1E-09:CUNIT$="NF"
530 REM NOW SCALE FOR F0 & RS & PRINT OUT
532 LPRINT NME$, DATE$:LPRINT
540 LPRINT "ELLIPTIC FUNCTION BANDPASS FILTER, THIS IS THE CIRCUIT:"
550 LPRINT "--------|----L2---CS2--|---------- LN--CN (EVEN ORDER ONLY)"
560 LPRINT " |------C2------|"
570 LPRINT " |------LP2-----|"
580 LPRINT " |----| |---|"
590 LPRINT " L1 C1 C3 L3"
600 LPRINT " | | | |"
610 LPRINT "------------------------------------"
620 LPRINT"CENTER FREQUENCY = ";F0,"BANDWIDTH = ";BW,"Z= ";RS;" OHMS"
622 LPRINT"EACH L-C PAIR RESONATES AT ";F0
625 LPRINT"UNITS ARE : ";CUNIT$ " AND ";LUNIT$
630 FOR J=1 TO N
640 IF J=N AND INT(J/2)=J/2 THEN 740
650 IF INT(J/2)=J/2 THEN 690
660 LPRINT J, "C1= ";C(J)/K/RS/W
670 LPRINT "L1= ";1/C(J)*RS/W/S
680 GOTO 730
690 LPRINT "L2= ";L(J)*RS/W/S
700 LPRINT "CS2=";1/L(J)/RS/W/K
710 LPRINT "C2= ";C(J)/RS/W/S
720 LPRINT "LP2=";1/C(J)*RS/W/K
730 NEXT J : LPRINT CHR$(12): GOTO 770
740 LPRINT "LN=";L(N)*RS/W/S
750 LPRINT "CN=";1/L(N)/RS/W/K
760 LPRINT CHR$(12)
770 CHAIN "FILTMENU"
775 REM ELLIPBP.BAS
780 END
               (
geocities.com/russlk)