discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] AGC loop


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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]