Está en la página 1de 5

LABORATORIO DE SISTEMAS DE COMUNICACIONES

PRÁCTICA # 6
CODIFICACIÓN DE CANAL

OBJETIVOS:

• Implementar un sistema 8-QAM y 16-QAM usando codificación de canal para la


corrección de información recibida.
• Implementar códigos de bloques lineales Hamming para la minimización de errores
introducidos por el canal AWGN.
• Usar la librería coding y decoding de LabVIEW para simular un codificador convolucional
de tasa ½.
• Evaluar el desempeño del codificador Hamming y Convolucional mediante gráficas BER
vs. SNR.

INTRODUCCIÓN:

En esta práctica se podrá modular y demodular una fuente de bits digital. La información se
codificará utilizando codificadores de canal Convolucional y Hamming, luego la información
codificada se modulará en 4-QAM o 16-QAM para pasar a través de una canal AWGN. En la
recepción se realiza el proceso inverso para recuperar la información transmitida. Para la
implementación de la práctica se ha provisto los VI’s del sistema de comunicación, donde
se debe completar la codificación de canal para el correcto funcionamiento del sistema. Una
vez completado el VI se requiere realizar las capturas de la constelación, y las curvas BER vs.
SNR.

Fig. 6.1. Sistema de comunicación

MARCO TEÓRICO:

En la codificación de bloques, el codificador acepta un bloque de mensaje de k bits y genera


una palabra de código de n bits. De este modo, las palabras de código se producen en un
esquema bloque por bloque. Claramente, deben tomarse provisiones en el codificador para
retener en un búfer un bloque de mensaje completo antes de generar la palabra de código
asociada. Sin embargo, hay aplicaciones en las que los bits del mensaje vienen en forma
serial y no en bloques grandes, en cuyo caso el uso de un búfer puede ser indeseable. En
este tipo de situaciones, es probable que el empleo de la codificación convolucional sea el
método preferido. Un codificador convolucional genera bits redundantes utilizando
convoluciones módulo 2, de ahí el nombre [1].

El codificador de un código convolucional binario con tasa 1/n, medida en bits por símbolo,
puede considerase como una máquina de estado finito que consiste en un registro de
corrimiento de M etapas con conexiones preestablecidas a n sumadores módulo 2 y a un
multiplexor que pone en serie las salidas de los sumadores. Una secuencia de mensaje de L
bits produce una secuencia de salida codificada de longitud n(L+M) bits. La tasa de código
está dada entonces por:

𝐿
𝑟= 𝑏𝑖𝑡𝑠/𝑠í𝑚𝑏𝑜𝑙𝑜
𝑛(𝐿 + 𝑀)

Por lo común, tenemos 𝐿 >> 𝑀. Por lo tanto, la tasa de código se simplifica en:

1
𝑟≅ 𝑏𝑖𝑡𝑠/𝑠í𝑚𝑏𝑜𝑙𝑜
𝑛

La longitud de restricción de un código convolucional, expresada en términos de bits de


mensaje, se define como el número de corrimientos sobre el cual un bit de un solo mensaje
puede influir en la salida del codificador. En un codificador con un registro de corrimiento
de M etapas, la memoria del codificador es igual a M bits de mensaje y se requieren K=M+1
corrimientos para que un bit de mensaje entre el registro de corrimiento y finalmente salga.
Por lo tanto, la longitud de restricción del codificador es K [2].

La codificación de Hamming es un proceso de detección y corrección de errores para un


solo bit. Si existe más de un error se hace uso de la técnica de Hamming extendido. Este
algoritmo se centra básicamente en agregar bits de paridad al mensaje original para que,
mediante estos, una vez que sean recibidos, verificar si efectivamente la trama de la
información con los bits de paridad es la misma que fue enviada, caso contrario, detectará
en qué posición ocurrió el error y lo corregirá. [3]

Es importante mencionar que la capacidad de corrección de errores depende de la distancia


mínima entre dos palabras código. Siendo así, la distancia mínima puede ser calculada en
base a las diversas posiciones de dos palabras código. La separación más pequeña entre dos
palabras código debería ser 3 para poder detectar y corregir un solo error. [4]
En el código de Hamming se introducen bits de redundancia y distribuyen a lo largo de la
palabra. La nomenclatura usada es (# bits totales, # bits de información), la resta entre estos
dos valores nos da la cantidad de bits de paridad.
El algoritmo para implementar un código de Hamming (11,7) que tiene 4 bits de paridad es
el siguiente:
1. Considere que los bits que se van a codificar son: 0101001 (palabra original)
2. Posiciones potencia de 2 son bits de paridad (2𝑛 = 1,2,4,8,16 … ….)
3. Las demás posiciones son los datos

4. Para hallar los bits de paridad 𝑝1 , 𝑝2 , 𝑝3 𝑦 𝑝4 , se realiza lo que se muestra en las


siguientes figuras.
Para el caso de la decodificación se realiza el proceso inverso.
ACTIVIDADES A DESARROLLAR:

Se ha provisto el archivo channel coding.vi y channel decoding.vi, en el cual se debe realizar


lo siguiente:
1. Implementar el codificador de canal Hamming (7,4) (número de bits totales,
números de bit de información)
2. En el receptor usar un decodificador de canal Hamming, el cual ya se encuentran
implementado.
3. Utilizar la librería de LabVIEW para el codificador y decodificador convolucional con
tasa de codificación ½.
4. Validar con ruido -Inf que la información se reciba correctamente.

PRUEBAS A REALIZAR:

1. Realizar el gráfico BER vs. SNR, variando el SNR desde 0 hasta 10dB, sin codificación
de canal, codificación Convolucional y Hamming usando modulación 8-QAM.
2. Realizar el gráfico BER vs. SNR, variando el SNR desde 0 hasta 10dB, sin codificación
de canal, codificación Convolucional y Hamming usando modulación 16-QAM.

PREGUNTAS A CONTESTAR:

1. Realice un diagrama de bloques de un sistema de comunicación digital que incluya


codificación de canal y de fuente.
2. ¿Qué es la tasa de codificación?
3. Enumere dos códigos lineales y explique su funcionamiento.
4. ¿Cuál es el inconveniente de trabajar con una tasa de codificación muy alta?

BIBLIOGRAFÍA:
[1] J. G. Proakis, “Digital Communications,” 4th Edition, McGraw-Hill Higher Education.
[2] Simon Haykin, John Wiley & Sons, Inc. “Communication Systems,” 4th Edition, McGraw-
Hill Higher Education.
[3] M. Weik, Computer science and communications dictionary, 1st ed. Boston: Kluwer
Academic Publishers, 2000, p. 706.
[4] R. Leoraj and J. Arputha Vijaya Selvi, "Comparative performance analysis of forward
error correcting codes for Free Space Optical communication", IEEE, 2016.

También podría gustarte