[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Discuss-gnuradio] AGC
From: |
Johnathan Corgan |
Subject: |
Re: [Discuss-gnuradio] AGC |
Date: |
Thu, 01 Jun 2006 12:51:28 -0700 |
User-agent: |
Thunderbird 1.5.0.2 (X11/20060522) |
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