PRACTICA1. Teoría de Codificación

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 12

INSTITUTO POLITECNICO NACIONAL

ESCUELA SUPERIOR DE INGENIERIA MECANICA Y


ELECTRICA
UNIDAD ZACATENCO

ACADEMIA DE COMUNICACIONES

TEORIA DE CODIFICACION Y MANEJO DE


INFORMACION
PROFESOR: JOSE ERNESTO ROJAS LIMA

PRACTICA 6
CODIGOS CONVOLUCIONALES
EQUIPO:
Antonio De la Cruz Edna Lucia
Galeana Castrejón David
GRUPO: 8CV2
FECHA DE ENTREGA:
20 DE NOVIEMBRE DEL 2019

CONTENIDO
1. Objetivo
2. Equipo y material requerido
3. Introducción
4. Desarrollo y resultados
5. Conclusiones
6. Bibliografía

1. OBJETIVO.
El alumno generará un código de convolución para la codificación del canal.
2. Equipo y material requerido
 Software MATLAB
 Computadora
3. Introducción
¿Qué es Probabilidad?
En primera instancia se entiende como la posibilidad que existe de que un
determinado hecho probable realmente suceda. Ese hecho puede finalmente
suceder, o no suceder.
La idea de probabilidad es algo en lo que diversos pensadores han trabajado a lo
largo de la historia de la humanidad. En un principio estos términos se relacionaban
exclusivamente con los juegos de azar ya practicados hace más de cinco mil años.
El concepto ha sufrido tales cambios y ha sido objeto de interés tan particular que
hoy en día la probabilidad es considera incluso como una de las ramas de la
matemática.
En este caso se define a la probabilidad como el estudio y medición cuantitativa de
que un determinado hecho suceda o se produzca. Para ello se determinan ciertos
presupuestos del contexto, sus posibles combinaciones y además se hace uso de
la disciplina de la estadística. En este caso las probabilidades suelen ser
representados en número mayores a cero e inferiores a uno o en fracciones.
MATLAB
MATLAB (abreviatura de MATrix LABoratory, «laboratorio de matrices») es un
sistema de cómputo numérico que ofrece un entorno de desarrollo integrado (IDE)
con un lenguaje de programación propio (lenguaje M). Está disponible para las
plataformas Unix, Windows, Mac OS X y GNU/Linux.
Entre sus prestaciones básicas se hallan la manipulación de matrices, la
representación de datos y funciones, la implementación de algoritmos, la creación
de interfaces de usuario (GUI) y la comunicación con programas en otros lenguajes
y con otros dispositivos hardware. El paquete MATLAB dispone de dos herramientas
adicionales que expanden sus prestaciones, a saber, Simulink (plataforma de
simulación multidominio) y GUIDE (editor de interfaces de usuario - GUI). Además,
se pueden ampliar las capacidades de MATLAB con las cajas de herramientas
(toolboxes); y las de Simulink con los paquetes de bloques (blocksets).

