mtwieg
Advanced Member level 6
As a small part of a larger project, I have to recover the amplitude of a narrowband 70MHz signal (bandwidth is maybe 10KHz max). The signal's amplitude ranges from 0-50mVrms. We're looking for a relatively simple, fully analog solution. The tough part of this is that we want to detect the signal's amplitude all the way to zero with minimal nonlinearity (like within 1dB). Preamplifying the signal before detection is fine. Also we want an output voltage proportional to input amplitude, not dB (which is what the single chip solutions seem to give...).
We've so far tried diode detectors using a few different diodes on hand (BAT54 seems to work better than others, but we're not sure what is suitable for this), and we've been putting a DC bias on the signal before the diode in order to try and improve sensitivity at the low signal range. This, along with about 32dB of preamplification, gets us pretty far, but we still lose sensitivity at input levels around 5mV and below.
I do not have a good reference frequency to work with, so doing a downconversion to baseband isn't going to be possible. We've floated the idea of splitting the signal, feeding it into both a comparator to create a clock, and then mixing that with the small signal version, thereby making a product detector (I think?), but I suspect we'll have issues with unpredictable phase shift between these two paths, making the measurement unreliable. Another idea I had would be to have a rough local oscillator close to the signal frequency (say 69MHz), mix that with the 70MHz signal to get a 1MHz IF, then using precision rectifier circuits with op amps to get a good, linear envelope out of that.
Do any of those methods sound reasonable? Are there any quick tips for getting the simple biased diode detector to work better? I've come across some concepts that seem useful (hot carrier diodes, zero bias schottky detectors), but I'm not sure if they really address our problems. It would be nice to have something simple like that work well.
Attached is a schematic of the detector circuit we've been playing with until now, not showing the preamplifiers. Here the diode is biased so there's about 15mV of signal on the output with no input, so the diode is biased with about 150uA. It still loses sensitivity at low input levels though:
We've so far tried diode detectors using a few different diodes on hand (BAT54 seems to work better than others, but we're not sure what is suitable for this), and we've been putting a DC bias on the signal before the diode in order to try and improve sensitivity at the low signal range. This, along with about 32dB of preamplification, gets us pretty far, but we still lose sensitivity at input levels around 5mV and below.
I do not have a good reference frequency to work with, so doing a downconversion to baseband isn't going to be possible. We've floated the idea of splitting the signal, feeding it into both a comparator to create a clock, and then mixing that with the small signal version, thereby making a product detector (I think?), but I suspect we'll have issues with unpredictable phase shift between these two paths, making the measurement unreliable. Another idea I had would be to have a rough local oscillator close to the signal frequency (say 69MHz), mix that with the 70MHz signal to get a 1MHz IF, then using precision rectifier circuits with op amps to get a good, linear envelope out of that.
Do any of those methods sound reasonable? Are there any quick tips for getting the simple biased diode detector to work better? I've come across some concepts that seem useful (hot carrier diodes, zero bias schottky detectors), but I'm not sure if they really address our problems. It would be nice to have something simple like that work well.
Attached is a schematic of the detector circuit we've been playing with until now, not showing the preamplifiers. Here the diode is biased so there's about 15mV of signal on the output with no input, so the diode is biased with about 150uA. It still loses sensitivity at low input levels though: