RFToolbox - Network correctly constructed? - Matrix gets singular
    5 次查看(过去 30 天)
  
       显示 更早的评论
    
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 true
Zl =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
0 个评论
采纳的回答
  Giorgia Zucchelli
    
 2012-12-3
        Dear Lars,
The problem is in the network LBC2R_Obj: it is built as a series, while I think that you wanted to have a cascade (correct me if I am wrong). Please the difference between rfckt.series and rfckt.cascade. If you change the construction of the network as follows: LBC2R_Obj =rfckt.cascade('ckts',{LB_Obj,C2R_Obj}); then the analysis of MatchedFET is correct.
A small tip: you can use rftool to visually inspect and analyze the objects you build in the MATLAB workspace. I find it quite useful to debug objects.
I hope that this helps, with best regards, Giorgia
0 个评论
更多回答(0 个)
另请参阅
类别
				在 Help Center 和 File Exchange 中查找有关 AI for Signals and Images 的更多信息
			
	产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