Codificación de canal
La finalidad de la codificación de canal es la detección y corrección de errores
producidos en el canal de comunicación o en medios de grabación, como
consecuencia del ruido y distorsión introducidos, tanto por el medio de propagación,
como por las no linealidades en el propio sistema de transmisión.
En los sistemas digitales de comunicaciones hay dos causas principales que
influyen en el deterioro de la señal recibida. La primera es el ruido introducido por el
propio canal de comunicaciones, en que los mecanismos de propagación juegan un
papel muy importante. La segunda es el ruido de cuantificación, consecuencia del
proceso de codificación, que se introduce inevitablemente en el transmisor y que se
transporta por todo el sistema hasta la salida del receptor. El ruido del canal produce
errores de transmisión, que hacen que la señal reconstruida por el receptor no sea
la misma que la señal transmitida. La fidelidad de la transmisión de información se
mide en términos de la tasa de errores o probabilidad de error, es decir, la
probabilidad de que el símbolo a la salida del receptor o reproductor sea diferente
al símbolo transmitido o grabado. Tanto los sistemas de transmisión como de
grabación y reproducción están sujetos a errores.
En la transmisión y grabación de señales digitales de audio, vídeo o datos en
general, igual que en cualquier sistema digital de comunicaciones, el caudal binario
recibido o reproducido debe ser, en la medida posible, igual que el transmitido o
grabado, por lo que la información debe protegerse al máximo contra las
degradaciones que inevitablemente introduce el medio de transmisión o los circuitos
de procesado de la señal. Los sistemas de comunicaciones por cable y satélite son
menos hostiles que los de radiodifusión terrestre, ya que los primeros utilizan un
medio de transmisión muy estable: cable o fibra óptica, en que el principal problema
es la atenuación, fácilmente predecible y cuyos efectos pueden compensarse con
relativa facilidad. En el caso de comunicaciones por satélite también el
comportamiento del medio de propagación, aunque sujeto a variaciones por
meteoros atmosféricos en ciertas bandas, es bastante predecible y por
consecuencia, sus efectos también pueden compensarse.
Por el contrario, los sistemas de radiodifusión terrestre presentan los problemas más
complejos a causa de los diversos mecanismos que intervienen en la propagación
y que contribuyen considerablemente a la degradación de la señal.
En los sistemas terrestres los efectos multi- camino desempeñan un papel
importante en la atenuación y retardo de la señal recibida y los desvanecimientos
de la señal causados por la variabilidad del entorno de propagación producen tanto
atenuación variable, como dispersión temporal y frecuencial de la señal, que se
traduce en destrucción de la información transmitida o en interferencia entre
símbolos con el consecuente aumento en la tasa de errores.
En los sistemas analógicos la degradación de la señal es suave; es decir, la relación
señal a ruido disminuye lentamente con la distancia y la señal, aunque con ruido,
puede recibirse en condiciones aceptables en un rango considerable de distancias.
En los sistemas digitales, por el contrario, la señal deja de recibirse cuando la tasa
de errores aumenta por encima del valor que es capaz de manejar el receptor. La
degradación en estas condiciones es muy brusca y se pasa rápidamente de una
zona de recepción satisfactoria a una de recepción nula. Esta situación se ilustra
gráficamente en la figura 3.1. A partir de la distancia correspondiente al punto A en
la figura, el número de errores en la transmisión digital es suficientemente grande
como para degradar completamente la señal, en tanto que en el sistema analógico
la recepción es posible aún con ruido. Como consecuencia de lo anterior, es
necesario proteger la información transmitida de forma tal que, aunque una parte de
ella se pierda o destruya durante el proceso de transmisión, pueda ser recuperada
o reconstruida en el receptor, de modo que el observador no perciba esa pérdida.
En un sistema de televisión digital es literalmente imposible la corrección de errores
mediante la retransmisión de la información ya que el procesado de la información
ocurre en tiempo real. Por ello el sistema debe implementarse de forma tal, que,
aunque parte de la información se destruya, el receptor la reconstruya por sí solo,
al menos aproximadamente. La codificación de canal estudia las técnicas y
procedimientos para llevar a cabo la detección y corrección de errores.
Conviene señalar que la codificación de canal no tiene que ver con la codificación
de fuente. El codificador de canal tiene como entrada una señal digital procedente
del codificador de fuente, en este caso, el codificador MPEG. El codificador de canal
no "sabe" si la señal es de audio, vídeo o de otro tipo, para él se trata únicamente
de una secuencia de bits cuya integridad debe proteger de alguna manera para que
pueda ser reproducida fielmente en el receptor.
Ruido blanco Gaussiano
El ruido blanco es una señal aleatoria, caracterizada porque sus valores en instantes
de tiempo distintos no tienen relación alguna entre sí, es decir, no existe correlación
estadística entre sus valores.
El ruido blanco Gaussiano será aquel cuya función de densidad responde a una
distribución normal. Gaussiano se refiere a la distribución de voltaje de la fuente de
ruido. Blanco es la fuente de ruido de potencia de densidad espectral, que es
idealmente plano con la frecuencia. En realidad, en algún punto “debido al desfase”
hay una reducción en el nivel de ruido medible.
Código convolucional
En teoría de la información, un código convolucional es un tipo de código de
detección de errores donde:
 Cada símbolo de m bits de información se transforma, al ser codificado, en
un símbolo de n bits, donde m/n es la tasa del código (n ≥ m)
 La transformación es función de los k símbolos anteriores, donde k es la
