The Designer's Guide Community
Forum
Welcome, Guest. Please Login or Register. Please follow the Forum guidelines.
Aug 19th, 2024, 3:22pm
Pages: 1
Send Topic Print
How to simplify the Opamp/LDO transfer function (denominator) (Read 1533 times)
wandola
Junior Member
**
Offline



Posts: 24

How to simplify the Opamp/LDO transfer function (denominator)
Dec 13th, 2012, 7:33pm
 
Hi guys,

I have been working on 3-stage LDO design.

I found that in the papers, the transfer functions have been simplified. But when I was trying to derive the transfer function, the denominator ends up in a very complicated form.

For example, most paper shows a very simple TF with three poles (1+s/Wp1)*(1+s/Wp2)*(1+s/Wp3).

But when I was trying to derive the transfer function with Matlab symbolic calculation, the denominator always becomes something like 1+ A*s + B*s^2 + c*s^3+D*s^4+E*s^5.

My question is, is there a better way to derive the TG?

Or, how to simplify the 5th-order poly into a closed-form like those in the paper.

Can anybody help?

Thanks a lot.!
Back to top
 
 
View Profile   IP Logged
raja.cedt
Senior Fellow
******
Offline



Posts: 1516
Germany
Re: How to simplify the Opamp/LDO transfer function (denominator)
Reply #1 - Dec 14th, 2012, 12:23am
 
hello,
you can you use the following doc.

http://www.ee.iitm.ac.in/~nagendra/E6316/current/handouts/approximations.pdf

prof nagi has given expressions for Quadratic, but you can extend it for any order. But please cross check weather poles are far away from each other after the simplification.

Few people calculate poles at all node and simply forma then TF, this is more intutive away. Try to post the schematic.

Thanks,
Raj.
Back to top
 
 
View Profile WWW raja.sekhar86   IP Logged
buddypoor
Community Fellow
*****
Offline



Posts: 529
Bremen, Germany
Re: How to simplify the Opamp/LDO transfer function (denominator)
Reply #2 - Dec 14th, 2012, 1:32am
 
raja.cedt wrote on Dec 14th, 2012, 12:23am:
prof nagi has given expressions for Quadratic, but you can extend it for any order. But please cross check weather poles are far away from each other after the simplification.
.


Hi Raj, as you recommend to "extend it for any order" - may I ask you if YOU have done something similar already?
I have some doubts regarding such an "extension".

Answer to wandola: I suggest to use a symbolic calculator to determine the pole distribution and to group the poles according to the classical scheme (s-sp).
Back to top
 
 

LvW (buddypoor: In memory of the great late Buddy Rich)
View Profile   IP Logged
raja.cedt
Senior Fellow
******
Offline



Posts: 1516
Germany
Re: How to simplify the Opamp/LDO transfer function (denominator)
Reply #3 - Dec 14th, 2012, 3:24am
 
Hello buddy poor,
Please find doc, which explains extension of this approx for 4th order. Please note that this very vague, however people use a lot with appropriate care. I forgot, few year back there was good pap in JSSC abut regulator in that they have used this approx.

regarding symbolic calculator, it gives result but some times you don't get any info out of it, you can't find intuition out of it.

Thanks,
Raj.
Back to top
 

desi_001.png
View Profile WWW raja.sekhar86   IP Logged
wandola
Junior Member
**
Offline



Posts: 24

Re: How to simplify the Opamp/LDO transfer function (denominator)
Reply #4 - Dec 14th, 2012, 6:49pm
 
Thanks to Raj and Buddy.

The schematic is shown below.

I am actually trying to derive the LDO TF from the paper titled as "Pole-Zero Analysis of Low-Dropout (LDO) Regulators: A Tutorial Overview" presented in 2012 Int' Conf on VLSI design.

In the paper, it is a three stage LDO with two feedback paths. I assume at least u will have 5 poles. And this is verified with MaTLAB.

To Buddy, I did use the MATLAB symbolic calculation. And the denominator is a 5-th order polynomial. But in the paper, the final TF is approximated to a 3-pole system. I didn't know how to simplify the TF.

If u have matlab on hand, u can try my script to see the TF.

