|
From: | Robert McGwier |
Subject: | Re: [Discuss-gnuradio] AGC loop |
Date: | Thu, 21 Sep 2006 13:18:01 -0400 |
User-agent: | Thunderbird 1.5.0.5 (Windows/20060719) |
Bob McGwier wrote:
Eric Blossom wrote:On Tue, Sep 19, 2006 at 01:36:55PM -0400, Robert W McGwier wrote:Tom:A good agc has at least two time constants. One for attack and one for decay. Your attack is much too slow.tmp = (reference - sqrt(real(y)^2 + imag(y)^2)); rate = rate1; if tmp > gain rate = rate2; gain += tmp*rate;Shouldn't this read:if tmp > reference rate = rate2;^^^^^^^^I don't think so. If your noisy current observation, tmp, which is an instantaneous measurement on the needed gain to attain reference, is below the current smoothed state, gain, then you are in decay mode. If your instantaneous needed gain observation is less than the current smoothed gain, you are in the attack condition and a different time constant on the smoothing is needed. I am pretty sure what I told him is right. Does it make more sense now?Bob
Arrrgh. If the instantaneous needed gain ERROR estimate, tmp, is positive, you are in decay. If the instaneous needed gain ERROR estimate, tmp, is negative, you are in attack.
I believe the equations are right even if I cannot answer an email clearly. ;-) Bob -- AMSAT VP Engineering. Member: ARRL, AMSAT-DL, TAPR, Packrats, NJQRP/AMQRP, QRP ARCI, QCWA, FRC. ARRL SDR Wrk Grp Chairman "You see, wire telegraph is a kind of a very, very long cat. You pull his tail in New York and his head is meowing in Los Angeles. Do you understand this? And radio operates exactly the same way: you send signals here, they receive them there. The only difference is that there is no cat." - Einstein
[Prev in Thread] | Current Thread | [Next in Thread] |