BUT2 · SAE301 Terminé
Conception et mise en œuvre d'une chaîne de transmission QPSK sur SDR
En groupe de trois, nous avons conçu sous MATLAB une chaîne de transmission QPSK et l'avons mise en œuvre sur une radio logicielle ADALM-PLUTO.
Contexte et objectif
Ce projet de deuxième année de BUT Réseaux et Télécommunications fait le lien entre la théorie du traitement du signal et sa mise en pratique sur radio logicielle (SDR). L'objectif était de concevoir, développer et valider une chaîne de transmission numérique complète, capable de transmettre un message texte ASCII d'un ordinateur à un autre via une liaison radiofréquence réelle, en modulation QPSK, sur matériel ADALM-PLUTO.
Ce que j'ai réalisé
En groupe, nous avons :
- figé les paramètres radio communs : porteuse à 868 MHz (bande ISM), échantillonnage à 1 Msps et 4 échantillons par symbole ;
- développé un script d'émission MATLAB : conversion du message en binaire, ajout d'un préambule (code de Barker à 13 bits) et d'un octet nul de fin de message, modulation QPSK et filtre en racine de cosinus surélevé (rolloff 0,5, span de 10 symboles) ;
- développé un script de réception : gain manuel fixé à 35 dB, correction grossière de fréquence, synchronisation des symboles et synchronisation de porteuse ;
- implémenté le décodage : détection du code de Barker par corrélation (seuil de 12 sur 13), lecture jusqu'à l'octet nul, filtrage des caractères imprimables.
Difficultés rencontrées et solutions
- Le SDR renvoie par défaut des entiers signés sur 16 bits, ce qui provoquait des erreurs de calcul et des résultats nuls en sortie de filtre : sortie du récepteur forcée en type double.
- Une fois la phrase terminée, le récepteur interprétait le bruit ambiant comme des données : ajout d'un octet nul en fin de message et arrêt du décodage dès sa détection.
- La constellation tournait (points formant des cercles) à cause du désaccord de fréquence entre les oscillateurs : ajout d'un bloc Carrier Synchronizer (boucle à verrouillage de phase).
Résultats
- Chaîne de transmission complète validée sur ADALM-PLUTO ; objectifs déclarés atteints.
- Après ajout de la synchronisation de porteuse, la constellation se fige et le taux d'erreur binaire chute (aucune valeur chiffrée fournie).
Ce que j'en retiens
Nous maîtrisons l'émission, le formatage par trame et la réception synchronisée. L'aspect le plus instructif a été la gestion des contraintes réelles (typage des données et synchronisation), qui n'apparaissent pas en simulation pure.
Technologies
- MATLAB
- ADALM-PLUTO
- radio logicielle (SDR)
- QPSK
- code de Barker
- filtre RRC
- synchronisation de porteuse
- traitement numérique du signal