Télécommande automobile et analyse radio
Le projet en bref
- Contexte
- Étude documentaire d’une télécommande BMW et exercice de traitement du signal.
- Mon rôle
- Présentation de la notice, lecture des relevés et analyse d’un signal synthétique avec Python.
- Livrable consultable
- Script, données et contrôles reproductibles.
- Résultat et limites
- La simulation produit trois salves de 20 ms à 433,920 MHz. Le dossier documentaire concerne une référence à 315 MHz ; il ne s’agit pas d’une capture de la clé photographiée.
Difficulté technique
Une apparence de clé ne permet pas d’identifier sa fréquence. La notice s’applique à la référence Siemens VDO 5WK49123 à 315 MHz ; le modèle numérique du portfolio utilise 433,920 MHz.
La fiche traite donc les deux jeux de données séparément. Le contrôle Python compare le pic spectral, le nombre de salves et leurs durées aux paramètres du signal synthétique. Il vérifie le traitement numérique, sans attribuer ces mesures à une télécommande réelle.
Analyse documentaire et simulation · Borel Théo
Exemple technique documenté
La référence documentaire retenue est la télécommande BMW Siemens VDO 5WK49123, sous l’identifiant FCC KR55WK49123. Ses trois boutons commandent le verrouillage, le déverrouillage et l’ouverture du coffre.
La notice technique de cette version annonce une fréquence porteuse de 315 MHz et une modulation FSK. L’information est attachée à cette référence précise. Une clé de même apparence peut utiliser une autre bande selon sa version.
- Porteuse
- 315,0 MHz ± 0,05 %
- Modulation
- FSK, synthèse par PLL
- Alimentation
- Accumulateur lithium VL2020, 3 V
- Commandes
- Portes et coffre, trois boutons
Notice Siemens VDO, pages 2 et 3 · Dossier FCC · Photos du modèle documenté
Analyse numérique du portfolio
Ces deux vues sont produites par le script du portfolio. Le modèle utilise trois salves de porteuse à 433,920 MHz mélangées à du bruit, pour vérifier la recherche du maximum spectral et la détection des durées. Il s’agit d’une simulation de traitement du signal.
Recalculer les graphiques
Le script détecte trois salves de 20 ms aux intervalles 15–35, 60–80 et 105–125 ms. La graine aléatoire est fixée. Python 3.10 ou une version ultérieure, NumPy et Matplotlib permettent de retrouver ces résultats.
python -m pip install numpy matplotlib
python analyse-rf.py --sortie resultats-rf
Résultats reproductibles de la simulation
Le contrôle relance le script, relit le CSV obtenu et compare les résultats aux paramètres du signal synthétique. Les quatre contrôles ci-dessous ont été exécutés avec succès. Ce jeu d’essai à 433,920 MHz est distinct de la référence documentaire à 315 MHz.
| Contrôle | Résultat observé | État |
|---|---|---|
| Fréquence du pic | 433,920 MHz | Conforme |
| Nombre de salves | 3 | Conforme |
| Intervalles (ms) | 15 à 35 ; 60 à 80 ; 105 à 125 ms | Conforme |
| Durées (ms) | 20 ; 20 ; 20 ms | Conforme |
Télécharger le dossier pour reproduire l’analyse
Consulter le rapport d’exécution
OK | Pic spectral (Hz) | [433920000] OK | Nombre de salves | 3 OK | Intervalles (ms) | [[15, 35], [60, 80], [105, 125]] OK | Durées (ms) | [20, 20, 20]
Les caractéristiques dans la notice
Annotations · BorelTO
Deux pics sur le relevé spectral
La FSK transmet l’information en faisant varier la fréquence. Sur le relevé d’essai, les deux pics proches sont visibles dans le cadre rouge. Le graphique représente l’énergie reçue selon la fréquence. La durée d’une pression se lit sur une vue temporelle.
Annotations · BorelTO
Repérer une pression dans Osmocom FFT
Sur cette capture réelle publiée par Rafael Cavalcanti, alias DoctorKino, le spectre est en haut et le défilement temporel en bas. Les zones rouges désignent le signal repéré par l’auteur. Les taches brèves dans la partie basse permettent de repérer les émissions dans le temps.
À lire également : Réception FM avec HackRF One sur Medium, adaptation du cours de Michael Ossmann, en version de travail.
