You may have noticed the weird construction I used in the SSB/CW receiver V0.7 implemented in the GNU Radio companion. It was using three AGC2 blocks with different decay rates, running in parallel and selecting one of them using a selector. The reason why I didn’t just use one block and set the decay rate of the block using an option menu or a slider was that this method didn’t work! Today I decided to dig deeper into the code and see how to fix this.
Few days ago I wrote about how I upgraded the simple double side band receiver implemented in the GNU Radio Companion to a simple single side band receiver. This initial implementation used some default values for the AGC attack and decay rates. These values were acceptable; however, I wanted to spend some time trying to find better values that would correspond to Fast, Medium and Slow AGC – just as we are used to in commercial radios.