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
    }
}
Nucleo L152RE

Carte Nucleo L152RE - Vue gauche Nucleo L152RE Board - Left view

Nucleo L152RE

Carte Nucleo L152RE - Vue droite Nucleo L152RE Board - Right view