SDR

Software Defined Radio mit DVB-T/DAB USB-Stick ezcap 668

Wisser: Skruppy
Mitwisser:

Status: in progress
Tags: elektro, software, SDR, funk

Ein ezcap 668 ist ein USB DVB-T und DAB Empfänger. Seine Technischen Daten sind:

  • Chipset: RTL2832U
  • Tuner: E4000
  • 75 Ohm Eingang
  • range: 52 to 2208 MHz
  • L-band gap: 1105 to 1247 MHz

Er war das günstigste mit der besten leistung was es bei DealExtreme gab.

http://www.reddit.com/r/RTLSDR/comments/s6ddo/rtlsdr_compatibility_list_v2_work_in_progress/

http://hackaday.com/2012/03/30/working-software-defined-radio-with-a-tv-tuner-card

http://redd.it/rbqfz

Achtung! Verschiedene Benutzer berichten dass die ESD Diode beim ezcap fehlt, kann heissen das statische Elektrizität die Chips brät. Beschreibung wie die Diode reingelötet wird: https://radioscanning.wordpress.com/2012/09/15/rtl-sdr/

Normaler betrieb

Auf der CD ist ein Ordner mit Sourcen um sich seinen eigenes Linux Modul zu bauen. Dabei ist dreimal das fast gleiche drauf, nur mit jeweils leichten patches. Das ganze gibt es aber auch auf GitHub.

Das AUR Paket welches direkt aus den GitHub sourcen compiliert hat derzeit noch ein problem. Dafür gibt es ein alternatives AUR Paket … welches zwar baut aber beim offnen des geräts abstürzt.

Weitere Infos gibt es auf dem LinuxTV wiki.

Installation

Alle

Eine udev regel sorgt dafür, dass jeder user der in der gnuradio gruppe ist, auf das USB gerät zugreifen darf. Dazu muss als erstes als root die Regel und die Gruppe angelegt werden.

echo 'ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="2838", MODE="0660", GROUP="gnuradio"' >/etc/udev/rules.d/42-rtlsdr.rules
groupadd --system gnuradio

Danach kann man sich und weitere der Gruppe hinzufügen. Ein ab- und anstecken sowie ein ab- und anmelden sort dafür das alles geht.

Arch

rtl-sdr

AUR, GIT

wget http://aur.archlinux.org/packages/rt/rtl-sdr-git/rtl-sdr-git.tar.gz
tar -xvf rtl-sdr-git.tar.gz
cd rtl-sdr-git
makepkg -s
sudo pacman -U rtl-sdr-git-*.pkg.tar.xz
  • /usr/bin/rtl_sdr
  • /usr/bin/rtl_tcp
  • /usr/bin/rtl_test
  • /usr/include/rtl-sdr_export.h
  • /usr/include/rtl-sdr.h
  • /usr/lib/librtlsdr.a
  • /usr/lib/librtlsdr.so → librtlsdr.so.0
  • /usr/lib/librtlsdr.so.0 → librtlsdr.so.0.0.0
  • /usr/lib/librtlsdr.so.0.0.0

gr-osmosdr

AUR, GIT

wget http://aur.archlinux.org/packages/gr/gr-osmosdr-git/gr-osmosdr-git.tar.gz
tar -xvf gr-osmosdr-git.tar.gz
cd gr-osmosdr-git
makepkg -s
sudo pacman -U XXXXXXXXXXXXXXXXX

GNU Radio

