Viewing blog entries in category: microwave engineering pozar 05 exercise 01

  • John_2016
    Question

    [​IMG]

    the literature source is available here:
    https://www.amazon.co.uk/Microwave-Engineering-David-M-Pozar/dp/0470631554

    There's also a solutions manual available here:
    https://www.scribd.com/doc/176505749/Microwave-engineering-pozar-4th-Ed-solutions-manual

    Answer

    [​IMG]

    attached pozar_03_exercise_01.m for download, remove .txt to run script, MATLAB scripts .m not yet allowed as attachments.

    a) Z0=100;f0=3e9; ZL1=150-j200

    From http://www.rfcafe.com/references/electrical/images2/electronic-applications-smith-chart-p-117.jpg the following diagrams show what impedance values 'can' and 'cannot' be matched with each pair of possible L C, series and shunt, 8 possible combinations:


    [​IMG]

    This table is advocated by https://www.amazon.co.uk/Microwave-Transistor-Amplifiers-Analysis-Design/dp/0132543354 [GONZ] but one has to be cautious because the 'can' 'cannot' and 'forbidden' terms used really mean the choices to do when intending to minimise impedance shifts across the Smith Chart.

    Yet, one can make a certain impedance shift a bit further around a given constant R or G circle and meet the R=Z0 or G=1/Y0 circle from the other side and such solutions are perfectly valid, while crossing the 'forbidden' zones while widening the choice of design.

    These are the kind of networks to be used:

    [​IMG]

    Z0=1j*L*2*pi*f0+1/(1j*C*2*pi*f0+1/ZL)
    real(1j*L*2*pi*f0+1/(1j*C*2*pi*f0+1/ZL))=Z0
    imag(1j*L*2*pi*f0+1/(1j*C*2*pi*f0+1/ZL))=0
    real(1j*x(1)*2*pi*f0+1/(1j*x(2)*2*pi*f0+1/ZL))-Z0=0
    imag(1j*x(1)*2*pi*f0+1/(1j*x(2)*2*pi*f0+1/ZL))=0
    clc;
    Z0=100;sm1=smithchart;hold all;

    ZL1=150-1j*200;f0=3e9;
    % Hz
    gamma_L=(ZL1-Z0)/(ZL1+Z0);
    % show ZL1 on Smith chart adding text showing values
    if imag(ZL1)<0
    sign1='-';
    else
    sign1='+';
    end
    hold all;plot(real(gamma_L),imag(gamma_L),'ro','LineWidth',1.5);
    str1=['ZL =' num2str(real(ZL1)) sign1 'j' num2str(abs(imag(ZL1))) ' \rightarrow'];
    text(real(gamma_L),imag(gamma_L)+.01,str1,'Color','blue','FontSize',20,'HorizontalAlignment','right','VerticalAlignment','middle');


    [​IMG]

    RL=real(ZL1);XL=imag(ZL1);
    if abs(real(ZL1/Z0))>=1 % ZL1 inside 1+jx
    disp(' ZL1 inside 1+jx');

    B1=1/(RL^2+XL^2)*(XL+(RL/Z0)^.5*(RL^2+XL^2-Z0*RL)^.5);
    B2=1/(RL^2+XL^2)*(XL-(RL/Z0)^.5*(RL^2+XL^2-Z0*RL)^.5);
    X1=1/B1+XL*Z0/RL-Z0/(B1*RL);
    X2=1/B2+XL*Z0/RL-Z0/(B2*RL);

    elseif abs(real(ZL1/Z0))<=1
    % ZL1 outside 1+jx
    disp(' ZL1 outside 1+jx');
    B1=(RL*(Z0-RL))^.5-XL;
    B2=-(RL*(Z0-RL))^.5-XL;
    X1=1/Z0*((Z0-RL)/RL)^.5;
    X2=-1/Z0*((Z0-RL)/RL)^.5;
    end

    B1
    X1
    B2
    X2

    C1 = B1/(2*pi*f0)
    % B1>0, so it's a capacitor, of value
    L1 = X1/(2*pi*f0) % X1>0, it's and inductor, of value
    L2 = B2/(2*pi*f0) % B2<0, so it's an inductor, of value
    C2 = X2/(2*pi*f0) % X2<0, it's a capacitor, of value

    ZL1 inside 1+jx
    B1 =
    0.001070831300813
    X1 =
    1.779513042005219e+02
    B2 =
    -0.007470831300813
    X2 =
    -1.779513042005219e+02
    C1 =
    5.680936491394585e-14
    L1 =
    9.440609897720876e-09
    L2 =
    -3.963399101766560e-13
    C2 =
    -9.440609897720872e-09




    b) ZL2=20-1j*90

    clc;clear all;format long;
    Z0=100;sm1=smithchart;hold all;

    ZL2=20-1j*90;f0=3e9;
    % Hz
    gamma_L=(ZL2-Z0)/(ZL2+Z0);
    % show ZL2 on Smith chart adding text showing values
    if imag(ZL2)<0
    sign1='-';
    else
    sign1='+';
    end
    hold all;plot(real(gamma_L),imag(gamma_L),'ro','LineWidth',1.5);
    str1=['ZL =' num2str(real(ZL2)) sign1 'j' num2str(abs(imag(ZL2))) ' \rightarrow'];

    text(real(gamma_L),imag(gamma_L)+.01,str1,'Color','blue','FontSize',20,'HorizontalAlignment','right','VerticalAlignment','middle');

    [​IMG]

    RL=real(ZL2);XL=imag(ZL2);
    if abs(real(ZL2/Z0))>=1 % ZL2 inside 1+jx

    disp(' ZL2 inside 1+jx');
    B1=1/(RL^2+XL^2)*(XL+(RL/Z0)^.5*(RL^2+XL^2-Z0*RL)^.5);
    B2=1/(RL^2+XL^2)*(XL-(RL/Z0)^.5*(RL^2+XL^2-Z0*RL)^.5);
    X1=1/B1+XL*Z0/RL-Z0/(B1*RL);
    X2=1/B2+XL*Z0/RL-Z0/(B2*RL);
    elseif abs(real(ZL2/Z0))<=1 % ZL2 outside 1+jx

    disp(' ZL2 outside 1+jx');
    B1=(RL*(Z0-RL))^.5-XL;
    B2=-(RL*(Z0-RL))^.5-XL;
    X1=1/Z0*((Z0-RL)/RL)^.5;
    X2=-1/Z0*((Z0-RL)/RL)^.5;
    end

    B1
    X1
    B2
    X2
    C1 = B1/(2*pi*f0) % B1>0, so it's a capacitor, of value

    L1 = X1/(2*pi*f0) % X1>0, it's and inductor, of value
    L2 = B2/(2*pi*f0) % B2>0, so it's a capacitor, of value
    L3 = -X2/(2*pi*f0) % X2<0, it's a capacitor, of value

    ZL2 outside 1+jx

    B1 =
    130
    X1 =
    0.020000000000000
    B2 =
    50
    X2 =
    -0.020000000000000
    C1 =
    6.896714200648799e-09
    L1 =
    1.061032953945969e-12
    L2 =
    2.652582384864922e-09
    L3 =
    1.061032953945969e-12



    [​IMG]


    For the last case the solutions manual does not show where each inductor goes because are there named 'L'. It also mentions ‘verified with w/ PCAAD 7.0’ AKA PUFF that still seems to be around.


    Although MATLAB function smith doesn’t allow to work with any other Z0 than 1, I found in Mathworks file exchange a free toolset that allows to use and plot Smith charts with any Z0 value (Z0 real only), by Neil Tucker https://uk.mathworks.com/matlabcentral/fileexchange/22996-rf-utilities-v1-2


    The drawback is that the core function in Tucker’s Smith chart toolset is named exactly as MATLAB RF toolbox smith the problem being that while MATLAB’s smith does not take in Z0, only plotting normalized impedances/admittances.

    Another Smith chart starter, interactive: http://www.fourier-series.com/rf-concepts/smithchart.html