Télécommunications - Semestre 3


PART A - Présentation Générale du Cours

Contexte et objectifs

Introduction aux systèmes de télécommunications numériques : codage, modulations, transmission sur canal bruité, détection et correction d’erreurs. Fondement pour Télécom Num S4 et Réseaux.

Objectifs :

Prérequis


PART B: EXPÉRIENCE, CONTEXTE ET FONCTION

Module 1 : Codage en ligne

Principe : Transformation bits (0/1) en signal électrique adapté à la transmission.

Codes courants :

Critères choix :

Module 2 : Modulations numériques

ASK (Amplitude Shift Keying) :

FSK (Frequency Shift Keying) :

PSK (Phase Shift Keying) :

QAM (Quadrature Amplitude Modulation) :

Constellation : Représentation I/Q (en phase / quadrature) des symboles.

Module 3 : Canal de transmission

Modèle canal :

SNR (Signal-to-Noise Ratio) : \(SNR_{dB} = 10 \log_{10}\left(\frac{P_{signal}}{P_{bruit}}\right)\)

Capacité de Shannon : \(C = B \log_2(1 + SNR) \quad \text{(bits/s)}\) Capacité maximale théorique du canal.

BER (Bit Error Rate) : Taux d’erreur binaire. BER < 10⁻⁶ typique pour communications fiables.

Module 4 : Détection et correction d’erreurs

Détection d’erreurs :

Correction d’erreurs (FEC - Forward Error Correction) :

Principe : Ajout redondance (bits supplémentaires) pour détecter/corriger erreurs sans retransmission.


PART C: ASPECTS TECHNIQUES

TP MATLAB

TP1 : Codages en ligne

TP2 : Modulation BPSK

TP3 : QPSK et constellation

TP4 : CRC

Projet simulation chaîne complète

Architecture :

[Source bits] → [Codeur canal] → [Modulateur] → [Canal AWGN]
                                                     ↓
[Sink bits]  ← [Décodeur]     ← [Démodulateur]     ←

Paramètres :

Résultats :


PART D: ANALYSE ET RÉFLEXION

Évaluation

Compétences acquises

Applications professionnelles

Caractéristiques

Codage en ligne

Principe

Représentation électrique des données binaires pour la transmission sur un canal.

Codes NRZ (Non Return to Zero)

NRZ-L (Level) :

NRZ-I (Inverted) :

Codes RZ (Return to Zero)

Code Manchester

Code Manchester différentiel

Code Bipolaire (AMI)

Codes MLT-3, PAM-5

Transmission en bande de base

Critère de Nyquist

Diagramme de l’œil

Égalisation

Détection et correction d’erreurs

Codes détecteurs

Parité simple :

Parité croisée (2D) :

CRC (Cyclic Redundancy Check) :

Codes correcteurs

Code de Hamming :

Code de Reed-Solomon :

Codes convolutifs :

Turbo codes et LDPC :

Performances de transmission

Probabilité d’erreur binaire (BER)

Rapport Eb/N0

Capacité de Shannon

🛠️ Travaux pratiques

TP Codage en ligne

TP CRC

TP Code de Hamming

Projet communication

💻 Outils utilisés

Simulation

Développement

Mesure

📊 Évaluation

🔗 Liens avec d’autres cours

📐 Exemples de calculs

Distance de Hamming

Nombre de bits différents entre deux mots :

CRC-8

Polynôme : $x^8 + x^2 + x + 1$ (0x107)

Message : 11010011101100
Reste   : 10101010
Message transmis : 11010011101100 10101010

Code de Hamming(7,4)

4 bits données : d1 d2 d3 d4 3 bits parité : p1 p2 p3

Position : p1 p2 d1 p3 d2 d3 d4

p1 = d1 ⊕ d2 ⊕ d4
p2 = d1 ⊕ d3 ⊕ d4
p3 = d2 ⊕ d3 ⊕ d4

💡 Applications pratiques

Réseaux filaires

Communications sans fil

Stockage

Audiovisuel

📖 Compétences développées

🎯 Protocoles étudiés

Protocole de liaison de données

Exemple : Protocole simple

[Start] [Length] [Data] [CRC16] [Stop]
  0x02     1B      nB      2B     0x03

⚠️ Problèmes courants

Transmission

Codage

🔧 Implémentation embarquée

CRC sur microcontrôleur

uint8_t crc8(uint8_t *data, uint8_t len) {
    uint8_t crc = 0;
    for(uint8_t i=0; i<len; i++) {
        crc ^= data[i];
        for(uint8_t j=0; j<8; j++) {
            if(crc & 0x80)
                crc = (crc << 1) ^ 0x07;
            else
                crc <<= 1;
        }
    }
    return crc;
}

Code Manchester

void manchester_encode(uint8_t data, uint16_t *output) {
    for(int i=0; i<8; i++) {
        if(data & (1<<(7-i)))
            *output |= (0b01 << (14-i*2)); // 1 → 01
        else
            *output |= (0b10 << (14-i*2)); // 0 → 10
    }
}