AnsweredAssumed Answered

problems with get_indep_values function.

Question asked by MURPHY294 on May 8, 2006
Latest reply on May 10, 2006 by mfredrik
I am having some problems with the get_indep_values() function and I’m hoping someone can offer a solution.  

I have a design that uses 3 nested parameter sweeps to exercise a circuit.  I’m trying to plot transistor widths verses freq.  Here nf is a function of Ibias, RF, and Width.  So my objective is to plot the Width that produces the minimum noise figure on the Y scale and the freq on the X scale and there will be a trace for each bias current, in the simplest case, here, two currents.

In order to calculate the min nf(2), I had to manipulate the nf(2) variable a bit and as long as I limit myself to one Ibias, I have been successful in producing a plot.  The problem occurs when I try to plot a trace for all the swept currents.  Perhaps some equations will clarify my point.

My_minNF=permute(nf(2)[Ibiasindex,::,::,0],{2,1})
indep_minNfs=get_indep_values(My_minNF, min(My_minNF))
Wopt=expand(indep_minNfs[0])[0,::]
FREQ=expand(indep_minNfs[1])[0,::]

plot_vs(Wopt, FREQ)

what(nf(2))
Dependency  :[Ibias,Width,RF,harmindex]
Num. Points :[2,33,6,1 ]
Matrix Size : scalar
Type        : Real


what(My_minNF)
Dependency  :[RF,Width]
Num. Points :[6,33 ]
Matrix Size : scalar
Type        : Real

With the above code, everything works fine.  It is when I replace Ibiasindex with :: in nf(2) that the problems start.

When I try to use the get_indep_values() with the additional dimension, it fails.  I have tried various permutations of nf(2) as well as using the tolerance and All arguments to the get_indep_values function.  i.e. indep_minNfs=get_indep_values(My_minNF, min(My_minNF),0,1) but nothing seems to work.  Specifically, the new nf equation I am trying is My_minNF=permute(nf(2)[::,::,::,0],{2,1})

what(My_minNF)
Dependency  :[Ibias,RF,Width]
Num. Points :[2,6,33 ]
Matrix Size : scalar
Type        : Real

I have also tried My_minNF=permute(permute(nf(2)[::,::,::,0]),{2,1})

what(My_minNF)
Dependency  :[RF,Ibias,Width]
Num. Points :[6,2,33 ]
Matrix Size : scalar
Type        : Real

Nothing seems to work.  Any thoughts?  

Outcomes