top of page

example 7.2

ZIP with MATLAB scripts and note:

 example 7.2 notes:

Small tag OK.jpg
pozar_07_example_02_question.jpg
001.jpg

Contents

 

  1. Ideal Wilkinson splitter/combiner scattering matrix

  2. Ideal Wilkinson parameters for single frequency

  3. Port 1 to Port 3 S(f)

  4. 3 port to 2 port: Signal from port 1 to port 2, port 3 loaded with Z0

  5. 3 port to 2 port: Signal from port 1 to port 2, BUT port 3 OPEN

  6. Wilkinson as Combiner: BW 10 times broader

  7. Parallel Series Connection [ZWU]

  8. N ports to equivalent 2 port General Network Formula [ZWU] [DBR]

  9. Enhancing BW: Cp || along Wilkinson Z1 transmission line [ZZHX]

  10. Enhancing BW: multi-staged Wilkinson [MNDL]

  11. RFTool no floating nodes

  12. Comment solutions manual resorting to unknown 'computer aided design tool'

       Local Literature References

1.- Ideal Wilkinson splitter/combiner scattering matrix

 

Wilkinson configuration is a popular signal splitter (divider) or combiner,  and in literature it's common to split the circuit into 2, and then apply even odd analysis, [POZAR] shows such analysis, and Torgersen [TT] implements a 'miniature' MMIC Wilkinson, detailing Keysight design steps from circuit to PCB.

 

At single f0 the scattering matrix of an ideal Wilkinson is  S=-1j/2*[0 1 1;1 0 0;1 0 0]

 

Assuming that because lambda/4 transmission line sections at f0 each generates -1j/2 terms (lambda/4 impedance transformer) and then replacing such value with transmission line impedance

Z0*(ZL+1j*Z0*tan(2*pi*D))/(Z0+1j*ZL*tan(2*pi*D)) is by no means correct.

 

 

2.- Ideal Wilkinson parameters for single frequency

c0=229792586;   % [m/s]  light speed

Z0=50;                  % [ohm] reference characteristic impedance

D01=.25                % [] electric distance, multiple wavelength at f0, L1=D1*lambda0

D02=.25

 

Z1=2^.5*Z0         % [ohm] characteristic impedance for TL sections TL1 TL2

 

R=2*Z0                % [ohm] floating resistor

 

 

D01 =

   0.250000000000000

D02 =

   0.250000000000000

Z1 =

  70.710678118654755

R =

   100

3.- Port 1 to Port 3 S(f)

                                                                                    

Despite at f0 ideal Wilkinson scattering matrix is S=-1j/2*[0 1 1;1 0 0;1 0 0] when varying f then S zero elements are not going to remain null.

df=1e6;                          % [Hz] frequency resolution

f=[.5e9:df:1.5e9];         % [Hz] band

lambda=c0./f;               % [m] wavelength

 

f0=1e9                            % [Hz] nominal carrier

lambda0=c0/f0

L0=lambda0/4               % [m] physical lengths TL1 TL2

 

D0=L0/lambda0

D=L0./lambda;

ZL=Z0                            % 1/(1/Z0+1/(2*Z0))

 

f0 =

     1.000000000000000e+09

lambda0 =

   0.229792586000000

L0 =

   0.057448146500000

D0 =

   0.250000000000000

ZL =

    50

What happens when just replacing terms -1j/2 (lambda/4 impedance transformer) with following TL expression:

s31=.5*(ZL+1j*Z0*tan(2*pi*D))./(Z0+1j*ZL*tan(2*pi*D));

 

figure(1)

plot(f,10*log10(abs(s31)))

grid on

xlabel('f');ylabel('|s21|')

002.jpg
Conventional Wilkinson Insertion Loss over frequency is by no means so flat.
4.- Signal from port 1 to port 2, port 3 loaded with Z0

N1=[reshape(cos(2*pi*D),1,1,numel(D))  1j*Z1*reshape(sin(2*pi*D),1,1,numel(D));    % branch 1 : ABCD TL1

         1j/Z1*reshape(sin(2*pi*D),1,1,numel(D)) reshape(cos(2*pi*D),1,1,numel(D))]

N1_1=N1      % backing up branch 2 abcd, reusing N1 N2 in following cells

                       % retrieving this N1 comparing with [ZWU] S1||S2 method

 

N2_TL2=[reshape(cos(2*pi*D),1,1,numel(D))  1j*Z1*reshape(sin(2*pi*D),1,1,numel(D));    % branch 2 : ABCD TL2

                  1j/Z1*reshape(sin(2*pi*D),1,1,numel(D)) reshape(cos(2*pi*D),1,1,numel(D))]

             

N2_port3=[ones(1,1,numel(D)) zeros(1,1,numel(D));      % low branch : ABCD shunt Z0 port 3

                1/(Z0)*ones(1,1,numel(D)) ones(1,1,numel(D))]

 

N2_2Z0=[ones(1,1,numel(D)) 2*Z0*ones(1,1,numel(D));    % low branch : ABCD series 2*Z0

              zeros(1,1,numel(D)) ones(1,1,numel(D))]

 

N2=zeros(2,2,numel(D))   % low branch

for k=1:1:numel(D)

    N2(:,:,k)=N2_TL2(:,:,k)*N2_port3(:,:,k)*N2_2Z0(:,:,k);

end

N2_1=N2       % backing up branch 2 abcd, reusing N1 N2 in following cells

                       % retrieving this N1 comparing with [ZWU] S1||S2 method

 

Y1=zeros(2,2,numel(D));

for k=1:1:numel(D)      Y1(:,:,k)=abcd2y(N1(:,:,k));   end

 

Y2=zeros(2,2,numel(D));

for k=1:1:numel(D)      Y2(:,:,k)=abcd2y(N2(:,:,k));  end

 

Y=zeros(2,2,numel(D));                   % Y1+Y2

for k=1:1:numel(D)     Y(:,:,k)=Y1(:,:,k)+Y2(:,:,k);  end

 

S=zeros(2,2,numel(D));     % Y directly to S, no need to go through ABCD again

for k=1:1:numel(D)       S(:,:,k)=y2s(Y(:,:,k),Z0);   end

 

for k=1:1:numel(D)      S(:,:,k)=y2s(Y(:,:,k),Z0);   end

 

s11=squeeze(S(1,1,:))';

s11_dB=10*log10(abs(s11));

 

s21=squeeze(S(2,1,:))';

s21_dB=10*log10(abs(s21));

figure(2);

plot(f,s11_dB)

hold on

plot(f,s21_dB)

grid on

xlabel('f');ylabel('[dB]')

title('port1 -> port2, port3 loaded Z0')

legend({'|s11|','|s21|'})

axis([f(1) f(end) -30 0])

003.jpg
bottom of page