How to Calibrate RTL-SDR using Kalibrate-RTL on Linux
YouTube user NeedSec has posted a good tutorial video showing how to use Kalibriate-RTL, a program used to determine the frequency offset error of your RTL-SDR dongle. Every RTL-SDR dongle will have a small frequency error as it is cheaply mass produced and not tested for accuracy. This frequency error is linear across the spectrum, and can be adjusted in most SDR programs by entering a PPM (parts per million) offset value.
Kalibrate is a Linux program that uses GSM mobile cell phone base stations to determine the PPM offset, by using the GSM signals own frequency correction bursts. See the tutorial video below.
Video is private. No, I’m not lowering my security settings.
Hi! I am using kalibrate-hackrf, and I’m unable to make it to work with rtl-sdrt. I’m using a linux distribution in which there are all tools pre-installed. Any suggestion?
Thanks for the information but the link link to the video has been unavailable for a very long time. It would have been helpful to include some rudimentary written instructions. This is a ‘how-to’ after all?
Just a note that this video appears to be no longer available on Youtube. Anybody ever make a copy of it?
In case of ‘librtlsdr’ dependency issue, run following command
sudo apt-get install librtlsdr-dev
i can not see the video it is limited ?!!
Hi, can anybody help me?
If i run “make” i’ll get an error: “make: *** No targets specified and no makefile found. Stop.”
Doesn’t matter if i’m in the kalibrate-rtl or in the kalibrate-rtl/src folder.
Worth mentioning: If you’re in the USA/Canada (or most any other country in the Americas), you’re going to be using GSM-850, and *not* GSM-900 (so use “-s GSM850”)
cd ~/src
sudo apt-get install libtool autoconf automake libfftw3-dev
git clone https://github.com/asdil12/kalibrate-rtl.git
cd kalibrate-rtl
./bootstrap
./configure
make
sudo make install
thnx a lot 🙂
Thanx kool
So after some trial and error I got Kalibrate to build and install on my RaspberryPi. But when ever I try to do anything with kalibrate I get the following error:
pi@raspberrypi ~/kalibrate-rtl $ kal -s 900
shmat: Invalid argument
terminate called after throwing an instance of 'std::runtime_error'
what(): circular_buffer: shmat
Aborted
pi@raspberrypi ~/kalibrate-rtl $
Any help would be much appreciated.
When you build the code, use the following commands:
git clone https://github.com/asdil12/kalibrate-rtl.git
git checkout arm_memory
cd kalibrate-rtl
./bootstrap
./configure
make
sudo make install
This will check out a branch specific for the ARM processor used on the Rapsberry Pi.
after cloning, your next command (git checkout arm_memory) results in
fatal: Not a git repository (or any of the parent directories): .git
So to fix the ARM shared memory error, you have to cd into the kalibrate folder that was previously cloned BEFORE issuing
git checkout arm_memory
btw
kal requires fftw3 and version 3.2 or higher of libusrp. kal also requires a USRP and daughterboards appropriate for the desired GSM frequency band. An external clock is not required; kal can also calculate the offset of the built-in USRP clock.
I thought PPM was Pulse Position Modulation, PPM is mostly about chemistry?
When talking about a crystal oscillator, like the clock in the RTL-SDR, PPM is used to express the frequency error. http://electronics.stackexchange.com/questions/15851/what-is-the-ppm-in-the-crystal-oscillator
Oh, ok thanks 🙂 I’m pretty new to SDR, do you know a good link where I can find the terminology / jargon?
Hmmm I don’t know any links like that 🙂 But it’s pretty easy to pick up, there isn’t that much jargon that you can’t Google since most of it is related to ham radio.
Ok, thanks, I’ll look into Ham Radio terminology then 🙂