# MPE-FEC

MPE-FEC (en anglès, Multiprotocol Encapsulation - Forward Error Correction) és el protocol de correcció d'errors utilitzat per l'estàndard DVB-H, ja que les interfícies d'entrada i sortida són IP.

## Objectiu

La combinació del protocol de correcció d'errors juntament amb la seva capacitat d'entrellaçat, proporciona un robust mecanisme per millorar notablement la relació portadora a soroll (C/N) i l'Efecte Doppler. Mitjançant la utilització de MPE-FEC cada datagrama IP, procedent de la ràfega generada pel time-slicing, és protegit aplicant el codi Reed-Solomon RS (255,191). Aquest tipus de codi es troba dins de la categoria FEC (Forward Error Correction), és a dir permet la correcció d'errors en recepció sense necessitat de retransmissions.

## Trames MPE-FEC

A causa del mecanisme de time-slicing que utilitza l'estàndard DVB-H es fa necessari l'ús d'una memòria, que serà aprofitada a més per dur a terme l'entrellaçat temporal i afegir un mètode de correcció d'errors. Aquestes necessitats ens porten a la creació de la trama MPE-FEC. Aquesta trama està formada per una matriu de 255 columnes i un nombre de files que poden prendre els valors 256, 512, 768 i 1024, on cada posició correspon a un byte.
La trama es compon de dues taules:
    1. ADT (Application Data Table), correspon a les primeres 191 columnes, i l'objectiu és emmagatzemar els datagrames IP.
    2. RS Data Table (Reed Solomon), corresponent a les últimes 64 columnes, i l'objectiu és emmagatzemar la informació de paritat del datagrama IP.

### Mecanisme de farciment de la trama

Els datagrames IP són introduïts a la ADT verticalment columna per columna, començant per la cantonada superior esquerra. Si un datagrama IP no finalitza exactament al final d'una columna, els bits sobrants continuen al començament de la següent columna. D'altra banda, si els datagrames IP no omplen per complet la ADT les posicions sobrants són farcides amb zeros, també anomenatpadding.
Un cop completada la ADT es completen els 64 bytes de cadascuna de les files de la RS Data Table calculant horitzontalment la paritat de les files de la ADT (191 bytes de datagrama IP), el que proporciona una gran capacitat d'entrellaçat temporal, ja les paraules codi es calculen per files (horitzontalment) mentre que els paquets IP s'introdueixen en la trama verticalment. D'aquesta manera, els bits de paritat de la taula RS queden escampats al llarg de l'eix temporal.
El farciment de zeros de l'ADT o padding és només utilitzat per al càlcul del RS Data Table, i no per a la transmissió.
De la mateixa manera que hem realitzat el padding, és possible reduir el nombre de columnes de la taula RS aplicant la tècnica del puncturing, en la qual es descarten algunes columnes reduint el nivell de protecció. És per això que, com més llarga sigui la trama, més gran serà la profunditat d'entrellaçat, i conseqüentment major la robustesa enfront de la transmissió en un medi hostil com és l'aire.

## Descodificació de la trama a recepció

Gràcies al mecanisme de detecció d'errors (CRC-32) proporcionat pel protocol IP, només arriben al descodificador MPE-FEC les seccions del datagrama IP rebudes correctament.
El descodificador col·loca columna a columna en la seva trama MPE-FEC destí dels datagrames i les RS que han arribat correctament. Aquesta trama contindrà buits corresponents a les seccions que s'han perdut.
Un cop completada la trama destinació, i a causa de la robustesa de descodificació del protocol RS (255 191), és possible completar els buits fins a un total de 64 bytes per fila.
Aquesta potent capacitat de correcció d'errors, juntament amb l'entrellaçat temporal, possibiliten una gran reducció en la relació portadora a soroll (C/N) requerida. Alguns estudis mostren com la millora introduïda en la relació C/N és similar a la que arribaria utilitzant tècniques de diversitat d'antena.