⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lmatch.m

📁 matlab 天线和电磁分析工具箱 matlab electromagnetic and anntena
💻 M
字号:
% lmatch.m - L-section reactive conjugate matching network
%
% Usage: X12 = lmatch(ZG,ZL,type);
%        X12 = lmatch(ZG,ZL);      (equivalent to type='n')
%
% ZG   = generator impedance = RG+jXG
% ZL   = load impedance = RL+jXL
% type = 'n', 'r', for normal or reversed L-section (default type='n')
%
% X12 = [X1,X2] = reactances of matching network (dual solutions, unless RL=RG)
%
% notes: matching network has input impedance Zin = conj(ZG),
%
%        X12 is a 2x2 matrix (or 1x2 if RL=RG)
%
%        (type='n', normal L-network)      (type='r', reversed L-network)
%
%            o----|----[jX2]----|              o----[jX2]----|-------|
%                 |             |                            |       |
%        Zin -> [jX1]        [RL+jXL]      Zin ->          [jX1]  [RL+jXL]
%                 |             |                            |       |
%            o----|-------------|              o-------------|-------|
%
%        conditions                                solution types
%        -----------------------------------------------------------
%        RG > RL and abs(XL) > sqrt(RL*(RG-RL))    n,r
%        RG > RL and abs(XL) < sqrt(RL*(RG-RL))    n
%        RG < RL and abs(XG) > sqrt(RG*(RL-RG))    r,n
%        RG < RL and abs(XG) < sqrt(RG*(RL-RG))    r
%        RG = RL                                   n,r are identical and X1=Inf

% S. J. Orfanidis - 1999 - www.ece.rutgers.edu/~orfanidi/ewa

function X12 = lmatch(ZG,ZL,type)

if nargin==0, help lmatch; return; end
if nargin==2, type='n'; end

if real(ZG)==real(ZL),
    X2 = -imag(ZL+ZG);
    X1 = inf;
    X12 = [X1,X2];
    return;
end

if type=='n',
    RG = real(ZG); XG = imag(ZG);
    RL = real(ZL); XL = imag(ZL);
else                                        
    RG = real(ZL); XG = imag(ZL);       % reverse roles of ZL and ZG
    RL = real(ZG); XL = imag(ZG);
end

Q = sqrt(RG/RL - 1 + XG^2/(RG*RL));

if ~isreal(Q), 
    fprintf('\nno real solution of type "%s" exists\n\n',type);
    return;
end
    
X1 = (XG + [1; -1]*Q*RG)/(RG/RL - 1);
X2 = -(XL + [1; -1]*Q*RL);

X12 = [X1,X2];




⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -