Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Finding poles and zeros of opamp integrator

cupoftea

Advanced Member level 6
Advanced Member level 6
Joined
Jun 13, 2021
Messages
3,377
Helped
65
Reputation
132
Reaction score
156
Trophy points
63
Activity points
17,324
Hi,
I am finding the poles and zeros of the attached opamp integrator.
The expression i have needs factorising.
Just in case i make a typo, are there any "calculator" websites which will do this and give the
factorised transfer function?
(so i can then find the poles and zeros by saying eg value of s that makes TF zero is a zero)
 

Attachments

  • Opamp integrator schem.png
    Opamp integrator schem.png
    33.1 KB · Views: 108
  • Transfer function.jpg
    Transfer function.jpg
    53.2 KB · Views: 106
Signal Flow Graph analysis :

 
Thanks, but i wasnt seeing how i could get it factorised from that link.
So far i have the following (attached), and have some more work to do to get the transfer function in a manner from which
i can extract the poles and zeros.

(i am only actually interested in getting the zeros as this is the error amplifier for a voltage mode half bridge, and i need to ensure i have two zeros at the output LC double pole frequency. (ie i am doing feedback compensation of this SMPS)

Are there any shortcuts so i dont make a typo and get it all wrong?
--- Updated ---

Ok so now i have got to "Transfer function 3" as attached.

And so the zeros are those values of s which make this equal to zero....so it appears to me that i dont have to even bother to factorise out the denominator......i can see by inspection that the zeros are at...

s = 1/b and
s = -1/b and at
s = -1/(C2R2)

Would you agree?

Noting that b = C3.(R1+R3) and a = R1.R3.C3

(ie the substitutions that i put in earlier to try and simplify the algebra)

I am surprised that R4 isnt involved in any of the expressions for the zeros?

In fact the zero locations seem to be in the same place as for the classical type 3 error amplifier...but this isnt a classical type 3 error amplifier, because i have added in R4?
 

Attachments

  • Transfer function 2.jpg
    Transfer function 2.jpg
    50.1 KB · Views: 49
  • Transfer function 3.jpg
    Transfer function 3.jpg
    46.9 KB · Views: 50
Last edited:
Here is what I got from SapWin :

1740262217336.png



No transmission zero with R4 contribution as it has no complex affect on a path with imaginary
contribution ?
--- Updated ---

I asked chatgpt :

does internal opamp compensation pole contribute a zero to transfer function of inverting amplifier ?

Yes, the internal op-amp compensation pole can contribute to a zero in the transfer function of an inverting amplifier. Here's how:


In an inverting amplifier, the transfer function is typically:

Av=−RfRinA_v = -\frac{R_f}{R_{in}}
This equation assumes an ideal op-amp with infinite gain and bandwidth. However, in real op-amps, there is a frequency-dependent behavior due to internal compensation (like a dominant pole to maintain stability).


The internal compensation pole (which is typically part of the op-amp’s frequency response) influences the op-amp’s open-loop gain, and this can introduce additional poles and/or zeros in the transfer function of the amplifier.


When you take the internal compensation pole into account, it can affect the phase and gain response of the amplifier, particularly at higher frequencies. If the compensation pole is dominant, it usually results in a pole at a specific frequency, but it can also create a zero under certain conditions, especially if the feedback network has specific configurations or if the op-amp is not compensated to be a single-pole system.


Key points:​


  • In an ideal inverting amplifier, no zeros are introduced (only a gain of −RfRin-\frac{R_f}{R_{in}}).
  • For real op-amps, the compensation pole modifies the response, and this can introduce a zero depending on the configuration of the circuit and the specific characteristics of the op-amp.
  • The exact placement and effect of this zero depend on the op-amp’s internal compensation and the external circuit components.

The effect of such a zero is usually small and can be neglected for most practical purposes, but in precision applications, it may need to be accounted for.

Looks like the way to do this is using signal flow graph on a net with OpAmp modeled as a single pole
G element.......eg. chatgpt answer not very enlightening.

So I asked for example :

Certainly! Let's look at an example of an inverting amplifier where the internal pole of the op-amp contributes to a zero in the transfer function.


Step-by-step Explanation:​


For simplicity, let’s consider an op-amp with a single internal compensation pole. The open-loop transfer function of a real op-amp can be written as:

AOL(s)=AOL01+s/ωpA_{OL}(s) = \frac{A_{OL0}}{1 + s / \omega_p}
Where:


  • AOL0A_{OL0} is the low-frequency open-loop gain (ideally very high),
  • ωp\omega_p is the internal compensation pole frequency.

Now, in an inverting amplifier configuration, the transfer function is modified by the feedback network. For an ideal inverting amplifier, the transfer function is:

T(s)=−RfRinT(s) = -\frac{R_f}{R_{in}}
However, with a non-ideal op-amp, the feedback network interacts with the op-amp’s open-loop transfer function. This interaction can introduce a zero in the transfer function due to the influence of the op-amp’s internal pole.


Approximate Transfer Function with the Internal Pole:​


When we consider the effect of the internal pole of the op-amp, we can derive the transfer function of the inverting amplifier with the internal pole included.


The open-loop transfer function of the op-amp is:

AOL(s)=AOL01+sωpA_{OL}(s) = \frac{A_{OL0}}{1 + \frac{s}{\omega_p}}
For a feedback network with resistors RfR_f and RinR_{in}, the closed-loop transfer function of the inverting amplifier will be:

T(s)=−RfRin⋅AOL(s)1+AOL(s)⋅βT(s) = -\frac{R_f}{R_{in}} \cdot \frac{A_{OL}(s)}{1 + A_{OL}(s) \cdot \beta}
Where:


  • β\beta is the feedback factor, and for an inverting amplifier, β=1Rf+Rin\beta = \frac{1}{R_f + R_{in}}.

Substituting AOL(s)A_{OL}(s):

T(s)=−RfRin⋅AOL01+sωp1+AOL01+sωp⋅1Rf+RinT(s) = -\frac{R_f}{R_{in}} \cdot \frac{\frac{A_{OL0}}{1 + \frac{s}{\omega_p}}}{1 + \frac{A_{OL0}}{1 + \frac{s}{\omega_p}} \cdot \frac{1}{R_f + R_{in}}}
Simplifying this gives us a transfer function that includes both a pole and potentially a zero due to the interaction between the internal pole and the feedback network.


Identifying the Zero:​


When analyzing the transfer function, you may see that the poles of the system arise from the denominator, but the zero can emerge depending on the values of AOL0A_{OL0}, ωp\omega_p, and the feedback network.


To identify the zero, we need to examine the complete transfer function. In some configurations, the interaction between the internal pole and the feedback network can lead to a complex pole-zero pair that shapes the frequency response.


Example Case:​


Let’s assume:


  • AOL0=105A_{OL0} = 10^5,
  • ωp=106\omega_p = 10^6 rad/s (compensation pole),
  • Rf=10 kΩR_f = 10 \, k\Omega,
  • Rin=1 kΩR_{in} = 1 \, k\Omega.

In this case, as you increase the frequency, you might start to see the zero and the pole emerge more clearly in the frequency response plot. The zero would shift the phase response, and the pole would affect the gain at higher frequencies.


Simulating the Behavior:​


If we wanted to simulate the frequency response of this system, we could plot the gain and phase over a range of frequencies, and you would see that the zero influences the phase at certain frequencies, even though the inverting amplifier’s ideal transfer function would not include a zero.


Let me know if you'd like to see a plot of the frequency response for this system! I can generate it for you using these parameters.
 
Last edited:
Thanks, but i have the following Transfer function for the given integrator...

(s.C2.R2+1)(sh+1)
_______________________________________________________________ x -1
[s^2.C1.C2.R2+s(C1+C2)] x [s(C3.R3.R1 + R4.h) + R1 + R4]


Where h = C3.R3 + C3.R1
This is after 3 goes, and same each time.

This gives the zero's in the same place as the type 3 error amp listed in the attached intersil app note...but the poles are in a different place.
So does this sound plausible?

Intersil app note (page 6 gives poles and zeros of standard type 3 error amp)

The above T.F. that i derived has poles at 0 Hz, 748000Hz and 331Hz

The intersil app note gives the poles at 163000Hz and 7230Hz.

Does this sound correct? (i have the extra resistor R4) but the intersil app note doesnt have this for their Type 3 error amp.
 
Last edited:
R4 becomes part of Zi, Zi pole is moved near to Zi zero. Zf poles aren't affected, therefore your above result can't be right.

I get zeros at 151 (Zi) and 3386 (Zf) Hz, and poles at 371 (Zi) and 162541 (Zf) Hz derived from Sapwin transfer function. For pole/zero extraction, it's helpful to analyze Zi and Zf transfer functions separately

Zi (lead-lag):

(1 + C3 (R1+R3) s)
------------------------
(R1+R4) (1 + C3 (R1R3 + R1R4 + R3R4)/(R1+R4) s)

zero C3 (R1 + R3)
pole C3 (R1 R3 + R1 R4 + R3 R4)/(R1 + R4)


Zf (integrator * lag-lead):

(1 + C2R2 s)
--------------------------------
(C1+C2) s (1 + C1C2/(C1+C2)R2 s)

zero C2 R2
poles 0, C1 C2 / (C1+C2) R2

Zi could be restructured by pulling R4 into the C1, R1 and R3 circuit. Comparison of coefficients gives R1' = 28.5 k and R3' = 19.5 k for same C3. To keep the gain, R1', R3' and C3 must be scaled again. R1'' = 47 k R3'' = 32.1 k C3'' = 13.3 n
--- Updated ---

[Correction] Wrong scaling factor, you want R1'' = R1+R4 (Same low frequency gain)
R1'' = 77.5 k R3'' = 53 k C3'' = 8.1 n
 
Last edited:
Changing R4 from 30.5K to 1 K :

1740313208227.png



Of course analyzing Zf and Zin separately assumes virtual ground is good, especially at higher freq. But
LT1006 starts running out of gas so some affect would be observed.

1740313589819.png
 
Last edited:
Thanks, the transfer function involves both the Zf and the Zi, so i am not sure how their separate analysis is of any use? I appreciate things like the superposition theorem for analysing opamp ccts, but dont see the similarity here?
How do you use Sapwin?...i downloaded it but it wont let me run it...it gives me a registration number but wont accept it?

I used the quadratic formula to solve for s....-b+/-SQRT(b^2-4ac)/2a

A pole is that value of s that makes T.F. go to zero
A zero is that value of s that makes T.F. go to infinite (or the denominator go to zero)

....so as such, my method was logical and i cant see how it has given wrong answers?
I repeated it several times and got the same answer (as above)
 
Of course analyzing Zf and Zin separately assumes virtual ground is good
The discussion is presuming ideal OP up to now, just plausible for the frequency range if interest.

Thanks, the transfer function involves both the Zf and the Zi, so i am not sure how their separate analysis is of any use?
Your analysis calculated Zi and Zf poles and zeros separately. SapWin gives expanded jw^n terms, not helpful to see poles and zeros.
 
I see this as an integrator with a lead-lag compensation filter and thus R4 shifting overall gain also affects the phase margin aka the peak phase lead.

So there is a slight shift in phase margin with R4. (Use mouse wheel to change and see for yourself)

My Sim assumes ratiometric values of 10:1 and GBW = 1MHz . This has a small factor in the shift.
--- Updated ---

Changing R4 from 30.5K to 1 K :

View attachment 197559

Why does it look inverted in response?
 
Last edited:
SapWin shows :

v1:

+ ( -1 )
+ ( - C2 R2 - C3 R3 - C3 R1 ) j w
- ( - C3 C2 R2 R3 - C3 C2 R1 R2 ) w^2
------------------------------------------------------------------------------
+ ( C1 R1 + C2 R1 ) j w
- ( C2 C1 R1 R2 + C3 C1 R1 R3 + C3 C2 R1 R3 ) w^2
- ( C3 C2 C1 R1 R2 R3 ) j w^3

OR

v1:

+ ( -1 )
+ ( - C2 R2 - C3 R3 - C3 R1 ) s
+ ( - C3 C2 R2 R3 - C3 C2 R1 R2 ) s^2
------------------------------------------------------------------------------
+ ( C1 R1 + C2 R1 ) s
+ ( C2 C1 R1 R2 + C3 C1 R1 R3 + C3 C2 R1 R3 ) s^2
+ ( C3 C2 C1 R1 R2 R3 ) s^3

OR

1740350574398.png
There is a pole zero cancellation in solution

OR

A pole-zero plot

I am curious if factored form normalized to something....but help menu yields no help.


--- Updated ---

The discussion is presuming ideal OP up to now, just plausible for the frequency range if interest.
I initially started looking at post as ideal OpAmp until I saw LT1006 in his sim.

So then thought eventually he would get around, or under suggestion, to include OpAmp
pole(s).
--- Updated ---

Why does it look inverted in response?

Tony, your reference to inverted not sure I understand.
--- Updated ---

Had to fill in component values to get actual pole zero s polynomials :

1740355933775.png

--- Updated ---

1740356364199.png



Where has this tool been all my life ?
 
Last edited:
You were emailed a reg key right ? Normally takes a day or two.
Thanks i hope so....what you kindly show is fantastic...so SapWin factorised it so that the poles and zeros can be taken straight out of that?...thats brilliant.
 
danaddak your zeros which come out of your kindly supplied post of #13 are at the same place as where i get them from my Tran func of #5

However, your poles (from #13) are at zero Hz, 371Hz and 163kHz whereas my poles (from #5) are at zero Hz, 748kHz and 331Hz.

I feel sure the T.F. of #5 is correct since i did it three times and got the same answer (the component values are from my #1 post)
 
The two sims have substantially different discrete values for starters.

OpAmp model different (its pole).

So I double checked a simple integrator to sim properly, seemed OK.

One thing I did was Transient sim and I added bias on mine to keep OpAmp
from sat, but that did not change AC.


Regards, Dana.

--- Updated ---

danaddak your zeros which come out of your kindly supplied post of #13 are at the same place as where i get them from my Tran func of #5

However, your poles (from #13) are at zero Hz, 371Hz and 163kHz whereas my poles (from #5) are at zero Hz, 748kHz and 331Hz.

I feel sure the T.F. of #5 is correct since i did it three times and got the same answer (the component values are from my #1 post)

If I take just the two series RC in isolation I get the following cutoff freqs

3386Hz 10k 4.7 nf

7234Hz 1000 ohms 22 nf

The series to parallel transform, I did this to see how much effect in reduction of
effective C due to series R....


1740409177457.png


1740409119264.png


These were values being used in Sapwin (right side) :

1740408330682.png


If I get a chance I will do a standard CK filter and see what I get, all I can say is SapWin seems to have
been around quite a while.
--- Updated ---

Keep in mind the s pole values are w, f = 2 x pi x w ....right ?
 
Last edited:
1740411276759.png


1740411312107.png


So poles at 371 Hz, 162 Khz

However, your poles (from #13) are at zero Hz, 371Hz and 163kHz whereas my poles (from #5) are at zero Hz, 748kHz and 331Hz.

Something wacky....maybe spice models between our two sims for OpAmp not right ?

.SUBCKT LT1006-%REF% 1 2 3 4 5

*

C1 11 12 8.661E-12

C2 6 7 30.00E-12

DC 8 53 DX

DE 54 8 DX

DLP 90 91 DX

DLN 92 90 DX

DP 4 3 DX

EGND 99 0 POLY(2) (3,0) (4,0) 0 .5 .5

FB 7 99 POLY(5) VB VC VE VLP VLN 0 2.475E9 -2E9 2E9 2E9 -2E9

GA 6 0 11 12 113.1E-6

GCM 0 6 10 99 225.7E-12

IEE 3 10 DC 12.03E-6

HLIM 90 0 VLIM 1K

Q1 11 102 13 QM1

Q2 12 101 14 QM2

RB1 2 102 400

RB2 1 101 400

DCM1 105 102 DX

DCM2 105 101 DX

VCMC 105 4 DC 0.4

R2 6 9 100.0E3

RC1 4 11 8.841E3

RC2 4 12 8.841E3

RE1 13 10 4.519E3

RE2 14 10 4.519E3

REE 10 99 16.63E6

RO1 8 5 80

RO2 7 99 25

IP 3 4 328E-6

VB 9 0 DC 0

VC 3 53 DC 1.610

VE 54 4 DC .61

VLIM 7 8 DC 0

VLP 91 0 DC 25

VLN 0 92 DC 25

.MODEL DX D(IS=800.0E-18)

.MODEL QM1 PNP (IS=8.000E-16 BF=5.955E+02)

.MODEL QM2 PNP (IS=8.009E-16 BF=6.045E+02)

.ENDS LT1006

Regards, Dana.
 

LaTeX Commands Quick-Menu:

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top