• No se han encontrado resultados

Capitulo 1. Planteamiento del Problema

2.2 Codificación del Canal

2.2.2 Código Convolucional

2.2.4.2 Clasificación de los Intercaladores

Existe un amplio número de intercaladores para los códigos Turbo y cada uno está construido con diferentes criterios. A continuación se clasifican los intercaladores de acuerdo a sus métodos de construcción.

1. Intercaladores puramente aleatorios o con una estructura aleatoria

Los intercaladores puramente aleatorios fueron sugeridos en los códigos Turbo originales y el índice del intercalador se selecciona de una manera puramente aleatoria [11]. Aunque el desempeño de los códigos Turbo que

Capítulo 2. Sistema de Comunicación Digital 29 utilizan intercaladores puramente aleatorios es notable, puede ser mejorado aún más si se utilizan intercaladores más sofisticados.

Un intercalador aleatorio-S requiere para su construcción la limitación de una distancia mínima de intercalación S < | (i) - (j)| para toda posición de bits i, j tal que S> |i -j|, i j, donde es una permutación de un intercalador y S es una cantidad conocida como esparcimiento máximo. El diseño de este intercalador es difícil, debido a que la dificultad de cumplir con las condiciones aumenta a medida que se incrementa el número de bits que se han evaluado [32].

Una de las principales desventajas de los intercaladores aleatorios es la imposibilidad de reproducir el proceso de generación del mapeo , lo que involucra que debe ser memorizado después de su construcción para su reproducción [32].

2. Intercaladores estructurados con naturaleza aleatoria

Los intercaladores D R P (Dithered Relative Prime) y A R P (Almost

Regular Permutation) son dos tipos de intercaladores que pertenecen a esta

categoría. Ambos tipos de intercaladores presentan un desempeño excelente contra errores mientras que requieren muy poca memoria para su implementación. A continuación se describe brevemente el funcionamiento de estos dos intercaladores.

Los intercaladores DRP se realizan en 3 etapas. Primero, el vector de entrada vin se permuta localmente usando un pequeño vector de lectura r, de

longitud R. Después, el vector resultante vase permuta usando un intercalador

RP (Relative Prime) para obtener una buena dispersión. Por último, el vector

resultante vb se permuta localmente usando un pequeño vector de escritura w, de longitud W, para generar el vector de salida vout. La longitud del intercalador K debe ser un múltiplo tanto de R como de W. Un intercalador D R P puede ser almacenado con sólo guardar cuatro valores. Sin embargo, todavía es posible realizar simplificaciones y reducciones por lo que la implementación real sigue un proceso más eficiente que el mencionado aquí para explicar este tipo de intercaladores. [33].

Capítulo 2. Sistema de Comunicación Digital 30 Por su parte, un intercalador A R P se expresa como:

(i) = (iP0+A +d(i)) mod K,

donde 0 < i < K 1 es el índice secuencial de las posiciones de bit antes de la intercalación, (i) es el índice de la posición de bit después de la intercalación que corresponde a la posición inicial i, K es un número entero que contiene la longitud en bits del bloque de información, P0 es un entero relativamente primo

a K, A es una constante de desfasamiento, y d(i) es un vector "agitado" (permutado localmente) de longitud C, donde C es un número pequeño conocido como longitud de ciclo. Para todos los tamaños de bloques, d(i) toma

la forma

d(i) = (i mod C) + P0B(i mod С),

donde (•) y (•) son vectores cada uno de longitud C, periódicamente aplicados para 0 < i < K 1. Ambos vectores están compuestos de múltiplos de la longitud de ciclo C.

Para un intercalador A R P , algunos tamaños de bloque no son aptos debido a que el tamaño del bloque K debe ser un múltiplo de C (por ejemplo, los números primos). Sin embargo, en la práctica esta restricción es aceptable. Debido a que (i) es equivalente a una permutación lineal con una constante que es función del índice i, (i) y su inverso tienen un formato idéntico. Esto permite utilizar un mismo circuito tanto para el intercalador como para el desintercalador [34].

3. Intercaladores con teoría algebraica/numérica o intercaladores periódicos

Pertenecen a esta clase los intercaladores lineales, los de bloque, los convolucionales, los de Takeshita-Costello [35], los basados en polinomios de permutación sobre campos finitos [36] y los basados en polinomios de permutación sobre anillos de enteros modulares. Una de las ventajas de estos últimos intercaladores sobre los demás es la representación simple del intercalador. Por lo tanto, son adecuados para aplicaciones que requieren alta velocidad, bajo consumo de potencia y poca memoria [18].

