b'\n_START_ARTICLE_\nTurbo c\xc3\xb3digo\n_START_PARAGRAPH_\nLos turbo c\xc3\xb3digos son una nueva clase de c\xc3\xb3digos de correcci\xc3\xb3n de errores (FEC), que se introdujeron, junto con un algoritmo de decodificaci\xc3\xb3n. La importancia de los turbo c\xc3\xb3digos es que permiten una comunicaci\xc3\xb3n fiable y su eficiencia energ\xc3\xa9tica est\xc3\xa1 muy cerca del l\xc3\xadmite te\xc3\xb3rico predicho por Shannon. Desde su introducci\xc3\xb3n, los turbo c\xc3\xb3digos se han utilizado en aplicaciones de baja potencia, como las comunicaciones por sat\xc3\xa9lite, as\xc3\xad como para aplicaciones de interferencia limitada, como los servicios de tercera generaci\xc3\xb3n (3G) de comunicaciones m\xc3\xb3viles.\n_START_SECTION_\nHistoria\n_START_PARAGRAPH_\nEn 1993, un grupo de investigadores de Francia present\xc3\xb3 una nueva clase de c\xc3\xb3digos de correcci\xc3\xb3n de errores y una t\xc3\xa9cnica de decodificaci\xc3\xb3n iterativa asociada a estos c\xc3\xb3digos. Estos c\xc3\xb3digos se llamaron turbo c\xc3\xb3digos . Esto produjo un gran avance en la teor\xc3\xada de la codificaci\xc3\xb3n. Los resultados iniciales mostraron que los turbo c\xc3\xb3digos pod\xc3\xadan conseguir una eficiencia energ\xc3\xa9tica muy cercana al l\xc3\xadmite predicho por Shannon (a 0.5 dB del l\xc3\xadmite). Esto constituye un aumento significativo en la eficiencia energ\xc3\xa9tica sobre otras t\xc3\xa9cnicas de codificaci\xc3\xb3n conocidas en el momento._NEWLINE_Este fue un resultado extraordinario que en un principio fue recibido con escepticismo. Pero, m\xc3\xa1s tarde, otros investigadores comenzaron a validar los resultados de forma independiente, y se comenz\xc3\xb3 una investigaci\xc3\xb3n masiva con el objetivo de explicar y mejorar notablemente los turbo c\xc3\xb3digos . Gran parte de esta investigaci\xc3\xb3n se centr\xc3\xb3 en la mejora de la viabilidad de los turbo c\xc3\xb3digos ._NEWLINE_A finales de la d\xc3\xa9cada de 1990, las virtudes de los turbo c\xc3\xb3digos eran bien conocidas, y se empezaron a adaptarse en los diferentes sistemas. Actualmente se incorporan en los est\xc3\xa1ndares utilizados por las comunicaciones de la NASA en el espacio (CCSD), las comunicaciones por sat\xc3\xa9lite, la radiodifusi\xc3\xb3n de v\xc3\xaddeo digital (DVB-T), y en los dos est\xc3\xa1ndares de comunicaci\xc3\xb3n m\xc3\xb3vil de tercera generaci\xc3\xb3n (UMTS y CDMA2000).\n_START_SECTION_\nTurbo c\xc3\xb3digos\xc2\xa0: funcionamiento\n_START_PARAGRAPH_\nLos Turbo c\xc3\xb3digos se basan en la concatenaci\xc3\xb3n de dos codificadores relativamente sencillos separados por un Dispersor._NEWLINE_El conjunto es equivalente a un \xc3\xbanico codificador convolucional de memoria tan grande como la profundidad del dispersor pero con un proceso de decodificaci\xc3\xb3n simplificado que en ning\xc3\xban caso alcanza la complejidad del convolucional equivalente._NEWLINE_Un \xc3\xbanico c\xc3\xb3digo de protecci\xc3\xb3n de errores no siempre proporciona la protecci\xc3\xb3n necesaria con una complejidad aceptable. La soluci\xc3\xb3n es concatenar dos (o m\xc3\xa1s) c\xc3\xb3digos, esto crea un c\xc3\xb3digo mucho m\xc3\xa1s potente que los tradicionales._NEWLINE_La propuesta original de los turbo c\xc3\xb3digos consist\xc3\xada en la concatenaci\xc3\xb3n de dos codificadores convolucionales sistem\xc3\xa1ticos (RSC) con un dispersor._NEWLINE_La forma de trabajar de estos c\xc3\xb3digos se basa en permitir que el codificador final entregue unas decisiones leves o soft en lugar de graves o hard, con el objetivo de poder realimentar estas decisiones, de nuevo, hacia el c\xc3\xb3digo inicial en un proceso iterativo similar al que gobierna el principio de los motores turbo. Cuantas m\xc3\xa1s iteraciones se aplican a este proceso m\xc3\xa1s refinada y fiable es la decisi\xc3\xb3n hard definitiva, y se reduce en cada iteraci\xc3\xb3n la probabilidad de error.\n_START_SECTION_\nEl Codificador\n_START_PARAGRAPH_\nUn turbo c\xc3\xb3digo es la concatenaci\xc3\xb3n en paralelo de dos c\xc3\xb3digos RSC separados por un dispersor. _NEWLINE_En el codificador del esquema los dos codificadores tienen la misma tasa \xc2\xbd del codificador RSC. El codificador de la rama de arriba recibe los datos directamente, mientras que el codificador de la rama inferior recibe la informaci\xc3\xb3n despu\xc3\xa9s de dispersarse por una funci\xc3\xb3n de permutaci\xc3\xb3n \xce\xb1._NEWLINE_El dispersor \xce\xb1 es en general un dispersor pseudo-aleatorio, que mueve los bits de la posici\xc3\xb3n i a la posici\xc3\xb3n \xce\xb1 (i) de acuerdo con una prescripci\xc3\xb3n (regla), que se generada aleatoriamente. El dispersor opera en bloques, intercalado grupos de bits a la vez, y por tanto los turbo c\xc3\xb3digos son en realidad bloques de c\xc3\xb3digos. Dado que ambos codificadores son sistem\xc3\xa1ticos y reciben el mismo conjunto de datos (aunque con un orden permutado), s\xc3\xb3lo hay que enviar la salida de una de las ramas. Por convenio, se transmite la salida de la rama superior y la salida del codificador inferior no se transmite. Sin embargo, las salidas de paridad de los dos codificadores se transmiten. La tasa general de un turbo c\xc3\xb3digo formado por la concatenaci\xc3\xb3n en paralelo de dos tasas de 1 / 2 de un codificador sistem\xc3\xa1tico es r = 1 / 3. La tasa t\xc3\xadpica de un turbo c\xc3\xb3digo incrementa a r = 1 / 2 para transmitir s\xc3\xb3lo los \xc3\xadndices impares de los bits de paridad del codificador superior y para transmitir los \xc3\xadndices pares de los bits de paridad del codificador inferior.\n_START_SECTION_\nEl Decodificador\n_START_PARAGRAPH_\nUn turbo c\xc3\xb3digo, como ya hemos dicho anteriormente, se basa en la utilizaci\xc3\xb3n de dos o m\xc3\xa1s c\xc3\xb3digos constituyentes, la decodificaci\xc3\xb3n se basa en aplicar el criterio MAP para poder tener tanto entradas como salidas soft (decodificador soft in - soft out). Como se puede ver, la filosof\xc3\xada turbo se basa en aprovechar la informaci\xc3\xb3n extr\xc3\xadnseca proporcionada por el c\xc3\xb3digo y convertirla en informaci\xc3\xb3n a priori para una etapa posterior de decodificaci\xc3\xb3n (esta parte se toma como 0 en la primera etapa). En un esquema con dos c\xc3\xb3digos este bucle de realimentaci\xc3\xb3n debe tener en cuenta los dos decodificadores y tambi\xc3\xa9n la etapa de dispersi\xc3\xb3n._NEWLINE_Al igual que con los c\xc3\xb3digos convolucionales, se puede obtener una soluci\xc3\xb3n ML utilizando la ecuaci\xc3\xb3n:_NEWLINE_ y el algoritmo de Viterbi. Sin embargo, debido a la presencia del dispersor, la complejidad del algoritmo Viterbi, cuando se utiliza para descodificar los turbo c\xc3\xb3digos es , donde L es el tama\xc3\xb1o del frame de datos. Esto hace que para descodificar los turbo c\xc3\xb3digos , se tenga que buscar una soluci\xc3\xb3n de menor complejidad, aunque sea una soluci\xc3\xb3n sub\xc3\xb3ptima. En particular, se puede encontrar una buena estimaci\xc3\xb3n de los datos solucionando el siguiente sistema de ecuaciones:_NEWLINE_ (1)_NEWLINE_ (2)_NEWLINE__NEWLINE_Donde  son los bits sistem\xc3\xa1ticos,  son los bits de paridad observados por el codificador 1 y  son los bits de paridad observados por el codificador 2. El acento sobre una variables representa su valor dispersado ,es decir,  es la versi\xc3\xb3n dispersada de y. "A" es log-likelihood ratio (LLR) o la medida logar\xc3\xadtmica de similitud (LLR), y z es la informaci\xc3\xb3n extr\xc3\xadnseca que se relaciona con LLR a trav\xc3\xa9s de:_NEWLINE_ (3)_NEWLINE_ (4)_NEWLINE__NEWLINE_El sistema de ecuaciones se puede resolver iterativamente mediante la estructura que se muestra en la figura. EL decodificador 1 determina la soluci\xc3\xb3n de eq (1) y el decodificador 2 determina la soluci\xc3\xb3n de eq (2). Cada decodificador pasa la informaci\xc3\xb3n al otro decodificador, que a su vez mejora la estimaci\xc3\xb3n de probabilidades a posteriori utilizando la informaci\xc3\xb3n obtenida por el otro decodificador. La estimaci\xc3\xb3n final de los datos se obtiene limitando la salida de uno de los descodificadores (por convenci\xc3\xb3n, la salida del segundo decodificador) mediante:_NEWLINE_(5)_NEWLINE__NEWLINE_Los turbo c\xc3\xb3digos deben su nombre a la estructura de retroalimentaci\xc3\xb3n de la figura y es una analog\xc3\xada de un motor turbo. De hecho, no hay nada "turbo", sobre los turbo c\xc3\xb3digos, m\xc3\xa1s bien s\xc3\xb3lo existe el efecto turbo procedente de la implementaci\xc3\xb3n del decodificador._NEWLINE_La soluci\xc3\xb3n a posteriori LLR\'s de (1) y (2) se calculan utilizando una derivaci\xc3\xb3n s\xc3\xadmbolo a s\xc3\xadmbolo del algoritmo MAP [3]. Aunque el algoritmo de [3] se puede utilizar directamente para calcular los LLR\'s, el algoritmo es computacionalmente complejo y sensible a las precisi\xc3\xb3n num\xc3\xa9rica y no se usa._NEWLINE_Estos problemas se ven atenuados realizando la operaci\xc3\xb3n en el dominio logar\xc3\xadtmico-aritm\xc3\xa9tico, tal como se presenta en [4] y [5]. El algoritmo resultante se denomina Log-MAP. El algoritmo se compone de dos instancias del algoritmo de Viterbi - una realizaci\xc3\xb3n de una recursi\xc3\xb3n hacia delante y la otra la realizaci\xc3\xb3n de una recursi\xc3\xb3n hacia atr\xc3\xa1s. Por lo tanto la complejidad del algoritmo LogMAP es el doble de la del algoritmo de Viterbi.\n_START_SECTION_\nRendimiento\n_START_PARAGRAPH_\nHay muchos factores que afectan el rendimiento de los turbo c\xc3\xb3digos. El par\xc3\xa1metro que m\xc3\xa1s influye es el tama\xc3\xb1o del dispersor. Cuando el tama\xc3\xb1o del dispersor es grande, el rendimiento mejora. Esto implicar\xc3\xada que se deber\xc3\xada escoger el tama\xc3\xb1o m\xc3\xa1s grande posible. Sin embargo, a medida que aumenta el tama\xc3\xb1o del dispersor tambi\xc3\xa9n aumenta la latencia del descodificador, ya que se ha de recibir todo el c\xc3\xb3digo para poder decodificarlo completamente. Por lo tanto los turbo c\xc3\xb3digos posee un equilibrio inherente entre el rendimiento y la latencia._NEWLINE_Otro par\xc3\xa1metro que afecta el rendimiento es la tasa general del c\xc3\xb3digo. Al igual que para otros c\xc3\xb3digos, el rendimiento mejora a medida que la tasa de c\xc3\xb3digo es inferior. Cuando las tasas de c\xc3\xb3digo que se utilizan son superiores a 1/3, el patr\xc3\xb3n que se utiliza afecta al rendimiento. Al igual que en los c\xc3\xb3digos convolucionales, la restricci\xc3\xb3n de la longitud del c\xc3\xb3digo tambi\xc3\xa9n influye en el rendimiento. Sin embargo, el impacto que tiene la restricci\xc3\xb3n de la longitud en el rendimiento es d\xc3\xa9bil, y por lo tanto s\xc3\xb3lo se consideran las restricciones de longitud cortas de K = 3, 4, o 5 para el dise\xc3\xb1o de los turbo c\xc3\xb3digos. El dise\xc3\xb1o del dispersor juega un papel importante en el dise\xc3\xb1o de un turbo c\xc3\xb3digo, para obtener una relaci\xc3\xb3n de se\xc3\xb1al a ruido SNR buena. En general, un dise\xc3\xb1o del dispersor al azar dar\xc3\xa1 un buen rendimiento, mientras que hay que evitar dispersores altamente estructuradas, como el "dispersor de bloque". La elecci\xc3\xb3n del algoritmo de decodificaci\xc3\xb3n y el n\xc3\xbamero de iteraciones de decodificaci\xc3\xb3n tambi\xc3\xa9n influyen en el rendimiento. Se puede ver que el rendimiento mejora a medida que aumenta el n\xc3\xbamero de iteraciones. Esta mejora sigue una ley de rendimientos decrecientes. Adem\xc3\xa1s, el n\xc3\xbamero de iteraciones necesarias est\xc3\xa1 en funci\xc3\xb3n del tama\xc3\xb1o del dispersor cuanto mayor es el dispersor se requieren m\xc3\xa1s iteraciones._NEWLINE_Aunque los c\xc3\xb3digos de turbo ofrecen un rendimiento extraordinario para tasas de error de bit alrededor de  BER, el rendimiento para tasas de bit de error muy peque\xc3\xb1as no es muy impresionante. Para relaciones se\xc3\xb1al-ruido altas, puede ser mejor utilizar un c\xc3\xb3digo convolucional. Este fen\xc3\xb3meno puede ser explicado en t\xc3\xa9rminos de la distancia del espectro de Hamming de los turbo c\xc3\xb3digos.'