I've built several transceivers in the past. I never implemented IF derived AGC, so I decided to give it a try in the next project.
I choose to build a superheterodyne receiver, which will probably become a transceiver eventually, and to base the AGC system on a voltage-controlled variable attenuator (I don't have any PIN diodes, so I used 1N4148's). The problem is, I'm not entirely sure where to place the attenuator on the block diagram.
"Experimental Methods in RF Design" seem to suggest (figures 1.7, 6.59, 6.130, 6.146) implementing AGC on IF after the crystal filter, so the block diagram should be:
The benefit of this arrangement seems that we have only the wanted signal here. As a result, we will get the least amount of distortions. The variable attenuator is not simply a resistive network - there are noise figure, harmonic distortions, IMD, and insertion loss (about 3 dB) to consider.
However, placing the variable attenuator closer to the antenna, right after the BPF to be exact, also seems to be beneficial. This will give a higher dynamic range, because the attenuator will protect all three amplifiers from overloading (I'm going to use amplifiers that have IP1db about -12 dBm, every amplifier is +20 dB or so). Also, the harmonic distortions of the attenuator seem to rise fast when the input signal exceeds -30..-20 dBm. Thus having lower signals on the input of the attenuator sounds like a good idea.
Is there some sort of algorithm, or at least heuristics / best practices, to make a design choice like this one?