Forum: GNU Radio AGC

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
AGC
74eb8f0b6d033d0fc97b3c33f43dc2c2?d=identicon&s=25 Michael Milner (Guest)
on 2006-06-01 20:55
(Received via mailing list)
Hi,

Can I use the gr_agc code as a block in a flow graph?

I have an arbitrary float signal that I would like to always have the
same
voltage peak to peak regardless of the input signal.  Is this possible?

I'm using gnuradio 2.8

Thanks!

Mike
8cc60441dc67b4e59421ebe95dc63c23?d=identicon&s=25 Tom Rondeau (Guest)
on 2006-06-01 21:07
(Received via mailing list)
Mike,

I've used both the floating point and complex implementations of the AGC
block, and they work fine. For most signals, using (1e-4, 1, 1) will
adjust
the gain to output a signal at +1 and -1. The second term will be the
final
peak output value you will get. If I'm remembering correctly, the first
term
is the loop gain, which will determine the convergence speed of the AGC.
The
last term is the initial gain.

It's a very straight-forward block to use.

Tom
Cec0a4bf0e0575f3a3171892e6097e59?d=identicon&s=25 Johnathan Corgan (Guest)
on 2006-06-01 21:51
(Received via mailing list)
Tom Rondeau wrote:

> I've used both the floating point and complex implementations of the AGC
> block, and they work fine. For most signals, using (1e-4, 1, 1) will adjust
> the gain to output a signal at +1 and -1. The second term will be the final
> peak output value you will get. If I'm remembering correctly, the first term
> is the loop gain, which will determine the convergence speed of the AGC. The
> last term is the initial gain.
>
> It's a very straight-forward block to use.

For an aviation band AM receiver, I've had to set the loop gain to 1e-3,
as the default is too slow to adjust between the rapid fire exchanges
between the aircraft pilot and air-traffic-control (at widely varying
power levels.)

More interestingly, I'm using complex_to_mag to demodulate a 32K sps
baseband channel as AM, then filtering/decimating the resulting audio.

If I set the AGC reference value (second parameter) to anything above
0.2 (including the default 1.0), the audio comes out distorted.  It
sounds like clipping.

For a reference value, of say, 0.5, complex_to_mag should be outputting
peaks at |0.5+0.5j| which is ~0.71.

The FIR filter has a gain of 1.0, and the audio sink takes -1.0 to 1.0,
I believe.  So where would the clipping come in?  Am I off by a factor
of two or four somewhere in my calculations?

I guess I'll dump an example to a filesink and look at the values
manually, unless there is some quicker way to see the statistics of a
stream of floats.

-Johnathan
This topic is locked and can not be replied to.