Sam Wetterlin 1/10/06
I constructed an AGC loop consisting of two AD8330 variable gain amps followed by the AD8367 VGA/detector. The AD8367 is configured to provide whatever amplification is needed to get the final output to 354 mVrms. With all the VGA’s in the loop, there is a theoretical dynamic range of 140db, but in order to avoid the less accurate ends of the range, it is more practical to shoot for 120db.
The AD8330’s were chosen because they can be made to cover any 50db gain range with a low end of anything from -30db to +20db. Thus, for example, they can cover 10db to 60db. Other VGA’s also cover a broad range, but typically a good portion of their range is in the negative db—that is, they are in large part variable attenuators. The AD8367 was chosen because it provides true RMS detection and a reasonable amount of gain range. A log amplifier could be used in place of the AD8367, which would convert the loop from being an AGC loop to being one large log amp. That possibility is discussed near the end of this paper.
The AD8367 detector output is a linear function of the input level in db. The AD8330 VGA’s have a linear-in-db response, but use a larger control range than the AD8367, so some amplification of the control voltage is used. The original signal level can be predicted from the measured AGC voltage, with the prediction made by using a best-fit linear equation. Keep in mind that for the experiments described here, the AGC voltage was measured with a good but not perfect voltmeter. It is possible that 0.1-0.2dbm of error in predicted signal level is the result of error in my voltmeter.
For low level signal measurement, inaccuracies arise because of noise—the AD8367 is measuring total signal level including both the true signal and the background noise. In fact, if there is no input at all, the loop will crank up the amplification so that a 354 mVrms output of pure noise is generated. With a 150MHz bandwidth (that of the AD8330), and assuming roughly a -160 dbm/Hz noise density, the circuit would have effective background noise at its input of about -75 dbm, enough easily to swamp low level signals. Therefore, noise filtering is required within the loop. Broad (1.2 MHz bandwidth) filtering is done by each of the AD8330 boards, and more narrow filtering is done by a noise filter placed just before the AD8367 input. The noise filter is selectable between 500 KHz and 10 KHz (approximately—the noise filter board is still pretty crude; my goal is to get the 500KHz filter down to 300KHz). This allows reduction of the effective noise level to the -95dbm to -110 dbm range, where its effects will not be overwhelming.
In the block diagram below, click on the block to see the schematic and other details.