%------- My script.
% ---- The voltage V1 is Vp in my sript, V2 is Vq in my script.
syms Z1 Z2 Z3
>> eq6='R1/(1+s*C1*R1)=Z1'
>> eq7='R2/(1+s*Cgs*R2)=Z2'
>> eq8='Ro/(1+s*Co*Ro)=Z3'
>> syms ic1 ic2 Vx Vy Vo Vp Vq
>> eq9='s*Cc1*(Vo-Vx)=ic1'
>> eq10='s*Cc2*(Vq-Vy)/(1+s*Cc2*Rc2)=ic2'
>> eq1='(gm1*Vs-gmBU*Vx+gmCG*Vy)*Z1=Vp'
>> eq2='(-gm2*Vp-ic2)*Z2=Vq'
>> eq3='(-gmp*Vq-ic1)*Z3=Vo'
>> eq4='ic1/gmBU=Vx'
>> eq5='ic2/gmCG=Vy'
>> [ic1 ic2 Vo Vp Vq Vx Vy Z1 Z2 Z3]=solve(eq1,eq2,eq3,eq4,eq5,eq6,eq7,eq8,eq9,eq10,ic1, ic2,Vo,Vp,Vq,Vx,Vy,Z1,Z2,Z3)
Note: [ic1 ic2 Vo Vp Vq Vx Vy Z1 Z2 Z3]<-- the variables in the bracket must be in alphabetic order. Otherwise the results will be in wrong order and u don't which one is which.

Vo =
-(R1*R2*Vs*gm1*gm2*(gmCG + Cc2*s + Cc2*Rc2*gmCG*s)*(gmBU + Cc1*s + Cc1*Co*Ro*s^2 + Cc1*Ro*gmBU*s + Co*Ro*gmBU*s))/(gmBU*gmCG + Cc2*gmBU*s + Cc1*gmCG*s + Cc1*Cc2*s^2 + C1*R1*gmBU*gmCG*s + Cc2*R2*gmBU*gmCG*s + Cgs*R2*gmBU*gmCG*s + Cc2*Rc2*gmBU*gmCG*s + Cc1*Ro*gmBU*gmCG*s + Co*Ro*gmBU*gmCG*s + C1*Cc1*Cc2*R1*s^3 + Cc1*Cc2*Cgs*R2*s^3 + Cc1*Cc2*Co*Ro*s^3 + C1*Cc2*R1*gmBU*s^2 + C1*Cc1*R1*gmCG*s^2 + Cc1*Cc2*R2*gmCG*s^2 + Cc2*Cgs*R2*gmBU*s^2 + Cc1*Cgs*R2*gmCG*s^2 + Cc1*Cc2*Rc2*gmCG*s^2 + Cc1*Cc2*Ro*gmBU*s^2 + Cc2*Co*Ro*gmBU*s^2 + Cc1*Co*Ro*gmCG*s^2 + C1*Cc1*Cc2*R1*R2*gmCG*s^3 + C1*Cc2*Cgs*R1*R2*gmBU*s^3 + C1*Cc1*Cgs*R1*R2*gmCG*s^3 + C1*Cc1*Cc2*R1*Rc2*gmCG*s^3 + C1*Cc1*Cc2*R1*Ro*gmBU*s^3 + C1*Cc2*Co*R1*Ro*gmBU*s^3 + C1*Cc1*Co*R1*Ro*gmCG*s^3 + Cc1*Cc2*Cgs*R2*Rc2*gmCG*s^3 + Cc1*Cc2*Cgs*R2*Ro*gmBU*s^3 + Cc1*Cc2*Co*R2*Ro*gmCG*s^3 + Cc2*Cgs*Co*R2*Ro*gmBU*s^3 + Cc1*Cgs*Co*R2*Ro*gmCG*s^3 + Cc1*Cc2*Co*Rc2*Ro*gmCG*s^3 + C1*Cc2*R1*R2*gmBU*gmCG*s^2 + C1*Cgs*R1*R2*gmBU*gmCG*s^2 + Cc1*Cc2*R1*R2*gm2*gmCG*s^2 + C1*Cc2*R1*Rc2*gmBU*gmCG*s^2 + C1*Cc1*R1*Ro*gmBU*gmCG*s^2 + C1*Co*R1*Ro*gmBU*gmCG*s^2 + Cc2*Cgs*R2*Rc2*gmBU*gmCG*s^2 + Cc1*Cc2*R2*Ro*gmBU*gmCG*s^2 + Cc1*Cgs*R2*Ro*gmBU*gmCG*s^2 + Cc2*Co*R2*Ro*gmBU*gmCG*s^2 + Cgs*Co*R2*Ro*gmBU*gmCG*s^2 + Cc1*Cc2*Rc2*Ro*gmBU*gmCG*s^2 + Cc2*Co*Rc2*Ro*gmBU*gmCG*s^2 + C1*Cc1*Cc2*Cgs*R1*R2*s^4 + C1*Cc1*Cc2*Co*R1*Ro*s^4 + Cc1*Cc2*Cgs*Co*R2*Ro*s^4 + Cc2*R1*R2*gm2*gmBU*gmCG*s + C1*Cc1*Cc2*Cgs*Co*R1*R2*Ro*s^5 + C1*Cc1*Cc2*Cgs*R1*R2*Rc2*gmCG*s^4 + C1*Cc1*Cc2*Cgs*R1*R2*Ro*gmBU*s^4 + C1*Cc1*Cc2*Co*R1*R2*Ro*gmCG*s^4 + C1*Cc2*Cgs*Co*R1*R2*Ro*gmBU*s^4 + C1*Cc1*Cgs*Co*R1*R2*Ro*gmCG*s^4 + C1*Cc1*Cc2*Co*R1*Rc2*Ro*gmCG*s^4 + Cc1*Cc2*Cgs*Co*R2*Rc2*Ro*gmCG*s^4 + Cc1*R1*R2*Ro*gm2*gmBU*gmCG*gmp*s + C1*Cc2*Cgs*R1*R2*Rc2*gmBU*gmCG*s^3 + C1*Cc1*Cc2*R1*R2*Ro*gmBU*gmCG*s^3 + C1*Cc1*Cgs*R1*R2*Ro*gmBU*gmCG*s^3 + C1*Cc2*Co*R1*R2*Ro*gmBU*gmCG*s^3 + C1*Cgs*Co*R1*R2*Ro*gmBU*gmCG*s^3 + C1*Cc1*Cc2*R1*Rc2*Ro*gmBU*gmCG*s^3 + Cc1*Cc2*Co*R1*R2*Ro*gm2*gmCG*s^3 + C1*Cc2*Co*R1*Rc2*Ro*gmBU*gmCG*s^3 + Cc1*Cc2*Cgs*R2*Rc2*Ro*gmBU*gmCG*s^3 + Cc2*Cgs*Co*R2*Rc2*Ro*gmBU*gmCG*s^3 + Cc1*Cc2*R1*R2*Ro*gm2*gmBU*gmCG*s^2 + Cc1*Cc2*R1*R2*Ro*gm2*gmBU*gmp*s^2 + Cc2*Co*R1*R2*Ro*gm2*gmBU*gmCG*s^2 + C1*Cc1*Cc2*Cgs*Co*R1*R2*Rc2*Ro*gmCG*s^5 + C1*Cc1*Cc2*Cgs*R1*R2*Rc2*Ro*gmBU*gmCG*s^4 + C1*Cc2*Cgs*Co*R1*R2*Rc2*Ro*gmBU*gmCG*s^4 + Cc1*Cc2*R1*R2*Rc2*Ro*gm2*gmBU*gmCG*gmp*s^2)

