Difference between revisions of "SDR"

From Fixme.ch
Jump to: navigation, search
(GNURadio)
(Compatible Hardware)
 
(84 intermediate revisions by 9 users not shown)
Line 1: Line 1:
 
[[Category:Ongoing_Projects]]
 
[[Category:Ongoing_Projects]]
== Quickstart ==
+
== Goal ==
 +
* Install an SDR reception station at FIXME based on rtl-sdr, a DVB-T USB Stick and a Raspberry Pi.
  
We currently have two '''rtl_tcp''' instances running at FIXME:
+
== References ==
 +
* http://sdr.osmocom.org/trac/wiki/rtl-sdr
 +
* https://wiki.gnuradio.org/index.php/Main_Page
 +
* http://spacenear.us/tracker/
 +
* https://en.wikipedia.org/wiki/ISM_band
 +
* http://www.jsansonnens.ch/freq.html
 +
* Table d'allocation en CH https://www.ofcomnet.ch/#/fatTable
 +
* https://wiki.debian.org/DebianHams
  
* 62.220.135.211:1234 (Raspberry PI, west window, MC's homemade VHF antenna)
+
=== Compatible Hardware ===
 +
* https://www.funk-technik.info/alles-%C3%BCber-rtl-sdr/welche-dvb-t-stick-funktionieren.html
 +
 
 +
=== RTL-SDR Calibration ===
 +
 
 +
* https://karelkeers.nl/karelkeers.nl/rtl-sdr-calibration-with-r820t2-chip/
 +
 
 +
=== Antenna Setup ===
 +
 
 +
* https://www.rtl-sdr.com/using-our-new-dipole-antenna-kit/
 +
* https://www.qsl.net/kk4obi/
 +
 
 +
== SDR at FIXME ==
 +
<s>
 +
We currently have two '''rtl_tcp''' instances running at FIXME:
 +
* sdr1.fixme.ch:1234 (62.220.135.211:1234) ([http://www.raspberrypi.org/ Raspberry PI], west window, MC's homemade VHF antenna)
 
* foo.fixme.ch:1234 (FIXME's internal server, north window, original UHF antenna)
 
* foo.fixme.ch:1234 (FIXME's internal server, north window, original UHF antenna)
 +
</s>
  
Play with it using tools such as...
+
=== Service ===
 +
* The service is started with the following command is listen to the port 1234
 +
sv start rtl-tcp
  
* [http://sdrsharp.com/ SDR#] (Windows only...)
+
== SDR Softwares ==
 +
 
 +
=== SDR++===
 +
* Simple and bloat free
 +
* https://github.com/AlexandreRouma/SDRPlusPlus
 +
 
 +
=== Quisk ===
 +
* http://james.ahlstrom.name/quisk/
  
 
===GNURadio===
 
===GNURadio===
* GNURadio
 
  apt-get install gnuradio
 
ou
 
  wget http://www.sbrac.org/files/build-gnuradio && chmod a+x ./build-gnuradio && ./build-gnuradio
 
 
* GNURadio [https://www.cgran.org/browser/projects/multimode/trunk multimode]
 
* GNURadio [https://www.cgran.org/browser/projects/multimode/trunk multimode]
** Install
+
* Install on Debian 6
   svn co svn co https://www.cgran.org/svn/projects/multimode/trunk/ gnuradio-multimode
+
  mkdir gnuradio; cd gnuradio
** Use
+
  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
 
   ./multimode.py --devinfo=rtl_tcp=foo.fixme.ch:1234 --freq=98.5M --dmode=WFM --mthresh=-35 --vol=10
  
== Goal ==
+
=== RTL-SDR ===
* Install an SDR reception station at FIXME based on rtl-sdr, a DVB-T USB Stick and a Raspberry Pi.
+
==== Debian Packages ====
  
== References ==
+
<pre>apt intsall rtl-sdr</pre>
* http://sdr.osmocom.org/trac/wiki/rtl-sdr
+
* http://gnuradio.org/redmine/projects/gnuradio/wiki
+
  
== HOWTO ==
+
==== Sources ====
 +
===== Requirement  =====
 +
<pre>
 +
sudo apt-get install git libusb-1.0-0-dev cmake build-essential
 +
</pre>
 +
 
 +
===== Build =====
 +
<pre>
 +
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/
 +
</pre>
 +
 
 +
==== Test the dongle ====
 +
 
 +
The test bellow is for a E4000 dongle.
 +
<pre>
 +
$ 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
 +
</pre>
 +
 
 +
or for other dongle
 +
<pre>
 +
$ 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...
 +
</pre>
 +
==== Use rtl_tcp ====
  
 +
To start rtl_tcp on every ethernet interfaces and the port 1234:
 
<pre>
 
<pre>
pi@sdr1 ~ $ rtl_tcp -a 0.0.0.0
+
pi@sdr1 ~ $ rtl_tcp -a 0.0.0.0 p 1234
 
Found 1 device(s).
 
Found 1 device(s).
 
Found Fitipower FC0013 tuner
 
Found Fitipower FC0013 tuner
Line 41: Line 133:
 
to receive samples in GRC and control rtl_tcp parameters (frequency, gain, ...).
 
to receive samples in GRC and control rtl_tcp parameters (frequency, gain, ...).
 
</pre>
 
</pre>
 +
 +
=== Calibration ===
 +
Pour utiliser la grande partie des logiciel SDR il faut faire une calibration
 +
==== Requirement  ====
 +
<pre>
 +
sudo apt-get install libtool autoconf automake libfftw3-dev
 +
</pre>
 +
==== Installation ====
 +
<pre>
 +
git clone https://github.com/steve-m/kalibrate-rtl.git
 +
cd kalibrate-rtl/
 +
./bootstrap
 +
./configure
 +
make
 +
sudo make install
 +
</pre>
 +
 +
You may need to run this if you encounter some reference errors on Raspberry Pi:
 +
<pre>
 +
export PKG_CONFIG_PATH='/usr/lib/arm-linux-gnueabihf/pkgconfig/'
 +
</pre>
 +
 +
==== Usage ====
 +
On utilise les fréquences du GSM-900
 +
<pre>
 +
# 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.
 +
 +
 +
 +
</pre>
 +
 +
=== SDR# ===
 +
* The project has been closed sourced !
 +
* <s>Replace $ARCH by i386 or x86_64
 +
<pre>
 +
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
 +
</pre>
 +
 +
 +
To prevent the error below, just modify the file release/SDRSharp.exe.config
 +
and comment the line as follow:
 +
<pre>
 +
<!-- <add key="SDR-IQ" value="SDRSharp.SDRIQ.SdrIqIO,SDRSharp.SDRIQ" /> -->^M
 +
</pre>
 +
 +
[[file:sdsharp_error.jpg]]
 +
[[file:sdsharp.jpg||500px]]
 +
</s>
 +
==== References ====
 +
* http://www.rtlsdr.org/softwarelinux
 +
 +
=== Multimon-NG ===
 +
 +
==== Requirement  ====
 +
<pre>
 +
sudo apt-get install libqt4-dev libpulse-dev
 +
</pre>
 +
 +
==== Build ====
 +
 +
<pre>
 +
git clone https://github.com/EliasOenal/multimonNG.git
 +
cd multimonNG
 +
mkdir build
 +
cd build
 +
qmake ../multimon-ng.pro
 +
make
 +
sudo make install
 +
</pre>
 +
 +
On arch linux, you have the choice between a "stable" version named multimon:
 +
<pre>
 +
  yaourt -S multimon
 +
</pre>
 +
and The dev version:
 +
<pre>
 +
  yaourt -S multimon-ng-git
 +
</pre>
 +
 +
=== ACARS ===
 +
Aircraft Communication Addressing and Reporting System [http://fr.wikipedia.org/wiki/Aircraft_Communication_Addressing_and_Reporting_System]
 +
==== Requirement  ====
 +
<pre>
 +
sudo apt-get install libsndfile1-dev libasound2-dev
 +
</pre>
 +
 +
==== Installation ====
 +
#Download software ACARS decoder from [https://github.com/TLeconte/acarsdec]
 +
<pre>
 +
git clone https://github.com/TLeconte/acarsdec.git
 +
cd acarsdec/
 +
</pre>
 +
Modifier l'entête du fichier  Makefile
 +
<pre>
 +
# 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
 +
</pre>
 +
Lancer la command make
 +
 +
==== Usage ====
 +
<pre>
 +
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
 +
</pre>
 +
 +
=== Gqrx ===
 +
==== Installation (Linux) ====
 +
 +
* Debian:
 +
apt-get install gqrx-sdr
 +
 +
==== Installation (Mac) ====
 +
# Download software from [http://gqrx.dk/download here]
 +
# Open .dmg file, you can run the app directly from the image, or copy it into Applications folder
 +
 +
==== Usage ====
 +
# Select RTL-SDR Spectrum server
 +
# Use device string <pre>rtl_tcp=sdr1.fixme.ch:1234</pre>
 +
# Choose your other settings (default works fine), click Ok
 +
# Click on Power button to start listening
 +
# Move around spectrum by clicking on it, or by clicking/right clicking on the frequency numbers
  
 
== Participants ==
 
== Participants ==
 
* [[User:Mc]]
 
* [[User:Mc]]
 
* [[User:Francois]]
 
* [[User:Francois]]
 +
* [[User:Rorist]]
 +
* [[User:Maurice809]]
 +
* [[User:Masoud]]

Latest revision as of 15:06, 30 December 2021

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