Wie immer: Ich wollte nur wissen, was man bei gain beim RTL-SDR eigentlich angibt und das Ergebnis war eine Reise durch viele git repositories und die Feststellung, dass das seltsam ist.
Der Tuner hat drei Gains: LNA, Mixer (beide HF) und VGA (IF). Und anscheinend soll man sie in der Reihenfolge benutzen, was vom SNR her auch irgendwie klar ist. Aber es gibt viele forks der originalen Software und erst der anscheinend jüngste Fork
GitHub - librtlsdr/librtlsdr: Software to turn the RTL2832U into an SDR erlaubt die Gains getrennt einzustellen. Die vorigen Versionen benutzen einen eher hohen festen Wert für VGA, was viel Wärme erzeugen soll, aber nicht unbedingt hilfreich ist, und erhöhen LAN und Mixer synchron entsprechend der Einstellung. Ok, in der library geht es also nun getrennt, aber in den frontends nicht: Die kennen nach wie vor nur das Argument -g, was LNA und Mixer wie früher synchron einstellt.
Die Option -g bekommt als Argument gain als Fliesskommazahl in dB. Die Funktionen der library bekommen gain als Ganzzahl in 1/10 dB. Beides ist relativ, d.h. die Argumente fangen bei 0 an, was aber nicht bedeutet, dass 0 keine Verstärkung bedeuten würde. Die neuen, getrennten Gains werden als Registerwert 0-15 und nicht mehr in dB oder 1/10 dB angegeben.
Bei der Suche lernte ich auch, dass rtl_power langsam ist und darum ggfs. Samples verwirft, um Schritt zu halten. Es gibt eine effizientere Version:
GitHub - AD-Vega/rtl-power-fftw: Power spectrum for RTLSDR dongles. Die benutzt auch nur die Funktion, welche LNA und Mixer Gain zusammen erhöht.
Welche Software benutzt der Code von Wolfgang unter der Haube zur Datenerfassung und wie wird Gain da angegeben? Evtl. kann man bei SDRs mit R820T Tuner noch etwas mehr SNR rauskitzeln.
Michael