
10 REM FILE NAME *** 160M_BPF.ART ***    REVISED 3 SEPTEMBER 1997.
20 REM THIS PROGRAM CALCULATES & PRINTS PARAMETERS OF 50-OHM 3rd-
ORDER 160-METER
30 REM BPFs FOR GIVEN TR, FC AND C1, C2 RANGE (IN 'FOR' STATEMENTS).
40 PRINT : PRINT "TABULATION OF 160-METER BANDPASS FILTER PARAMETERS 
FOR ";
50 TR=4:FC=1.87 :PI=4*ATN(1):N=3:Z=50*(TR^2) :REM N IS BPF ORDER;FC IS THE BPF 
Fc.
60 REM  TR IS RATIO OF TOTAL TURNS TO TURNS AT THE 50-OHM TAP OF L1,3.
70 PRINT "TR=";: PRINT TR;: PRINT ", Z(ohms)="; : PRINT 50*(TR^2) : PRINT
80 PRINT " F-C  -FAp  +FAp  BW 3dB  F-35dB F+  R.L.  R.C. C1,3  C2   L1,3   L2     XL1"
90 PRINT "----- (MHz) -----   (%)   --(MHz)--  (dB)  (%)  (pF) (pF)  (uH)  (uH)  (ohms)"
100 FOR C1 = 440 TO 450 STEP 10
110 FOR C2 = 250 TO 300  STEP 10
120 RA =1E+12/((C1*C2/(TR^2))*((2*PI*FC*Z)^2))
130 REM  RA = LOWPASS G2/G1 RATIO FOR BPF PARAMETER CALCULATIONS.
140 IF RA>1.9 OR RA<1.31 GOTO 600
150 FOR C=1 TO 4   : REM START OF CALCS TO FIND PARAMETERS FOR CALC'D RA.
160 A(C) = SIN(.5*PI*(2*C-1)/N) : B(C)=SIN(PI*C/N)^2 : NEXT C
170 K2 =A(2)/(RA*A(1))          : REM  RA IS LOWPASS G2/G1 RATIO FOR %RC CALC.
180  M =SQR(B(1)/(K2-1))        : X =M+SQR((M^2)+1)
190 AP=8.68589*LOG(((X^(2*N))+1)/(((X^(2*N))-1))) : REM AP = Ap(dB)
200 R1=100*SQR(1-(.1^(.1*AP)))       : REM  REFLECTION COEFF (%)
210 RC = R1/100 : VS = (1+RC)/(1-RC) : REM VS = VSWR BASED ON RC (REFL COEFF).
220 VS = (1+RC)/(1-RC) : REM SWR BASED ON REFLECTION COEFFICIENT.
230 RL = -20*(1/LOG(10))*LOG(R1/100) : REM RL = RETURN LOSS IN dB.
240 REM  START OF CALCS TO FIND G1 AND G2 BASED ON PREVIOUSLY CALC'D 
R.C.
250 A = AP/17.3718 : B=LOG((EXP(A)+EXP(-A))/(EXP(A)-EXP(-A)))
260 D = (EXP(B/(2*N))-EXP(-B/(2*N)))/2
270 FOR K=1 TO N   : A(K)=SIN((((2*K)-1)*PI)/(2*N))
280 B(K) = ((D)^2)+(1-COS((2*K*PI)/N))/2 : NEXT K
290 G(1) = 2*A(1)/D              : REM G(1) = NORMALIZED VALUE OF FIRST ELEMENT
300 FOR K=2 TO N : G(K) = 4*A(K-1)*A(K)/(B(K-1)*G(K-1)) : NEXT K
310 G1 =G(1) : G2 =G(2)  : REM  LP G-VALUES (USE RECIPROCALS FOR HP G-
VALUES)
320 L2 = 25330.3/(FC^2*C2)       : REM BASED ON GIVEN FC & C2.
330 L1 = 25330.3/(FC^2*C1)       : REM BASED ON GIVEN FC & C1.
340 E=SQR(RC^2/(1-(RC^2)))       : REM RIPPLE FACTOR 'E' BASED ON RC.
350 V=1/N*LOG(1/E+SQR(1/E^2-1))  : O=(EXP(V)+EXP(-V))/2 : REM O=F3/FAp RATIO
360 BW =1000000!*G1/(C1*Z*2*PI)  : B3=BW*O : REM BASED ON C1 AND CALC'D G1.
370 BL =SQR(FC^2+(BW^2)/4) -BW/2 : REM CALCS LOWER BAND EDGE FOR FC & 
BW.
380 BU =BL + BW        : REM CALCS UPPER FAp BAND EDGE BASED ON BL AND BW
390 O1 =-B3/2+SQR(FC^2+(B3/2)^2) : O5 =O1+B3 : REM CALCULATES 3-dB F-LO & F-
HI.
400 REM  A=10^(As/20); for As = .04dB, A(4) =10^.002; EQUIV TO RL=20.3 dB.
410 REM  A= "  "   " ; for As =30dB, A(5) =10^1.5.
420 REM  A= "  "   " ; for As =35dB, A(6) =10^1.75. ONLY 35dB VALUES PRINTED.
430 A(4)=10^.002 : A(5)=10^1.5 : A(6)=10^1.75
440 REM SUBROUTINE FOR PRINTING STOPBAND FREQS AT ONLY 35dB LEVEL.
450 FOR J=4 TO 6 : REM ARRAY ASSIGNMENT FOR A(J)
460 T=(SQR(A(J)^2-1))/E : T3=T+SQR((T^2)-1) : T1=1/N*LOG(T3)
470 W=.5*(EXP(T1) + EXP(-T1)) : REM "W" IS NORMALIZED FREQ FOR GIVEN As & 
RC for N=3.
480 B0= B3/O : REM B0 IS Ap BASED ON CALC. 3-dB BW (B3)
490 B(J) = W*B0 : REM BW FOR A(J)
500 F1(J)= -B(J)/2+SQR(FC^2+(B(J)/2)^2) : F2(J)=B(J)+F1(J) : REM CALCS F- & F+ FOR 
A(J) VALUES.
510 NEXT J
520 PRINT USING "##.##";FC;   : REM PRINTS GIVEN F-CENTER OF BPF TO SCREEN.
530 PRINT USING " #.### ";BL; : PRINT USING "##.## ";BU;: REM FAp -&+
540 PRINT USING "###.# ";100*B3/FC; : REM PERCENTAGE 3-dB BANDWIDTH
550 PRINT USING " #.###";F1(6);: PRINT USING "#.###";F2(6); : REM 35dB F- & F+.
560 PRINT USING "  ##.#";RL;  : REM  RET. LOSS (dB)
570 PRINT USING " ##.##";R1;  : REM  REFLEC COEFF (%)
580 PRINT USING "  ###";C1;   : PRINT USING "  ###";C2;
590 PRINT USING "###.##";L1;  : PRINT USING "###.##";L2; : PRINT USING "   
###";2*PI*FC*L1
600 NEXT C2
610 PRINT
620 NEXT C1



BASIC program for calculating 160-m bandpass filter parameters.


