top of page

example 7.1

ZIP with MATLAB scripts and note:

 example 7.1 notes:

pozar_07_example_01_question.jpg
Small tag OK.jpg
003.jpg
001.jpg
002.jpg

A T-junction makes the most basic splitter/combiner.
 
A shunt single-element placed right on the junction may suffice to match some ports on a single frequency.

 

Assume lossless transmission lines, all matched.
 

In this example each transmission line reaches the junction with a different characteristic impedance.

 

At the junction point, the equivalent characteristic impedance that is observed from each port is different and it is a 'parallel' sum of the characteristic impedances built with the Z0-th remaining transmittion lines joining the junction. Additionally a 'calibration' or 'filtering' impedance, B in the opening diagram, may be place to improve frequency response.

syms Z1 Z2

Z0=50

 

% P0=P1+P2  % ideal combiner/splitter

% for V0=1     % [V] volts

% P1=.5/Z1      % [W] P1=1/2*V0^2/Z1

% P2=.5/Z2    % [W] P2=1/2*V0^2/Z2

% Pin-.5/Z0    % [W] watts

 

eq1=1/Z0==1/Z1+1/Z2

 

eg2=.5/Z1==2*.5/Z2

 

eqs=[1/Z1+1/Z2-1/Z0;.5/Z1-2*.5/Z2]

Sol1=solve(eqs,[Z1 Z2])

 

 

 

 

Sol1.Z1

 

 

Sol1.Z2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Sol1 =

  struct with fields:

 

    Z1: [1×1 sym]

    Z2: [1×1 sym]

 

Sol1.Z1 =

                75

 

Sol1.Z2 =

                 150

The characteristic impedances of the output ports are

Z01=double(Sol1.Z1);

Z02=double(Sol1.Z2);

Z01 =    75

Z02 =   150

And the respective output reflection coefficients, looking into the output ports are

rho_out1=(Zshunt(Z01,Z0)-Z02)/(Zshunt(Z01,Z0)+Z02)

 

rho_out1=(Zshunt(Z02,Z0)-Z01)/(Zshunt(Z02,Z0)+Z01)

rho_out1 =

  -0.666666666666667

rho_out1 =

  -0.333333333333333

2.- B single capacitor

 

So far B=0 but often wave guidelines are populated with devices (lumped or distributed) to improve frequency response.

df=1e5                        % [Hz] frequency step

f=[1e5:df:5e9];

C=[1e-6 1e-9 1e-12];   % [F] now let's try 3 different capacitors, one at a time, right on the junction

 

f0=2e9                       % [Hz] assume narrow band carrier

 

% clear junction, Z01 Z02 already calculated

Z01

Z02

 

rho1_out_abs=zeros(numel(C),numel(f));

rho2_out_abs=zeros(numel(C),numel(f));

 

for k1=1:1:numel(C)

    B=C(k1)*2*pi*f;

   rho1_out_abs(k1,:)=20*log10(abs((Zshunt(Z01-1j./B,Z0)-Z02)./(Zshunt(Z01-1j./B,Z0)+Z02)));

    rho2_out_abs(k1,:)=20*log10(abs((Zshunt(Z02,Z0)- (Z01-1j./B))./(Zshunt(Z02,Z0)+ (Z01-1j./B))));

end

 

hf1=figure(1);

for k1=1:1:numel(C)

    plot(f,rho1_out_abs(k1,:));

    hold on

end

grid on;xlabel('f[Hz]');

title('C : PORT 2 |rho1(f)|^2 dB');

str1=['C = ' num2str(C(1)/1e-6) 'uF'];

str2=['C = ' num2str(C(2)/1e-9) 'nF'];

str3=['C = ' num2str(C(3)/1e-12) 'pF'];

legend({str1 str2 str3});

 

hf2=figure(2);

for k1=1:1:numel(C)

    plot(f,rho2_out_abs(k1,:));

    hold on

end

grid on;xlabel('f[Hz]');

title('C : PORT 1 |rho2(f)|^2 dB')

str1=['C = ' num2str(C(1)/1e-6) 'uF'];

str2=['C = ' num2str(C(2)/1e-9) 'nF'];

str3=['C = ' num2str(C(3)/1e-12) 'pF'];

legend({str1 str2 str3});

figure(1)
figure(2)

 

3.- LC shunt tank

 

Now let's try a tank : .1pF with 10 different values of inductance L

C0=.1e-12;                               % [F] now C Constant

L=linspace(1e-3,1e-9,10);        % [H] inductance

 

rho1_out_abs=zeros(numel(L),numel(f));

rho2_out_abs=zeros(numel(L),numel(f));

 

% C || L

B0=C0*2*pi*f;

 

for k1=1:1:numel(L)

    X=L(k1)*2*pi*f;

      rho1_out_abs(k1,:)=20*log10(abs((Zshunt(Z01-1j./B0+1j*X(k1),Z0)-Z02)./(Zshunt(Z01-1j./B0+1j*X(k1),Z0)+Z02)));

     rho2_out_abs(k1,:)=20*log10(abs((Zshunt(Z02,Z0)- (Z01-1j./B0+1j*X(k1)))./(Zshunt(Z02,Z0)+ (Z01-1j./B0+1j*X(k1)))));

