The understanding for the result of stb simulation...

Status
Not open for further replies.

zizbear

Newbie level 4
Joined
May 25, 2010
Messages
7
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Location
SGP
Activity points
1,356
Hello ,

When I use stb to analysis a multiloop circuit, for example-- a bandgap with the OpAmp topology. There will be at least two loops exist in the circuit, right?

When I use stb to test the loop gain for one of the loop (loop positive), in this testbench--do I need to break the other loop(loop negative) ?

The stb result(loop gain, loop phase-- plot) for loop positive is very different depending on whether i break the (loop negative) or not .

How to understand the different? Or the stb simulation plot is not the real sub_loop gain and phase?

In theory, do we need to ac break other sub_loops while checking one sub_loop?

I am real confused...

Thank you very much !!!
 

You can break the loop somewhere both loops will be break. This one is trustable.
 
It is reasonable that you get different results with the second loop open or not, as you simulate a different system in the two cases! When you break a loop, you calculate the open loop transfer function for this particular loop. Then you use this open loop gain to estimate phase and gain margins usually using stability rules based on Bode diagrams. Now, all these rules strictly apply for only one feedback loop. I don't know that even when each of the multiple loops individually is stable, this guarantees that the whole closed-loop system will eventually be stable. This is not trivial and must be proven explicitly! In the end, the only absolute guarantee of stability in such cases is the location of the closed loop poles, which you should check eventually for the whole range of parameter variations you are expecting!
 
You can break the loop somewhere both loops will be break. This one is trustable.

Thank you leo_o2!

But in this case, the simulation result will plot the gain and phase which shows the combination effect of two loops, right?

so, in this case the phase margin rule for stability (above 45deg) is not available...

what is the meaning of this result?

---------- Post added at 07:45 ---------- Previous post was at 07:37 ----------


Thank you kgl_13gr !

I understand what you mean they are two different systems, then
1) if I want to know the gain for each loop, should I simulation in which config( I mean should I break other loops or not?)

2) if I want to identify the stability of each loop( then to identify the stability of whole system) , which configuration should I simulation?

Or both of them are not making sense?

Can you explain a bit more on "In the end, the only absolute guarantee of stability in such cases is the location of the closed loop poles, which you should check eventually for the whole range of parameter variations you are expecting!"

How to guarantee (or say analysis) the stability by the location of closed loop poles-- do you mean I should do P-Z analysis, in stand of stb analysis in this multiloop case?

Thank you very much !!
 

Hi LEO!

Correction: ZIZBEAR, please excuse me. You are the originator of this thread (and not Leo)

let me try to give some explanations to your problem.
You have picked up a case which - indeed - is not trivial to handle.

1.) What is your goal? To check if the system will be stable or not? Or do you like to know a kind of stability margin?

2.) When your circuit has two independent loops (that means, there is no point that breaks both loops at the same time), then you will have two different loop gains and two different margins.

3.) Normally, the reason to find the margin is to know how much additional phase shift (or gain) is allowed to bring the system to its stability limit. In this case, you should open only ONE loop at a time (the other one remains closed). To find the loop gain and its stability margin of one loop - with the other loop also open - makes no sense and gives no meaningful results.

4.) If there is one node which breaks both loops at the same time, of course you should select this node because in this case you have - in fact - only ONE combined feedback loop and only one loop gain and only one margin which determines the closed loop behavior.

5.) Forget the 45 deg. mentioned by you earlier. This is no "magic" number and it has no general meaning. The acceptable margin depends on the particular system. For example: A system with a phase margin of only 5 deg. is stable by definition!
However,
(a) the closed loop response will be unacceptable, and
(b) the uncertainty that an unwanted phase excursion of some degrees will bring the system to its stability limit will be also unacceptable.
For a second order system with a good step response (without a remarkable overshoot) a phase margin of app. 60 deg. is required.

Perhaps and hopefully, this clarifies something.
Regards

---------- Post added at 10:34 ---------- Previous post was at 10:25 ----------

One additional remark: If a system has more than one feedback loop there is - in most cases - one "large" overall loop and one or more local ("small") loops with a much lower time constant if compared with "large" loop. (By the way: Normally, these smaller time constants are the only reason to have these local loops). In this case, only the "large" loop with the lowest time constant is the dominant loop and determines the closed-loop behavior. That means: Open this loop and let the local loops all closed. That's sufficient.
 
Last edited:
Hello LvW, Thank you very much for your detailed explanation !! It is very useful to me, clarified me many important idea points !

1) yes, my goal is to tell how stable the system is ( by tell how much the stability margin)

2) in single loop system, the open loop PM can be used evaluate it , as you explained in 5.) very clearly!

3) in a multiloop system(A), which has all loops independent to each other. The system stability can be evaluated by the PM of each loop saperately, right ?

4) in a multiloop system(B), there must be have a main loop (one "large" overall loop), which has the longest time constants, right? (because you said that local("small") loops has a much lower time constant comparing with "large" loop).

Then, may I ask i) how to distinguish which one is the main loop, by comparing with value?
-- the gain of each loop (simulate under the rule in your 3.) ), PM has no help in this step, right?
-- time constants of each loop
ii) how to simulate or calculate the time constants of each loop ?
-- By calculate their pole and Zero?
-- do a transient (or step response?), and measuring each loop ?

Thank you very much !!

best regards

zizbear
 

Hi ZIZBEAR,

I'll try to answer some of your questions again:

1) yes, my goal is to tell how stable the system is ( by tell how much the stability margin)


In a multiloop system you can only find the margin of a single loop, not the margin of the "system" (because the system consists of several loops). However, you can declare the smallest margin as the dominant and most important "system margin". But - as far as I know - up to now there is no common agreement about such a definition.

3) in a multiloop system (A), which has all loops independent to each other. The system stability can be evaluated by the PM of each loop saperately, right ?

see my answer to 1.) above.

4) in a multiloop system(B), there must be have a main loop (one "large" overall loop), which has the longest time constants, right? (because you said that local("small") loops has a much lower time constant comparing with "large" loop).

Then, may I ask i) how to distinguish which one is the main loop, by comparing with value?
-- the gain of each loop (simulate under the rule in your 3.) ), PM has no help in this step, right?
-- time constants of each loop
ii) how to simulate or calculate the time constants of each loop ?
-- By calculate their pole and Zero?
-- do a transient (or step response?), and measuring each loop ?


In most cases it is not difficult to identify the overall loop by visual inspection because it contains the local loops as subsystems. Time constants can be found by evaluating the step response - however, the normal procedure is to calculate the necessary or reqired time constants and to design the loops accordingly.
That means: Normally, one knows the time constants because they are design values and there must be a good reason for local loops.
 
Last edited:
Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…