I try to optimize a matching network for a GaAs FEt which is an adaption of the Matlab-examples:"broadband_matching_antenna.m" and broadband_matching_amplifier.m". Analyzing the matched circuit Matlab quits the function "analyze" after the warning:
"Warning: Matrix is singular, close to singular or badly scaled." and later on with: "??? Error using ==> rfdata.rfdata.convertmatrix at 214 Y_PARAMETERS does not exist."
What is the meaning of this warning and error?
The network itself is a source with a coil (L1) in series, followed by a shunt capacitor (C1) to GND, followed by a second coil (L1) , followed by a shunt branch which is a mixture of a microstripline (called LB in the code) in series with a Resistor and a capacitor which are in parallel, both connected to GND (LB+(C2||R)).
Is the network ("InputMatchingNW") constructed correctly?
My code:
if trueZl =50; Zr =50; Zs =50;FET_IN =rfckt.seriesrlc('C',0.5e-12,'L',0.5e-9,'R',35); % FET Input
C1 =0.25e-12; % matching: C1 in F
C2 =0.33e-12; % matching: C2 in F (in parallel with R)
L =1e-9; % matching: L1 in H
R =72; % matching: R in Ohm (in parallel with C2)
LB =0.5e-9; % matching: L of microstrip in H (in series with C2 || R)
L_Obj =rfckt.seriesrlc('L',L); C1_Obj =rfckt.shuntrlc('C',C1); LB_Obj =rfckt.seriesrlc('L',LB); C2R_Obj =rfckt.shuntrlc('C',C2,'R',R); % LB in series with C2R
LBC2R_Obj =rfckt.series('ckts',{LB_Obj,C2R_Obj}); % complete matching netzwork
InputMatchingNW =rfckt.parallel('ckts',{rfckt.cascade('ckts',{L_Obj,... C1_Obj,L_Obj}),LBC2R_Obj}); % with chip
MatchedFET =rfckt.cascade('ckts',{InputMatchingNW,FET_IN}); %----------------------------------------------------------------------
NPTS =128; % points for anaylze, BW = 3,9 GHz
fu =fc-(BW/2); % lower cut-off (200 MHz)
fo =fc+(BW/2); % upper cut-off (4 GHz)
freq=linspace(fu,fo,NPTS);w =2*pi*freq;%---------------------------------------------------------------------- analyze(FET_IN,freq,Zl,Zs,Zr); analyze(MatchedFET,freq,Zl,Zs,Zr);end
Best Answer