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.

Subscribe
Notify of
guest

21 Comments
Inline Feedbacks
View all comments
David Pickering

Video is private. No, I’m not lowering my security settings.

Umile

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?

John

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?

xloem

Just a note that this video appears to be no longer available on Youtube. Anybody ever make a copy of it?

NeoBee

In case of ‘librtlsdr’ dependency issue, run following command
sudo apt-get install librtlsdr-dev

mahmoud

i can not see the video it is limited ?!!

Ralph

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.

Scott

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”)

Rtller

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

NeoBee

thnx a lot 🙂

anon

Thanx kool

arbartz

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.

Travis

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.

Josh

after cloning, your next command (git checkout arm_memory) results in
fatal: Not a git repository (or any of the parent directories): .git

Josh

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

Gethin

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.

Technoshaman

I thought PPM was Pulse Position Modulation, PPM is mostly about chemistry?

Technoshaman

Oh, ok thanks 🙂 I’m pretty new to SDR, do you know a good link where I can find the terminology / jargon?

Technoshaman

Ok, thanks, I’ll look into Ham Radio terminology then 🙂