top of page

ZIP with MATLAB scripts and note:

exercise 6.8

Small tag OK.jpg
pozar_06_exercise_08_question.jpg

 exercise 6.8 notes:

Small tag OK.jpg
pozar_06_exercise_08_circuit.jpg

syms C L R Z0 w

ZL=R+1j*L*w+1/(1j*C*w)                     % series tank load

Zin=Z0^2/ZL      % lambda/4 impedance transformer input impedance

formula(Zin)                                                % check

[N,D]=numden(Zin)

 

l/4 inverts each circuit Load component, effectively turning C into L, R into Z0^2/R,

L into R, therefore behaving as reactance mirror and allowing energy storage as well as resonance.

 

D1=D/N

% same as

% D1=D/(C*w*Z0^2)

 

 

D1=expand(D1)

 

% collect(D1,w);collect(D1,1/w);collect(D1,1)  % doesn't work

 

 

solve(D1==0,w)     

% symbolic roots of Zin denominator: input admittance Yin

 

%%

clear all

syms w

C1=10^-12;L1=10^-7;R1=10;Z01=50                     % numeric example

ZL1=R1+1j*L1*w+1/(1j*C1*w)

Zin1=Z01^2/ZL1

 

% simplifyFraction(Zin1)                                          

%

[N_1,D_1]=numden(Zin1)

 

D_2=D_1/N_1

D_2=expand(D_2)

 

double(solve(D_2==0,w))    

% symbolic roots of Zin denominator: input admittance Yin

resonant frequency cannot be far from these roots.

 

 

MATLAB does not recognize [w 1 1/w] as polynomial despite same coefficients are applied to same polynomial just shifted one w^-1 down.

a way around is to apply w* just at the sym2poly step:

 

coeffs_D_2=sym2poly(w*D_2)   % [1j*L R 1/(1j*C)]     

 

coeff_L1=coeffs_D_2(1)/1j

coeff_R1=coeffs_D_2(2)

coeff_C1=1/(1j*coeffs_D_2(3))

 

 

% equivalent parallel tank:

 

C2=coeff_L1*Z01^2

R2=Z01^2/coeff_R1

L2=coeff_C1/Z01^2

ZL =

R + L*w*1i - 1i/(C*w)

Zin =

Z0^2/(R + L*w*1i - 1i/(C*w))

ans =

Z0^2/(R + L*w*1i - 1i/(C*w))

N =

C*Z0^2*w

D =

C*L*w^2*1i + C*R*w - 1i

D1 =

(C*L*w^2*1i + C*R*w - 1i)/(C*Z0^2*w)

D1 =

R/Z0^2 - 1i/(C*Z0^2*w) + (L*w*1i)/Z0^2

ans =

  (((C*(- C*R^2 + 4*L))^(1/2)*1i + C*R)*1i)/(2*C*L)

 -(((C*(- C*R^2 + 4*L))^(1/2)*1i - C*R)*1i)/(2*C*L)

 

 

 

 

 

 

ZL1 =

(w*1i)/10000000 - 1000000000000i/w + 10

Zin1 =

2500/((w*1i)/10000000 - 1000000000000i/w + 10)

 

 

 

N_1 =

25000000000*w

D_1 =

w^2*1i + 100000000*w - 10000000000000000000i

D_2 =

(w^2*1i + 100000000*w - 10000000000000000000i)/(25000000000*w)

D_2 =

(w*1i)/25000000000 - 400000000i/w + 1/250

 =

   1.0e+09 *

 -3.161882350752475 + 0.050000000000000i

  3.161882350752475 + 0.050000000000000i

 

coeffs_D_2 =

   1.0e+08 *

  Column 1

  0.000000000000000 + 0.000000000000000i

  Column 2

  0.000000000040000 + 0.000000000000000i

  Column 3

  0.000000000000000 - 4.000000000000000i

coeff_L1 =

     4.000000000000000e-11

coeff_R1 =

   0.004000000000000

coeff_C1 =

     2.500000000000000e-09

C2 =     1.000000000000000e-07

R2 =      625000

L2 =     1.000000000000000e-12

f1=.1e9;f2=.9e9;

Nf=1e7                                % amount frequency points between f1 f2

df=abs(f1-f2)/(Nf+1)                                   % frequency resolution

f=[f1:df:f2];

Z0=50

 

ZL1num=R1+1j*L1*2*pi*f+1./(1j*C1*2*pi*f);

Zin1num=Z0^2./ZL1num;

Gamma1=(Zin1num-Z0)./(Zin1num+Z0);

absG1=abs(Gamma1);

figure(1);plot(f,absG1);grid on;title('series tank + \lambda/4')

nf01=find(absG1==min(absG1));

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f01=f(nf01)

 

 

 

ZL2num=1./(1/R2+1./(1j*2*pi*f*L2)+1j*2*pi*f*C2);

Gamma2=(ZL2num-Z0)./(ZL2num+Z0);

absG2=abs(Gamma2);

figure(2);plot(f,absG2);grid on;title('equivalent parallel tank')

nf02=find(absG2==min(absG2));

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f02=f(nf02)

 

 

Exactly same single resonant frequency despite the parallel tank is far sharper.

Nf =

    10000000

df =

  79.999992000000802

Z0 =

    50

 

 

 

 

f01 =

     5.032921196707881e+08

 

 

 

f02 =

     5.032921196707881e+08

002.jpg
001.jpg
bottom of page