How to detect radio frequencies around you ?

Tutorial

WiFi, FM, Bluetooth ... : how to detect their use around you with a LimeSDR ?

Dates
  • Creation: 02/04/2020
  • Update: 08/26/2020
Members
Liste 1 membre
lucas_bichetdetect-near-rf-sdr

A radio frequency is an electromagnetic wave frequency between 3 kHz and 300 GHz. This frequency range is used in particular by the various means of radiocommunication such as mobile telephony (GSM, 3G...), WiFi, Blutetooth ... Thus, these waves surround us and are in daily contact with us although it is not easy to observe them!


In this tutorial, we will see how to visualize and monitor the data transport on these waves using a software defined radio (here a LimeSDR), in order to debug a radio transmitter, to decipher a known radio protocol or simply out of curiosity!


Prerequisites

  • Docker or a Linux machine
  • A LimeSDR (we will use here a LimeSDR-USB)


What is LimeSDR-USB

In a conventional radio system, transmission/reception is ensured by specific hardware components (oscillators, filters, etc.) adapted to the systems for which it is intended. It is therefore often not possible to use other systems without changing the equipment and therefore the entire receiver.


A Software Defined Radio (SDR) is a receiver and possibly a radio transmitter mainly made by software, which gives them universality and great adaptability. Indeed, it is enough to change or adapt the software to work with a different radio system.


The LimeSDR-USB is a mid-range software radio (RX/TX: receiver/transmitter) sold by MyriadRF, covering a wide frequency band (100 kHz - 3.8 GHz) in full-duplex. You can find the detailed specifications here https://wiki.myriadrf.org/LimeSDR-USB.


Installation (without Docker)

For this tutorial, we will need 2 different softwares : 

  • LimeSuite: driver and grouping of utilities for LimeSDR
  • SDRAngel: open source RF signal visualization software compatible with various software defined radios


We'll install LimeSuite first. There are two ways to do this, installation from source or from PPA.

To install from PPA :

add-apt-repository -y ppa:myriadrf/drivers
apt-get update
apt-get install limesuite liblimesuite-dev limesuite-udev limesuite-images


To install from source :

apt-get install git build-essential cmake wget libusb-1.0-0-dev usbutils udev
git clone https://github.com/myriadrf/LimeSuite
mkdir builddir
cd builddir
cmake ..
make -j4
make install
ldconfig
../udev-rules/install.sh


Next, we install SDRAngel. It is possible to compile it from its Github repo, but releases are provided.

wget https://github.com/f4exb/sdrangel/releases/download/v4.13.0/sdrangel_4.13.0-1_amd64.deb -O /tmp/sdrangel.deb #Téléchargement du .deb

apt-get install /tmp/sdrangel.deb #Installation de SDRANgel

apt-get -f install #Installation des dépendances

To run it, just execute the following command:

sdrangel


Installation (with Docker)

It is possible to use a Docker image with LimeSuite and SDRAngel pre-installed.

This can be found here : https://github.com/0xUKN/Docker_Lime-SDRAngel.


git clone https://github.com/0xUKN/Docker_Lime-SDRAngel
cd Docker_Lime-SDRAngel
./build.sh

To run it, just execute the following command :

./run.sh


Using SDRAngel

Here is a good basic link to learn how to use SDRAngel : https://github.com/f4exb/sdrangel/wiki/Quick-start.


First of all, you have to select our input device in SDRAngel: here it is our LimeSDR. To do this, go to the "Sampling devices control" section and click on the hand (in red on the picture): a drop-down menu with the list of available devices appears on the screen.


You can now set the parameters of the selected device:

  • the center frequency on which LimeSDR is listening (in red)
  • the antenna to be used (in blue)
  • DC peak correction (green)

Many other parameters are available!


It is also possible to set the type of spectrum you wish to view using the last menu. The most visually useful views are probably the waterfall (in blue) and the live spectrum (in red).


Once you have made these settings, simply click the 'Play' button to view the presence or absence of traffic on the specified frequency in real time.


To go further

SDRAngel also includes demodulation capabilities for known signals. It is therefore possible, for example, to listen to FM radio directly in SDRAngel using our LimeSDR.

To do this, we use the "Sampling devices control" section again, and select the demodulator we want to use from the drop-down menu. For example, to listen to FM radio, we use the "WFM Demodulator".


The selected demodulator is added to the right in the "Channels" tab. It is possible to configure the demodulator :

  • offset from the listening frequency (in red)
  • gain (in blue)


By starting playback, you can then listen to the FM band and adjust the frequency you want to listen to by changing the frequency of the LimeSDR.