Télécommunications - Semestre 3
Annee: 2021-2022 | Semestre: 3 | Type: Technique
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 :
- Codage en ligne (NRZ, Manchester, etc.)
- Modulations numériques de base (ASK, FSK, PSK)
- Canal de transmission (bruit, atténuation)
- Détection/correction d'erreurs (CRC, codes correcteurs)
- Analyse performances (BER, SNR)
Prérequis
- Signaux et systèmes (Fourier)
- OL S3 (MATLAB, modulations)
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 :
- NRZ (Non-Return to Zero) : 0→-V, 1→+V. Simple mais composante DC.
- RZ (Return to Zero) : retour à 0 en milieu de bit. Synchronisation facilitée.
- Manchester (Biphase) : 0→transition haut-bas, 1→bas-haut. Pas de DC, auto-synchronisant (Ethernet 10Base-T).
- Miller : transition si 1, pas si 0 (sauf deux 0 consécutifs). Économie bande passante.
- AMI (Alternate Mark Inversion) : 0→0V, 1→±V alternés. Pas de DC.
Critères choix :
- Composante DC nulle (couplage AC)
- Densité transitions (synchronisation)
- Bande passante
- Immunité bruit
Module 2 : Modulations numériques
ASK (Amplitude Shift Keying) :
- Modulation amplitude porteuse
- Sensible au bruit
- Peu utilisée seule
FSK (Frequency Shift Keying) :
- 0→f₁, 1→f₂
- Robuste au bruit
- Applications : modems bas débit, RFID, LoRa
PSK (Phase Shift Keying) :
- BPSK : 0→0°, 1→180° (2 symboles). Robuste.
- QPSK : 4 phases (0°, 90°, 180°, 270°) → 2 bits/symbole. WiFi, satellite.
- 8-PSK : 8 phases → 3 bits/symbole.
QAM (Quadrature Amplitude Modulation) :
- Modulation amplitude + phase
- 16-QAM, 64-QAM, 256-QAM
- Haute efficacité spectrale (bits/Hz)
- Applications : 4G/5G, câble, WiFi
Constellation :
Représentation I/Q (en phase / quadrature) des symboles.
Module 3 : Canal de transmission
Modèle canal :
- Atténuation (pertes propagation)
- Bruit AWGN (Additive White Gaussian Noise)
- Interférences
- Distorsion (multi-trajets, dispersion)
SNR (Signal-to-Noise Ratio) :
SNR(dB) = 10 log₁₀(P_signal / P_bruit)
Capacité de Shannon :
C = B log₂(1 + SNR) (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 :
- Bit de parité : pair/impair. Détecte erreurs impaires.
- Checksum : somme octets.
- CRC (Cyclic Redundancy Check) : division polynomiale. Très efficace (Ethernet, USB). CRC-16, CRC-32.
Correction d'erreurs (FEC - Forward Error Correction) :
- Code de Hamming : corrige 1 erreur, détecte 2.
- Codes Reed-Solomon : CD, DVD, QR codes. Correction paquets d'erreurs.
- Codes convolutifs : mémoire, décodage Viterbi. Espace, 4G.
- Turbo codes, LDPC : proches limite Shannon. 5G.
Principe :
Ajout redondance (bits supplémentaires) pour détecter/corriger erreurs sans retransmission.
PART C: ASPECTS TECHNIQUES
TP MATLAB
TP1 : Codages en ligne
- Génération séquence bits
- Codage NRZ, Manchester, AMI
- Analyse spectrale (DSP)
TP2 : Modulation BPSK
- Génération porteuse, modulation
- Canal AWGN (SNR variable)
- Démodulation
- Calcul BER vs SNR
TP3 : QPSK et constellation
- Modulation QPSK
- Diagramme constellation I/Q
- Impact bruit sur constellation
TP4 : CRC
- Implémentation CRC-8, CRC-16
- Test détection erreurs (1 bit, 2 bits, burst)
Projet simulation chaîne complète
Architecture :
[Source bits] → [Codeur canal] → [Modulateur] → [Canal AWGN]
↓
[Sink bits] ← [Décodeur] ← [Démodulateur] ←
Paramètres :
- Modulation : QPSK
- Code correcteur : Hamming (7,4)
- SNR : 0 à 15 dB
- Débit : 1 Mbps
Résultats :
- Courbes BER vs SNR (avec/sans codage)
- Gain de codage (≈3-5 dB)
PART D: ANALYSE ET RÉFLEXION
Évaluation
- TP MATLAB (40%)
- Projet chaîne de transmission (30%)
- Contrôles (15%)
- Examen final (15%)
Compétences acquises
- Compréhension systèmes télécommunications numériques
- Simulation MATLAB (modulations, canal, BER)
- Analyse performances (SNR, BER, capacité)
- Codage détection/correction d'erreurs
- Fondements pour 4G/5G, WiFi, satellite
Applications professionnelles
- Télécommunications (mobiles, satellite, fibre)
- Réseaux sans fil (WiFi, LoRa, Bluetooth)
- Ingénieur RF/télécom
- IoT (protocoles bas débit)
Chaîne de communication numérique
Caractéristiques
- Débit binaire (bits/s)
- Bande passante (Hz)
- Efficacité spectrale (bits/s/Hz)
- Probabilité d'erreur (BER)
- Rapport signal/bruit (SNR)
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) :
- 0 : niveau bas
- 1 : niveau haut
- Simple mais composante continue
- Pas d'auto-synchronisation
NRZ-I (Inverted) :
- Transition sur les '1'
- Pas de transition sur les '0'
- Meilleure synchronisation
Codes RZ (Return to Zero)
- Retour à zéro au milieu du bit
- Meilleure synchronisation
- Bande passante doublée
Code Manchester
- Transition au milieu de chaque bit
- 0 : haut → bas
- 1 : bas → haut
- Auto-synchronisation
- Utilisé en Ethernet 10BASE-T
Code Manchester différentiel
- Transition en début de bit
- Présence/absence de transition au milieu
Code Bipolaire (AMI)
- 0 : niveau zéro
- 1 : alternance +V et -V
- Pas de composante continue
- Détection d'erreurs
Codes MLT-3, PAM-5
- Multi-niveaux
- Efficacité spectrale améliorée
- Utilisés en Ethernet rapide
Transmission en bande de base
Critère de Nyquist
- Pas d'interférence entre symboles (ISI)
- Filtre en cosinus surélevé (raised cosine)
- Roll-off factor
- Bande passante minimale
Diagramme de l'oeil
- Outil d'évaluation qualité
- Ouverture verticale (marge bruit)
- Ouverture horizontale (timing)
- Taux d'erreur binaire (BER)
Égalisation
- Compensation distorsions canal
- Égaliseur linéaire
- Égaliseur adaptatif (LMS)
- Égaliseur à retour de décision (DFE)
Détection et correction d'erreurs
Codes détecteurs
Parité simple :
- Bit de parité pair ou impair
- Détecte erreur unique
- Ne corrige pas
Parité croisée (2D) :
- Parité lignes et colonnes
- Détecte et corrige certaines erreurs
CRC (Cyclic Redundancy Check) :
- Polynôme générateur
- Reste de division polynomiale
- CRC-8, CRC-16, CRC-32
- Très efficace pour détection
Codes correcteurs
Code de Hamming :
- Distance de Hamming
- Correction 1 bit, détection 2 bits
- Hamming(7,4), Hamming(15,11)
- Bits de parité positionnés en 2^n
Code de Reed-Solomon :
- Code cyclique non binaire
- Correction de rafales d'erreurs
- Utilisé en CD, DVD, QR codes
- RS(255,223) typique
Codes convolutifs :
- Encodage continu
- Décodage Viterbi
- Utilisés en téléphonie mobile
- Rendement r = k/n
Turbo codes et LDPC :
- Codes modernes haute performance
- Proche limite de Shannon
- 4G, 5G, satellites
Performances de transmission
Probabilité d'erreur binaire (BER)
- BER = erreurs / bits transmis
- Dépend du SNR
- Objectifs : 10^-6 à 10^-12
Rapport Eb/N0
- Énergie par bit / Densité de bruit
- Mesure de qualité
- Courbes BER vs Eb/N0
Capacité de Shannon
- C = B log₂(1 + SNR)
- Limite théorique
- Débit maximal sans erreur
Travaux pratiques
TP Codage en ligne
- Génération de codes (NRZ, Manchester, AMI)
- Analyse spectrale
- Simulation de transmission
- Diagramme de l'oeil
TP CRC
- Implémentation algorithme CRC
- Test de détection d'erreurs
- Comparaison CRC-8, CRC-16, CRC-32
- Application sur microcontrôleur
TP Code de Hamming
- Encodage Hamming(7,4)
- Décodage et correction
- Insertion d'erreurs
- Taux de correction
Projet communication
- Liaison série codée
- Protection par CRC
- Protocole applicatif
- Tests de robustesse
Outils utilisés
Simulation
- MATLAB/Simulink : Simulation systèmes
- Python : Programmation algorithmes
- GNU Radio : SDR et communications
- LabVIEW : Acquisition et traitement
Développement
- STM32 : Implémentation embarquée
- Arduino : Prototypage rapide
- UART, SPI, I2C : Interfaces
Mesure
- Oscilloscope : Signaux et diagramme oeil
- Analyseur logique : Décodage protocoles
- BERT (Bit Error Rate Tester) : Mesure BER
Évaluation
- Travaux pratiques (40%)
- Projet de communication (30%)
- Contrôle continu (15%)
- Examen final (15%)
Liens avec d'autres cours
- SE : Traitement du signal
- OL : Modulation/démodulation
- IE : Implémentation protocoles
- Télécommunications Numériques (S4) : Approfondissement
- Réseau : Couches protocolaires
Exemples de calculs
Distance de Hamming
Nombre de bits différents entre deux mots :
- 101101 vs 101111 → distance = 1
- 101101 vs 010001 → distance = 3
CRC-8
Polynôme : x⁸ + x² + 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 XOR d2 XOR d4
p2 = d1 XOR d3 XOR d4
p3 = d2 XOR d3 XOR d4
Applications pratiques
Réseaux filaires
- Ethernet (Manchester)
- USB (NRZI)
- RS-232/RS-485
Communications sans fil
- WiFi (OFDM + codes)
- Bluetooth (FEC)
- Zigbee
Stockage
- Disques durs (Reed-Solomon)
- Mémoires flash (BCH, LDPC)
- Codes QR
Audiovisuel
- DVB (télévision numérique)
- DAB (radio numérique)
- HDMI
Compétences développées
- Codage et décodage de données
- Analyse de performances de transmission
- Implémentation d'algorithmes de protection
- Diagnostic de liaisons de communication
- Simulation de systèmes numériques
- Mesure et optimisation BER
Protocoles étudiés
Protocole de liaison de données
- Tramage
- Synchronisation
- Détection d'erreurs (CRC)
- Acquittements (ACK/NACK)
- Retransmission (ARQ)
Exemple : Protocole simple
[Start] [Length] [Data] [CRC16] [Stop]
0x02 1B nB 2B 0x03
Problèmes courants
Transmission
- Atténuation du signal
- Bruit (thermique, impulsionnel)
- Distorsion (ISI)
- Dérive d'horloge
- Réflexions (impédance)
Codage
- Composante continue excessive
- Bande passante trop large
- Perte de synchronisation
- Détection d'erreurs insuffisante
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
}
}
Telecommunications - Semester 3
Year: 2021-2022 | Semester: 3 | Type: Technical
PART A - General Course Overview
Context and objectives
Introduction to digital telecommunications systems: coding, modulations, transmission over noisy channels, error detection and correction. Foundation for Digital Telecom S4 and Networks.
Objectives:
- Line coding (NRZ, Manchester, etc.)
- Basic digital modulations (ASK, FSK, PSK)
- Transmission channel (noise, attenuation)
- Error detection/correction (CRC, error-correcting codes)
- Performance analysis (BER, SNR)
Prerequisites
- Signals and systems (Fourier)
- OL S3 (MATLAB, modulations)
PART B: EXPERIENCE, CONTEXT AND FUNCTION
Module 1: Line Coding
Principle:
Transforming bits (0/1) into electrical signals suitable for transmission.
Common codes:
- NRZ (Non-Return to Zero): 0→-V, 1→+V. Simple but has DC component.
- RZ (Return to Zero): return to 0 in mid-bit. Easier synchronization.
- Manchester (Biphase): 0→high-to-low transition, 1→low-to-high. No DC, self-clocking (Ethernet 10Base-T).
- Miller: transition on 1, none on 0 (except two consecutive 0s). Bandwidth efficient.
- AMI (Alternate Mark Inversion): 0→0V, 1→alternating +/-V. No DC.
Selection criteria:
- Zero DC component (AC coupling)
- Transition density (synchronization)
- Bandwidth
- Noise immunity
Module 2: Digital Modulations
ASK (Amplitude Shift Keying):
- Carrier amplitude modulation
- Noise sensitive
- Rarely used alone
FSK (Frequency Shift Keying):
- 0→f1, 1→f2
- Noise robust
- Applications: low-speed modems, RFID, LoRa
PSK (Phase Shift Keying):
- BPSK: 0→0 degrees, 1→180 degrees (2 symbols). Robust.
- QPSK: 4 phases (0, 90, 180, 270 degrees) → 2 bits/symbol. WiFi, satellite.
- 8-PSK: 8 phases → 3 bits/symbol.
QAM (Quadrature Amplitude Modulation):
- Amplitude + phase modulation
- 16-QAM, 64-QAM, 256-QAM
- High spectral efficiency (bits/Hz)
- Applications: 4G/5G, cable, WiFi
Constellation:
I/Q (in-phase / quadrature) representation of symbols.
Module 3: Transmission Channel
Channel model:
- Attenuation (propagation losses)
- AWGN noise (Additive White Gaussian Noise)
- Interference
- Distortion (multipath, dispersion)
SNR (Signal-to-Noise Ratio):
SNR(dB) = 10 log10(P_signal / P_noise)
Shannon capacity:
C = B log2(1 + SNR) (bits/s)
Theoretical maximum channel capacity.
BER (Bit Error Rate):
Bit error rate. BER < 10^-6 typical for reliable communications.
Module 4: Error Detection and Correction
Error detection:
- Parity bit: even/odd. Detects odd errors.
- Checksum: byte sum.
- CRC (Cyclic Redundancy Check): polynomial division. Very efficient (Ethernet, USB). CRC-16, CRC-32.
Error correction (FEC - Forward Error Correction):
- Hamming code: corrects 1 error, detects 2.
- Reed-Solomon codes: CD, DVD, QR codes. Burst error correction.
- Convolutional codes: memory, Viterbi decoding. Space, 4G.
- Turbo codes, LDPC: near Shannon limit. 5G.
Principle:
Adding redundancy (extra bits) to detect/correct errors without retransmission.
PART C: TECHNICAL ASPECTS
MATLAB Labs
Lab 1: Line coding
- Bit sequence generation
- NRZ, Manchester, AMI coding
- Spectral analysis (PSD)
Lab 2: BPSK modulation
- Carrier generation, modulation
- AWGN channel (variable SNR)
- Demodulation
- BER vs SNR calculation
Lab 3: QPSK and constellation
- QPSK modulation
- I/Q constellation diagram
- Noise impact on constellation
Lab 4: CRC
- CRC-8, CRC-16 implementation
- Error detection testing (1 bit, 2 bits, burst)
Complete chain simulation project
Architecture:
[Bit source] → [Channel encoder] → [Modulator] → [AWGN Channel]
↓
[Bit sink] ← [Decoder] ← [Demodulator] ←
Parameters:
- Modulation: QPSK
- Error-correcting code: Hamming (7,4)
- SNR: 0 to 15 dB
- Bitrate: 1 Mbps
Results:
- BER vs SNR curves (with/without coding)
- Coding gain (approximately 3-5 dB)
PART D: ANALYSIS AND REFLECTION
Assessment
- MATLAB labs (40%)
- Transmission chain project (30%)
- Tests (15%)
- Final exam (15%)
Skills acquired
- Understanding digital telecommunications systems
- MATLAB simulation (modulations, channel, BER)
- Performance analysis (SNR, BER, capacity)
- Error detection/correction coding
- Foundations for 4G/5G, WiFi, satellite
Professional applications
- Telecommunications (mobile, satellite, fiber)
- Wireless networks (WiFi, LoRa, Bluetooth)
- RF/telecom engineer
- IoT (low-bitrate protocols)
Digital communication chain
Characteristics
- Bit rate (bits/s)
- Bandwidth (Hz)
- Spectral efficiency (bits/s/Hz)
- Error probability (BER)
- Signal-to-noise ratio (SNR)
Line coding
Principle
Electrical representation of binary data for transmission over a channel.
NRZ codes (Non Return to Zero)
NRZ-L (Level):
- 0: low level
- 1: high level
- Simple but has DC component
- No self-synchronization
NRZ-I (Inverted):
- Transition on '1's
- No transition on '0's
- Better synchronization
RZ codes (Return to Zero)
- Return to zero in mid-bit
- Better synchronization
- Doubled bandwidth
Manchester code
- Transition in the middle of each bit
- 0: high → low
- 1: low → high
- Self-synchronization
- Used in Ethernet 10BASE-T
Differential Manchester code
- Transition at bit start
- Presence/absence of mid-bit transition
Bipolar code (AMI)
- 0: zero level
- 1: alternating +V and -V
- No DC component
- Error detection
MLT-3, PAM-5 codes
- Multi-level
- Improved spectral efficiency
- Used in Fast Ethernet
Baseband transmission
Nyquist criterion
- No inter-symbol interference (ISI)
- Raised cosine filter
- Roll-off factor
- Minimum bandwidth
Eye diagram
- Quality evaluation tool
- Vertical opening (noise margin)
- Horizontal opening (timing)
- Bit error rate (BER)
Equalization
- Channel distortion compensation
- Linear equalizer
- Adaptive equalizer (LMS)
- Decision feedback equalizer (DFE)
Error detection and correction
Detection codes
Simple parity:
- Even or odd parity bit
- Detects single error
- Does not correct
Cross parity (2D):
- Row and column parity
- Detects and corrects some errors
CRC (Cyclic Redundancy Check):
- Generator polynomial
- Polynomial division remainder
- CRC-8, CRC-16, CRC-32
- Very efficient for detection
Error-correcting codes
Hamming code:
- Hamming distance
- Corrects 1 bit, detects 2 bits
- Hamming(7,4), Hamming(15,11)
- Parity bits positioned at 2^n
Reed-Solomon code:
- Non-binary cyclic code
- Burst error correction
- Used in CD, DVD, QR codes
- RS(255,223) typical
Convolutional codes:
- Continuous encoding
- Viterbi decoding
- Used in mobile telephony
- Rate r = k/n
Turbo codes and LDPC:
- Modern high-performance codes
- Near Shannon limit
- 4G, 5G, satellites
Transmission performance
Bit error probability (BER)
- BER = errors / transmitted bits
- Depends on SNR
- Targets: 10^-6 to 10^-12
Eb/N0 ratio
- Energy per bit / Noise density
- Quality measure
- BER vs Eb/N0 curves
Shannon capacity
- C = B log2(1 + SNR)
- Theoretical limit
- Maximum error-free bitrate
Lab work
Line coding lab
- Code generation (NRZ, Manchester, AMI)
- Spectral analysis
- Transmission simulation
- Eye diagram
CRC lab
- CRC algorithm implementation
- Error detection testing
- Comparison of CRC-8, CRC-16, CRC-32
- Microcontroller application
Hamming code lab
- Hamming(7,4) encoding
- Decoding and correction
- Error insertion
- Correction rate
Communication project
- Coded serial link
- CRC protection
- Application protocol
- Robustness testing
Tools used
Simulation
- MATLAB/Simulink: System simulation
- Python: Algorithm programming
- GNU Radio: SDR and communications
- LabVIEW: Acquisition and processing
Development
- STM32: Embedded implementation
- Arduino: Rapid prototyping
- UART, SPI, I2C: Interfaces
Measurement
- Oscilloscope: Signals and eye diagram
- Logic analyzer: Protocol decoding
- BERT (Bit Error Rate Tester): BER measurement
Assessment
- Lab work (40%)
- Communication project (30%)
- Continuous assessment (15%)
- Final exam (15%)
Links with other courses
- SE: Signal processing
- OL: Modulation/demodulation
- IE: Protocol implementation
- Digital Telecommunications (S4): Advanced topics
- Network: Protocol layers
Calculation examples
Hamming distance
Number of different bits between two words:
- 101101 vs 101111 → distance = 1
- 101101 vs 010001 → distance = 3
CRC-8
Polynomial: x^8 + x^2 + x + 1 (0x107)
Message : 11010011101100
Remainder: 10101010
Transmitted message: 11010011101100 10101010
Hamming code (7,4)
4 data bits: d1 d2 d3 d4
3 parity bits: p1 p2 p3
Position: p1 p2 d1 p3 d2 d3 d4
p1 = d1 XOR d2 XOR d4
p2 = d1 XOR d3 XOR d4
p3 = d2 XOR d3 XOR d4
Practical applications
Wired networks
- Ethernet (Manchester)
- USB (NRZI)
- RS-232/RS-485
Wireless communications
- WiFi (OFDM + codes)
- Bluetooth (FEC)
- Zigbee
Storage
- Hard drives (Reed-Solomon)
- Flash memory (BCH, LDPC)
- QR codes
Audiovisual
- DVB (digital television)
- DAB (digital radio)
- HDMI
Skills developed
- Data encoding and decoding
- Transmission performance analysis
- Implementation of protection algorithms
- Communication link diagnostics
- Digital system simulation
- BER measurement and optimization
Protocols studied
Data link protocol
- Framing
- Synchronization
- Error detection (CRC)
- Acknowledgments (ACK/NACK)
- Retransmission (ARQ)
Example: Simple protocol
[Start] [Length] [Data] [CRC16] [Stop]
0x02 1B nB 2B 0x03
Common issues
Transmission
- Signal attenuation
- Noise (thermal, impulsive)
- Distortion (ISI)
- Clock drift
- Reflections (impedance)
Coding
- Excessive DC component
- Too wide bandwidth
- Loss of synchronization
- Insufficient error detection
Embedded implementation
CRC on microcontroller
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;
}
Manchester code
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
}
}
Carte Nucleo L152RE - Vue gauche Nucleo L152RE Board - Left view
Carte Nucleo L152RE - Vue droite Nucleo L152RE Board - Right view