Are diode based peak detectors inherently superior to MOSFET based peak detectors? The Internet seems to think so, based on the amount of information that is available.

When you search for peak detector circuits, you find a huge amount of information on diode based circuits like this,

enter image description here

but you find very little information on MOSFET based circuits such as this.

MOSFET Peak Detector

I only found one decent MOSFET circuit reference: Analog CMOS peak detect and hold circuits. Part 1. Analysis of the classical configuration. It calls it the "Classical Configuration", so it seems like it's been around for a while.

In my limited breadboard testing, I've found that with the right op amp and MOSFET, the performance of the MOSFET circuit is far superior. Perhaps that is the reason, i.e. the potentially non-trivial task of finding the right combination of op amp and MOSFET? It would seem that finding the right op amp and diodes would be a similar issue for the diode case.


This is an example of a MOSFET based circuit which works well for a repetitive 10 KHz signal. From the discussion below, it seems that low frequency may be a special case where MOSFETs are potentially better than diodes. It also seems likely that the repetitive nature of the signal benefits the performance of the circuit.

MOSFET Based Circuit


Just to show the capabilities of a MOSFET based circuit on repetitive waveforms at high frequency ...

A previous question was looking to measure the peak amplitude of a 2 MHz 240mv sine wave. They were having trouble getting better than 5%-10% accuracy using diodes and op amps. The circuit below measures a 2 MHz sine wave with ~1% accuracy using a comparator/MOSFET based circuit. The schematic and LTSpice simulation are shown below. The average output across the window is 2.7476 vs the actual peak of 2.750. After removing the a 2.5V common mode, that is 247.6mv measured vs 250mv actual.

peak sine schematic

peak sine simulation


I has been pointed out that this not really a Peak Detector in the most common usage of the word, since it only works well on repetitive waveforms. In that sense it is more of a peak amplitude circuit.


As requested, below is the response of the circuit to white noise. Specifically, a behavioral source with V=4*white(2meg*time) . It still seems to work pretty well. The only real issue is the time that it takes for the output to decay to the lower level when the input amplitude changes, but in many cases that is not a concern.

enter image description here

  • \$\begingroup\$ Andy's answer should suffice, but you can convince yourself by replacing the input signal with a behavioural source with white(2meg*time), for example. \$\endgroup\$ Commented Apr 11, 2018 at 14:51
  • \$\begingroup\$ Added response to white noise. Still seems to find the peaks OK. \$\endgroup\$
    – crj11
    Commented Apr 11, 2018 at 15:21
  • \$\begingroup\$ That's not the response of a peak detector, more like a maximum peak finder, which is a big difference. Peak detector would have meant every peak (positive, in this case), would have been marked, similar to a sample&hold that samples at the peak of the waveform. \$\endgroup\$ Commented Apr 11, 2018 at 18:03
  • \$\begingroup\$ I don't think an analog peak detector has to "mark" something as a peak. It just outputs the voltage of the most recently tracked peak. The peak detector output depends on the time constant of the detector circuit versus the spacing of peaks in the input signal. Perhaps I am confused. Can you point me to a cannonical definition of a peak detector? \$\endgroup\$
    – crj11
    Commented Apr 11, 2018 at 18:57
  • \$\begingroup\$ I don't think there is one, and you're right, poor wording from my part, omitting the time constant. Otherwise, trying to detect the maximum of the charging current of a cap from mains (through bridge) would be mission impossible -- you get the first, charging peak, then it stays there. Unless there's the time constant of interest. So, I suppose, in this case (with white()), it will eventually settle to 0.5 (times whatever constant, in this case 4), unless your requirements need to detect only in a limited time window.. \$\endgroup\$ Commented Apr 11, 2018 at 19:46

1 Answer 1


Using a MOSFET is tricky. For instance if the output has a resistor to ground to slowly discharge the voltage accumulated on the "storage capacitor" AND to counter leakage currents through the MOSFET charging the storage capacitor up you have an op-amp with gain in the feedback loop. That gain is massively non-trivial (i.e. tens or hundreds) and the whole thing turns into an oscillator.

Given also that the parasitic capacitances around a MOSFET are usually an order of magnitude greater than what a simple IN4148 or BAS16 diode would have, the signal-peak capture speed is poor compared to a diode.

I've found that with the right op amp and MOSFET, the performance of the MOSFET circuit is far superior.

I can't imagine a scenario where it would but maybe you can show one?

  • \$\begingroup\$ I have used it to peak detect the peaks on a 10KHz waveform and it worked better than any of the diode circuits I've tried. It might be a special case since it is a repetitive waveform and relatively low frequency. I did have to use an op amp with a high slew rate and a MOSFET with a low gate threshold and relatively fast turn on. \$\endgroup\$
    – crj11
    Commented Mar 6, 2018 at 17:53
  • \$\begingroup\$ I've used peak detectors at 80 MHz and I can assure you that this would be a non-starter for MOSFETs. Maybe you used a really crappy diode like the 1N400x series (reverse transition times up to 30 us)? If you don't use the right diode then it is bandwidth limited for sure but a 1N4148 or BAS16 have transition times in the single digit nano seconds. \$\endgroup\$
    – Andy aka
    Commented Mar 6, 2018 at 17:56
  • \$\begingroup\$ I actually tried various diodes, for example onsemi.com/PowerSolutions/product.do?id=RB751S40 . My assumption was that a low Vf, fast, low leakage diode was appropriate. What are the criteria for a good peak detect diode? My goal was mv level peak accuracy. \$\endgroup\$
    – crj11
    Commented Mar 6, 2018 at 18:04
  • 1
    \$\begingroup\$ @crj11 Well it's schottky and will be fast but has a revserse leakage current of 0.5 uA and that may have been a problem. You'd need to show the whole circuit with diode and with FET if you want comparisons. Low Vf isn't a deal breaker because the op-amp accomodates that. \$\endgroup\$
    – Andy aka
    Commented Mar 6, 2018 at 18:20
  • \$\begingroup\$ The main problem that I had with the diode circuits was that the different current through the feedback diode and the "output" diode caused undesirable offsets between the output peak and the actual peak. Is this avoidable, or do you just calibrate it out? \$\endgroup\$
    – crj11
    Commented Mar 6, 2018 at 18:44

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.