DVB-T Stick als SDR-Receiver/Osmo-tetra mit rtl-sdr

Aus C3MAWiki
Zur Navigation springenZur Suche springen
Die druckbare Version wird nicht mehr unterstützt und kann Darstellungsfehler aufweisen. Bitte aktualisiere deine Browser-Lesezeichen und verwende stattdessen die Standard-Druckfunktion des Browsers.
Dieses Projekt ist erfolgreich abgeschlossen und wird hier dokumentiert. Falls du weitere Fragen dazu hast, wende dich an Tobi.


Einleitung

Hier wird beschrieben wie mit einem dvb-T usb-stick wie unter DVB-T_Stick_als_SDR-Receiver beschrieben, Tetra-Netzwerke aufgezeichnet und aus gewertet werden können

Voraussetzung

1. Einen dvb-t usb-stick auf Basis des Realtek 2832U Chips

2. rtl-sdr

3. libosmocore

4. Gnuradio

Bis zu diesem Punkt ist die Installation der benötigten Software unter DVB-T_Stick_als_SDR-Receiver erklärt.

Installation von Osmo-tetra

1. git repository clonen:

git clone git://git.osmocom.org/osmo-tetra.git

2. osmo-tetra übersetzen:

cd osmo-tetra/src
make

Als Macuser führt man als 2. Schritt vorher noch Steans patch durch, damit der Code kompiliert werden kann (Wikiadmins bitte mal kurz weggucken):

cd osmo-tetra
curl -o osmo-tetra_apple.patch "http://www.ccc-mannheim.de/mediawiki/images/4/48/Osmo-tetra_apple.patch.zip"
patch -p0 -i osmo-tetra_apple.patch
cd src
make

Verwendung

1. Samples aufzeichnen:

rtl_sdr -f 426079000 -s 1024000 /mnt/tmp/capture.bin

426,079 MHZ ist die Downlink Frequenz der nächsten Tetra-Basisstaion in meiner Umgebung.

2. Mit Gnuradio die Samples in ein Cfile umwandeln: [[1]]

3. Das cfile demodulieren: Hierzu im osmo-tetra verzeichnis

./sdr/osmo-tetra/src/demod/python/tetra-demod.py -i /tmp/capture.cfile -o /tmp/out.float -s 1024000

4. Das float file in bits umwandeln:

./sdr/osmo-tetra/src/float_to_bits /tmp/out.float /tmp/out.bits

5. tetra-rx ausführen:

./sdr/osmo-tetra/src/tetra-rx /tmp/out.bits 

Die Ausgabe sollte im Erfolgsfall etwas so aussehen:

TMB-SAP SYNC CC 000001(0x01) TN 01(1) FN 10000(16) MN 110011(51) MCC 0000000001(1) MNC 00000000000001(1)
TMV-UNITDATA.ind 51/16/1/000 BSCH CRC=1 SYNC
TMV-UNITDATA.ind 51/16/1/000 AACH CRC=1 ACCESS-ASSIGN
ACCESS-ASSIGN PDU: DL_USAGE: Unallocated UL_USAGE: Unallocated 
CRC COMP: 0x1d0f OK
SB2 51/16/1/000 type1: 1000001101110000010011000000010001101110011010110111011001101101000000100000000000000000000000011111111111111111110100100101
TMV-UNITDATA.ind 51/16/1/000 UNKNOWN CRC=1 BROADCAST
BNCH SYSINFO (DL 422012500 Hz, UL 412012500 Hz), service_details 0x0d25 Hyperframe 46950
	Advanced link: 1
	Air encryption: 0
	SNDCP data: 1
	unknown 0x8: 0
	Circuit data: 0
	Voice service: 1
	Normal mode: 0
	Migration supported: 0
	Cell never uses minimum mode: 1
	Priority cell: 0
	De-registration mandatory: 1
	Registration mandatory: 1

Hierbei handelt es sich um einen Auszug aus dem Testsample vom Osmocom projekt [2]