Estructura y representación del codificador de código convolucional

Esta columna contiene el conocimiento básico de la teoría y la codificación de la información, organizado por puntos de conocimiento, y se puede utilizar como referencia para la enseñanza o el aprendizaje. La versión de descuento se ha archivado en [repositorio de Github: https://github.com/timerring/information-theory ] o cuenta pública [AIShareLab] para responder a Information Theory .

Conceptos básicos del código convolucional

Códigos de bloque: códigos sin memoria

Códigos convolucionales - Códigos de memoria

  • Ser capaz de memorizar los conceptos básicos de los códigos convolucionales;
  • Capaz de dibujar el codificador del código convolucional según el vector de conexión y codificarlo;
  • Capaz de dibujar el diagrama de transición de estado y el diagrama Trellis del código convolucional según el codificador;
  • Capacidad para decodificar códigos convolucionales utilizando el algoritmo de decodificación de Viterbi;
  • Comprender el concepto de entrelazado.

El concepto de código convolucional

El código convolucional se describe mediante tres números enteros (n, k, L), donde k/n también representa la eficiencia de codificación, y L se denomina longitud de restricción; representa la serie de k-tuplas en el registro de desplazamiento de codificación, y k representa el tiempo de codificación El número de elementos de código introducidos en el codificador a la vez.

Una característica importante de los códigos convolucionales diferentes de los códigos de bloque es la memoria del codificador, es decir, las n-tuplas generadas por el proceso de codificación convolucional no solo son una función de las k-tuplas de entrada actuales, sino también de la L-1 anterior. k-tuplas de entrada La función. Por lo general, n y k toman valores más pequeños, y la capacidad de codificación y la complejidad se controlan cambiando L.

Estructura del codificador de código convolucional

(n, k, L) código convolucional: La siguiente figura muestra el codificador del código convolucional, en el que hay registros de desplazamiento de nivel kL, L \boldsymbol{L}L se denomina longitud de restricción del código convolucional.

El codificador del código convolucional es una máquina de estados finitos y su número de estados es 2 ( L − 1 ) k 2^{(L-1) k}2( L - 1 ) k . entrada de estado y corrientek \boldsymbol{k}La tupla k determina la tupla n de salida actual.

Representación de codificador convolucional

Este es un código convolucional (2,1,3), es decir, n=2, k=1, L=3.

¿Por qué se llama código convolucional?

Proceso de codificación:

Suponga que la secuencia de información de entrada es 100101.

La secuencia de información de salida es 11 01 11 11 01 00 01 11

El estado inicial del codificador de código convolucional es 0, y el estado debe borrarse después de la codificación

1. Conectar vector (generar vector)

Una forma de describir un codificador es especificar n vectores conectados, cada uno de los cuales corresponde a un sumador de módulo 2. Cada vector tiene dimensión L y representa la conexión entre el sumador de módulo 2 y el registro de desplazamiento codificado. Un 1 en el i-ésimo bit del vector indica que la etapa correspondiente del registro de desplazamiento está conectada al sumador de módulo 2 , y un 0 indica que no hay conexión entre la etapa correspondiente y el sumador de módulo 2 .

2. Descripción del estado y diagrama de estado

Los codificadores de código convolucional pertenecen a una clase de dispositivos conocidos como máquinas de estados finitos.

"Limitado" indica que la máquina de estado tiene solo un número finito de estados distintos. "Estado" puede usar la entrada actual del dispositivo y la cantidad mínima de información para predecir la salida del dispositivo. Un estado proporciona restricciones sobre el proceso de secuencia pasado y un conjunto de posibles secuencias de salida futuras, el siguiente estado siempre está restringido por el estado anterior.

Tomando un codificador de código convolucional con una eficiencia de codificación de 1/n como ejemplo, el estado está representado por el contenido del registro de nivel más a la derecha (L-1) (tenga en cuenta que el más a la derecha aquí se refiere al extremo más a la derecha del registro de desplazamiento después de el símbolo de información actual es registro de entrada).

Conocer el estado actual y la próxima entrada es una condición necesaria y suficiente para determinar la próxima salida.

Una forma de representar un codificador simple es un diagrama de estado.

Los estados en el cuadro del diagrama de estado representan los posibles contenidos del nivel más a la derecha (L-1) del registro, y las rutas entre los estados representan las palabras de bifurcación de salida de esta transición de estado. El estado del registro se expresa como a = 00, b = 01, c = 10, d = 11. En correspondencia con dos posibles bits de entrada, solo hay dos transiciones a partir de cada estado, y la palabra de bifurcación de salida durante la transición de estado es marcado en el correspondiente al lado de la ruta de transferencia. En la figura, la línea continua indica la ruta donde el bit de entrada es 0 y la línea punteada indica la ruta donde el bit de entrada es 1.

Nota: las transiciones de estado no son arbitrarias. Dado que la información se desplaza en un bit a la vez, solo hay dos posibles transiciones de estado para el registro en cada bit.

3. Diagrama de árbol

Aunque el diagrama de estado describe completamente las características del codificador, es un inconveniente utilizar el diagrama de estado para rastrear la transición de estado del codificador porque no representa el proceso de tiempo. Si desea mostrar todas las situaciones posibles de entrada y salida del codificador, puede utilizar un diagrama de árbol para describirlo. Se forma expandiendo el diagrama de estado del codificador en el tiempo.

4. El Diagrama Trellis

El gráfico de cuadrícula combina nodos al mismo nivel en el gráfico de árbol que se encuentran en el mismo estado.

La siguiente figura es un diagrama de Trellis de un código convolucional (2,1,3). Los nodos del gráfico de cuadrícula representan el estado del codificador; en cada unidad de tiempo, el gráfico de cuadrícula usa 2 L − 1 2^{L-1}2L 1 nodos representan2 L − 1 2^{L-1}2L 1 posibles estados del codificador. Se puede ver que habrá repeticiones.

El vector de conexión de un código convolucional (2,1,3) es:
g 1 = [ 1 1 0 ] , g 2 = [ 0 1 1 ] g_{1}=\left[\begin{array}{lll} 1 & 1 & 0 \end{matriz}\right], \quad g_{2}=\left[\begin{matriz}{lll} 0 & 1 & 1 \end{matriz}\right]gramo1=[110],gramo2=[011]
(1) Dibuje el codificador, el diagrama de estado y el diagrama Trellis del código convolucional.

(2) Cuando la secuencia de entrada sea 100011101001, encuentre la salida codificada.

referencias:

  1. Proakis, John G., et al. Ingeniería de sistemas de comunicación . vol. 2. Nueva Jersey: Prentice Hall, 1994.
  2. Proakis, John G., et al. MANUAL DE SOLUCIONES Ingeniería de Sistemas de Comunicación . vol. 2. Nueva Jersey: Prentice Hall, 1994.
  3. Zhou Jiongpan. Principios de la comunicación (3.ª edición) [M]. Beijing: Prensa de la Universidad de Correos y Telecomunicaciones de Beijing, 2008.
  4. Fan Changxin, Cao Lina. Principios de comunicación (7.ª edición) [M]. Beijing: National Defense Industry Press, 2012.

Supongo que te gusta

Origin blog.csdn.net/m0_52316372/article/details/131307002
Recomendado
Clasificación