Dispersor (telecomunicacions)
El dispersor o entrellaçador és un bloc que s'utilitza en el codificador Reed-Salomon per tal de protegir el missatge binari dels possibles errors que es poden donar en la transmissió del senyal per a un canal de radiodifusió. Si el nombre d'errors dins d'un paquet de codi excedeix la capacitat del codi de correcció d'errors, no es recupera el codi del paquet original. El dispersor minora aquest problema per remenar símbols de la font a través de diverses paraules de codi, creant així una distribució més uniforme d'errors.
L'objectiu del dispersor és protegir els bytes contra errors impulsius distanciant els errors, per tal que el codificador Reed-Salomon tingui els mínims errors en sèrie possibles. Introdueix diferents retards per bytes contigus de manera que a la sortida s'obté un reordenament temporal de bytes.
Principal ús
[modifica]Els canal de radiodifusió presenten sovint ràfegues d'errors per alguna condició puntual adversa a la transmissió. Sense dispersor, és molt fàcil que el codificador Reed-Salomon no pugui corregir sèries seguides de bits erronis.
Si es produeixen més d'un cert nombre de bytes erronis sobre un mateix paquet de dades el codificador Reed-Solomon pot no ser capaç de corregir els errors pel fet que existeixi un nombre d'errors en un paquet més gran del que el codificador pot resoldre.[1]
El dispersor separa temporalment els bytes dels paquets de transport i, combinat amb el codificador Reed-Solomon, queden protegits contra errors impulsius en sèrie (burst errors). Així doncs, en el cas que de donar-se un ràfega d'errors en sèrie com és freqüent en radiodifusió, aplicant el dispersor invers al receptor, tornem a obtenir els paquets ordenats com a l'inici i els errors deguts a la transmissió estaran repartits al llarg dels paquets en lloc d'estar centrats en un o dos paquets.
Al tenir els errors repartits en tots els bytes, el codificador Reed-Salomon podrà corregir els errors en cada paquet.
Només hi ha dos inconvenients: requereix memòria i afegeix latència.
Exemple
[modifica]A continuació es mostra un exemple de com funciona el dispersor:
- Es mostra un exemple de paquets formats per 2 bytes no redundants i 2 bytes de redundància (4,2).
- Es produeix una ràfega d'errors sobre el bloc blau (3 errors).
- El codificador Reed-Solomon, només pot corregir 2 errors per bloc. Es perd el paquet blau.
- Solució: Tenim el mateix cas que en el punt 1. Els bytes dels diversos blocs es dispersen i es barregen entre si.
- Es produeix la mateixa ràfega d'errors de bit, però aquest cop sobre bytes pertanyents a blocs diferents.
- Es recomponen els paquets i el Reed-Solomon és capaç de corregir els errors.
- Obtenim els paquets lliures d'errors.
És evident que com més paquets sigui capaç de dispersar els bytes entre si, més útil serà el dispersor. Aquesta capacitat s'anomena profunditat, i en DVB s'estandarditza una profunditat de 12 bytes. A la variant terrestre de DVB (DVB-T), existeix un segon dispersor a la cadena FEC que treballa a nivell de bit, fent el codi més robust encara contra les ràfegues d'errors.