Building And Using Kalibrate Rtl On Raspberry Pi
I’ve never bothered to calibrate the RTL-SDR dongle I use – I’ve only used it to show off / play with so accuracy has never been an issue.
I’ve seen a few places mention using Kalibrate-RTL as it uses GSM 900MHz to calculate your PPM for you.
Based on Raspberry Pi 2 Debian Jessie Lite images, this is how I built it.
$ sudo apt install git $ cd ~ $ git clone https://github.com/steve-m/kalibrate-rtl kalibrate-rtl $ cd kalibrate-rtl $ sudo apt-get install autoconf automake fftw3 fftw3-dev $ ./configure $ ./bootstrap $ make $ cd /src $ ./kal
pi@raspberrypi:~/kalibrate-rtl/src $ ./kal -s EGSM Found 1 device(s): 0: Generic RTL2832U OEM Using device 0: Generic RTL2832U OEM Found Rafael Micro R820T tuner Exact sample rate is: 270833.002142 Hz kal: Scanning for E-GSM-900 base stations. E-GSM-900: chan: 101 (955.2MHz + 18.409kHz) power: 28668.57 chan: 114 (957.8MHz + 18.576kHz) power: 23934.29
Once you have a channel or 2, choose the highest powered one (channel 101 above)
$ ./kal -c 101
Found 1 device(s): 0: Generic RTL2832U OEM Using device 0: Generic RTL2832U OEM Found Rafael Micro R820T tuner Exact sample rate is: 270833.002142 Hz kal: Calculating clock frequency offset. Using GSM-900 channel 101 (955.2MHz) average [min, max] (range, stddev) + 19.346kHz [19315, 19376] (61, 16.454195) overruns: 0 not found: 0 average absolute error: -20.253 ppm
This shows that my PPM value should be set to -20