Capítulo 2. Sistema de Comunicación Digital 31 El intercalador de bloque o rectangular presenta la estructura más sencilla. Para obtener una función de intercalador rectangular es necesario factorizar su longitud Nb = X * Y, donde X y Y son números naturales enteros. La función del intercalador de bloque es entonces:

b(i + j * X + 1) = i *Y +j + 1,

para todo entero i = {0,1,...,X —1}, j = {0,1,...,Y - 1}. De esta forma, cualquier bit situado inicialmente a una distancia menor admin = min(i, j), va a estar después de la intercalación a una distancia superior a dmin [32].

2.2.4.3

Intercaladores para los Estándares de Telefonía

Móvil de 3G

Los códigos Turbo son usados en muchas aplicaciones, siendo una de las más importantes la telefonía móvil de 3r a generación. Otras aplicaciones de los códigos Turbo incluyen:

1. Comunicaciones satelitales de espacio profundo tales como MediaFLO, un sistema de televisión móvil terrestre [37].

2. Misiones de la N A S A tales como el Reconocimiento de la Órbita de Marte (MRO) [3].

3. El estándar IEEE 802.16, conocido como W i M A X (Worldwide Interoperability

for Microwave Access), la cual es una red inalámbrica metropolitana con una

amplia cobertura y un mayor ancho de banda que la mayoría de las redes celulares [38].

El intercalador interno del código Turbo utilizado en la telefonía móvil 3G U M T S consta de bits introducidos en una matriz rectangular con relleno, permutaciones inter-fila e intra-fila de la matriz rectangular, y bits de salida extraídos de la matriz rectangular con poda. Los bits de entrada del intercalador interno del código Turbo se denotan porx1 , x2 , x3,...,xK , donde K es el número entero de los bits y tiene un valor de 40 < K < 5114. La matriz rectangular tiene un

número de columnas igual a С y un número de renglones R que puede ser 5, 10 ó 20. Dependiendo del valor de K y de R, el patrón de permutaciones inter-fila se fija en uno de cuatro de posibles patrones. El procedimiento para determinar el tamaño de

Capítulo 2. Sistema de Comunicación Digital 32

la matriz y para realizar las permutaciones inter-fila e intra-fila se describe con detalle en las especificaciones del estándar 3 G P P U M T S [1].

Para incrementar la tasa de procesamiento, un decodificador de máxima probabilidad a posteriori (log-MAP), como el decodificador B C J R , se paraleliza dividiendo un bloque de t a m a ñ o K en ventanas de t a m a ñ o M y empleando M procesadores con M memorias extrínsecas separadas. La latencia de la intercalación es eliminada escribiendo los M valores extrínsecos generados cada ciclo de reloj directamente a sus posiciones intercaladas. Sin embargo, si el intercalador no es diseñado adecuadamente, dos o más procesadores l o g - M A P pueden requerir el acceso a la misma memoria extrínseca en un mismo ciclo de reloj, resultando en una contención de memoria. Las contenciones de memoria pueden causar pérdidas significativas en la tasa de datos, y requieren de hardware especializado para mitigarlas [39].

Paralelizar el procesamiento del intercalador del estándar 3 G P P U M T S resulta en contenciones de memoria para casi todos los tamaños de bloques y factores de paralelismo, por lo que en general es un diseño ineficiente. Por lo tanto, se prefieren intercaladores que sean inherentemente libres de contención para las nuevas comunicaciones. O. Takeshita demostró que todos los polinomios de permutación sobre anillos de enteros modulares siempre generan intercaladores libres de contención para todos los tamaños de ventana M [40].

A pesar de que el código Turbo en U M T S especifica más de 5000 tamaños de intercaladores con una granularidad de un bit, esta fina granularidad no es deseable para los intercaladores libres de contención. Muchos tamaños de intercalador K no están soportados por el decodificador de alta velocidad, por ejemplo, K's que son números primos, o aquellos que no se pueden dividir en tamaños de ventanas útiles. En la práctica, se puede elegir un conjunto limitado de tamaños de bloques para los que están definidos intercaladores libres de contención. Para los tamaños de bloques de información que no está definido directamente un intercalador libre de contención, se pueden aplicar técnicas tradicionales como el relleno con ceros o el perforado. Esto tiene varias ventajas, incluyendo un menor almacenamiento para el intercalador desde el punto de vista de la complejidad y un mejor paralelismo desde la perspectiva de la velocidad de decodificación. Además, este enfoque ha mostrado tener un buen funcionamiento ya sea con intercaladores A R P o con intercaladores basados en Q P P para cubrir el rango entero de tamaños soportados por el estándar 3 G P P [31].

Capítulo 2. Sistema de Comunicación Digital 33

2.2.4.4 Intercaladores Basados en Polinomios Cuadráticos de

Documento similar