Difference between revisions of "SDR"
From Fixme.ch
(Created page with "Category:Ongoing_Projects == Description == == Goal == * Install an SDR reception station at FIXME based on rtl-sdr, a DVB-T USB Stick and a Raspberry Pi. == References =...") |
(→Compatible Hardware) |
||
| (93 intermediate revisions by 9 users not shown) | |||
| Line 1: | Line 1: | ||
[[Category:Ongoing_Projects]] | [[Category:Ongoing_Projects]] | ||
| − | |||
| − | |||
| − | |||
| − | |||
== Goal == | == Goal == | ||
* Install an SDR reception station at FIXME based on rtl-sdr, a DVB-T USB Stick and a Raspberry Pi. | * Install an SDR reception station at FIXME based on rtl-sdr, a DVB-T USB Stick and a Raspberry Pi. | ||
| Line 9: | Line 5: | ||
== References == | == References == | ||
* http://sdr.osmocom.org/trac/wiki/rtl-sdr | * http://sdr.osmocom.org/trac/wiki/rtl-sdr | ||
| − | * http://gnuradio.org/ | + | * 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) | ||
| + | * 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 [https://www.cgran.org/browser/projects/multimode/trunk 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 ==== | ||
| + | |||
| + | <pre>apt intsall rtl-sdr</pre> | ||
| + | |||
| + | ==== 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> | ||
| + | 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, ...). | ||
| + | </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: | + | * [[User:Mc]] |
* [[User:Francois]] | * [[User:Francois]] | ||
| + | * [[User:Rorist]] | ||
| + | * [[User:Maurice809]] | ||
| + | * [[User:Masoud]] | ||
Latest revision as of 17: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
