E4000 tuner gain settings

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/osmocom-sdr@lists.osmocom.org/.

Jochen Arndt j.arndt at sis-germany.com
Wed Nov 27 13:36:22 UTC 2013


During implementation of signal strength calculations I came across some 
problems with E4000 tuners.

The RTLSRD library uses these E4000 gains:

const int e4k_gains[] = { -10, 15, 40, 65, 90, 115, 140, 165, 190,
   215, 240, 290, 340, 420 };

These are the gains from Table 6 of the data sheet plus the mixer gain 
of 12 db for the last value and 4 db for all others. But the last gain 
of 30 db from Table 6 is only valid when LNA gain enhancement is enabled.

Cite from datasheet section 1.16 LNA Gain enhancement:
  "The LNA gain numbers quoted throughout this document assume that this
   register is programmed to the recommended value."

The RTLSDR libary actually does not change the LNA gain enhancement 
register AGC11 with manual gain mode and clears it with automatic gain 
mode. So the last two values of the e4k_gains array must be:
  290 = 250 + 40 (max. LNA gain + low mixer gain)
  370 = 250 + 120 (max. LNA gain + high mixer gain)

With enabled LNA enhancement, the last value would be
  420 = 250 + 120 + 50 (max. LNA gain + high mixer gain + enhancement)

However, enabling LNA gain enhancement did not work (like the larger LNA 
gain step size of 5 db).

I have verified the above by measuring pure carrier signals of different 
strength using FFT and subtracting the total gain. Using the corrected 
values, the changings in the measured signals correspond to the 
changings of the transmitted signal. With automatic control, the values 
has been also compared with the input power calculated from
the RSSI indicator and LNA gain.

The second to last value of Table 6 is also 25 db. I assume that this is 
a misprinting and the correct value is 22.5 db. Then the corresponding 
e4k_gains array entry must be changed from 290 to 265.


Mixer Gain (automatic mode)

In automatic mode, the mixer control register AGC7 is set to 0x01. This 
will enable autonomous control with a threshold value of zero resulting 
in always using the high mixer gain of 12 db.

When the received signal is inside the automatic gain range (> -50 dbm), 
the output voltage of the LNA is so high that applying any amplifying 
afterwards usually results in overdrive samples. Therefore, the 
automatic mixer gain should be disabled or set to switch to high mixer 
gain at max. LNA gain by setting control register AGC7 to 0x1D.

For the same reason, the total IF gain should be set to less than 10 db. 
Applications using automatic gain control can then increase the IF gain 
when the input signal is below -50 dbm to extend the sensitivity range.

NOTE: Section 1.15.2 of the datasheet states that writing 0x15 to AGC7 
corresponds to a LNA gain threshold of 7.5 db. This is obviously wrong 
(verified by reading the mixer Gain2 register with different signals).


I hope this is helpful

Jochen Arndt




More information about the osmocom-sdr mailing list