longitud del código
Características
Los códigos convolucionales son códigos lineales al igual que los códigos bloque
(como los códigos de Hamming, por ejemplo) y, por tanto, se utilizan para proteger
la información añadiendo redundancia a la misma, de manera que las palabras del
código tengan la distancia mínima necesaria.
Sin embargo, a diferencia de los códigos bloque, las palabras de un código
convolucional se generan no sólo a partir de los dígitos de información actuales sino
también con la información anterior en el tiempo. Es decir, un codificador
convolucional es un sistema con memoria y, en consecuencia, lleva asociada una
cadena de Markov aunque ésta no es visible en la salida pero sí la condiciona.
Codificación
Existen varios métodos de codificación de códigos convolucionales, aunque una de
la más usuales es la basada en registros de desplazamiento conectados con
sumadores bases 2 en los que se realiza la codificación. Por cada bit que entre en
el codificador se obtienen n bits.
Decodificación
La decodificación de un código convolucional consiste en escoger la secuencia más
probable entre todas las posibles. Existen diversos algoritmos que permiten la
decodificación de este tipo de códigos y la decodificación óptima se consigue
mediante el algoritmo de Viterbi.
Desarrollo y Resultados
4.1 Código de bloques lineales con un vector mensaje de 8x3
El siguiente script, genera el código de bloques lineales con un vector mensaje
8x3.

% Script para generar el código de bloques lineales

G=[110100;011010;101001] %Matriz generadora

[k,n]=size(G)%Da parametros de la matriz no. de filas y columnas

Nmen=2^k

m=[000;001;010;011;100;101;110;111]

for ind=1:Nmen

u(ind,:)=encode(m(ind,:),n,k,’linear/fmt’,G);

end;

u
4.2 Proceso de codificación de canal mediante códigos convolucionales.
Tomando como base los resultados del ejercicio anterior, se realizará la codificación
de canal mediante códigos convolucionales.
Para ello se utiliza la función convec predefinida en MATLAB, la cual realiza el
proceso de codificación codificación convolucional y tiene la siguiente sintaxis
[codificado,final] = convec (datos, trellis, 0)
Donde
 Codificado es la secuencia codificada
 Final es el estado normal
 Datos es la secuencia de datos ingresado
 Trellis denota que se va a generar una estructura de Trellis
 0 es el estado inicial
Para realizar la codificación con codificación convolucional se realiza el siguiente
script:
%Script para generar la codificación con codificación convolucional
datos = [1 0 1 0 0]
g1=str2num(dec2base(bin2dec(‘101’),8));
g2=str2num(dec2base(bin2dec(‘111’),8));
trellis=poly2trellis(3,[g1 g2]);
[codificados,final]=convenc(datos,trellis,0)

%Script para generar el código de bloques lineales para la codificación de canal correspondiente.
G= [110100;011010;101001]%Matriz generadora
[k,n]=size(G) %Da parámetros de la matriz no. de filas y columnas
m=[1 0 1] %Mensaje a generar

u=encode(m,n,k,’linear/fmt’, G) %codifica cada mensaje

4.3 Obtención del síndrome “S” y la matriz de verificación y matriz de


verificación de paridad “H”.
El siguiente script que muestra el mismo mensaje codificado pero esta vez también
se obtiene el síndrome “S” y la matriz de verificación de paridad “H”.
% Script que muestra el síndrome “S”y la matriz de verificación de paridad “H”.
G=[1 1 0 1 0 0;0 1 1 0 1 0; 1 0 1 0 1] %Matriz generadora
[k,n]=size(G)%Da parámetros de la matriz no. de filas y columnas
Nmen=2^k
m=[0 0 0;0 0 1;0 1 0; 0 1 1;1 0 0; 1 0 1; 1 1 0; 1 1 1]%Genera mensajes
for ind=1:Nmen
u(ind,:)=encode(m(ind,:), n ,k,’linear/fmt’,G);
end;

u %Imprime la u

H=[1 0 0 1 0; 0 1 0 1 1 0;0 0 1 0 1] %matriz de verificación de paridad


S=syndtable(H) %Genera una matriz de síndrome.
Conclusiones
David Galeana Castrejón
En la práctica generamos scripts a manera de ver el proceso de “protección de la
información” añadiendo redundancia de manera que las palabras tengan la
distancia mínima necesaria, de esta manera mejorar el rendimiento de error en las
comunicaciones.
Antonio De la Cruz Edna Lucia.
Logramos observar la corrección y detección de errores, formas de poder
corregirlas, y de esta forma obtener el mensaje original de forma intacta.
Los códigos con paridad par al no tener una suma de los bits en “1”, se tendían a
corregir, mientras que al tener una suma en 0 se daba por hecho que no existían
errores durante la transmisión de este mensaje.

Bibliografía
Libro: Dominic Welsh (1988): Codes and Cryptography, Clarendon Press, Oxford.
Proakis, J.G.; Salchi,M.(2002) Communication Systems Engineering (2° ed.)
Prentice Hall.

También podría gustarte