10 REM HIPASXFM.BAS
20 CLS:PRINT"THIS PROGRAM PRODUCES THE VALUES FOR A HIPASS FILTER, GIVEN"
30 PRINT"THE LOWPASS PROTOTYPE VALUES. REMEMBER THAT LOPAS INDUCTORS"
40 PRINT"BECOME HIPASS CAPACITORS & LOPAS CAPACITORS BECOME INDUCTORS."
50 INPUT"CHOOSE THE HIPASS CUTOFF FREQ:",FC
60 INPUT"WHAT IS THE IMPEDANCE LEVEL";Z
70 PRINT"IF THE LOPASS IMPEDANCE IS NOT ONE OHM, WHAT IS IT?"
80 INPUT"PRESS RETURN FOR 1 OHM OR ELSE ENTER NUMBER",R
90 IF R>1 THEN R=R ELSE R=1
100 PRINT"R=";R
110 PI=3.14162
120 PRINT:PRINT:
130 PRINT"THE ELEMENT ENTRY LOOP FOLLOWS. USE ENTER WITH NO NUMBER TO"
140 PRINT"END THE ENTRY"
144 INPUT"IS THE FIRST ELEMENT AN INDUCTOR (1) OR CAPACITOR (2)";K1
146 IF K1>2 OR K1<1 THEN PRINT"TRY AGAIN":GOTO 144
148 IF K1=2 THEN P1=1:P2=2:GOTO 204
149 P1=2:P2=1
150 FOR J=P2 TO 10 STEP 2
160 PRINT J,:INPUT"LOPASS INDUCTOR = ";L(J)
170 IF L(J)=0 THEN 200
180 HC(J)=1/L(J)
190 NEXT J
200 NL=J-1
202 IF K1=2 THEN 260
204 FOR J=P1 TO 10 STEP 2
210 PRINT J,:INPUT"LOPASS CAPACITOR = ";C(J)
220 IF C(J)=0 THEN 250
230 HL(J)=1/C(J)
240 NEXT J
250 NC=J-1
252 IF K1=2 THEN 150
254 REM FREQ & IMPEDANCE SCALING:
260 SC=R/Z/2/PI/FC
270 SL=R*Z/2/PI/FC
290 PRINT,:PRINT,TAB(20);"HIPASS FILTER VALUES"
300 PRINT,TAB(20);"CUTOFF FREQUENCY = ";FC
310 PRINT,TAB(20);"IMPEDANCE LEVEL = ";Z;" OHMS"
320 PRINT,:PRINT,"CAPACITOR VALUES"
330 FOR J=P2 TO NL STEP 2
340 PRINT,J,HC(J)*SC
350 NEXT J
360 PRINT,:PRINT,"INDUCTOR VALUES"
370 FOR J=P1 TO NC STEP 2
380 PRINT,J,HL(J)*SL
390 NEXT J
400 INPUT"HARDCOPY"; Y$
410 IF LEFT$(Y$,1)="Y" OR LEFT$(Y$,1)="y" THEN 440
430 IF LEFT$(Y$,1)="N" OR LEFT$(Y$,1)="n" THEN RUN
440 INPUT"PREPARE PRINTER & PRESS ENTER",Y$
450 OPEN "PRN" FOR OUTPUT AS #1
460 PRINT#1,:PRINT#1,TAB(20);"HIPASS FILTER VALUES"
470 PRINT#1,TAB(20);"CUTOFF FREQUENCY = ";FC
480 PRINT#1,TAB(20);"IMPEDANCE LEVEL = ";Z;" OHMS"
490 PRINT#1,:PRINT#1,"THIS IS THE CIRCUIT:"
494 IF K1=2 THEN 542
500 PRINT#1,"----C1-----|----C3----|-- ETC"
510 PRINT#1," | |"
520 PRINT#1," L2 L4"
530 PRINT#1," | |"
540 PRINT#1,"-----------|----------|-"
541 GOTO 550
542 PRINT#1,"--|---C2---|---C4--- ETC"
544 PRINT#1," L1 L3"
546 PRINT#1," | |"
548 PRINT#1,"--|--------|---------"
550 PRINT#1,:PRINT#1,"CAPACITOR VALUES"
560 FOR J=P2 TO NL STEP 2
570 PRINT#1,J,HC(J)*SC
580 NEXT J
590 PRINT#1,:PRINT#1,"INDUCTOR VALUES"
600 FOR J=P1 TO NC STEP 2
610 PRINT#1,J,HL(J)*SL
620 NEXT J
630 PRINT#1,CHR$(12)
640 CLOSE#1
650 CHAIN "FILTMENU"
660 REM HIPASXFM.BAS
670 END
               (
geocities.com/russlk)