discuss-gnuradio
[Top][All Lists]
Advanced

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

RE: [Discuss-gnuradio] AGC loop


From: Tom Rondeau
Subject: RE: [Discuss-gnuradio] AGC loop
Date: Tue, 19 Sep 2006 15:00:17 -0400

Bob,

Thanks, I'll start playing around with these ideas. I was actually thinking
of this problem like a CVSD codec after I sent the message, which has
different approaches to gain and decay. Glad I wasn't going too far astray
with that thought.

We could consider putting in a preamble, like Brian suggested, too, but as
it stands right now, the decay is far too slow for a reasonable preamble to
tackle.

Thanks!
Tom



> -----Original Message-----
> From: Bob McGwier [mailto:address@hidden
> Sent: Tuesday, September 19, 2006 1:37 PM
> To: Tom Rondeau
> Cc: 'gnuradio mailing list'
> Subject: Re: [Discuss-gnuradio] AGC loop
> 
> 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;
> 
> rate2 is decay (where gain needs to be increased)  and rate1 is attack
> where gain needs to be decreased.  rate1 > rate2 and rate1 must be fast
> enough that you do not clip and destroy the first bits of information in
> a packet.  If the packet has some idles, or other announcement data,
> then you want to recover fast enough to recover receiver parameters such
> as clock and carrier in addition to gain.
> 
> Since you are doing dsp and have data in buffers,  you can do noncausal
> agc as well.   I do sense of the required signal level three time
> constants ahead of the place I apply the actual gain where time constant
> is determined by the attack rate.   This works spectacularly well in
> DttSP.  In addition to this,  we actually complicate things a bit more
> much to our advantage by having two tracks of agc.  One where rapids
> peaks and impulses flatten the gain but they release quickly.   The
> other is a slower agc channel.  The gain is the min of the two gains.
> Again,  from all indications of the users of the SDR-1000,  this is a
> spectacular agc.    We allow for thresholded agc which does decrease the
> dynamic range but this is subject to user preference.  Where you are
> doing data,  and not listening to it,  you probably don't care about
> thresholding.
> 
> 
> Bob
> 
> 
> 
> Tom Rondeau wrote:
> 
> >Ok, so I've been working on the digital modulations, and everything works
> >great except when I put in the AGC loop. It jumps up in gain when there
> is
> >no signal applied and then takes too long to converge when the signal
> comes
> >in. The result is that it almost always misses the first packet before
> >converging to receive the rest of a burst of packets. Taking the AGC
> loops
> >out will work when the transmitter amplitude and receiver gain are set
> >within a reasonable range, but we're of course loosing dynamic range this
> >way.
> >
> >I've played with the rate of the AGC to no avail, and we have a limiter
> in
> >there to clamp the gain, but again, if we clamp too much, we'll loose
> >dynamic range.
> >
> >The implementation is a straight-forward and simple AGC:
> >     gain += (reference - sqrt(real(y)^2 + imag(y)^2))*rate
> >Where the reference is the value to converge to (+-1 usually) and the
> rate
> >is the slew rate of the loop.
> >
> >I'm looking at Frerking's "Digital Signal Processing in Communications
> >Systems" for a possible solution. His AGC circuit is a similar approach
> to
> >the one above with a few more parts like a log(), integrator, blah blah
> >blah. I'm concerned with adding too much more to the AGC loop for
> >computational concerns, though, but will if it's the best way to go.
> >
> >Does anyone have any recommendations? Is it worth implementing a more
> >complicated circuit to improve the acquisition time of the AGC? Or am I
> >looking in the wrong direction?
> >
> >Thanks,
> >Tom
> >
> >
> >
> >
> >
> >_______________________________________________
> >Discuss-gnuradio mailing list
> >address@hidden
> >http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
> >
> >
> >
> 
> 
> --
> Robert W. McGwier, Ph.D.
> Center for Communications Research
> 805 Bunn Drive
> Princeton, NJ 08540
> (609)-924-4600
> (sig required by employer)






reply via email to

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