Autor: Byron Santillán Codificador de Viterbi En DVB-S se añade un mecanismo de corrección contra errores basado en un código convolucional. Un código convolucional 1/2 quiere decir que de cada bit de entrada al codificador, salen dos (redundancia del 50%). En recepción, el descodificador convolucional se basará en el algoritmo de Viterbi. 29 Este sistema se puede adecuar a otros códigos: 2/3, 3/4, 5/6, 7/8. La manera de especificar las características del codificador de Viterbi es mediante el FEC (Forward Error Correction). Por ejemplo, un FEC de 3/4. El codificador de Viterbi, a diferencia del codificador Reed-Solomon, garantiza protección a nivel de bit. Sirvan las siguientes tablas como un ejemplo teórico de codificación Decodificador Reconstrucción de la secuencia de estados más probable , Donde: Algunos de los cálculos del algoritmo de Viterbi recuerdan a los del algoritmo forward necesario para calcular eficientemente la probabilidad de una secuencia de observables. Una de las diferencias es la incorporación de la función argmax (en lugar de sumar las probabilidades) para calcular la secuencia de estados más probable. Ejemplo de secuencia de estados más probable La figura muestra un ejemplo de secuencia de estados más probable en un Modelo Oculto de Márkov de 5 estados dada un secuencia de observaciones de longitud 5 Codificación Reed-Solomon Esta codificación busca obtener protección del paquete de datos en frente de errores enla transmisión. Una vez aleatorizada la señal, esta se pasa por un codificador Reed Solomon, que es de todos los códigos cíclicos el más óptimo (máxima capacidad por corregir errores). Este código añade bits de redundancia a la información, de forma que el receptor, en función de estos bits, es capaz de detectar si ha habido algún error y, en el supuesto de que sea, corregirlo. En este proceso, a los 188 bytes el codificador añade 16 bytes de redundancia de forma que a la salida hay 204 bytes. Esta capacidad de corrección es posible siempre y cuando el número de errores no sea muy elevado. Con este sistema se puede conseguir corregir errores de hasta 8 bytes.