Software Defined Radio (SDR) mit Linux

Aus BraLUG-Wiki

(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Scanner)
Zeile 152: Zeile 152:
  
 
</pre>
 
</pre>
 +
 +
=Software (eigene)=
 +
  
 
=Informationsquellen=
 
=Informationsquellen=

Version vom 23. Januar 2015, 11:51 Uhr

...derzeit in Arbeit!

Inhaltsverzeichnis

Was ist Software Defined Radio (SDR)?

...für den Anfang mal die Definition von Wikipedia zu SDR-


Hardware

Software

rtl-sdr

...

Installation (mit udev-Regel):

$ apt-get update
$ apt-get install cmake libusb-1.0-0-dev git
...
$ git clone git://git.osmocom.org/rtl-sdr.git
...
$ cd rtl-sdr
$ mkdir build
$ cd build
$ cmake ../ -DINSTALL_UDEV_RULES=ON
...
$ make
$ sudo make install
...
$ sudo ldconfig

In den meisten Fällen ist das automatische Laden des DVB-T-Treibers zu verhindern. Dazu muss eine Datei /etc/modprobe.d/rtlsdr.conf mit folgenden Inhalt (als root) angelegt werden:


blacklist dvb_usb_rtl28xxu


Test mit rtl_test:

$ rtl_test

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

Using device 0: Terratec NOXON DAB/DAB+ USB dongle (rev 1)
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...

Test mit rtl_sdr:

$ rtl_sdr /tmp/capture.bin -s 1800000 -f 392000000

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

Using device 0: Terratec NOXON DAB/DAB+ USB dongle (rev 1)
Found Fitipower FC0013 tuner
Sampling at 1800000 S/s.
Tuned to 392000000 Hz.
Tuner gain set to automatic.
Reading samples in async mode...

...und was nun damit anfangen?

Scanner

rtl_power

Das Kommandozeilentool rtl_power ermöglicht das Scannen eines Frequenzbereiches für eine bestimmte Zeit oder fortlaufend in definierten Frequenz- und Zeitschritten.

> rtl_power -f 433M:435M:10k -i 1s -e 15m ism_433.csv
Number of frequency hops: 1
Dongle bandwidth: 2000000Hz
Downsampling by: 1x
Cropping by: 0.00%
Total FFT bins: 256
Logged FFT bins: 256
FFT bin size: 7812.50Hz
Buffer size: 16384 bytes (4.10ms)
Reporting every 1 seconds
Found 1 device(s):
  0:  NOXON, DAB Stick, SN: 0

Using device 0: Terratec NOXON DAB/DAB+ USB dongle (rev 1)
Found Fitipower FC0013 tuner
Tuner gain set to automatic.
Exact sample rate is: 2000000.052982 Hz
...

Obiges Beispiel scannt 15 Minuten lang den Frequenzenbereich zwischen 433MHz und 435MHz in 10-kHz-Schritten (tatsächlich eigentlich 7812.50Hz; siehe Programmausgaben...) jede Sekunde und schreibt die Werte in die Datei ism_433.csv.

In der csv-Datei werden für jede Messreihe die Intensitäts-Werte (in db) abgelegt. Daraus lassen sich dann nette Heatmap-Diagramme (x: Timestamp; y: Frequenz; z: Intensität) erstellen, welche recht anschaulich zeigen, was in dem untersuchten Frequentbereich so los ist. Zur komfortablen Weiterverarbeitung der csv-Daten habe ich mir ein kleines Tcl-Script geschrieben, welches im Ergebnis ein entsprechendes Heatmap-Diagramm mittels gnuplot generiert.


Gqrx

...

UKW-Radio hören

Radioempfang mit rtl_fm:

$ rtl_fm -M fm -s 64k -o 4 -A fast -l 0 -E deemp -f 106.2M | play -r 64k -t raw -e s -b 16 -c 1 -V1 -

Warning: -o is very buggy
Found 1 device(s):
  0:  NOXON, DAB Stick, SN: 0

Using device 0: Terratec NOXON DAB/DAB+ USB dongle (rev 1)

-: (raw)

  Encoding: Signed PCM    
  Channels: 1 @ 16-bit   
Samplerate: 64000Hz      
Replaygain: off         
  Duration: unknown      

In:0.00% 00:00:00.00 [00:00:00.00] Out:0     [      |      ]        Clip:0    Found Fitipower FC0013 tuner
Tuner gain set to automatic.
Tuned to 106456000 Hz.
Oversampling input by: 4x.
Oversampling output by: 4x.
Buffer size: 8.00ms
Sampling at 1024000 S/s.
Output at 64000 Hz.
In:0.00% 00:00:22.78 [00:00:00.00] Out:1.45M [ =====|===== ] Hd:4.1 Clip:0


"Automatic Dependent Surveillance Broadcast (ADS-B)" empfangen/darstellen

Flugzeuge gucken ;-)...

$ git clone git://github.com/MalcolmRobb/dump1090.git
...
$ cd dump1090.git
$ make
...
$ ./dump1090 --interactive --net

Im Browser:


http://localhost:8080/

Software (eigene)

Informationsquellen

Antennen:

Kontakt

Uwe

'Persönliche Werkzeuge