[Top][All Lists]
[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)
- [Discuss-gnuradio] Using DSP for precise zero crossing, measurement?, Achilleas Anastasopoulos, 2006/09/18
- Re: [Discuss-gnuradio] Using DSP for precise zero crossing, measurement?, John Ackermann N8UR, 2006/09/18
- Re: [Discuss-gnuradio] Using DSP for precise zero crossing, measurement?, Lee Patton, 2006/09/18
- Re: [Discuss-gnuradio] Using DSP for precise zero crossing, measurement?, John Ackermann N8UR, 2006/09/18
- Re: [Discuss-gnuradio] Using DSP for precise zero crossing, measurement?, Lee Patton, 2006/09/18
- Re: [Discuss-gnuradio] Using DSP for precise zero crossing, measurement?, Bob McGwier, 2006/09/19
- [Discuss-gnuradio] AGC loop, Tom Rondeau, 2006/09/19
- Re: [Discuss-gnuradio] AGC loop, Brian Padalino, 2006/09/19
- Re: [Discuss-gnuradio] AGC loop, Bob McGwier, 2006/09/19
- RE: [Discuss-gnuradio] AGC loop,
Tom Rondeau <=
- Re: [Discuss-gnuradio] AGC loop, Eric Blossom, 2006/09/21
- Re: [Discuss-gnuradio] AGC loop, Bob McGwier, 2006/09/21
- Re: [Discuss-gnuradio] AGC loop, Robert McGwier, 2006/09/21
- Re: [Discuss-gnuradio] AGC loop, Eric Blossom, 2006/09/21
- Re: [Discuss-gnuradio] Using DSP for precise zero crossing, measurement?, Lee Patton, 2006/09/19
- Re: [Discuss-gnuradio] Using DSP for precise zero crossing, measurement?, John Ackermann N8UR, 2006/09/19