%----------------
From above expression, I could simplify the denominator with the usual assumptions: Cc1, Cc2 >> C1, Cc1, Cc2 << Co, CgsPass, CgdPass << Vo, gm(x)*R(x)>>1.

However, i still got a 5-th order poly.

As suggested by Raj using the approximation, what happen if two poles are close and in the same order??

Thank you guys!

Let's open this for discussion.
Back to top
 

LDO_scheme.jpg
View Profile   IP Logged
Bilgotidia Fertiganed
New Member
*
Offline



Posts: 1

Re: How to simplify the Opamp/LDO transfer function (denominator)
Reply #5 - Jan 7th, 2013, 9:41pm
 
What if there are complex poles?
Is there any way to get a transfer function in that case too. This would mean that two poles are at the same location.
Back to top
 
 
View Profile   IP Logged
Lex
Senior Member
****
Offline



Posts: 201
Eindhoven, Holland
Re: How to simplify the Opamp/LDO transfer function (denominator)
Reply #6 - Jan 8th, 2013, 2:35am
 
I suggest to draw the root locus as in my opinion it gives more insight.
Back to top
 
 
View Profile   IP Logged
raja.cedt
Senior Fellow
******
Offline



Posts: 1516
Germany
Re: How to simplify the Opamp/LDO transfer function (denominator)
Reply #7 - Jan 8th, 2013, 4:04am
 
Hello Bilgotidia Fertiganed,
it will work only for well separated, real poles. Refer above pdf i mentioned.
Back to top
 
 
View Profile WWW raja.sekhar86   IP Logged
Pages: 1
Send Topic Print
Copyright 2002-2024 Designer’s Guide Consulting, Inc. Designer’s Guide® is a registered trademark of Designer’s Guide Consulting, Inc. All rights reserved. Send comments or questions to editor@designers-guide.org. Consider submitting a paper or model.