Update notes.
This commit is contained in:
parent
f9d6cfd0d0
commit
a256775f28
15
NOTES.txt
15
NOTES.txt
|
@ -16,15 +16,22 @@ Casual test of ADC errors:
|
||||||
* I/Q phase mismatch in order of 1% of sample interval
|
* I/Q phase mismatch in order of 1% of sample interval
|
||||||
|
|
||||||
With tuner in auto-gain mode, device autonomously switches between gain
|
With tuner in auto-gain mode, device autonomously switches between gain
|
||||||
settings during a run. The tuner gain seems to switch between ~ 24 dB
|
settings during a run. The LNA gain seems to switch between ~ 24 dB
|
||||||
and ~ 34 dB without intermediate steps.
|
and ~ 34 dB without intermediate steps.
|
||||||
|
|
||||||
With RTL in AGC mode, the level of the digital sample stream is normalized
|
With RTL in AGC mode, the level of the digital sample stream is normalized
|
||||||
to -6 dBFS. Unknown whether this is an analog or digital gain stage.
|
to -6 dB FS.
|
||||||
Unknown whether AGC mode is coupled to Elonics IF gain or purely
|
Unknown whether this is an analog or digital gain stage.
|
||||||
a digital thing in the RTL chip.
|
|
||||||
Does this improve SNR or not?
|
Does this improve SNR or not?
|
||||||
|
|
||||||
|
At first I suspected that AGC mode may be a cooperation between the RTL and
|
||||||
|
the Elonics tuner. I thought that the RTL would monitor the level and send
|
||||||
|
digital control signals to the Elonics to dynamically change the tuner IF gain.
|
||||||
|
However that is in fact NOT what happens. (Manually changing IF gain in AGC
|
||||||
|
mode causes a brief level spike, while manually rewriting the same IF gain in
|
||||||
|
AGC mode does not have any effect).
|
||||||
|
It seems more likely that AGC is a digital gain in the downsampling filter.
|
||||||
|
|
||||||
Default settings in librtlsdr:
|
Default settings in librtlsdr:
|
||||||
Elonics LNA gain: when auto tuner gain: autonomous control with slow update
|
Elonics LNA gain: when auto tuner gain: autonomous control with slow update
|
||||||
otherwise gain as configured via rtlsdr_set_tuner_gain
|
otherwise gain as configured via rtlsdr_set_tuner_gain
|
||||||
|
|
18
TODO.txt
18
TODO.txt
|
@ -1,14 +1,11 @@
|
||||||
* (experiment) measure raw signal with several IF gain settings
|
* (experiment) measure effect of IF gain on baseband SNR
|
||||||
with/without AGC mode
|
* (experiment) measure effect of IF gain linearity on baseband SNR
|
||||||
* figure out whether AGC mode is coupled to the Elonics IF gain settings
|
* (experiment) measure effect of RTL AGC mode on baseband SNR
|
||||||
or purely an RTL-internal thing
|
* (experiment) measure effect of ADC calibration on baseband SNR
|
||||||
|
* (experiment) measure effect of IF bandwidth on baseband SNR
|
||||||
* look for effect of gain on baseband SNR
|
* (experiment) measure effect of IF sample rate on baseband SNR
|
||||||
* look for effect of ADC calibration on baseband SNR
|
|
||||||
* look for effect of IF bandwidth on baseband SNR
|
|
||||||
|
|
||||||
* (experiment) try if RTL AGC mode improves FM decoding
|
* (experiment) try if RTL AGC mode improves FM decoding
|
||||||
* (experiment) try if RTL2832 FIR filter can be optimized
|
|
||||||
* (feature) support 'M' 'k' suffixes for sample rates and tuning frequency
|
* (feature) support 'M' 'k' suffixes for sample rates and tuning frequency
|
||||||
* (feature) implement off-line FM decoder in Python for experimentation
|
* (feature) implement off-line FM decoder in Python for experimentation
|
||||||
* (feature) implement stereo pilot pulse-per-second
|
* (feature) implement stereo pilot pulse-per-second
|
||||||
|
@ -16,7 +13,6 @@
|
||||||
* (speedup) maybe replace high-order FIR downsampling filter with 2nd order butterworth followed by lower order FIR filter
|
* (speedup) maybe replace high-order FIR downsampling filter with 2nd order butterworth followed by lower order FIR filter
|
||||||
* figure out why we sometimes lose stereo lock
|
* figure out why we sometimes lose stereo lock
|
||||||
* it looks like IF level sometimes varies so much that it saturates the receiver; perhaps this can be solved by dynamically managing the hardware gain in response to level measurements
|
* it looks like IF level sometimes varies so much that it saturates the receiver; perhaps this can be solved by dynamically managing the hardware gain in response to level measurements
|
||||||
* investigate problem at low IF sample rates; it seems that librtlsdr is not telling the truth about the actual sample rate.
|
|
||||||
* (quality) figure out if I/Q balance can improve weak stations
|
* (quality) figure out if I/Q balance can improve weak stations
|
||||||
* (quality) figure out if hardware gain settings can improve weak stations
|
* (quality) figure out if hardware gain settings can improve weak stations
|
||||||
* (feature) implement RDS decoding
|
* (feature) implement RDS decoding
|
||||||
|
|
Loading…
Reference in New Issue