Difference between revisions of "SDR"

From Fixme.ch
Jump to: navigation, search
(Build)
(Compatible Hardware)
 
(34 intermediate revisions by 6 users not shown)
Line 5: Line 5:
 
== References ==
 
== References ==
 
* http://sdr.osmocom.org/trac/wiki/rtl-sdr
 
* http://sdr.osmocom.org/trac/wiki/rtl-sdr
* http://gnuradio.org/redmine/projects/gnuradio/wiki
+
* https://wiki.gnuradio.org/index.php/Main_Page
 
* http://spacenear.us/tracker/
 
* http://spacenear.us/tracker/
 
* https://en.wikipedia.org/wiki/ISM_band
 
* https://en.wikipedia.org/wiki/ISM_band
 
* http://www.jsansonnens.ch/freq.html
 
* http://www.jsansonnens.ch/freq.html
 +
* Table d'allocation en CH https://www.ofcomnet.ch/#/fatTable
 +
* https://wiki.debian.org/DebianHams
 +
 +
=== 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 ==
 
== SDR at FIXME ==
 +
<s>
 
We currently have two '''rtl_tcp''' instances running at FIXME:
 
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)
 
* 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>
  
 
=== Service ===
 
=== Service ===
Line 20: Line 36:
  
 
== SDR Softwares ==
 
== SDR Softwares ==
 +
 +
=== SDR++===
 +
* Simple and bloat free
 +
* https://github.com/AlexandreRouma/SDRPlusPlus
 +
 +
=== Quisk ===
 +
* http://james.ahlstrom.name/quisk/
 +
 
===GNURadio===
 
===GNURadio===
 
* GNURadio [https://www.cgran.org/browser/projects/multimode/trunk multimode]
 
* GNURadio [https://www.cgran.org/browser/projects/multimode/trunk multimode]
Line 36: Line 60:
  
 
=== RTL-SDR ===
 
=== RTL-SDR ===
 +
==== Debian Packages ====
  
==== Requirement  ====
+
<pre>apt intsall rtl-sdr</pre>
 +
 
 +
==== Sources ====
 +
===== Requirement  =====
 
<pre>
 
<pre>
sudo apt-get install git
+
sudo apt-get install git libusb-1.0-0-dev cmake build-essential
sudo apt-get install libusb-1.0-0-dev
+
sudo apt-get install cmake
+
sudo apt-get install build-essential
+
 
</pre>
 
</pre>
  
==== Build ====
+
===== Build =====
 
<pre>
 
<pre>
 
git clone git://git.osmocom.org/rtl-sdr.git
 
git clone git://git.osmocom.org/rtl-sdr.git
Line 63: Line 88:
 
The test bellow is for a E4000 dongle.
 
The test bellow is for a E4000 dongle.
 
<pre>
 
<pre>
sdr@alix2:~$ rtl_test -t
+
$ rtl_test -t
 
Found 1 device(s):
 
Found 1 device(s):
 
   0:  Terratec T Stick PLUS
 
   0:  Terratec T Stick PLUS
Line 79: Line 104:
 
</pre>
 
</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 ====
 
==== Use rtl_tcp ====
  
Line 93: Line 134:
 
</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# ===
 
=== SDR# ===
* Replace $ARCH by i386 or x86_64
+
* The project has been closed sourced !
 +
* <s>Replace $ARCH by i386 or x86_64
 
<pre>
 
<pre>
 
ARCH='x86_64'
 
ARCH='x86_64'
Line 119: Line 214:
 
[[file:sdsharp_error.jpg]]
 
[[file:sdsharp_error.jpg]]
 
[[file:sdsharp.jpg||500px]]
 
[[file:sdsharp.jpg||500px]]
 
+
</s>
 
==== References ====
 
==== References ====
 
* http://www.rtlsdr.org/softwarelinux
 
* http://www.rtlsdr.org/softwarelinux
 
  
 
=== Multimon-NG ===
 
=== Multimon-NG ===
Line 128: Line 222:
 
==== Requirement  ====
 
==== Requirement  ====
 
<pre>
 
<pre>
sudo apt-get install libqt4-dev
+
sudo apt-get install libqt4-dev libpulse-dev
sudo apt-get install libpulse-dev
+
 
</pre>
 
</pre>
  
Line 157: Line 250:
 
==== Requirement  ====
 
==== Requirement  ====
 
<pre>
 
<pre>
sudo apt-get install libsndfile1-dev
+
sudo apt-get install libsndfile1-dev libasound2-dev
sudo apt-get install libasound2-dev
+
 
</pre>
 
</pre>
 +
 
==== Installation ====
 
==== Installation ====
#Download software ACARS decoder from [http://sourceforge.net/projects/acarsdec/]
+
#Download software ACARS decoder from [https://github.com/TLeconte/acarsdec]
 
<pre>
 
<pre>
wget http://sourceforge.net/projects/acarsdec/files/latest/download
+
git clone https://github.com/TLeconte/acarsdec.git
tar xvzf download
+
cd acarsdec/
cd acarsdec-3.0/
+
make
+
 
</pre>
 
</pre>
==== Test ====
+
Modifier l'entête du fichier  Makefile
 
<pre>
 
<pre>
./acarsdec -o1 -f test.wav
+
# See README for compiler options
#2 (E:0)  .PH-BXR KL1681 E 5V S53A
+
#CFLAGS= -Ofast -pthread -D WITH_RTL -D WITH_ALSA -D WITH_SNDFILE
#4 (E:0) .LN-DYY DY083J 2 Q0 S46A
+
#LDLIBS= -lm -pthread -lrtlsdr -lasound -lsndfile
#2 (E:0) .LN-DYY DY083J E Q0 S47A
+
 
#1 (E:0)  .F-GTAE AF7728 G H1 D65C #DFB00000/V206,05,124,183,02,
+
# Airspy conf
#1 (E:0)  .LN-DYY        x _d     
+
# CFLAGS= -Ofast -pthread -D WITH_AIR -I. `pkg-config --cflags libairspy`
#3 (E:0) .G-DBCK BA031T 2 _d S64A
+
# LDLIBS= -lm -pthread `pkg-config --libs libairspy` -lusb-1.0
#3 (E:0)  .G-DBCK BA031T E Q0 S63A
+
 
 +
# RTL only conf
 +
CFLAGS= -Ofast -pthread -D WITH_RTL -I.
 +
LDLIBS= -lm -pthread  -lrtlsdr
 
</pre>
 
</pre>
 +
Lancer la command make
 +
 
==== Usage ====
 
==== Usage ====
 
<pre>
 
<pre>
echo ./acarsdec -p -8 -r 0 131.525 131.550 131.725 131.825 >> message-acars.txt & > run-acars
+
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
 
chmod u+rwx run-acars
 
./run-acars
 
./run-acars
Line 187: Line 287:
 
</pre>
 
</pre>
  
=== Gqrx (Mac) ===
+
=== Gqrx ===
==== Installation ====
+
==== Installation (Linux) ====
 +
 
 +
* Debian:
 +
apt-get install gqrx-sdr
 +
 
 +
==== Installation (Mac) ====
 
# Download software from [http://gqrx.dk/download here]
 
# 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
 
# Open .dmg file, you can run the app directly from the image, or copy it into Applications folder
Line 202: Line 307:
 
* [[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