I am trying to build a transimpedance amplifier consisting of two stages driven by a photodiode with a parasitic capacitance of 11 pF (see below). The GBW of each amplifier is 100 MHz and the target frequency is 1.5-3 MHz.

The purpose of the assignment was to calculate the value of the gain and the value of the feedback resistor such that the phase margin was acceptable (not unstable and no/limited amount of oscillating).

circuit to design

As I was not familiar enough with phase margin and there were no circuits online of this configuration with explanation, I chose to let the non-dominant pole be at 10 MHz and then changed the dominant pole created by the parasitic capacitance and the feedback resistor to be at a frequency such that the two poles would result in 0 dB gain at 3 MHz (and a bit of margin). This answer was deemed as valid but not proper.

What would be the correct way to get a stable circuit? Note: We were only allowed to change Rfb and the gain of the op-amps.

  • \$\begingroup\$ Why would you undertake this task given that single op-amps are only moderately stable with local negative feedback. Why would a manufacturer of op-amps be so careful in their design that two can be cascaded without it turning into an oscillator when feedback is applied? Why are you only allowed to change RFB? How would you propose changing the gains of the op-amps anyway (if you were allowed)? Pros don't build transconductance amplifiers like this so why are you? It's all very confusing. \$\endgroup\$
    – Andy aka
    Commented Oct 23, 2022 at 13:42

2 Answers 2


I'm assuming the teacher wanted a more formal approach to solve it.

Given constraints:

$$C_{in} = 11pF$$ $$H_{low} = \frac{A_{low}}{1 + \omega_{nd}^{-1}s}$$

Gain-bandwidth constraint:

$$A_{low}\cdot (2\pi\omega_{nd1}) = 100MHz$$

The open-loop transfer function is therefore relatively easy to find:

$$H_{ol} = \left(\frac{A_{low}}{1 + \omega_{nd}^{-1}s}\right)^2\cdot \frac{1}{1 + R_{fb}C_{in}s}$$

Since closing the loop approximately turns the GBW into the bandwidth of the TIA, we can also add a constraint there (the non-dominant poles are at higher frequencies than the OL GBW, and might slightly lower the BW):

$$BW = 3MHz \approx (2\pi\omega_d)\cdot A_{low}^2 = \frac{2\pi}{R_{fb}{C_{in}}}\cdot A_{low}^2$$

From then on it becomes a little bit unclear and contextual as to what they want from you (I can imagine different teachers use different approaches). One way is to compute the phase at the the bandwidth frequency and use it for the phase margin you need. You may have received phase margin values that are deemed "good enough" to avoid ringing. You may have used Bode criterion, or Nyquist stability criterion in some way. It is also sometimes possible to simply compute the closed-loop transfer function and require that there are only real poles - in which case the phase margin becomes less relevant.


In a practical sense, open the loop just before the first amplifier and inject a test signal there over a range of frequencies. Measure the gain and the phase lag of the injected signal compared to the returned signal at the other side of the break.

By doing this you are looking at the loop phase and gain.

Adjust Rfb or Alow to get a loop phase of about -300 degrees when the loop gain is 1 (0 dB). This will result in a phase margin of 60 degrees which should be large enough to provide sufficient stability.

The phase margin is how short of -360 degrees the loop phase is at the frequency where the loop gain is 1 (0 dB).

There will easily be -360 degrees lag available around the loop to cause oscillation so you will need to set the gain of the second stage amplifier pretty low (probably quite a bit less than 1) and the gain of the first stage amplifier to unity to keep the loop gain under unity to stabilise the circuit and to also prevent low amplitude oscillation.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.