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
Show replies by date