top of page

exercise 5.16

ZIP with MATLAB scripts and note:

Small tag OK.jpg
pozar_05_exercise_16_question.jpg

 exercise 5.16 notes:

Small tag OK.jpg

4 section binomial impedance transformer

ZL=12.5;Z0=50;f0=1e9

 

Fractional bandwidth df/f0 (same as df/f0):

 

the amount of [0 2*f0] frequency band, percentage of such band below given reflection threshold

|gamma|=(SWR-1)/(SWR+1) or SWR=(1+|gamma|)/(1-|gamma|)

 

|gamma| or SWR, one of them has to be defined in advance in order to get df/f0.

001.jpg
002.jpg

Characteristic impedances of each section:

 

ZL=12.5;Z0=50;

 

A single l/4 impedance transformer section has the following characteristic impedance

 

Z1=(Z0*ZL)^.5

 

N=[1:1:4];

for n=N

    Zn=Z0;Z_sections1=[0];

    for k=0:1:n-1

       Ztr=exp(log(Zn)+2^(-n)*nchoosek(n,k)*log(ZL/Z0));

       Z_sections1=[Z_sections1 Ztr];      

       Zn=Ztr;

   end

   Z_sections1(1)=[]

end

format short;Z_sections1

format long

 

fractional bandwidth of binomial multi-section transformer

 

gamma_m=.05;  SWR=vswr(gamma_m)

A=2^(-N(end))*(ZL-Z0)/(ZL+Z0) % not using approx A~1/(2^(N(end)+1)*log(ZL/Z0))

A_approx=1/(2^(N(end)+1))*log(ZL/Z0)

 

df_over_f0=2-4/pi*acos(.5*(gamma_m/abs(A))^(1/N(end)))

df_over_f0_approx=2-4/pi*acos(.5*(gamma_m/abs(A_approx))^(1/N(end)))

 

 

 

 

 

 

 

Z1 =    25

 

 

Z_sections1 = 45.8502  32.4210  19.2776  13.6313

 

 

 

 

SWR =   1.105263157894737

A =  -0.037500000000000

A_approx =  -0.043321698784997

df_over_f0 =   0.722200117155431

df_over_f0_approx =   0.693659648388165

df_over_f0 is  fractional band approximation 5.30 247pg

df_over_f0_approx : on top of the previous approximation 5.30, df_over_f0_approx also includes approximation 5.53 253pg.

003.jpg
004.jpg

N=4

dD=.0001

D=[0:dD:.5];

A=2^(-N)*(ZL-Z0)/(ZL+Z0)

gamma=A*(1+exp(-1j*2*2*pi*D)).^N

abs_gamma=abs(gamma)

figure(1)

plot(D,abs_gamma);grid on

title(['|\Gamma| , N=' num2str(N)])

xlabel('D')

Showing bow binomial impedance transformer with N­ improves the passband, 256pg.

c0=2.998*10^8;

df=1e6;

f0=2e9;f1=0;f2=2*f0

dfrel=df/f0;frel=[f1/f0:dfrel:f2/f0];

D1=.25;L1=D1*c0/f0

gamma=zeros(1,numel(frel))

 

N=[1:1:5]

for k=1:1:numel(N)

    A=2^(-N(k))*(ZL-Z0)/(ZL+Z0)

   gamma=[gamma;A*(1+exp(-1j*2*2*pi* frel.*f0/c0.*L1)).^N(k)];

end

gamma(1,:)=[];

 

abs_gamma=abs(gamma);

 

figure(2);ax2=gca

 

for k=1:1:numel(N)

    plot(frel,abs_gamma(k,:));

    hold(ax2,'on')

end

 

title(['|\Gamma| , N=' num2str(N(1)) ' to ' num2str(N(end))])

 

Ncell={}

for k=1:1:numel(N)

    Ncell=[Ncell ['N=' num2str(N(k))]]

end

legend(Ncell);grid on;xlabel('f/f0')

comment: above, function nchoosek has been used,  but don't use function combnk because it's going to be a problem when attempting combnk(3,0) returning empty, not 1 as expected. Alternatively a custom function may be used.

 

fC=@(N,n) factorial(N)./(factorial(N-n).*factorial(n))

N=3

C3=fC(N*ones(1,N),[0:1:N-1])

N=4

C3=fC(N*ones(1,N),[0:1:N-1])

005 freq response N = 4.jpg
freq response N = 1 to 5.jpg

the weak point of the binomial impedance transformer is that it's not that frequency selective, the sides of the pass band are not as sharp as sometimes may be required, not also that on the band sides, |gamma|=0.6 only, there's no full rejection achieved even when f=2*f0.

 

=  1×0 empty double row vector

 

 

 

N = 3

C3 =     1     3     3

N =     4

C3 =     1     4     6     4

Now let's plug the obtained characteristic impedances of the binomial transformer in ADS.

ads_001.jpg
ads_002.jpg
ads_003.jpg
ads_004.jpg
ads_005.jpg
ads_006.jpg
ads_007.jpg

Using Zin obtained with ADS TLIN, that are quite the same as the characteristic impedances obtained with MATLAB,

 

Z0=50;ZL=12.5

Ztr=[45.8502   32.4210   19.2776   13.6313]

D=[0:.0001:.5]

 

Zin4=Ztr(4)*(ZL+1j*Ztr(4).*tan(2*pi*D))./(Ztr(4)+1j*ZL.*tan(2*pi*D));

Zin3=Ztr(3)*(Zin4+1j*Ztr(3).*tan(2*pi*D))./(Ztr(3)+1j*Zin4.*tan(2*pi*D));

Zin2=Ztr(2)*(Zin3+1j*Ztr(2).*tan(2*pi*D))./(Ztr(2)+1j*Zin3.*tan(2*pi*D));

Zin1=Ztr(1)*(Zin2+1j*Ztr(1).*tan(2*pi*D))./(Ztr(1)+1j*Zin2.*tan(2*pi*D));

 

gamma=(Zin1-Z0)./(Zin1+Z0)  % reflection coefficient

 

figure(3);plot(D,abs(gamma));grid on;

title('|\Gamma|')

xlabel('D')

 

figure(4);plot(D,10*log10((abs(gamma)).^2));grid on;

title('|\Gamma| [dB]')

xlabel('D')

 

D is swept within [0 0.5] because D is the relative length for each l/4 section.

 

With the characteristic impedances obtained after manual tuning of the circuit with MLine components Ztr=[30.8502  32.524  19.2776  13.6313] the same distorted graphs are obtained in ADS.

Zin with TL formula.jpg
Zin with TL formula dB.jpg

Although the theoretical Insertion Loss calculated with MATLAB is not that bad, when attempting to also calculate the effective lengths of the lambda/4 sections directly from the er ee formula, the section lengths look a bit too close each other compared to the ADS manual optimisation results with lambda/4 MLINE.

Importing widths from ADS into MATLAB workspace

 

W_mm=[2.9914    5.4607   11.5047   17.8366]*1e-3

 

lambda0=29.98e-3                                   % mm

d=1.58e-3;er=4.2;Wd=W_mm/d

 

ee=(er+1)/2+(er-1)/2*1./(1+12*Wd).^.5 

lambda=lambda0./ee.^.5

L=lambda/4

W_mm =    0.0029   0.0054   0.0115  0.0178

 

lambda0 =   0.0299

Wd =   1.8932   3.4561   7.2814  11.2889

 

ee =   2.9285   2.8455   2.7701   2.7369

lambda =  0.0175   0.0177   0.0180  0.0181

L =   0.0043   0.0044   0.0045   0.0045

ads_008.jpg
bottom of page