Last modified on 30 December 2021, at 15:06

SDR

Goal

  • Install an SDR reception station at FIXME based on rtl-sdr, a DVB-T USB Stick and a Raspberry Pi.

References

Compatible Hardware

RTL-SDR Calibration

Antenna Setup

SDR at FIXME

We currently have two rtl_tcp instances running at FIXME:

  • sdr1.fixme.ch:1234 (62.220.135.211:1234) (Raspberry PI, west window, MC's homemade VHF antenna)
  • foo.fixme.ch:1234 (FIXME's internal server, north window, original UHF antenna)

Service

  • The service is started with the following command is listen to the port 1234
sv start rtl-tcp

SDR Softwares

SDR++

Quisk

GNURadio

 mkdir gnuradio; cd gnuradio
 wget http://www.sbrac.org/files/build-gnuradio; chmod a+x ./build-gnuradio; ./build-gnuradio
  • On Debian 7: apt-get install gnuradio (???)
  • On arch linux, a working package is in aur so you only need
 yaourt -S gnuradio
  • Install and use Multimode
 svn co https://www.cgran.org/svn/projects/multimode/trunk/ gnuradio-multimode
 git clone git://git.osmocom.org/osmo-sdr.git
 ./multimode.py --devinfo=rtl_tcp=foo.fixme.ch:1234 --freq=98.5M --dmode=WFM --mthresh=-35 --vol=10

RTL-SDR

Debian Packages

apt intsall rtl-sdr

Sources

Requirement
sudo apt-get install git libusb-1.0-0-dev cmake build-essential
Build
git clone git://git.osmocom.org/rtl-sdr.git
cd rtl-sdr/
mkdir build
cd build
cmake ../ -DDETACH_KERNEL_DRIVER=ON -DINSTALL_UDEV_RULES=ON
make
sudo make install
sudo ldconfig
cd ..
sudo cp rtl-sdr.rules /etc/udev/rules.d/

Test the dongle

The test bellow is for a E4000 dongle.

$ rtl_test -t
Found 1 device(s):
  0:  Terratec T Stick PLUS

Using device 0: Terratec T Stick PLUS
Found Elonics E4000 tuner
Supported gain values (14): -1.0 1.5 4.0 6.5 9.0 11.5 14.0 16.5 19.0 21.5 24.0 29.0 34.0 42.0 
Benchmarking E4000 PLL...
[E4K] PLL not locked for 52000000 Hz!
[E4K] PLL not locked for 2225000000 Hz!
[E4K] PLL not locked for 1113000000 Hz!
[E4K] PLL not locked for 1251000000 Hz!
E4K range: 53 to 2224 MHz
E4K L-band gap: 1113 to 1251 MHz

or for other dongle

$ rtl_test 
Found 1 device(s):
  0:  NOXON, DAB Stick, SN: 0

Using device 0: Terratec Fraunhofer DAB Stick
Found Fitipower FC0013 tuner
Supported gain values (23): -9.9 -7.3 -6.5 -6.3 -6.0 -5.8 -5.4 5.8 6.1 6.3 6.5 6.7 6.8 7.0 7.1 17.9 18.1 18.2 18.4 18.6 18.8 19.1 19.7 
Sampling at 2048000 S/s.

Info: This tool will continuously read from the device, and report if
samples get lost. If you observe no further output, everything is fine.

Reading samples in async mode...

Use rtl_tcp

To start rtl_tcp on every ethernet interfaces and the port 1234:

pi@sdr1 ~ $ rtl_tcp -a 0.0.0.0 p 1234
Found 1 device(s).
Found Fitipower FC0013 tuner
Using Terratec NOXON DAB/DAB+ USB dongle (rev 1)
Tuned to 100000000 Hz.
listening...
Use the device argument 'rtl_tcp=0.0.0.0:1234' in OsmoSDR (gr-osmosdr) source
to receive samples in GRC and control rtl_tcp parameters (frequency, gain, ...).

Calibration

Pour utiliser la grande partie des logiciel SDR il faut faire une calibration

Requirement

sudo apt-get install libtool autoconf automake libfftw3-dev

Installation

git clone https://github.com/steve-m/kalibrate-rtl.git
cd kalibrate-rtl/
./bootstrap
./configure
make
sudo make install

You may need to run this if you encounter some reference errors on Raspberry Pi:

export PKG_CONFIG_PATH='/usr/lib/arm-linux-gnueabihf/pkgconfig/'

Usage

On utilise les fréquences du GSM-900

# kal -e 22 -s 900
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 GSM-900 base stations.
GSM-900:
        chan: 9 (936.8MHz + 22.294kHz)  power: 52744.70
        chan: 11 (937.2MHz + 22.198kHz) power: 148897.40
        chan: 48 (944.6MHz + 21.298kHz) power: 64839.80
        chan: 50 (945.0MHz + 21.360kHz) power: 76421.47
        chan: 66 (948.2MHz + 21.020kHz) power: 100342.53
        chan: 68 (948.6MHz + 21.109kHz) power: 148650.05
        chan: 74 (949.8MHz + 21.369kHz) power: 57399.97

# kal -e 22 -c 80 -v
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.



SDR#

  • The project has been closed sourced !
  • Replace $ARCH by i386 or x86_64
ARCH='x86_64'
sudo apt-get install mono-complete monodevelop
sudo apt-get install libportaudio2 
sudo apt-get install subversion
svn co https://subversion.assembla.com/svn/sdrsharp/trunk sdrsharp
cd sdrsharp
xbuild /t:Rebuild /p:Configuration=Release SDRSharp.sln /p:Platform=x86
cd Release
sudo ln -s /usr/local/lib/librtlsdr.so librtlsdr.dll
sudo ln -s /usr/lib/$ARCH-linux-gnu/libportaudio.so.2 libportaudio.so
mono SDRSharp.exe


To prevent the error below, just modify the file release/SDRSharp.exe.config and comment the line as follow:

<!-- <add key="SDR-IQ" value="SDRSharp.SDRIQ.SdrIqIO,SDRSharp.SDRIQ" /> -->^M

Sdsharp error.jpg Sdsharp.jpg

References

Multimon-NG

Requirement

sudo apt-get install libqt4-dev libpulse-dev

Build

git clone https://github.com/EliasOenal/multimonNG.git
cd multimonNG
mkdir build
cd build
qmake ../multimon-ng.pro
make
sudo make install

On arch linux, you have the choice between a "stable" version named multimon:

  yaourt -S multimon

and The dev version:

  yaourt -S multimon-ng-git

ACARS

Aircraft Communication Addressing and Reporting System [1]

Requirement

sudo apt-get install libsndfile1-dev libasound2-dev

Installation

  1. Download software ACARS decoder from [2]
git clone https://github.com/TLeconte/acarsdec.git
cd acarsdec/

Modifier l'entĂȘte du fichier Makefile

# See README for compiler options
#CFLAGS= -Ofast  -pthread -D WITH_RTL -D WITH_ALSA -D WITH_SNDFILE
#LDLIBS= -lm -pthread  -lrtlsdr -lasound -lsndfile

# Airspy conf
# CFLAGS= -Ofast -pthread -D WITH_AIR -I.  `pkg-config --cflags libairspy`
# LDLIBS= -lm -pthread  `pkg-config --libs libairspy` -lusb-1.0

# RTL only conf
CFLAGS= -Ofast -pthread -D WITH_RTL -I.
LDLIBS= -lm -pthread   -lrtlsdr

Lancer la command make

Usage

vi run-acars

# add line : 
./acarsdec -o 2 -l message-acars.txt -r 0 131.525 131.550 131.725 131.825 &

chmod u+rwx run-acars
./run-acars
tail -f message-acars.txt

Gqrx

Installation (Linux)

  • Debian:
apt-get install gqrx-sdr

Installation (Mac)

  1. Download software from here
  2. Open .dmg file, you can run the app directly from the image, or copy it into Applications folder

Usage

  1. Select RTL-SDR Spectrum server
  2. Use device string
    rtl_tcp=sdr1.fixme.ch:1234
  3. Choose your other settings (default works fine), click Ok
  4. Click on Power button to start listening
  5. Move around spectrum by clicking on it, or by clicking/right clicking on the frequency numbers

Participants