Ce projet fournit un framework complet pour qualifier et évaluer les performances des systèmes de réception ADS-B basés sur des dongles RTL-SDR. Il s'inspire de la méthodologie de qualification GNSS développée par Ondocéan.
- Qualification objective des setups antenne + RTL-SDR
- Métriques standardisées de performance ADS-B
- Validation croisée avec sources de référence
- Rapports automatisés de qualification
| Catégorie | Poids | Métriques Clés |
|---|---|---|
| Précision | 40% | Exactitude position, décodage CPR |
| Temporel | 20% | Continuité suivi, latence |
| Signal | 20% | RSSI, intégrité messages |
| Disponibilité | 20% | Portée, taux détection |
# Dépendances système (Ubuntu/Debian)
sudo apt-get install librtlsdr-dev pkg-config
# Python 3.8+
python --version# Installation de rs1090 (décodeur ADS-B)
cargo install jet1090 --features rtlsdrgit clone https://github.com/Cusstomizer787/Ondocean-ADS-B-Qualify.git
cd Ondocean-ADS-B-Qualify
# Environnement virtuel
python -m venv .venv
source .venv/bin/activate # Linux/Mac
.venv\Scripts\activate # Windows
# Installation dépendances
pip install -r requirements.txt# Test avec RTL-SDR local
python scripts/adsb_qualification_generator.py --rtlsdr --duration=60
# Test avec données de référence
python scripts/adsb_qualification_generator.py --rtlsdr --duration=60 --reference=opensky
# Génération rapport HTML
python scripts/adsb_qualification_generator.py --rtlsdr --duration=60 --report=html# Avec position de référence
python scripts/adsb_qualification_generator.py \
--rtlsdr \
--duration=120 \
--reference-position="48.7089,2.1734" \
--reference=opensky \
--report=html,pdfondocean-qualify-ADS-B/
├── 📄 README.md
├── 📄 requirements.txt
├── 📄 setup.py
├── 🔧 scripts/
│ ├── 📊 adsb_qualification_generator.py # Script principal
│ ├── 📡 adsb_data_collector.py # Collecte données
│ ├── 📈 adsb_metrics.py # Calculs métriques
│ ├── ✅ adsb_reference_validator.py # Validation croisée
│ └── 🛠️ adsb_utils.py # Utilitaires
├── ⚙️ config/
│ ├── 📋 adsb_qualification.yaml # Configuration
│ └── 🎯 thresholds.yaml # Seuils qualification
├── 📚 docs/
│ ├── 📖 user_guide.md # Guide utilisateur
│ ├── 🔧 technical_reference.md # Référence technique
│ └── 🧪 testing_procedures.md # Procédures de test
├── 📋 templates/
│ ├── 🌐 qualification_report.html # Template rapport
│ └── 📄 qualification_summary.md # Template résumé
├── 🧪 tests/
│ ├── 🔬 test_adsb_qualification.py # Tests unitaires
│ ├── 📊 test_adsb_metrics.py # Tests métriques
│ └── 🎭 fixtures/ # Données de test
└── 📦 examples/
├── 🎯 basic_qualification.py # Exemple basique
└── 🔬 advanced_analysis.py # Analyse avancée
# config/adsb_qualification.yaml
receiver:
type: "rtlsdr"
frequency: 1090000000 # 1090 MHz
sample_rate: 2400000 # 2.4 MHz
gain: "auto"
qualification:
test_duration_minutes: 60
reference_sources:
- opensky_network
- flightradar24
thresholds:
precision:
excellent: 50.0 # RMS < 50m
good: 100.0 # RMS < 100m
acceptable: 200.0 # RMS < 200m
temporal:
excellent: 0.95 # Continuité > 95%
good: 0.90 # Continuité > 90%
acceptable: 0.80 # Continuité > 80%🎯 RÉSULTATS DE QUALIFICATION ADS-B
Score Global: 87/100 (BON)
📊 Détail par Catégorie:
├── Précision (40%): 92/100 (EXCELLENT)
│ ├── RMS Horizontal: 45.2 m
│ ├── RMS Altitude: 28.7 m
│ └── Succès CPR: 98.5%
│
├── Temporel (20%): 85/100 (BON)
│ ├── Continuité: 94.2%
│ ├── Latence Moy: 12.3 ms
│ └── Aéronefs Suivis: 127
│
├── Signal (20%): 82/100 (BON)
│ ├── RSSI Moyen: -28.4 dBm
│ ├── Intégrité: 97.8%
│ └── Plage Dyn: 45.2 dB
│
└── Disponibilité (20%): 89/100 (BON)
├── Portée Max: 287 km
├── Taux Détection: 91.3%
└── Couverture: Excellente
# Tests unitaires
python -m pytest tests/ -v
# Tests avec couverture
python -m pytest tests/ --cov=scripts/ --cov-report=html
# Tests de performance
python -m pytest tests/ -m "not slow"# Test avec données OpenSky
python examples/validate_with_opensky.py
# Comparaison multi-récepteurs
python examples/multi_receiver_comparison.py# Installation développement
pip install -r requirements-dev.txt
# Pre-commit hooks
pre-commit install
# Formatage code
black scripts/ tests/
isort scripts/ tests/- Python 3.8+ avec type hints
- Black pour le formatage
- pytest pour les tests
- Documentation complète des fonctions
MIT License - voir LICENSE pour les détails.
- rs1090 - Bibliothèque de décodage ADS-B haute performance
- OpenSky Network - Données de référence ADS-B
- Ondocéan GNSS Qualify - Méthodologie de qualification
- Issues GitHub : Signaler un problème
- Discussions : Forum de discussion
Ondocéan ADS-B Qualify - Qualification objective des systèmes ADS-B RTL-SDR