Un canal binario simétrico (o BSC p ) es un modelo de canal de comunicaciones común utilizado en la teoría de codificación y la teoría de la información . En este modelo, un transmisor desea enviar un bit (un cero o un uno), y el receptor recibirá un bit. El bit se "invertirá" con una " probabilidad de cruce " de p , y de lo contrario se recibirá correctamente. Este modelo se puede aplicar a diversos canales de comunicación, como líneas telefónicas o unidades de almacenamiento en disco .
El teorema de codificación de canal ruidoso se aplica a BSC p , y dice que la información se puede transmitir a cualquier velocidad hasta la capacidad del canal con un error arbitrariamente bajo. La capacidad del canal es bits, donde es la función de entropía binaria . Se han diseñado códigos que incluyen el código de Forney para transmitir información de manera eficiente a través del canal.
Un canal binario simétrico con probabilidad de cruce , denotado por BSC p , es un canal con entrada binaria y salida binaria y probabilidad de error . Es decir, si es la variable aleatoria transmitida y la variable recibida, entonces el canal se caracteriza por las probabilidades condicionales : [1]
Se supone que . Si , entonces el receptor puede intercambiar la salida (interpretar 1 cuando ve 0, y viceversa) y obtener un canal equivalente con probabilidad de cruce .
La capacidad del canal binario simétrico, en bits , es: [2]
donde es la función de entropía binaria , definida por: [2]
El teorema de codificación de canal ruidoso de Shannon proporciona un resultado sobre la tasa de información que se puede transmitir a través de un canal de comunicación con un error arbitrariamente bajo. Estudiamos el caso particular de .
El ruido que caracteriza es una variable aleatoria que consta de n bits aleatorios independientes (n se define más adelante) donde cada bit aleatorio es un con probabilidad y un con probabilidad . Esto lo indicamos escribiendo " ".
Teorema — Para todos todos , todos suficientemente grandes (dependiendo de y ), y todos , existe un par de funciones de codificación y decodificación y respectivamente, tales que cada mensaje tiene la siguiente propiedad:
Lo que este teorema implica en realidad es que, cuando se selecciona un mensaje de , se lo codifica con una función de codificación aleatoria y se lo envía a través de un canal ruidoso , existe una probabilidad muy alta de recuperar el mensaje original mediante la decodificación, si la velocidad del canal está limitada por la cantidad establecida en el teorema. La probabilidad de error de decodificación es exponencialmente pequeña.
El teorema se puede demostrar directamente con un método probabilístico . Considere una función de codificación que se selecciona al azar. Esto significa que para cada mensaje , el valor se selecciona al azar (con probabilidades iguales). Para una función de codificación dada , la función de decodificación se especifica de la siguiente manera: dada cualquier palabra de código recibida , encontramos el mensaje tal que la distancia de Hamming sea lo más pequeña posible (con empates resueltos arbitrariamente). ( se llama función de decodificación de máxima verosimilitud ).
La prueba continúa mostrando que al menos una de esas elecciones satisface la conclusión del teorema, por integración sobre las probabilidades. Supongamos que y son fijos. Primero mostramos que, para un fijo y elegido aleatoriamente, la probabilidad de falla sobre el ruido es exponencialmente pequeña en n . En este punto, la prueba funciona para un mensaje fijo . A continuación, ampliamos este resultado para que funcione para todos los mensajes . Logramos esto eliminando la mitad de las palabras de código del código con el argumento de que la prueba para la probabilidad de error de decodificación se cumple para al menos la mitad de las palabras de código. El último método se llama expurgación. Esto le da al proceso total el nombre de codificación aleatoria con expurgación .
El inverso del teorema de capacidad establece básicamente que es la mejor tasa que se puede lograr en un canal binario simétrico. Formalmente, el teorema establece:
Teorema — Si entonces lo siguiente es verdadero para cada función de codificación y decodificación : y : respectivamente: [ .
Sin embargo, la intuición detrás de la prueba muestra que la cantidad de errores crece rápidamente a medida que la tasa crece más allá de la capacidad del canal. La idea es que el remitente genera mensajes de dimensión , mientras que el canal introduce errores de transmisión. Cuando la capacidad del canal es , la cantidad de errores es típicamente para un código de longitud de bloque . La cantidad máxima de mensajes es . La salida del canal, por otro lado, tiene valores posibles. Si hay alguna confusión entre dos mensajes, es probable que . Por lo tanto, tendríamos , un caso que nos gustaría evitar para mantener la probabilidad de error de decodificación exponencialmente pequeña.
Recientemente se ha trabajado mucho, y se sigue trabajando, en el diseño de códigos de corrección de errores explícitos para alcanzar las capacidades de varios canales de comunicación estándar. La motivación detrás del diseño de dichos códigos es relacionar la velocidad del código con la fracción de errores que puede corregir.
El enfoque detrás del diseño de códigos que cumplen con las capacidades del canal o el canal de borrado binario ha sido corregir un número menor de errores con una alta probabilidad y lograr la tasa más alta posible. El teorema de Shannon nos da la mejor tasa que se podría lograr en un , pero no nos da una idea de ningún código explícito que logre esa tasa. De hecho, tales códigos se construyen típicamente para corregir solo una pequeña fracción de errores con una alta probabilidad, pero logran una muy buena tasa. El primer código de este tipo se debió a George D. Forney en 1966. El código es un código concatenado mediante la concatenación de dos tipos diferentes de códigos.
Forney construyó un código concatenado para lograr la capacidad del teorema de codificación de canal ruidoso para . En su código,
Para el código externo , el código Reed-Solomon habría sido el primer código que se nos habría ocurrido. Sin embargo, veremos que la construcción de un código de este tipo no se puede realizar en tiempo polinómico. Por eso se utiliza un código lineal binario .
Para el código interno encontramos un código lineal mediante una búsqueda exhaustiva del código lineal de longitud de bloque y dimensión , cuya tasa cumpla con la capacidad de , mediante el teorema de codificación de canal ruidoso.
La tasa que casi cumple con la capacidad. Observamos además que la codificación y decodificación de se puede realizar en tiempo polinomial con respecto a . De hecho, la codificación lleva tiempo . Además, el algoritmo de decodificación descrito lleva tiempo tanto como ; y .
Un algoritmo de decodificación natural es:
Tenga en cuenta que cada bloque de código para se considera un símbolo para . Ahora, dado que la probabilidad de error en cualquier índice para es como máximo y los errores en son independientes, el número esperado de errores para es como máximo por linealidad de expectativa. Ahora, aplicando el límite de Chernoff , hemos limitado la probabilidad de error de que ocurran más de errores a . Dado que el código externo puede corregir como máximo los errores, esta es la probabilidad de error de decodificación de . Esto, cuando se expresa en términos asintóticos, nos da una probabilidad de error de . Por lo tanto, la probabilidad de error de decodificación lograda de es exponencialmente pequeña como el teorema de codificación de canal ruidoso.
Hemos proporcionado una técnica general para construir . Para obtener descripciones más detalladas sobre y lea las siguientes referencias. Recientemente, también se han construido algunos otros códigos para lograr las capacidades. Se han considerado los códigos LDPC para este propósito por su tiempo de decodificación más rápido. [4]
El canal binario simétrico puede modelar una unidad de disco utilizada para el almacenamiento de memoria: la entrada del canal representa un bit que se escribe en el disco y la salida corresponde al bit que se lee más tarde. El error puede surgir de la inversión de la magnetización, el ruido de fondo o el error del cabezal de escritura. Otros objetos que el canal binario simétrico puede modelar incluyen una línea de comunicación telefónica o por radio o la división celular , de la que las células hijas contienen información de ADN de su célula madre. [5]
Los teóricos suelen utilizar este canal porque es uno de los canales ruidosos más sencillos de analizar. Muchos problemas de la teoría de la comunicación se pueden reducir a un BSC. Por el contrario, la capacidad de transmitir de forma eficaz a través del BSC puede dar lugar a soluciones para canales más complicados.