Breitband-Empfänger-Station mittels rtl-sdr

Schon immer hat mich interessiert, was so auf den verschiedenen Frequenzbaendern los ist. Nun gibt es eine Moeglichkeit, ein kleines „Software-Defined-Radio“ aufzubauen, indem man einen DVB-T-Stick korrumpiert. Damit kann man ueber einen recht grossen Bereich scannen. Bedingung war ein Realtek RTL2832U-Chipsatz auf dem Stick, denn dieser hat die Faehigkeit, I/Q-Samples der Quadratur-Amplitudenmodulation direkt auszugeben. Guenstig ist ausserdem, wenn noch ein Tuner-Baustein R820T (tolle Bandbreite von 24 bis 1800MHz) oder ein E4000 (geringer Stromverbrauch) verbaut ist. Wenn man also recherchiert hat, kann man einen passenden Dongle kaufen. Bei mir ein „GiXA“ fuer 20 Euro, es gehen aber genauso ein „Hama Nano“, „Terratec Noxon“ oder „Cinergy“ und einige weitere.

 

Moechte man dann mit der Hardware nah an der Antenne sein (kein Koaxkabel vom Dachboden zum Arbeitszimmer), nutzt man einen Einplatinenrechner wie den Raspberry mit entsprechenden Tools. Den kann man viel besser weit entfernt stellen, als einen „richtigen“ PC und sich die Daten per (W)LAN uebertragen lassen. Und der Stromverbrauch ist auch sehr guenstig, so dass man ihn fuer Ueberwachungsaufgaben staendig am Netz halten kann. Das war Motivation, den bei uns in Betrieb befindlichen Webcam-Raspi auch mit Funkempfaenger-Faehigkeiten auszuruesten. Zum Verlauf und zur Hardware gibt es dann auch Auskunft bei gleichnamigen Projekt unterhttp://www.smartewelt.de/sw/index.php/projekte wo ihr die „Hintergruende“ nachvollziehen koennt.

Eine GUI braucht es auf unserem Steuerrechner („SDR-Server“) mit Stick und Antennenanschluss nicht, dort arbeitet man remote auf der Konsole. So sollen rtl-sdr und dump1090 laufen und Daten per TCP ueber einen Port schicken. Was man zur Installation von rtl-sdr (wird haeufig von weiterer Software genutzt) braucht, soll nun deshalb hier kurz beschrieben werden…

 

Zuerst muss der Build-Prozess vorbereitet werden. Wir nutzen cmake und holen das aktuelle Release vom Git-Hub, damit wird auch unter der Wheezy-Distro beim Pi alles recht einfach. Aehnlich geht es natuerlich auch auf jedem anderen Linux-Rechner mit Debian, Ubuntu oder Mint:

 

$ sudo apt-get install git

$ sudo apt-get install cmake

$ sudo apt-get install libusb-1.0-0.dev

$ sudo apt-get install build-essential

 

Jetzt kann gebaut werden. Ansonsten ist dazu wohl nicht viel Erklaerung noetig:

 

$ git clone git://git.osmocom.org/rtl-sdr.git

$ cd rtl-sdr/

$ mkdir build

$ cd build

$ cmake ../

$ make

$ sudo make install

$ sudo ldconfig

 

Mitunter braucht es nach diverse Rules in /udev/, damit der Normalnutzer auch berechtigt ist, dann hat der cmake-Aufruf entsprechende Parameter. Es stehen nun aber einige Executables wie rtl_test oder beispielsweise rtl_fm undrtl_tcp zur Verfuegung. Nach dem Anstecken des Empfaengers am Rechner sollte man zuerst die korrekte Erkennung ueberpruefen und kann dann einen ersten Test fahren. Das sieht dann so aus:

 

$ lsusb

$ rtl_test -t

$ rtl_fm -f 86.7e6 -W -s 200000 -r 48000 – | aplay -r 48k -f S16_LE

$ rtl_sdr /data/listening.bin -s 1.8e6 -f 391e6

$ rtl_tcp -a 192.168.178.38 -p 8080

 

In den Aufrufen oben wird also auf den USB-Port geschaut und ueberprueft, ob die anhaengige Hardware auch von den SDR-Tools angesprochen werden kann. Danach wird ein UKW-Sender mit einer Frequenz von 86.7 MHz zu einem Wiedergabe-Tool gepiped. Oder man schreibt Rohdaten in ein File (mittels „rtl-sdr“, hier bei 391 MHz) und wertet diese spaeter offline aus.

Oder aber es gelangen die Daten ueber TCP an einen Port, welcher von dritter Stelle wieder aufgegriffen wird. Das letzte Beispiel ist also schon genauso, wie wir es brauchen. Es ist die Adresse unseres Raspberry angegeben, (welcher natuerlich eine feste IP hat) und der Port 8080. Den kann man aber auch gerne modifizieren.

 

Nun kann man in „SDR#“ oder „GNU-Radio“ den SDR-Adapter nebst Adresse und Port einstellen und bekommt zahlreiche nette Daten geliefert. Aber der Clou ist, ist erstmal eine Netzwerk-Verbindung mit der Anwendungssoftware aufgebaut, kann man ueber diese auch den DVB-T-Dongle hinsichtlich Scanfrequenz und Samplingrate konfigurieren, bequem vom warmen Zimmer aus. Unsere Implementierung(en) dazu koennt ihr in der Projekte-Sektion auf dieser Website nachlesen…

 

Swen Hopfe

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert