Difference between revisions of "SDR"
From Fixme.ch
(→Quickstart) |
(→Compatible Hardware) |
||
(75 intermediate revisions by 9 users not shown) | |||
Line 1: | Line 1: | ||
[[Category:Ongoing_Projects]] | [[Category:Ongoing_Projects]] | ||
− | == | + | == Goal == |
+ | * Install an SDR reception station at FIXME based on rtl-sdr, a DVB-T USB Stick and a Raspberry Pi. | ||
− | + | == 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 | ||
+ | === 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) | * 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 === | |
+ | * The service is started with the following command is listen to the port 1234 | ||
+ | sv start rtl-tcp | ||
− | * | + | == 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] | ||
− | * Install | + | * Install on Debian 6 |
mkdir gnuradio; cd gnuradio | mkdir gnuradio; cd gnuradio | ||
wget http://www.sbrac.org/files/build-gnuradio; chmod a+x ./build-gnuradio; ./build-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 | 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 | ||
− | === SDR | + | === RTL-SDR === |
+ | ==== Debian Packages ==== | ||
+ | <pre>apt intsall rtl-sdr</pre> | ||
+ | |||
+ | ==== Sources ==== | ||
+ | ===== Requirement ===== | ||
<pre> | <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 | + | 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> | </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 62: | 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
Contents
Goal
- Install an SDR reception station at FIXME based on rtl-sdr, a DVB-T USB Stick and a Raspberry Pi.
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
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++
- Simple and bloat free
- https://github.com/AlexandreRouma/SDRPlusPlus
Quisk
GNURadio
- GNURadio multimode
- Install on Debian 6
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
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
- 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)
- Download software from 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
rtl_tcp=sdr1.fixme.ch:1234
- 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