Category : Science and Education
Archive   : FILTDES.ZIP
Filename : FILSYP.BAS

 
Output of file : FILSYP.BAS contained in archive : FILTDES.ZIP
10 REM LOWPASS SYNTHESIS PROGRAM FILSYP.BAS
20 REM LINKED FROM DESIGN PROGRAM....FILDES.BAS
30 REM
40 Z=0:HCP=0:K$="N"
50 PRINT "NOW RUNNING THE LOWPASS PROTOTYPE SYNTHESIS PROGRAM"
60 OPEN "I",1,"PROTO"
70 INPUT #1,R,G,HCP,F1,F2,A1,Z
80 IF HCP=1 THEN K$="Y"
90 IF Z=1 THEN INPUT #1,N:Z$="Y":GOTO 120
100 Z$="N"
110 INPUT #1,A2
120 IF R<3 THEN INPUT #1,FC,FS:GOTO 140
130 INPUT #1,BW,SW,FCNTR
140 IF EOF(1) THEN CLOSE #1
150 GOSUB 3650
160 DEFDBL D,H:DEFINT I
170 DIM F(5),X(5),P(5),Z(5),Q(5),DO(30),DS(30),DA(30),DB(30),DC(30)
180 DIM D(30),V$(5),PR(5)
190 DE=.4342944819#:DEF FN LGT(X)=LOG(X)*DE:DPI=3.141592654000005#
200 AA=0:H1$=Z$
210 ON G GOSUB 500,910,1280
220 IF K$="Y" THEN GOSUB 3230
230 IF Z$="N" GOTO 260
240 IF K$="Y" THEN LPRINT:LPRINT "Attenuation of this "R$" at FS will be: "A"db"
250 PRINT:PRINT "Attenuation of this "R$" at FS will be: "A"db":GOTO 360
260 IF R>2 THEN NX=2*N:GOTO 280
270 NX=N
280 IF NX=1 THEN S$="st"
290 IF NX=2 THEN S$="nd"
300 IF NX=3 THEN S$="rd"
310 IF NX>3 THEN S$="th"
320 PRINT:PRINT "This "R$" will require a"NX S$" Order implementation"
330 IF K$="Y" THEN LPRINT:LPRINT "This "R$" will require a"NX S$" Order Implementation"
340 PRINT:PRINT "Actual Attenuation at FS will be "A"db"
350 IF K$="Y" THEN LPRINT:LPRINT "Actual Attenuation at FS will be "A"db"
360 IF N>10 THEN PRINT:PRINT "PROGRAM CANNOT ACCOMODATE THIS HIGH OF AN ORDER!!":GOTO 400
370 IF A 380 PRINT:PRINT: INPUT "IS THIS SATISFACTORY";H$:H$=LEFT$(H$,1)
390 GOTO 410
400 PRINT:PRINT "Re-Enter the entire filter.....":V$="T":GOTO 480
410 IF H$="N" OR H$="n" THEN PRINT "RE-ENTER ENTIRE FILTER......":V$="T":GOTO 480
420 IF H$<>"Y" AND H$<>"y" THEN GOTO 380
430 IF H$="Y" OR H$="y" THEN ON G GOSUB 590,990,2620
440 IF R=1 GOTO 470
450 PRINT:PRINT "Now Transforming the Lowpass Prototype for the Required "R$
460 RUN "FILTRP.BAS"
470 PRINT:PRINT"DESIGN COMPLETE......"
472 PRINT" PRESS T - TRY ANOTHER FILTER"
474 PRINT" R - CALCULATE GAIN AND PHASE RESPONSE OF THIS FILTER"
476 PRINT" E - END (EXIT TO OPERATING SYSTEM)"
478 INPUT V$
480 IF V$="T" OR V$="t" THEN RUN "FILDES.BAS"
482 IF V$="R" OR V$="r" THEN RUN "FILPLT.BAS"
484 IF V$="E" OR V$="e" THEN SYSTEM
486 GOTO 472
490 REM END
500 REM BUTTERWORTH ORDER OR ATT
510 IF H1$="N" THEN 540
520 A2=10*FN LGT(1+(10^(.1*A1)-1)*(F2/F1)^(2*N)):A=A2
530 GOTO 570
540 N=FN LGT((10^(.1*A2)-1)/(10^(.1*A1)-1))/(2*FN LGT(F2/F1))
550 IF INT(N)<>N THEN N=INT(N)+1
560 A=10*FN LGT(1+(10^(.1*A1)-1)*(F2/F1)^(2*N))
570 RETURN
580 REM BUTTERWORTH FC & Q
590 M=INT (N/2)
600 F3=F1/(((10^(.1*A1)-1)/(10^.3-1))^(1/(2*N)))
610 FOR I=1 TO M:F(I)=F3:NEXT I
620 IF N>2*M THEN F(M+1)=F3
630 IF N=2*M THEN FOR I=1 TO M:O(I)=(DPI/(2*N))*(2*I-1):NEXT I
640 IF N<>2*M THEN FOR I=1 TO M:O(I)=DPI*I/N:NEXT I
650 FOR I=1 TO M:Q(I)=1/(2*COS(O(I))):NEXT I
660 IF K$="Y" THEN GOSUB 3030
670 OPEN "O",2,"IDATA"
680 PRINT #2,F1,0,M
690 IF M*2<>N THEN PRINT #2,1,F(M+1) ELSE PRINT #2,0
700 FOR I=1 TO M: PRINT#2, F(I),Q(I):NEXT I
710 CLOSE 2
720 IF R=1 AND K$="Y" THEN LPRINT:LPRINT "Required Resonant Frequencies:"
730 IF R=1 THEN PRINT:PRINT "Required Resonant Frequencies:":GOTO 750
740 PRINT:PRINT "Normalized Prototype Parameters:"
750 PRINT " F Q"
760 IF K$="Y" THEN LPRINT " F Q"
770 IF R=1 GOTO 840
780 FOR I=1 TO M : PRINT F(I),Q(I)
790 IF K$="Y" THEN LPRINT F(I),Q(I)
800 NEXT I
810 IF N/2 <> M THEN PRINT F(M+1) ELSE GOTO 890
820 IF K$="Y" THEN LPRINT F(M+1)
830 GOTO 890
840 OPEN "O",3,"PLTDATA"
841 IF N/2 <> M THEN PRINT #3,1,1,M+1 ELSE PRINT #3,1,1,M
843 FOR I=1 TO M:PRINT F(I)*FC,Q(I)
850 IF K$="Y" THEN LPRINT F(I)*FC,Q(I)
855 PRINT #3,F(I)*FC,Q(I)
860 NEXT I
870 IF N/2<>M THEN PRINT F(M+1)*FC ELSE 888
880 IF K$="Y" THEN LPRINT F(M+1)*FC
885 PRINT #3,F(M+1)*FC,0
888 CLOSE 3
890 RETURN
900 REM CHEBYCHEV ORDER OR ATT
910 Y=F2/F1:YY=LOG(Y+SQR(Y^2-1))
920 IF H1$="Y" THEN 960
930 E=10^(.1*A1)-1:F=10^(.1*A2)-1
940 X=SQR(F/E):XX=LOG(X+SQR(X^2-1))
950 N=XX/YY:IF INT(N)<>N THEN N=INT(N)+1
960 T=(EXP(N*YY)+EXP(-N*YY))/2:E=10^(.1*A1)-1
970 A=10*FN LGT(1+E*T^2):IF H1$="Y" THEN A2=A
980 RETURN
990 REM CHEBYCHEV F & Q
1000 NN=N:V=0
1010 GOSUB 1960
1020 IF K$="Y" THEN GOSUB 3090
1030 IF R=1 AND K$="Y" THEN LPRINT:LPRINT "Required Resonant Frequencies are:"
1040 IF R=1 THEN PRINT:PRINT "Required Resonant Frequencies are:":GOTO 1070
1050 PRINT:PRINT "Normalized Prototype Parameters are:"
1060 IF K$="Y" THEN LPRINT:LPRINT "Normalized Prototype Prameters are:"
1070 PRINT " F Q"
1080 IF K$="Y" THEN LPRINT " F Q"
1090 IF R=1 GOTO 1160
1100 FOR I=1 TO INT(N/2):PRINT P(I),Q(I)
1110 IF K$="Y" THEN LPRINT P(I),Q(I)
1120 NEXT I
1130 IF INT(N/2)<>N/2 THEN PRINT F(INT(N/2)+1) ELSE GOTO 1210
1140 IF K$="Y" THEN LPRINT F(INT(N/2)+1)
1150 GOTO 1210
1160 OPEN "O",3,"PLTDATA"
1162 IF N/2<>INT(N/2) THEN PRINT #3,1,2,INT(N/2)+1 ELSE PRINT #3,1,2,INT(N/2)
1167 FOR I=1 TO INT(N/2):PRINT P(I)*FC,Q(I)
1170 IF K$="Y" THEN LPRINT P(I)*FC,Q(I)
1175 PRINT #3,P(I)*FC,Q(I)
1180 NEXT I
1190 IF INT(N/2)<>N/2 THEN PRINT F(INT(N/2)+1)*FC ELSE GOTO 1207
1200 IF K$="Y" THEN LPRINT F(INT(N/2)+1)*FC
1205 PRINT #3,F(INT(N/2)+1)*FC,0
1207 CLOSE 3
1210 OPEN "O",2,"IDATA"
1220 PRINT #2,F1,0,INT(N/2)
1230 IF N/2<>INT (N/2) THEN PRINT #2,1,F(INT(N/2)+1)ELSE PRINT #2,0
1240 FOR I=1 TO N/2: PRINT #2, P(I),Q(I): NEXT I
1250 CLOSE 2
1260 RETURN
1270 REM ELLIPTIC ORDER OR ATT
1280 HE=10^(.1*A1)-1:HX=F2/F1
1290 PRINT:PRINT "BE PATIENT.....ELLIPTICS TAKE A WHILE!!!"
1300 H=SQR(1-1/HX/HX):GOSUB 1550
1310 H3=H4
1320 H =1/HX:GOSUB 1550
1330 H0=H4
1340 IF H1$="Y" THEN 1460
1350 HL=SQR((10^(.1*A2)-1)/HE)
1360 IF 1/HL<.001 THEN GOSUB 3260
1370 IF AA=1 THEN 1540
1380 H=1/HL
1390 GOSUB 1550
1400 H1=H4
1410 H=SQR(1-1/HL/HL)
1420 IF H=1 THEN H=1!
1430 GOSUB 1550
1440 H2=H4:H=1/HX:H4=H0
1450 N=INT(H2/H1*H4/H3)+1
1460 NN=0:HR=1
1470 IF N=2*INT(N/2) THEN NN=1
1480 FOR I=1 TO INT(N/2): GOSUB 1820:NEXT I
1490 FOR I=1 TO N/2: HR=HR*(1-Z(I)^2)/(1-X(I)^2): NEXT I
1500 HC=1/HR:X=HX:HR=HC*X^(1-NN)
1510 FOR I=1 TO N/2:HR=HR*(X^2-Z(I)^2)/(X^2-X(I)^2):NEXT I
1520 A=10*FN LGT(1+HE*HR^2)
1530 IF H1$="Y" THEN A2=A
1540 RETURN
1550 REM CALCULATE H4 COMPLETE INTEGRAL
1560 IF H=1 THEN DA(0)=DPI/2 ELSE DA(0)=ATN(H/SQR(1-H^2))
1570 DO(0)=DPI/2:HP=1:I=0
1580 DQ=DA(I):GOSUB 3380
1590 DV=2/(1+DQ1)-1
1600 DVW=DQ1
1610 DQ=DO(I):GOSUB 3380
1620 DW=DVW*DQ1
1630 IF DV=0 THEN DV=.0000001
1640 DA(I+1)=ATN(SQR(1-DV^2)/DV)
1650 IF SQR(1-DW^2)=0 THEN DO(I+1)=.5*(DO(I)+DPI/2):GOTO 1670
1660 DO(I+1)=.5*(DO(I)+ATN(DW/SQR(1-DW^2)))
1670 DZ=1-(DA(I+1)*2/DPI):I=I+1
1680 IF DZ>.0000001 THEN 1580
1690 FOR J=1 TO I
1700 DQ=DA(J)
1710 GOSUB 3510
1720 HP=HP*(1+DQ1)
1730 NEXT J
1740 DV=DPI/4+DO(I)/2
1750 DQ=DV:GOSUB 3380
1760 DSN=DQ1:DQ=DV:GOSUB 3510
1770 DCN=DQ1:IF DCN<0 THEN DCN=-1*DCN
1780 DTN=DSN/DCN
1790 H4=LOG(DTN)*HP
1800 RETURN
1810 REM ZERO LOCATIONS
1820 HU=(2*I-NN)*H4/N:GOSUB 1860
1830 Z(I)=HS:X(I)=HX/HS:F(I)=F1*X(I)
1840 RETURN
1850 REM SU(U,K)
1860 HQ=EXP(-DPI*H3/H4)
1870 HV=DPI/2*HU/H4:HS=0:J=0
1880 HW=HQ^(J+.5)
1890 Q=(2*J+1)*HV
1900 Q1=SIN(Q): IF Q1=0 THEN Q1=.0000001
1910 HS=HS+HW*Q1/(1-HW^2):J=J+1
1920 IF HW>.0000001 THEN 1880
1930 HS=HS*2*DPI/H/H4
1940 RETURN
1950 REM POLE AND Q CALCULATION
1960 D1=10^(.1*A1)-1:DE=SQR(D1):DF=F1*F1
1970 M=NN+2*V:MM=2*INT(M/2):D2=2*DPI
1980 DK=0:RG=0:T=M
1990 IF V=0 THEN 2010
2000 FOR I=1 TO V:Z(I)=SQR(1-DF/F(I)/F(I)):NEXT I
2010 GOSUB 2110
2020 GOSUB 2260
2030 IF M>MM THEN DC(2*M)=0
2040 FOR I=0 TO 2*M STEP 2:DA(M-I/2)=DC(I)+D(I):NEXT I
2050 GOSUB 2420
2060 RG=RG+1:D=1+P(RG)+Q(RG):DB(RG)=(1+P(RG)/2)*DF/D
2070 P(RG)=F1/D^.25:Q(RG)=1/SQR(2*(1-DB(RG)/P(RG)^2))
2080 IF RG 2090 IF M>MM THEN F(RG+1)=SQR(DF/(A-1))
2100 RETURN
2110 FOR I=1 TO NN:DS(I)=1:NEXT I
2120 IF V=0 THEN 2150
2130 FOR I=NN+1 TO NN+V:DS(I)=Z(I-NN):NEXT I
2140 FOR I=NN+V+1 TO NN+2*V:DS(I)=Z(I-NN-V):NEXT I
2150 SS=I-1:GOSUB 2340
2160 FOR I=0 TO MM STEP 2:DA(I)=DE*DB(I):NEXT I
2170 FOR I=0 TO 2*MM STEP 2:GOSUB 2190:NEXT I
2180 RETURN
2190 IF I=>MM+2 THEN 2210
2200 J1=0:J2=I
2210 IF I<=MM THEN 2230
2220 J1=I-MM:J2=MM
2230 DC(I)=0
2240 FOR J=J1 TO J2 STEP 2:DC(I)=DC(I)+DA(J)*DA(I-J):NEXT J
2250 RETURN
2260 FOR I=1 TO NN:DS(I)=-1:NEXT I
2270 IF V=0 THEN 2300
2280 FOR I=NN+1 TO NN+V:DS(I)=-Z(I-NN)^2:NEXT I
2290 FOR I=NN+V+1 TO NN+2*V:DS(I)=DS(I-V):NEXT I
2300 SS=M:GOSUB 2340
2310 Z=INT(NN):NN=Z:DD=(-1)^Z
2320 FOR I=0 TO 2*M STEP 2:D(I)=DD*DB(I/2):NEXT I
2330 RETURN
2340 DB(0)=DS(1):DB(1)=1:J=1
2350 J=J+1
2360 DA(0)=DS(J)*DB(0)
2370 FOR I=1 TO J-1:DA(I)=DB(I-1)+DS(J)*DB(I):NEXT I
2380 FOR I=0 TO J-1:DB(I)=DA(I):NEXT I
2390 DB(J)=1
2400 IF J 2410 RETURN
2420 FOR I=1 TO T:DA(I)=DA(I)/DA(0):NEXT I
2430 DA(0)=1:DB(0)=1:DC(0)=1:I1=0
2440 IF T=2 THEN 2570
2450 HP=0:DQ=0:I1=I1+1
2460 DB(1)=DA(1)-HP:DC(1)=DB(1)-HP
2470 FOR I=2 TO T:DB(I)=DA(I)-HP*DB(I-1)-DQ*DB(I-2):NEXT I
2480 FOR I=2 TO T-1:DC(I)=DB(I)-HP*DC(I-1)-DQ*DC(I-2):NEXT I
2490 X1=T-1:X2=T-2:X3=T-3:D4=DC(X2)^2+DC(X3)*(DB(X1)-DC(X1))
2500 IF D4=0 THEN D4=.001
2510 D1=(DB(X1)*DC(X2)-DB(T)*DC(X3))/D4:HP=HP+D1
2520 D2=(DB(T)*DC(X2)-DB(X1)*(DC(X1)-DB(X1)))/D4:DQ=DQ+D2
2530 IF ABS(D1)+ABS(D2)>.000001 THEN 2460
2540 P(I1)=HP:Q(I1)=DQ:DA(1)=DA(1)-HP:T=T-2
2550 FOR I=2 TO T:DA(I)=DA(I)-HP*DA(I-1)-DQ*DA(I-2):NEXT I
2560 IF T> 2 THEN 2450
2570 IF T<> 2 THEN 2590
2580 I1=I1 + 1:P(I1)=DA(1):Q(I1)=DA(2)
2590 IF T=1 THEN A=-DA(1)
2600 RETURN
2610 REM ELLIPTIC F & Q
2620 V=INT(N/2)
2630 IF N/2=INT(N/2) THEN NN=0 ELSE NN=1
2640 GOSUB 1960
2650 IF K$="Y" THEN GOSUB 3150
2660 IF R=1 AND K$="Y" THEN LPRINT:LPRINT "Required Resonant Frequencies are:"
2670 IF R=1 THEN PRINT:PRINT "Required Resonant Frequencies are:":GOTO 2700
2680 PRINT:PRINT "Normalized Prototype Parameters are:"
2690 IF K$="Y" THEN LPRINT:LPRINT "Normalized Prototype Parameters are:"
2700 PRINT :PRINT " F Q"
2710 IF K$="Y" THEN LPRINT:LPRINT " F Q"
2720 IF R=1 GOTO 2790
2730 FOR I=1 TO V:PRINT P(I),Q(I)
2740 IF K$="Y" THEN LPRINT P(I),Q(I)
2750 NEXT I
2760 IF INT(N/2)<>N/2 THEN PRINT F(V+1) ELSE GOTO 2860
2770 IF K$="Y" THEN LPRINT F(V+1)
2780 GOTO 2860
2790 OPEN "O",3,"PLTDATA"
2792 IF INT(N/2)<>N/2 THEN PRINT #3,1,3,2*V+1 ELSE PRINT #3,1,3,2*V
2798 FOR I=1 TO V:PRINT P(I)*FC,Q(I)
2800 IF K$="Y" THEN LPRINT P(I)*FC,Q(I)
2805 PRINT #3,P(I)*FC,Q(I)
2810 NEXT I
2820 IF INT(N/2)<>N/2 THEN PRINT F(V+1)*FC ELSE GOTO 2840
2830 IF K$="Y" THEN LPRINT F(V+1)*FC
2835 PRINT #3,F(V+1)*FC,0
2840 PRINT:PRINT "Required zeros (or Notches) are:"
2850 IF K$="Y" THEN LPRINT:LPRINT "Required zeros (or Notches) are:"
2860 PRINT " Z"
2870 IF K$="Y" THEN LPRINT " Z"
2880 IF R=1 GOTO 2930
2890 FOR I=1 TO V:PRINT F(I)
2900 IF K$="Y" THEN LPRINT F(I)
2910 NEXT I
2920 GOTO 2955
2930 FOR I=1 TO V:PRINT F(I)*FC
2940 IF K$="Y" THEN LPRINT F(I)*FC
2944 PRINT #3,F(I)*FC,-1
2950 NEXT I
2955 CLOSE 3
2960 OPEN "O",2,"IDATA"
2970 PRINT #2,F1,INT(N/2),INT(N/2)
2980 IF N/2<>INT(N/2) THEN PRINT #2,1,F(V+1) ELSE PRINT #2,0
2990 FOR I=1 TO V:PRINT #2,1,0,F(I):NEXT I
3000 FOR I=1 TO V:PRINT #2,P(I),Q(I):NEXT I
3010 CLOSE
3020 RETURN
3030 REM BUTTERWORTH
3040 PRINT #1," F Q "
3050 FOR I=1 TO N/2:PRINT #1,F(I),Q(I):NEXT I
3060 IF INT(N/2)<>N/2 THEN PRINT #1,F(INT(N/2)+1)
3070 CLOSE 1
3080 RETURN
3090 REM CHEBYCHEV
3100 PRINT #1," F Q"
3110 FOR I=1 TO N/2: PRINT #1,P(I),Q(I):NEXT I
3120 IF INT(N/2)<>N/2 THEN PRINT #1,F(INT(N/2)+1)
3130 CLOSE 1
3140 RETURN
3150 REM ELLIPTIC
3160 PRINT #1," F Q"
3170 FOR I=1 TO V:PRINT #1,P(I),Q(I):NEXT I
3180 IF N/2<>V THEN PRINT #1,F(V+1)
3190 PRINT #1," Z"
3200 FOR I=1 TO V:PRINT #1,F(I):NEXT I
3210 CLOSE 1
3220 RETURN
3230 OPEN "O",1,"LPT"
3240 FOR I=0 TO 5:PRINT #1,V$(I),PR(I):NEXT I
3250 RETURN
3260 AA=1:N=2
3270 IF N=10 THEN PRINT " ORDER TOO HIGH FOR PROGRAM!!!":GOTO 3360
3280 N=N+1:NN=0:HR=1
3290 IF N=2*INT(N/2) THEN NN=1
3300 FOR I=1 TO INT(N/2):GOSUB 1820:NEXT I
3310 FOR I=1 TO N/2:HR=HR*(1-Z(I)^2)/(1-X(I)^2):NEXT I
3320 HC=1/HR:X=HX:HR=HC*X^(1-NN)
3330 FOR I=1 TO N/2:HR=HR*(X^2-Z(I)^2)/(X^2-X(I)^2):NEXT I
3340 A=10*FN LGT(1+HE*HR^2)
3350 IF A 3360 RETURN
3370 REM SERIES EXPANSION OF SIN(X)
3380 DFACT=1:SN=-1:DQ1=DQ
3390 FOR K=3 TO 15 STEP 2
3400 DFACT1=K*(K-1)
3410 DFACT=DFACT*DFACT1
3420 DZ=1
3430 FOR Q=1 TO K
3440 DZ=DZ*DQ
3450 NEXT Q
3460 DQX1=(DZ/DFACT)*SN
3470 DQ1=DQ1+DQX1
3480 SN=-1*SN
3490 NEXT K
3500 RETURN
3510 REM SERIES EXPANSION OF COS(X)
3520 DFACT=1:SN=-1:DQ1=1
3530 FOR K=2 TO 14 STEP 2
3540 DFACT1=K*(K-1)
3550 DFACT=DFACT*DFACT1
3560 DZ=1
3570 FOR Q=1 TO K
3580 DZ=DZ*DQ
3590 NEXT Q
3600 DQX1=(DZ/DFACT)*SN
3610 DQ1=DQ1+DQX1
3620 SN=-1*SN
3630 NEXT K
3640 RETURN
3650 IF R=1 THEN R$="LOWPASS"
3660 IF R=2 THEN R$="HIGHPASS"
3670 IF R=3 THEN R$="BANDPASS"
3680 IF R=4 THEN R$="NOTCH"
3690 IF G=1 THEN T$="BUTTERWORTH"
3700 IF G=2 THEN T$="CHEBYSHEV"
3710 IF G=3 THEN T$="ELLIPTIC"
3720 IF R=1 AND K$="Y" THEN LPRINT:LPRINT "Design for a "T$" Lowpass with:"
3730 IF R=1 THEN PRINT:PRINT "Design for an "T$" Lowpass with:":GOTO 3920
3740 PRINT:PRINT "Lowpass Prototype for this "T$" "R$" filter with:"
3750 IF K$="Y" THEN LPRINT:LPRINT "Lowpass Prototype for this "T$" "R$" filter with:"
3760 IF R=2 GOTO 3920
3770 PRINT:PRINT "Fcenter="FCNTR" Pass Bandwidth="BW" Stop Bandwidth="SW
3780 IF K$="Y" THEN LPRINT:LPRINT "Fcenter="FCNTR" Pass Bandwidth="BW" Stop Bandwidth="SW
3790 IF K$="Y" AND Z$="Y" THEN LPRINT:LPRINT "Amax="A1" Order="N
3800 IF Z$="Y" THEN PRINT:PRINT "Amax="A1" Order="N:GOTO 3830
3810 IF K$="Y" THEN LPRINT:LPRINT "Amax="A1" Amin="A2
3820 PRINT:PRINT "Amax="A1" Amin="A2
3830 PRINT:PRINT "Normalized Parameters are:"
3840 IF K$="Y" THEN LPRINT:LPRINT "Normalized Parameters are:"
3850 PRINT:PRINT "FC="F1" FS="F2" Amax="A1" ";
3860 IF K$="Y" THEN LPRINT:LPRINT "FC="F1" FS="F2" Amax="A1" ";
3870 IF K$="Y" AND Z$="Y" THEN LPRINT "N="N/2
3880 IF Z$="Y" THEN PRINT "N="N/2:N=N/2:GOTO 3910
3890 IF K$="Y" THEN LPRINT "Amin="A2
3900 PRINT "Amin="A2
3910 RETURN
3920 PRINT:PRINT "Corner Frequency="FC" Stop Frequency="FS" ";
3930 IF K$="Y" THEN LPRINT:LPRINT "Corner Frequency="FC" Stop Frequency="FS" ";
3940 IF K$="Y" AND Z$="Y" THEN LPRINT "Order="N" Amax="A1
3950 IF Z$="Y" THEN PRINT "Order="N" Amax="A1:GOTO 3980
3960 IF K$="Y" THEN LPRINT "Amax="A1" Amin="A2
3970 PRINT "Amax="A1" Amin="A2
3980 PRINT:PRINT "Normalized Parameters are:"
3990 IF K$="Y" THEN LPRINT:LPRINT "Normalized Parameters are:"
4000 PRINT:PRINT "FC="F1" FS="F2" Amax="A1" ";
4010 IF K$="Y" THEN LPRINT:LPRINT "FC="F1" FS="F2" Amax="A1" ";
4020 IF K$="Y" AND Z$="Y" THEN LPRINT "N="N
4030 IF Z$="Y" THEN PRINT "N="N:GOTO 4060
4040 PRINT "Amin="A2
4050 IF K$="Y" THEN LPRINT "Amin="A2
4060 RETURN


  3 Responses to “Category : Science and Education
Archive   : FILTDES.ZIP
Filename : FILSYP.BAS

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/