SDR à l'aide d'un récepteur DVB-T avec une puce RTL2832U

De L'abscisse - FabLab et Hackerspace de Dijon
Révision datée du 1 novembre 2017 à 07:18 par Dlareg (discussion | contributions) (Liens : ajout d'un lien vers Wikibooks)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à : navigation, rechercher

Un récepteur DVB-T permet de recevoir la TNT sur son ordinateur, mais ça ne présente aucun intérêt. Le chipset rtl2832u permettait de recevoir directement (sans traitements matériels) les signaux radio du fait de ses fonctionnalités DAB/DAB+/FM. Eric Fry et Antti Palosaari ont mis en évidence[1] qu'il était possible de détourner l'usage premier de ces clés et de les utiliser en tant que récepteur radio sur une plage d'onde assez conséquente et ça c'est intéressant !

Présentation

Software Defined Radio (SDR) ou radio logicielle, désigne un ensemble récepteur/émetteur principalement composé d'éléments logiciels. Il en existe sur internet sous le nom de WebSDR[2]. Les clés USB DVB-T sont équipées d'un tuner pour réceptionner les ondes radios et d'un démodulateur, celui qui nous intéresse ici est le tuner R820T (v2) car il peut recevoir les ondes de 24 Mhz à 1766 MHz. Le DVB-T pour Digital Video Broadcasting – Terrestrial est une norme de diffusion de la télévision numérique par liaisons hertziennes terrestres. Il s’agit de l’une des normes de la famille DVB qui comprend des normes de diffusion de la télévision numérique par différents moyens. Le DVB-T définit la méthode de transmission des services télévisés (audio, vidéo et données).

Dans ce qu'il est possible de faire :

  • écouter la FM
  • AM: Most AM transmissions are below the bottom frequency of RTLSDR dongles. You will need a translator (I'll deal with translators soon) to get these frequency bands.
  • écouter les amateurs de morse
  • recevoir et démoduler des modes numériques tels que POCSAG, ADS-B (positions d'avion), AIS (positions de navire), AP25 et TETRA (radiocommutateur numérique interurbain) et bien d'autres
  • la réception GPS devrait être réalisable
  • il est possible de recevoir des transmissions par satellite, y compris des transmissions de la Station spatiale internationale. Avec une antenne de 2,5 mètres il serait possible de suivre le signal porteur sur des robots de l'espace lointain comme le Voyager et les missions sur Mars.

Réception

Le démodulateur permet de recevoir les ondes de 24 Mhz à 1766 MHz.

Bandes HF VHF UHF
plages de fréquence des bandes 3 MHz à 30 MHz 30 MHz à 300 MHz 300 MHz à 3 GHz
plages de fréquence des bandes couvertes par le récepteur 24 MHz à 30 MHz 30 MHz à 300 MHz 300 MHz à 1,7 GHz

Il couvre donc très peu les HF (3 MHz à 30 MHz), la totalité de la bande des VHF (30 MHz à 300 MHz ) et une partie des UHF (300 MHz à 3 GHz).

Utilisation des fréquences[3][4]

Fréquence Utilisation
30,525 à 32.125 MHz Réseaux privés
30,750 à 32.075 MHz Appareils faible portée non spécifiques
31.300 MHz Radiomessagerie sur site
32,125 à 32.500 MHz Usage militaire
32,500 à 33.700 MHz Réseaux privés
32.800 MHz Microphones sans fils
33,000 à 34.850 MHz Usage militaire
34,850 à 36.200 MHz Réseaux privés
36,200 à 36.400 MHz Microphones sans fils
36,400 à 37.500 MHz Usage militaire
37,500 à 38.250 MHz Radio-astronomie
39,000 à 40.600 MHz Réseaux privés
40,660 à 40.700 MHz Appareils faible portée non spécifiques
40,995 à 41.105 MHz Aéromodélisme
41,100 à 41.200 MHz Modélisme
41,205 à 41.245 MHz Téléalarme pour personnes âgées jusqu'au 31/12/2005
41,310 à 41.475 MHz Téléphones sans fils
47,000 à 47.120 MHz Réseaux privés
47,400 à 47.600 MHz Réseaux privés en région parisienne seulement
47,600 à 47.700 MHz Réseaux privés
50,000 à 50.200 MHz Trafic radioamateur, bande des 6 mètres
50.200 MHz Liaison vidéo sol-train, en Région parisienne
50,200 à 52.000 MHz Trafic radioamateur, bande des 6 mètres
55,750 à 63.750 MHz Télévision bande I
56.330 MHz Liaison vidéo sol-train, en région parisienne
62.860 MHz Liaison vidéo sol-train, en région parisienne
68,000 à 68.460 MHz Usage militaire
68,462 à 69.250 MHz Réseaux privés
69,250 à 70.000 MHz Usage militaire
70,250 à 70.525 MHz Réseaux privés
70,525 à 70.975 MHz Usage militaire
70,975 à 71.950 MHz Réseaux privés
71,300 à 71.800 MHz Appareils faible portée non spécifiques
72,200 à 72.500 MHz Modélisme
72,500 à 73.300 MHz Réseaux privés
73,300 à 74.800 MHz Gendarmerie nationale
75 MHz Radioborne aéronautique Marker
75,200 à 77.475 MHz Réseaux privés, taxis
77,475 à 80.000 MHz Gendarmerie nationale
80,000 à 82.475 MHz Réseaux privés
82,475 à 83.000 MHz Usage militaire
83,000 à 85.500 MHz Police
85,500 à 87.300 MHz pompiers, Service d'aide médicale urgente, SAMU
87,300 à 87.500 MHz Radiomessagerie unilatérale : alphapage, biplus ou Eurosignal
87,500 à 108.000 MHz Radio FM|Radiodiffusion FM bande II
108,000 à 117.950 MHz Radio Navigation Aéronautique (VHF Omnidirectional Range et Instrument landing system)
117,975 à 137.000 MHz Trafic aéronautique, Radiocommunication aéronautique (fréquence d'urgence 121.5 MHz)
137,100 à 137.900 MHz Liaisons satellitaires descendantes (Satellites Météo) par fax en Modulation de fréquence FM de 40 kHz
138,000 à 143.975 MHz Usage militaire
143.9875 MHz Pratique du vol libre, deltaplane, parapente en FM
144,000 à 146.000 MHz Trafic radioamateur, bande des 2 mètres (Automatic Position Reporting System)
146,000 à 156.000 MHz Trafic aéronautique (liaisons satellitaires montantes de 148 MHz à 150 MHz)
151,005 à 152.990 MHz Réseaux privés
152,000 à 152.020 MHz Radiomessagerie sur site
152,570 à 152.655 MHz Appareils faible portée non spécifiques
152,990 à 155.995 MHz Réseaux privés
154,980 à 155.180 MHz Liaisons fixes d'abonnés isolés
155,995 à 162.995 MHz Réseaux privés en dehors des côtes
156,025 à 157.425 MHz Trafic maritime et fluvial, bande « VHF marine » veille sur le Canal 16
160,625 à 160.950 MHz Trafic maritime et fluvial, bande « VHF marine »
161,550 à 162.025 MHz Trafic maritime et fluvial, bande « VHF marine »
162,500 à 162.525 MHz Trafic maritime et fluvial, bande « VHF marine »
164,800 à 168.900 MHz Réseaux privés
169,410 à 173.815 MHz Radiomessagerie norme ERMES
169,795 à 173.495 MHz Réseaux privés
173,500 à 174.000 MHz SAMU
174,000 à 223.000 MHz Télévision bande III et Radio numérique terrestre en France
174,000 à 234.000 MHz Digital Audio Broadcasting (DAB bande III)
175,500 à 178.500 MHz Microphones sans fil
183,500 à 186.500 MHz Microphones sans fil
223,500 à 225.000 MHz Appareils faible portée non spécifiques jusqu'au 31 décembre 2005
225,000 à 400.000 MHz Bande aéronautique UHF, liaisons satellitaires, militaires, ACROPOL
225 MHz à 326.5 MHz Bande aéronautique UHF militaire, contrôle espace aérien supérieur, service aéro-spatial
326.5 MHz à 328.5 MHz Radioastronomie
328.5 MHz à 328.6 MHz Aéronautique militaire
328.6 MHz à 335.4 MHz Radionavigation aéronautique Instrument Landing System (ILS « haut-bas »)
335.4 MHz à 400 MHz Bande aéronautique UHF, liaisons satellitaires, militaires, ACROPOL
401 MHz fréquence montante satellitaire (ARGOS)
406 MHz à 406.1 MHz Radiobalise de localisation des sinistres
430 à 440 MHz Radioamateur amateur, radionavigation (Syledis)
433 MHz Télécommandes et liaisons domotiques, appareils radio portatifs faible portée LPD433 (LPD 433 MHz)
444.6 MHz Appareils radio portatifs faible portée KDR 444 (KDR 444 en Suède et en Norvège)
446 MHz Appareils radio portatifs faible portée PMR446 (PMR 446 MHz)
470 à 694 MHz télévision bandes IV et V
694 à 790 MHz télévision bande V ou télécommunications mobiles LTE (suivant calendrier)
791 à 862 MHz télécommunications mobiles 4G et LTE (réseaux mobiles)
863 à 865 MHz microphones sans fil
876 à 960 MHz GSM, GSM-R et UMTS
960 à 1215 MHz Radio Navigation Aéronautique (Distance Measuring Equipment, TACAN)
1 215 à 1240 MHz GPS L2 code P/Y militaire
1 240 à 1256 MHz GLONASS
1 260 à 1300 MHz Radioamateur amateur, Galileo (système de positionnement)
1420.4 MHz Raie d’hydrogène à la longueur d'onde de 21 centimètres
1 525 à 1559 MHz liaisons mobiles satellitaires (réception Inmarsat)
1 563 à 1587 MHz GPS L1 codes C/A civil et P/Y militaire, Galileo (système de positionnement)
1 591 à 1610 MHz GLONASS
1 610 à 1625 MHz liaisons mobiles satellitaires (émission Globalstar)
1621,35-1626,5 MHz liaisons mobiles satellitaires (Iridium en time division duplex (TDD))
1626,5-1660,5 MHz liaisons mobiles satellitaires (émission Inmarsat)
1710 à 1880 MHz GSM et 4G/LTE (réseaux mobiles) LTE à partir d'octobre 2013

Pour plus de détails : http://radio.pagesperso-orange.fr/Bandes.htm#VHF

Coût

20 à 40 € selon le modèle

Niveau de difficulté

Orange.png

Matériel nécessaire

  • une clé USB DVB-T
  • un ordinateur
  • une antenne

Généralités

Distribution Linux dédiée à la radio

Skywave Linux
https://skywavelinux.com/

Prise en charge sous Linux

Sur Ubuntu 16.04

Le pilote est en principe pris en charge dans un noyau récent. Pour le vérifier, brancher le périphérique USB

   # lsusb
   Bus 001 Device 004: ID 0bda:2838 Realtek Semiconductor Corp. RTL2838 DVB-T

Installer rtl-sdr, une librairie qui permet

Empêcher le module dvb d'être chargé au démarrage

   # cat /etc/modprobe.d/blacklist.conf
   # DVB blacklist
   blacklist dvb_usb_rtl28xxu

Installer la librairie rtl-sdr

Logiciel

GNU Radio

GNU Radio est une suite logicielle dédiée à l’implémentation de radios logicielles et de systèmes de traitement du signal.
Les fonctions de traitement du signal sont implémentées en C++ et les modules complémentaires sont en Python.

(en)https://www.gnuradio.org/
https://fr.wikipedia.org/wiki/GNU_Radio

GNU Radion Compagnion

GRC est une interface graphique qui permet d’assembler les modules graphiquement. Cet ensemble d’outils permet d’effectuer des simulations ou de fonctionner sur des signaux réels.

Tutoriel de prise en main par J.-M Friedt, 30 janvier 2017
http://jmfriedt.free.fr/tp_sdr.pdf

Antennes

Principe de fonctionnement des antennes (3 pages) : https://www.numilog.com/package/extraits_pdf/e271170.pdf

Les antennes, physique appliquée (47 pages) : http://www.ta-formation.com/cours/e-antennes.pdf

Un ouvrage généraliste sur les antennes : http://en.calameo.com/books/0046004897a54db03a46d

Un pas à pas pour une antenne fractale : http://www.instructables.com/id/Indoors-Fractal-HDTV-Antenna/

Un mode d’emploi pour une antenne yagi : http://warxezz.free.fr/direct/wifi/antennes-fr/Dimensionnement-et-conception-d.pdf

Un mémoire sur des antennes miniatures : https://tel.archives-ouvertes.fr/tel-00544576/document

Pas à pas

Écouter la FM

En ligne de commande

   $ rtl_fm -f 100e6 -M wbfm -s 200000 -r 48000 - | aplay -r 48k -f S16_LE

Graphiquement

Utiliser un binaire prêt à l'emploi, CubicSDR.

CubicSDR.png

Site officiel : http://cubicsdr.com/

Télécharger CubicSDR pour Linux
   $ wget https://github.com/cjcliffe/CubicSDR/releases/download/0.2.0/CubicSDR-0.2.0-x86_64.AppImage
Exécution CubicSDR
   $ ./CubicSDR-0.2.0-x86_64.AppImage

Réception ADS-B, transpondeur d'avion

L'ADS-B (Automatic Dependent Surveillance-Broadcast) est un système coopératif de surveillance du trafic aérien. Il équipe une vaste majorité des aéronefs utilisés pour les vols commerciaux. Il existe 3 liaisons ADS-B : VDL (VHF Data Link Mode 4), UAT (Universal Access Transponder) et 1090ES (1090MHz Extended Squitter). La liaison 1090ES utilise la fréquence de 1090 MHz et non chiffrée.

Dump1090 est un décodeur des informations 1090ES mode S pour le périphérique RTLSDR. Mode S est une normes de transpondeurs aéronautiques dont le codage 56 et 112 bits permet au radar d'interroger chaque aéronef séparément. L'altitude est plus précise, il permet également la transmission d'autres types de données, comme le numéro de vol de l'aéronef et l'altitude de vol sélectionnée par le pilote[5].

Installation, cloner le dépôt dump1090

   git clone https://github.com/antirez/dump1090.git && cd dump1090/

on peut lui préférer le fork de MalcolmRobb qui intègre la possibilité d’avoir OSM en fond de carte

   git clone https://github.com/MalcolmRobb/dump1090.git && cd dump1090
   make

Utilisation

Montre le trafic dans la sortie standard

   ./dump1090

Montre le trafic en hexadécimal

   ./dump1090 --raw

Montre le trafic de manière interactive dans un tableau

   ./dump1090 --interactive

Montre le trafic de manière interactive dans un tableau et met à disposition une carte sur le port 8000 en local, ouvrir un navigateur sur http://localhost:8080

   ./dump1090 --interactive --net --gain 49.6

Carte des transpondeurs sur une carte : https://www.flightradar24.com

Intercepter les flux GSM

Les communications GSM européennes se font sur les bandes des 900MHz et 1800MHz.

  • 880 à 915 MHz pour les flux montant du mobile vers l'antenne
  • de 925 à 960 MHz pour les flux descendant de l'antenne vers le mobile

Installation Compilation sur Ubuntu 16.04

La version 0.40 du ppa ne fonctionne pas (ne renvoi aucun résultat) :

   # add-apt-repository -y ppa:ptrkrysik/gr-gsm
   # apt update
   # apt install gr-gsm

L'installation par pip ne fonctionne pas non plus
https://github.com/ptrkrysik/gr-gsm/wiki/Installation

Il reste… la compilation \o/

Installation des dépendances :

   # apt-get install cmake libboost-all-dev libcppunit-dev swig doxygen liblog4cpp5-dev python-scipy gnuradio gnuradio-dev rtl-sdr librtlsdr-dev osmo-sdr libosmosdr-dev libosmocore libosmocore-dev

Téléchargement des sources :

   $ git clone https://github.com/ptrkrysik/gr-gsm.git

Compilation en version 0.41 :

   $ cd gr-gsm
   $ mkdir build ; cd build
   $ cmake -DCMAKE_INSTALL_PREFIX=/usr ../
   $ make
   # make install

Utilisation

   $ grgsm_scanner 
   linux; GNU C++ version 5.4.0 20160609; Boost_105800; UHD_003.010.002.000-3-g122bfae1
   ARFCN:  981, Freq:  926.4M, CID:     0, LAC:     0, MCC:   0, MNC:   0, Pwr: -47
   ARFCN: 1018, Freq:  933.8M, CID: 35392, LAC:   226, MCC: 208, MNC:  20, Pwr: -38
   ARFCN: 1020, Freq:  934.2M, CID: 41032, LAC:   226, MCC: 208, MNC:  20, Pwr: -44
   ARFCN:   76, Freq:  950.2M, CID: 55615, LAC: 48516, MCC: 208, MNC:  10, Pwr: -48
   ARFCN:   82, Freq:  951.4M, CID: 13113, LAC: 48516, MCC: 208, MNC:  10, Pwr: -34
   ARFCN:   87, Freq:  952.4M, CID:  2114, LAC: 48516, MCC: 208, MNC:  10, Pwr: -44

Si aucune antenne relais n'apparaît il vous faut augmenter le gain avec l'option -g (la valeur par défaut est 24.0) :

   $ grgsm_scanner -g 49.6

De nombreux services propose de chercher une antenne relais, CellIdFinder semble plutôt fiable, il faut se munir des informations suivantes MCC (toujours 208 pour la France), MNC, LAC et du CID : http://cellidfinder.com/cells

Les CID sont des ID internes à l'opérateur et non diffusée, elles sont collectées avec toutes les erreurs que cela peut induire.
Les bases de Google (Américain) et de Yandex (Russe) ne renvoient pas forcement les mêmes informations !

Liens

Wikibook : Introduction aux radios logicielles avec GNU Radio
https://fr.wikibooks.org/wiki/Introduction_aux_radios_logicielles_avec_GNU_Radio/

La Radio Définie par Logiciel (SDR) avec le chipset rtl2832u
https://doc.ubuntu-fr.org/rtl-sdr

CubicSDR is a cross-platform Software-Defined Radio
http://cubicsdr.com/

Compatibilité
http://rtlsdr.org/hardware-usb

Logiciel dump1090
https://github.com/antirez/dump1090

Références

Auteurs

Licence de la page

Attribution - Partage dans les Mêmes Conditions 3.0 non transposé (CC BY-SA 3.0)

Vous êtes libre de :

  • partager — reproduire, distribuer et communiquer l’œuvre
  • remixer — adapter l’œuvre
  • d’utiliser cette œuvre à des fins commerciales

Selon les conditions suivantes :

  • Attribution — Vous devez attribuer l’œuvre de la manière indiquée par l’auteur de l’œuvre ou le titulaire des droits (mais pas d’une manière qui suggérerait qu’ils vous approuvent, vous ou votre utilisation de l’œuvre).
  • Partage dans les Mêmes Conditions — Si vous modifiez, transformez ou adaptez cette œuvre, vous n’avez le droit de distribuer votre création que sous une licence identique ou similaire à celle-ci.

http://creativecommons.org/licenses/by-sa/3.0/deed.fr