Eine anleitung für Arch ist im GNU Radio Wiki wiki zu finden. Eine genauere zum konfigurieren ist dort auf zu finden. Es ist wichtig das alle dependencies vorher installiert sind, da GNU Radio sonst einfach still und leise nur einen kleinen Teil baut. Beim configurieren läuft eine Zusamenfassung vorbei, welche Komponenten gebaut werden und drüber steht blockweise warum. Wichtig ist das „gnuradio-companion“ (die GUI um sich den Signalplan zusammen zu klicken) gebaut wird. Ggf. ist es einfacher alles ohne Arch packages zu bauen (sie geben aber hinweise auf die dependencies. Ggf. kann man doxygen deaktivieren um das lang dauernde erstellen der LaTeX doku zu verhindern.

Für GNU Radio muss zuerst die Python template engine Cheetah installiert werden.

AUR Sourcen

wget https://aur.archlinux.org/packages/py/python2-cheetah/python2-cheetah.tar.gz
tar -xvf python2-cheetah.tar.gz
cd python2-cheetah
makepkg -s
sudo pacman -U python2-cheetah-*.pkg.tar.xz

GNU Radio geht zwar auch mit QWT6 (erweiterung von Qt für die Wissenschaft), aber PyQWT (AUR) braucht noch QWR5 (AUR)

UHD (AUR) ist ein Hardware Trieber. Wird dem ältersten Kommentar zufollge benötig.

AUR

wget http://aur.archlinux.org/packages/gn/gnuradio-git/gnuradio-git.tar.gz
tar -xvf gnuradio-git.tar.gz
cd gnuradio-git
makepkg -s
sudo pacman -U XXXXXXXXXXXXX

Die Komponenten

rtl_sdr

An I/Q recorder for RTL2832 based DVB-T receivers

 -f frequency_to_tune_to [Hz]
[-s samplerate (default: 2048000 Hz)]
[-d device_index (default: 0)]
[-g gain (default: 0 for auto)]
[-b output_block_size (default: 16 * 16384)]
[-S force sync output (default: async)]
filename (a '-' dumps samples to stdout)

rtl_tcp

An I/Q spectrum server for RTL2832 based DVB-T receivers

[-a listen address]
[-p listen port (default: 1234)]
[-f frequency to tune to [Hz]]
[-g gain (default: 0 for auto)]
[-s samplerate in Hz (default: 2048000 Hz)]
[-b number of buffers (default: 32, set by library)]
[-d device index (default: 0)]

rtl_test

A benchmark tool for RTL2832 based DVB-T receivers

[-s samplerate (default: 2048000 Hz)]
[-d device_index (default: 0)]
[-t enable Elonics E4000 tuner benchmark]
[-b output_block_size (default: 16 * 16384)]
[-S force sync output (default: async)]

GNU Radio

Einen kurzen einstieg gibt es im GNU Radio Wiki.

Es gibt die follgenden zwei Source blocks die das USB gerät als SDR in GNU Radio einbinden können.

gr-osmosdr (OsmoCom/OsmoSDR source block)

Der source block vom OsmoCom Projekt OsmoSDR. http://sdr.osmocom.org/trac/wiki/rtl-sdr

gr-baz

Das ist der „orginal“ source block von dem der es als erstes implementiert hat: http://wiki.spench.net/wiki/RTL2832. Am ende der Seite sind auch viele links zu finden. http://wiki.spench.net/wiki/Gr-baz

Peiler

Zefix da war wer schon schneller: http://wiki.spench.net/wiki/SDRDF (allerdings hat er es mit einem input des referenzsignals und somit einem tuerenren SDR gemacht)

Switching box

Weitere Anwendungen

Sammlungen

UKW Empfänger

Die UKW demodulation ist auf Wikipedia beschrieben oder hier. EIne auch mit langsamenen Atom rechnern funktionierende Implementierung LOL ist hier ukw.zip

Eine erfolgreiche implementierung (plus ein paar RTL SDR tips) sind auf slug's blog zu finden.

NFM Empfänger

FM empfänger

Wasserfall Diagramm

Multifunktionaler Empfänger (multimode)

Funk Thermometer auslesen

https://github.com/kevinmehall/rtlsdr-433m-sensor
(zufälligerweise hat Skruppy so eins, aber der Empfang hat nicht funktioniert)

GPS empfang

Diskussion

  • TomC0D: Die Software hat viele viele Abhängigkeiten, das zu kompilieren ist die Hölle. @Skruppy, hast Du nicht gesagt es gibt irgendwo ein VM-Image mit einer funktionierenden GnuRadio Installation? @TomC0D: Ne, ich habe das nicht gesagt, aber auch schonmal gehört. Was ich auf die Schnelle gefunden habe ist https://groups.google.com/d/msg/ultra-cheap-sdr/CTfdIplrtGM/jSQaqOXPJEEJ . Aber die dependencies + OS ist platz technisch immer noch größer als nur die dependencies und die sind dokumentiert. Aber ich gebe dir recht das die installation a pain in the ass war (vieleicht müsste man sowas vorher in ner VM üben)
  • xxm: Ein ziemliches leichtgewicht ist rtl_fm, ein Teil von rtl-sdr ( http://sdr.osmocom.org/trac/wiki/rtl-sdr#rtl_sdr , auch z.B. in Debian) aber nur Kommandozeile (mehr infos hier: http://kmkeen.com/rtl-demod-guide/index.html ). Was scheinbar komfortabler wäre (und mit GUI! Hui!) ist SDR# - Installation hier: http://rtlsdr.org/softwarelinux ABER läuft bei mir zumindest nicht stabil und langsam, SDR# ist mehr so was für Windows).

Tipp: VM, die schon GNURadio installiert hat

Folgendes hat Schneider vom muCCC vermailt neulich (Jan 2015):

sha512sum: c9a809b1476d1bb820b3a65e2616732bd077f8cd21515097b579666be82e5136b6386e1dd4bcde8728dd64403f70a6de13a6bdf056b231ba67ef8c51280a2261

projects/sdr.txt · Zuletzt geändert: 2017/08/25 20:37 von skruppy