EEVblog Electronics Community Forum
Electronics => Projects, Designs, and Technical Stuff => Topic started by: snx on December 11, 2019, 08:57:29 pm
-
I have basic understanding of how a peak detector for anlaog signals work, but i have another question.
Imagine you have various pulses of signal that arrive at the peak detector, but you never know what their value is. A "normal" peak detector for example, will follow a sine wave curve until it reached its peak, and then holds the value unless another peak arrives.
What i'm looking for is an add-on circuit, that would fire a digital signal (no need for analog) just shortly after a peak was detected, eg. when the sine curve starts to fall down again. This would give the option to know that there was a peak that is valid, you can ADC it and then reset the peak detector by force to be ready for a new pulse. Basically my goal is to wait for random pulses, and get their peak value, i only care about the highest peak value in an analog value, and a signal shortly after the peak to know that this was the peak of the pulse
Is there an analog circuit to get this done? I know this can be done in DSP or so, but i guess building an analog solution is quicker and easier
-
One way to do this would be to implement a differentiator followed by a comparator.
Attached is an example with an opamp-based differentiator. The component values (R, C) for the differentiator would have to be adapted to the input frequency range and amplitude, because the output amplitude of a differentiator obviously depends on the frequency (and amplitude) of the input signal... With the values given here, it will work properly approx. in the 1kHz to 500kHz range for a 2V p-p input.
The "Peaks" output will have a rising edge at the positive peaks of the input signal, and a falling edge at the negative peaks. You could further add a small delay between the output and the reset control of your peak dectector to make sure it captured the peak amplitude. The comparator used here is very fast (and handy, as it can directly output a "digital" signal with its own supply), but you could select a slower comparator and probably do without any additional delay.
If your input signal can have a wider frequency range/amplitude, this very simple circuit may not be adequate; or you may need to add some kind of AGC in front of it.
-
The attached basic circuit does this.
C holds the peak voltage that is buffered by A2. A1 compares the input voltage to the stored peak voltage and if the latter is lower A1's output goes high charging C thru D1. When the input voltage crests and then falls, A1's output goes low which indicates that the peak voltage has been captured. A1 is acting as a comparator so its output is essentially digital.
Depending on the requirements, a few more parts are needed to reset the peak voltage, either a bleed resistor or a switch of some sort.
-
I'm not sure if completely made clear what my goal is so find attached an image.
Blue is a generic sine wave
Red is the peak detector output (simplified!)
Green is the "just after peak reached" signal
The Green signal would basically say the ADC "now you can sample" and afterwards reset the peak detector to zero.
Please be aware that this are generic signals, the real pulses are way faster and more random