# Good example of AGC after RTL\_SDR

**URL:** <https://www.ruby-forum.com/t/good-example-of-agc-after-rtl-sdr/231018>\
**Category:** GNU Radio\
**Created:** [July 17, 2014, 4:16pm UTC](https://www.ruby-forum.com/t/good-example-of-agc-after-rtl-sdr/231018 "2014-07-17T16:16:50Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![addis\_a](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/c4cdca/32.png) [@addis\_a](https://www.ruby-forum.com/u/addis_a)\
**Post date:** [July 17, 2014, 4:16pm UTC](https://www.ruby-forum.com/t/good-example-of-agc-after-rtl-sdr/231018/1 "2014-07-17T16:16:50Z")

</div>

* * *

Discuss-gnuradio mailing list  
removed\_email\_address@domain.invalid  
[https://lists.gnu.org/mailman/listinfo/discuss-gnuradio](https://lists.gnu.org/mailman/listinfo/discuss-gnuradio)

---

<div class="post-metadata">

**Author:** ![unknown](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/4bbf92/32.png) [@unknown](https://www.ruby-forum.com/u/unknown)\
**Post date:** [July 17, 2014, 4:48pm UTC](https://www.ruby-forum.com/t/good-example-of-agc-after-rtl-sdr/231018/2 "2014-07-17T16:48:08Z")

</div>

On Thu, Jul 17, 2014 at 10:15 AM, [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> My application is currently using an rtl\_sdr (FC0013).
> 
> I get the best results when I use the built-in AGC option. However, there  
> are a couple of corner conditions where their AGC is not desirable. My  
> signal levels very pretty wildly from barely above the noise floor to just  
> about saturating the input with no gain.

Not surprising. You don’t have a huge dynamic range with those dongles.

> When I set the gain on the rtl\_sdr to nominal and put in an AGC2 block, I  
> found that resulting SNR was significantly worse than the builtin AGC of  
> the rtl\_sdr. I limited the max gain, but I still seemed to lose most of my  
> signal as the noise floor rises significantly.

Again, not surprising. The AGC blocks in GNU Radio are a bit of a  
misnomer.  
They don’t really adjust the gain, they adjust a digital scaling factor.  
So  
you’re just multiplying the signal and noise together. These blocks  
really  
just make sure your signals come in scaled around where you want them,  
but  
don’t do anything with real hardware gain.

You definitely want to set the gain of the receiver to best maximize  
your  
SNR. But you’re always going to have the dynamic range issue, often  
called  
the near-far problem in some application spaces.

> specific channel.
> 
> Does anyone have a good example or suggestion of an AGC usage to place  
> right after the source?
> 
> Thank you guys! This forum, the gnuradio and its collateral project, and  
> the community have been awesome!

Thanks!

> Jim

You’ve stumbled onto a pretty difficult problem that tends to be very  
application-specific and hardware-specific. Hope I’ve given enough  
basics  
above to help you tweak your app.

Tom