end

 

hf3=figure(3);

for k1=1:1:numel(L)

    plot(f,rho1_out_abs(k1,:));

    hold on

end

grid on;xlabel('f[Hz]');

title('0.1pF || L : PORT 2 |rho1(f)|^2 dB');

str1=['L = ' num2str(L(1)/1e-3) 'mH'];

str2=['L = ' num2str(L(floor(numel(L)/2))/1e-6) 'uH'];

str3=['L = ' num2str(L(end)/1e-9) 'nH'];

legend({str1 str2 str3},'Location','northeastoutside');

 

hf4=figure(4);

for k1=1:1:numel(L)

    plot(f,rho2_out_abs(k1,:));

    hold on

end

grid on;xlabel('f[Hz]');

title('0.1pF || L : PORT 1 |rho2(f)|^2 dB');

str1=['L = ' num2str(L(1)/1e-3) 'mH'];

str2=['L = ' num2str(L(floor(numel(L)/2))/1e-6) 'uH'];

str3=['L = ' num2str(L(end)/1e-9) 'nH'];

legend({str1 str2 str3},'Location','northeastoutside');

% C || L

B0=C0*2*pi*f;

 

for k1=1:1:numel(L)

    X=L(k1)*2*pi*f;

      rho1_out_abs(k1,:)=20*log10(abs((Zshunt(Z01-1j./B0+1j*X(k1),Z0)-Z02)./(Zshunt(Z01-1j./B0+1j*X(k1),Z0)+Z02)));

     rho2_out_abs(k1,:)=20*log10(abs((Zshunt(Z02,Z0)- (Z01-1j./B0+1j*X(k1)))./(Zshunt(Z02,Z0)+ (Z01-1j./B0+1j*X(k1)))));

end

 

hf3=figure(3);

for k1=1:1:numel(L)

    plot(f,rho1_out_abs(k1,:));

    hold on

end

grid on;xlabel('f[Hz]');

title('0.1pF || L : PORT 2 |rho1(f)|^2 dB');

str1=['L = ' num2str(L(1)/1e-3) 'mH'];

str2=['L = ' num2str(L(floor(numel(L)/2))/1e-6) 'uH'];

str3=['L = ' num2str(L(end)/1e-9) 'nH'];

legend({str1 str2 str3},'Location','northeastoutside');

 

hf4=figure(4);

for k1=1:1:numel(L)

    plot(f,rho2_out_abs(k1,:));

    hold on

end

grid on;xlabel('f[Hz]');

title('0.1pF || L : PORT 1 |rho2(f)|^2 dB');

str1=['L = ' num2str(L(1)/1e-3) 'mH'];

str2=['L = ' num2str(L(floor(numel(L)/2))/1e-6) 'uH'];

str3=['L = ' num2str(L(end)/1e-9) 'nH'];

legend({str1 str2 str3},'Location','northeastoutside');

C0=.1e-12;                               % [F] now C Constant

L=linspace(1e-3,1e-9,10);        % [H] inductance

 

rho1_out_abs=zeros(numel(L),numel(f));

rho2_out_abs=zeros(numel(L),numel(f));

 

% C || L

B0=C0*2*pi*f;

 

for k1=1:1:numel(L)

    X=L(k1)*2*pi*f;

      rho1_out_abs(k1,:)=20*log10(abs((Zshunt(Z01-1j./B0+1j*X(k1),Z0)-Z02)./(Zshunt(Z01-1j./B0+1j*X(k1),Z0)+Z02)));

     rho2_out_abs(k1,:)=20*log10(abs((Zshunt(Z02,Z0)- (Z01-1j./B0+1j*X(k1)))./(Zshunt(Z02,Z0)+ (Z01-1j./B0+1j*X(k1)))));

end

 

hf3=figure(3);

for k1=1:1:numel(L)

    plot(f,rho1_out_abs(k1,:));

    hold on

end

grid on;xlabel('f[Hz]');

title('0.1pF || L : PORT 2 |rho1(f)|^2 dB');

str1=['L = ' num2str(L(1)/1e-3) 'mH'];

str2=['L = ' num2str(L(floor(numel(L)/2))/1e-6) 'uH'];

str3=['L = ' num2str(L(end)/1e-9) 'nH'];

legend({str1 str2 str3},'Location','northeastoutside');

 

hf4=figure(4);

for k1=1:1:numel(L)

    plot(f,rho2_out_abs(k1,:));

    hold on

end

grid on;xlabel('f[Hz]');

title('0.1pF || L : PORT 1 |rho2(f)|^2 dB');

str1=['L = ' num2str(L(1)/1e-3) 'mH'];

str2=['L = ' num2str(L(floor(numel(L)/2))/1e-6) 'uH'];

str3=['L = ' num2str(L(end)/1e-9) 'nH'];

legend({str1 str2 str3},'Location','northeastoutside');

figure(3)
figure(4)
bottom of page