CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon,...

336
CORRECCIÓN Y DETECCIÓN DE ERRORES EN CÓDIGOS CONVOLUCIONALES MEDIANTE EL ALGORITMO DE VITERBI USANDO UNA MICROCOMPUTADORA TESIS PREVIA A LA OBTENCIÓN DEL TITULO DE INfiENIERO EN LA ESPECIALIZACIOK DE ELECTRÓNICA Y TELECOMUNICACIONES DE LA ESCUELA POLITÉCNICA NACIONAL ALFONSO FERNANDO PADILLA NARVAEZ QUITO DICIEMBRE 1985 tíL

Transcript of CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon,...

Page 1: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

CORRECCIÓN Y DETECCIÓN DE ERRORES EN CÓDIGOS

CONVOLUCIONALES MEDIANTE EL ALGORITMO DE VITERBI

USANDO UNA MICROCOMPUTADORA

TESIS PREVIA A LA OBTENCIÓN DEL TITULO DE INfiENIERO EN LA

ESPECIALIZACIOK DE ELECTRÓNICA Y TELECOMUNICACIONES DE LA

ESCUELA POLITÉCNICA NACIONAL

ALFONSO FERNANDO PADILLA NARVAEZ

QUITO

DICIEMBRE 1985

tíL

Page 2: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

CERTIFICO QUE ESTE TRABAJO HA SIDO

REALIZADO EN SU TOTALIDAD POR EL

SEÑOR ALFONSO FERNANDO PADILLA

NARVAEZ

ING, HERBERT JACOBSON

DIRECTOR DE TESIS

QUITO/ DICIEMBRE DE 1985

Page 3: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

E C I H I E U T

AL ING, HERBERT JACOBSON, POR LA AMISTAD Y EL

TIEMPO BRINDADO PARA LA REALIZACIÓN DE LA PR¿

SENTÉ TESIS Y A LAS DIVISIONES DE TRANSMISIÓN

Y FRECUENCIAS DEL IETEL POR LA COLABORACIÓN

PRESTADA.

Page 4: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

Í N D I C E

C A P I T U L O I

TEORÍA DE LA INFORMACIÓN Y CODIFICACIÓN

1.1 Introducción 1

1.1.1 Fuente 2

1..1.2 Destino 3

1.1.3 ' Canal 3

-1.2 Fuente, entropía y teorema de codificación sin ruido 4

1.2.1 Fuente de información de memoria nula 6

1.2.2 Primer teorema de Shannon • 9

1.3 Información mutua, y canales 11

1.3.1 Canal binarlo simétrico (BSC) 12

1.3.2 Canal con ruido blanco Gaussiano 13

1.4 Codificación 14

1.4..1 Introducción a códigos bloques 16

1.4.2 Códigos de repetición 18

1.4.3 Códigos de bloque lineales 18

1.4.4 Códigos cíclicos 20

1.4.5 Códigos BCH 20

1.4.6 Código de Golay 21

1.4.7 Otros códigos bloque importantes 21

1.5 Cuanti'zación 23

1.6 Ganancia de codificación 25

C A P I T U L O I I

CÓDIGOS CONVOLUCIONALES

2.1 Introducción y estructura básica 28

Page 5: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

2.1.1 Descripción del código 29

2.2 Propiedades de la distancia en códigos • 34

convolucionales

2.3 Decodificador de distancia mínima para un BSC 38

2.4 Generalización de un decodificador óptimo para 40

un canal arbitrario sin memoria

2.5 Funcionamiento de códigos convolucionales en 44

canales sin memoria

2.5.1 Canal binario simétrico 44

2.5.2 Canal con ruido blanco Gaussiano con modulación 51

bifase

2.5.3 Generalización de los canales sin memoria 55

2.6 Códigos convolucionales sistemáticos y no sis- 60

temáticos

C A P I T U L O III

EL ALGORITMO DE VITERBI

3.1 Introducción 62i

3.2 El algoritmo 66

3.3 Análisis de funcionamiento 76

3.4 Truncación de las trayectorias 78

3.5 Comparación con otros algoritmos 81

3.5.1 Probabilidad de error 81

3.5.2 Retardo en la decodificación 82

3.5.3 Longitud de cola requerida para terminar las 82

secuencias

Page 6: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

3.5.4 Otras velocidades y cuantización suave 83

3.6 Aplicaciones 84

3.6.1 Códigos convolucionales 84

3.6.2 Interferencias entre símbolos 85

3.6.3 PSK con fase continua (CPPSK) 87

3.6.4 Reconocimiento de textos 88

3.6.5 Otros 89

C A P I T U L O IV

PROGRAMAS DIGITALES

4.1 - El sistema de comunicación 90

4.2 Entrada de datos (Generador Pseudo-Aleatorio) 95

4.3 Codificador 96

4.4. El Canal 101

4.4.1 Distribución Gaussiana o normal 102

4.4.2 Método del límite central 102

4.4.3 Cuantización 104

4.4.4 Tasa de bits errados (BER) 109

4.4.5 Relación señal a ruido 112

4.5 Decodificación y salida de datos 114

4.5.1 El algoritmo básico 114

4.5.2 Memoria de las trayectorias 115

4.5.3 Estado y calculo de las ramas 116

4.5.4 Consideraciones especiales 117

4.6 Manual de uso 122

4.6.1 Características de la microcomputadora 122

4.6.2 Menú 122

4.6.3 Distribución general de los programas en la memoria 124

Page 7: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

4.6.4 Modo de inicialización del programa 127

CAPITULO V

RESULTADOS, CONCLUSIONES Y RECOMENDACIONES

5.1 Resultados de la simulación 129

5.2 Conclusiones 140

5.3 Recomendaciones 143

APÉNDICE I

Función de transferencia, diagramas de estado y enr_e

jado de los codificadores convolucionales.

APÉNDICE II

Otras técnicas de decodificación de códigos convolu-

cionales.

APÉNDICE III

Listado de programas

BIBLIOGRAFÍA

Page 8: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

CAPITULO I

TEORÍA DE LA INFORMACIÓN Y CODIFICACIÓN

1.1 INTRODUCCIÓN

La teoría de la información es una rama de la teoría-de las

probabilidades con aplicaciones extensivas a los sistemas de

comunicación. Como la mayoría de las disciplinas matemáti-

cas tuvo su origen en fenómenos físicos, pues fue iniciada

por ingenieros en comunicaciones, quienes estudiaban la es_

tructura estadística de las comunicaciones eléctricas.

La codificación, consiste en alterar la forma del mensaje

de modo que facilite su transmisión. El código Morse (1832)

constituye el primer trabajo significativo en esta rama.

El desarrollo de la teoría de comunicaciones se realiza a

lo largo de dos líneas principales: los trabajos de Wiener

y los trabajos de Shannon que son en esencia de naturaleza

estadística.

Wiener y Shannon analizaron el problema de la reproducción

precisa de señales después de su transmisión sobre enlaces

no confiables. La diferencia importante en esos trabajos,

es que, mientras Wiener asumió que la señal podía ser pro-

cesada solo después que haya sido perturbada por el ruido,

Shannon asumió que la señal podía ser procesada antes y des

pues de la perturbación.

A Wiener se le asocia con el problema de extraer la señal

de un medio con cierto tipo de ruido. A Shannon le asocia_

mos con el problema de codificar señales de tal manera que

sea posible su reproducción después de la transmisión en -

un canal ruidoso. La rama de la teoría de las comunicacip_

nes asociada al nombre de Claude E. 'Shannon se llama teo-

ría de la información, y analiza las propiedades estadista^

cas de los símbolos seleccionados en un alfabeto adecuada-

Page 9: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

— 2 —

mente definido. Es una "teoría de medición" en el sentido

de que provee de métodos para determinar los límites alcan_

zables cuando se transmite información sobre un canal rui-

doso a cierta velocidad finita, determinada por el enlace,

con una probabilidad de error que puede ser hecha tan pe-

queña como se desee. Este.es el mayor resultado de su teo_

ría.

En base a estos trabajos han aparecido un gran número de tra

bajos, sobre posibles aplicaciones a una amplia gama de áreas.

Los laboratorios de la Bell Telephone-; en los Estados Unidos

parecen ser el lugar de nacimiento de la teoría de la infor-

mación. Entre los científicos que trabajaron allí, cabe des

tacar: Gilbert, Hamming, Shannon, Slepian, Fano, Kelly, Me

Millan, Rice. Colaboradores del Instituto Tecnológico de -

Massachusetts: Huffman, Wiener, Wozencraft. Los matemáticos

Rusos también han aportado valiosos documentos a la teoría,

entre ellos figuran Kolmogorov, Markov, Siforov, Gabrilov. O_

tros nombres familiares a los .ingenieros de comunicaciones

Bríllouin, Kraft,Peterson, etc.

Existen tres partes esenciales comunes a todos los procesos

de comunicaciones:

1. Fuente o transmisor

2. Destino o receptor

3. Canal o medio de comunicación entre la fuente y el des-

tino.

1.1.1 FUENTE

La fuente es un mecanismo generador de información, la cual

puede entregar señales de forma análoga o digital según el

tipo de sistema. Una señal análoga se transmite por modula

ción, ya sea de frecuencia, de amplitud o de fase por ejem

Page 10: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 3 -

pío la telefonía, radio, televisión, etc.

Cuando una fuente de información entrega una señal digital

para que sea más fácilmente transmitida empleamos la codi-

ficación.

Si el codificador realiza la operación F-sobre el elemento

I, el mensaje codificado tendrá la forma F(I); el decodifi_

cador efectuará la operación inversa F(I) sobre el mensaje

codificado para recuperar la forma original I del mismo.El

caso de mayor eficiencia se logra cuando la operación F se

realiza por combinación de elementos binarios.

En nuestro -estudio consideraremos una fuente de información

discreta, la cual escoge y transmite secuencias de símbolos

de un alfabeto' dado. Cada selección se hace al azar basari

dose en alguna ley estadística.

1.1.2 DESTINO

Es el receptor de la información transmitida,, la cual es pro

cesada para poder recuperarla con el menor número de errores,

los cuales se introducen en el canal y que gracias a la co-

dificación pueden ser eliminados.

El receptor consiste de un demodulador y un decodificador,

los cuales a su salida entregan una señal binaria en el ca

so de señales digitales y ésta puede ser utilizada e inter_

pretada.

1.1.3 CANAL

El comportamiento del canal de comunicaciones también se ba_

sa en leyes estadísticas, generalmente existen pérdidas de

información, ya sea que el elemento transmitido no alcance

su destino o lo haga en forma distorsionada?

Page 11: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

Existen diversas fuentes no deseadas las cuales se introdjj

cen al canal, como el ruido, el cual es producido por dive.r

sos agentes y son estas fuentes no deseadas las que contaría

nan la información.

Un objetivo muy importante de quien diseña un sistema es mi_

nimizar la contaminación para garantizar la recuperación óp_

tima de la información afectada por el ruido.

FuenteTX

Codificador •Cecodificador

Fig. 1.1

Sistema de comunicaciones

1.2 FUENTES, ENTROPÍA Y TEOREMA DE CODIFICACIÓN SIN RUIDO

En nuestro estudio tratamos con modelos de comunicaciones

matemáticamente ideales y definidos en términos estadísti-

cos; por esto la característica más importante de nuestro

modelo es que se comporta en forma aleatoria. La fuente

por ejemplo transmite al azar cualquier mensaje de un con_

junto predeterminado de ellos; no sabemos cual se transmi_

tira a continuación, pero si podemos calcular la probabili_

dad con la cual se puede transmitir un determinado mensaje.

Este modelo de fuente de información se llama"fuente de me

moria nula" porque el escogimiento de un determinado mensa_

je obedece a procesos meramente estadísticos, independien-

tes entre sí y de cualquier secuencia. Como no se puede de

finir el comportamiento detallado de nuestro modelo, necesi

tamos describir un comportamiento "promedio" a la luz de

los principios estadísticos.

Page 12: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 5 -

La búsqueda de la medida de la cantidad de información nos

lleva a encontrar un parámetro estadístico asociado con un

plan de probabilidad. Este parámetro nos revelará una me-

dida relativa de incertidumbre, aplicable a la ocurrencia

de algún mensaje en particular.

Ciertamente si estamos definiendo formalmente una medida

cuantitativa de la información contenida en dichos eventos,

esta medida debe tener algunas propiedades intuitivas.

1. La información contenida en los eventos, debe ser def in_i

da en términos de alguna medida de incertitumbre de los

mismos.

2. Eventos menos evidentes deben contener más información

que otros más evidentes.

3. La información de eventos sin relación, tomados como un

solo evento, debe ser igual a la suma de información de

los mismos.

Una medida natural de la incertidumbre de un evento es la

probabilidad de -oC- «denotada P (cC). El'término formal de

"sin relación" es independencia: dos eventos oí y (b se dice

son independientes sí:

P ( oL (\> } = P (c¿) • P (£>} 1.1

En base a las propiedades anteriores definimos la cantidad

de información en términos de la probabilidad de oL de la

siguiente manera:

I (°0 = - log P (¿) 1.2

De lo cual deducimos que s i ° ¿y f i son independientes,

I ( o í f \ & ) = - log P (oC) - log P (6)

I ( c¿ rt<2» ) - I IX) + I í/3) 1.3

La base del logaritmo solo especifica la escala y de aquí

la unidad de información que estamos dispuestos a usar.

Si usamos el logaritmo de base 2, la unidad correspondiente

se denomina "bit" que es la contracción de "binary .unit".

Page 13: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

Si empleamos logaritmos naturales, la unidad de información

recibe el nombre de "nat" por "natural unit".

En el caso de logaritmos de base 10, la unidad es el Hartley.

R.V. Hartley fue quien primero sugirió la medida logarítmica

de la información ( Hartley,1928).

Hoy en día en el mundo, con el uso extensivo de computadoras

basadas en lógica binaria y sistemas de transmisión digitales,

la unidad de información más usada es el "bit", en el presen_

te trabajo al especificar logaritmo consideramos el de base 2.

1.2.1 FUENTE DE INFORMACIÓN DE MEMORIA NULA

Una fuente de información de memoria nula se caracteriza por

su salida, la variable aleatoria u, la cual toma valores de

símbolos pertenecientes a un alfabeto finito.

U = Cai'a2' 'aAJ 1"4

Con probabilidades P (a ) k = 1,2, ,AK

En una unidad de tiempo, es decir cada Ts segundos, la fueii

te emite una variable aleatoria, la cual es independiente

de €odas las emitidas con anterioridad y de las que se emi-

tirán.

De acuerdo a la definición de información, si en cualquier

tiempo, la salida de la fuente de memoria nula es u = a aK

esta situación le nombramos como el evento d., , entoncesK

la información contenida en la salida es:

I ( t/k} = - logp{ak) (bits)

La información media suministrada por una fuente de informa,

ción de memoria nula es simplemente:

H (U) = |tP (ak) - I ( )

= £ P taj - I ( oL, } 1.5-«- K K

H (U) es llamada la "entropía" de la fuente de memoria nula.

I •'- -(c¿ ) se puede interpretar como la cantidad de informa-re

ción necesaria para que la presencia de a sea cierta.K

Page 14: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

— 7 —

De igual manera H (U) puede ser, bien el valor medio de la

información por símbolo suministrada por la fuente o el va_

lor medio de la incertidumbre de un observador antes de co

nocer la salida de la fuente.

Con el objeto de deducir algunas propiedades de la entropía

consideramos una propiedad particular del logaritmo. La fi_

gura 1.2 representa la curva de variación del logaritmo na-

tural de x, así como la recta definida por la ecuación •

y = x-1 .

1.6

Y = x -1

Y =_ ln --x

-2

Fig. 1.2Gráfico de ln x y de x-1

Si hacemos la función f (x) = ln x - (x-1), se observa en

el gráfico 1.2 un máximo en x=l con un valor de f(x) = O,

Para dos distribuciones de probabilidad P(.) y Q(.) sobre

el alfabeto U y aplicando la inecuación en la siguiente ex

presión:

(u,

Page 15: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

QC

2} 1 ) y Q(U} -

^ O

Con lo que se puede establecer la desigualdad

EP(u) log ^ £P(uy

Que sera una igualdad para cualquier valor de u r si y solo

si Q (u) = P (u) , las inecuaciones 1.6 y 1.7 son la usadas

más comunmente en teoría de la información. Si escogemos

Q(u) = I/A para todo u elemento de (a , a ,...., a,) en 1.7,J- ¿. .rt

por ejemplo presentarnos las fuentes con símbolos de salida

equiprobables las cuales tienen la mayor entropía, esto es

O H{u) log A 1.8

El valor máximo de la entropía es precisamente log A, alcan_

zandose solamente si todos los símbolos de la fuente son e-

quiprobables .

Un ejemplo particularmente importante de este tipo de fuen_

tes, corresponde a una fuente binaria de memoria nula con

alfabeto U = (0,1) con probabilidad P(0) = p y P (1) = 1-p

Calculamos la entropía:

H(p) = H(U) = p log— + (1-p) log~ — ( _ ^ gL ^ 3 p ^ 3l-p símbolo

Donde H (p) es llamada la " función de entropía ".H(p)=^l—:——e simb.

siendo igual si y solo si p = 1/2. Con p = 1/2 llamamos-a

la fuente"binaria simétrica" y cada salida de la fuente con.

tiene un bit de información.

Page 16: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

1.2.2 . PRIMER TEOREMA DE SHANNON

En muchas aplicaciones, las salidas de una fuente de inforrna

ción son transmitidas hacia algún lugar o son almacenadas en

la memoria de un computador. En cualquier caso es convenieri

te presentar las salidas de la fuente en símbolos binarios.

Entonces es imperativo que esto sea hecho, de tal manera que

dichas salidas sean cambiadas a símbolos binarios. Natural-

mente es deseable usar pocos símbolos binarios por salida co

mo sea posible..

El primer teorema de Shannon, llamado "Teorema de Codifica-

ción sin ruido en fuentes", presenta que el número promedio

de bits por salida de fuente puede hacerse próximo a la en-

tropía y no menos. Este resultado más bien sorprendente,

da la noción cié entropía y su significado operacional.

Si ü = {u., ,u^, ,u J , es la salida de una fuente deJ. ¿. N

memoria nula de secuencia aleatoria y X = (X ,X , ,X )" LN_

sera la secuencia binaria correspondiente de longitud L^ (u)

y que representa la secuencia de la fuente Ü..

NPara fijar N; el conjunto de todas las A secuencias bina-

rias {palabras código) corresponden a todas las secuencias

de la fuente de longitud N llamadas códigos.

Las longitudes de las palabras código pueden ser diferentes,

ahora para poder recobrar la secuencia original de la fuente

a partir de los símbolos binarios, requerimos que dos secuen_

cías distintas de códigos no formen la misma secuencia bina-

ria o palabra código, en este caso estos códigos se llaman

"unívocamente decodificables", esta definición asegura que

dos secuencias de palabras código de la misma longitud dan

lugar a secuencias de códigos distintas. Una condición su_

fieiente para que un código sea unívocamente decodificable

es que ninguna palabra código de longitud L sea idéntica a

Page 17: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

10 -

los primeros L símbolos binarios de otra palabra código de

longitud mayor o igual a L. Esto es que ninguna palabra có

digo sea un"prefijo" de otra palabra código. Códigos univo^

camente decodificables con esta propiedad de los prefijos -

tiene la ventaja práctica de ser instantáneamente decodifi-

cables, esto es, cada palabra código puede ser decodificada

apenas el último símbolo de ésta, se 'ha recibido.

Ejemplos: Suponemos U = (a,b,c) y consideramos'los siguien_

tes códigos, para secuencias de longitud N = 1

U Código 1 Código 2 Código 3

a

b

c

0

1

01

00

01

10

110

100

El código 1 no es unívocamente decodificable, ya que por e-

jemplo una secuencia 0101 puede dar las secuencias de fuen-

te abab, abe, cab, ce.

El código 2 es unívocamente decodificable ya que ninguna pa_

labra código es prefijo de otra, de igual manera el código 3

A continuación se procederá a establecer el teorema de codi

ficación sin ruido en su forma más simple.

Teorema.- Dada una fuente de memoria nula con un alfabeto U

y entropía H(U),para secuenciasde fuente de longi_

tud N donde N = 1,2, existe un código bi-

nario unívocamente decodificable consistente en

secuencias binarias " palabras código" de longi-

tud K (ü"} par-a "ü é % tal que la longitud prome_

dio de las palabras código esté limitada por:

<%•> s=r PN(u) . 1 (u)

< > - N-H(U) 1.13

Page 18: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 11 .-

La demostración de este teorema se puede realizar por dife_

rentes métodos, Shannon lo demostró en 1948, Huffman dio o_

tra demostración en 1952, y existen otras.

1.3 INFORMACIÓN MUTUA Y CANALES

Consideramos un canal con N entradas y M salidas. El canal

es definido por el conjunto de probabilidades de transición

P (y-i/x ) para l^i^N y 1 -¿ j M, donde x.¡_ y y ¡ deno-

tan la entrada al canal y la salida respectivamente. El ca_

nal es convenientemente representado por el diagrama de -

transición (ver fig. 1.3}r o por su matriz de transición.

1.14

P ( Y/X ) =

P (yl/xl) P (y2/xl) P (yM/xl)

P (yl/x2) P (y2/x2) P (yM/x2)

P (yl/xN) P (y2/xN) P (yM/xN)

Por definición, la información mutua entre la entrada al ca

nal y su salida es

P(XÍ, y-j)I (X;Y) = £ £ PÍXi,yi) log•**' iml

1.15(X¿) P(yj)

que puede ser escrita en la forma

Se sabe que = P

1.16

1.17

y P(xifyi) = P (Xi / yi) - P (yi) 1.18

entonces la ecuación 1.16 puede ser escrita

Page 19: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 12

1.19

logtxi)

H(X) - H(X/Y) 1.20

Un desarrollo similar se usa para cuando la información mu_

tua de un canal es dada por

(X;Y) = H(Y) - H(Y/X)

Donde

'H(Y/X) = log

1.21

1.22P(yyxi)

Esta formulación de la información mutua con frecuencia es

más sencilla para trabajar con la ecuación 1.20 . Donde

p{y-i/xi) son las probabilidades de transición y son dadas

directamente por la matriz del' canal o el diagrama.

Entradas Salidas

N

Fig. 3Diagrama de transición del canal

-La ecuación 1.20 tiene una forma muy simple y una interpre-

tación clara. La entropía incondicional H(X) es el valor

medio de incertidumbre de la fuente. La cantidad H(X/Y) es

el valor medio de incertidumbre de la fuente dada la salida

Page 20: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 13 -

del canal Y. La diferencia entre estas dos cantidades es la

información mutua y ésta es una medida de la información que

ha pasado a través del canal.

La capacidad del canal es el valor máximo de la información

mutua, donde la maximización debe ser con respecto a todas

las probabilidades de entrada.

1.3.1 CANAL BINARIO SIMÉTRICO (BSC)

Es un canal discreto de memoria nula con X - Y = (0,1) y

probabilidades condicionales de la forma

P(l/0) = P(0/l) = p

P(0/0) = Píl/1) = 1-p

^ O

I-P

Fig. 1.4Canal binario simétrico

1.3.2 CANAL CON RUIDO BLANCO GAUSSIANO

Es un canal de memoria nula, con un alfabeto de entrada

X = (a^,a2, .......... , HQ) y un alfabeto de salida Y=(-oo,oo;

y una densidad de probabilidad condicional

P(y/aK) = - - - — e -.* para todo y £ Y/TírlF1"

donde K = 1,2, ............ Q

Esto es representado por la figura del diagrama 1.5 donde n

es la variable aleatoria gaussiana con valor medio cero y

Page 21: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 14 -

varanza

Fig. 1.5Canal con adición de ruido gaussiano

1.4 CODIFICACIÓN

El concepto de capacidad juega un papel fundamental en el

funcionamiento de los sistemas de comunicaciones. Shannon

presentó, que si una fuente produce información a una velp_

cidad fija R, y el canal utilizado tiene una capacidad C,

entonces el esquema de modulación y codificación es tal que

la probabilidad de error al decodificar puede hacerse peque_

ña para R<rC . Para R>C, la codificación usualmente solo

degrada aun más el funcionamiento del sistema.

La capacidad tiene dimensiones de bits por simbolo, lo cual

es fácilmente convertido a capacidad en bits por segundojmul^

tiplícando por la velocidad de información en símbolos por

segundo.

Para un canal con ruido gaussiano, la capacidad está dada

por

C = B log { 1 + P ) (bits / s) 1.24

Donde B = ancho de banda de la señal

P = potencia de la señal recibida

N0= potencia del ruido

La ecuación 1.24 es conocida como la ley Shannon - Hartley.

Page 22: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 15 -

Para un mejor entendimiento del significado de la ley de

Shannon - Hartley, es útil escribir la ecuación en una for_

ma ligeramente diferente. La duración de un bit es una -

función de la capacidad Tb = 1/C segundos. Así la energía

por bit, Eb, es

Eb = P.Tb = p/C 1.25

y la relación

Eb PN0 " N0 C

La ecuación 1.24 se puede reescribir

En la figura 1.6.a se gráfica la relación entre Eb/N0 y C/B

para C<B. Una observación importante es que, • Eb/N0 se

aproxima a un límite finito cuando B —> oo .

Este límite es logaritmo natural de 2 (In 2), el cual es a-

proximadamente -1,6 dB, este valor es conocido como el lí-

mite de Shannon. La región C < B es conocida como la de pp_

tencia limitada.

Para C>B la relación entre Eb / No y C/B se ilustra en la

figura 1.6.b. Esta región se conoce como la región del an-

cho de banda limitada.

Si la relación señal a ruido es mayor que la dada por esta

curva, se puede hacer una recepción y decodificación con e_

rrores pegúenos.

Los sistemas prácticos trabajan en el rango 1/2 < C/B -el bit

Page 23: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 16 -

log C/B

-5 -4 -2 -1

10 log

0,20,4

0,60,8

11.21.41.6

(a)

Fig. 1.6Relación entre Eb/N0 y C/B para capacidad

1.4.1 INTRODUCCIÓN A CÓDIGOS BLOQUES

Elproceso para formar un código bloque es ilustrado en la

figura 1.7. La fuente binaria se asume gue genera una

secuencia de símbolos a una velocidad R (símbolo/segundo).

Estos símbolos son agrupados en bloques de longitud K. A

cada uno de estos bloques de K símbolos, n-K símbolos re-

dundantes son sumados para producir una palabra código de

n símbolos. Los n-K símbolos son conocidos como los símbo

los de paridad. El resultado se denota como un código -

bloque (n,K). Donde cada palabra código contiene n símbo

los y conduce K bits de información, la velocidad de in-

formación de la salida del encodificador es K/n bits por

símbolo. Así K/n se conoce como la velocidad de código.

La decodificación es ejecutada por la determinación de la

palabra código transmitida más probable, dada una secuen-

cia recibida..

Page 24: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 17 -

secuencia de información

fuente

binaria— )

R.

, encodi

f icadoi

R. - (simb/s)K

R (simb/s

decodif i_

cador

VPalabra código Secuencia -recibida

Fig. 1.7

Codificación y decodificación

Si todas las palabras códigos transmitidas son igualmente

probables , y el canal es de memoria nula , la secuencia más

probable transmitida se escoge a la palabra código que po-

see la menor distancia de Hamming con la palabra código re_

cibida.

La distancia de Hamming entre dos secuencias Y y 2 es de-

finida como el peso (número de unos binarios)- en la suma

en módulo~2 de Y y Z. Y y Z son escritos como vectores

y la suma en módulo-2 es tomada componente por componente.

Una medida de la efectividad de la codificación se obtiene

al comparar la probabilidad de error de la palabra con cod

f icación, Pe, y la probabilidad de error de la palabra sin

codificación, Psc.

La probabilidad de error de los símbolos con codificación y

sin codificación son denotados ge y gsc.

Page 25: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 18 -

La probabilidad de error de la palabra sin codificación es

uno menos la probabilidad de que todos los K símbolos sean

recibidos correctamente, esto es

Psc = 1 - (l-gsc)K 1.27

.La 'probabilidad de error • de la palabra codificada es al-

go más complicada. Asumimos que el código tiene una "dis_

tancia mínima" dmin, con lo cual e errores pueden ser co-

rregidos, donde

e = ~ { dmin -1 ) 1.28

Si más de e errores son recibidos en una palabra código

siempre se obtiene una palabra errada, la probabilidad de

error de la palabra es

PC = £ ( " } qc1 ( l-qc)""1 1.29i= C-t-l

Los códigos con los cuales la ecuación 1.29 coincide exac

tarnente son conocidos como códigos perfectos, entre los

cuales tenemos los códigos de Hanuning y los códigos de Go

lay.

1.4.2 CÓDIGOS DE REPETICIÓN

Es un código muy simple conocido como de repetición, de

forma (n,l) . En éste cada uno de los n-1 símbolos de pa_

ridad son iguales a los símbolos de información.

La distancia mínima del código es n y es así que para va_

lores grandes de n el código posee una gran capacidad de

corrección de errores, pero su velocidad es baja. El nú

mero de errores que puede ser corregido es e - 1/2 (n-1)

1.4.3 CÓDIGOS DE BLOQUE LINEALES

Un código lineal es definido como aquel en el cual los sím

Page 26: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 19 -

bolos de paridad pueden ser .escritos como una combinación

lineal de los bits de información. Esto es expresado en

forma de matriz así:

Y = X- G 1.30

En donde la matriz G se la conoce como la matriz generado

ra del -código y X" es la -secuencia de información. La ma_

triz generadora será de la siguiente forma.

G =

gil gi2 glK... .glm

g2m

1.31

gkk gkm

Entonces el 1-ésimo componente de la palabra código Y es

dado por

= (£) Xi9il 1 1.32

en donde el símbolo Qj denota un sumador módulo -2 (OR

esclusivo) . El proceso de diseñar un código es la dete_r_

minación de los elementos g-¡_-r de la matriz generadora.

Códigos sistemáticos.- Son aquellos en los cuales los bits

de datos están presentes en la palabra código sin altera-

ción (excepto transposición).

Relacionada con la matriz generadora tenemos la matriz de

chequeo de paridad, la cual sirve para realizar la decodi-

ficación H, la secuencia decodificada S es el .resultado de

la secuencia recibida Z por la matriz de paridad.

S - Z H 1.33

La matriz de paridad es la matriz inversa de la matriz de

generación.

Page 27: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 20 -

Un clásico ejemplo de código lineal son los códigos de Ha-

mming .

1.4.4 CÓDIGOS CÍCLICOS

De todos los códigos lineales los más utilizados y popula_.

res son los códigos cíclicos, los cuales son usados para

corrección pero más en detección de errores.

Tiene las siguientes características: X palabra válida de

el código; x.- , x2, - - f^n £ u

X = { x1.,x-), /xn)' s^ se rota cíclicamente este vec_

tor, se tiene

X' = ( xn, x.., x2, ,xn_j_) es también una palabra

válida del código.

La razón principal para que los códigos cíclicos tengan

gran importancia es que la codificación y decodificación

puede ser implementada en forma sencilla usando registros

de desplazamiento y compuertas lógicas.

Para construir la matriz generadora de códigos cíclicos u_

samos un polinomio generador G (x) , el cual es único para

cada código.

Todo polinomio (palabra código) es un múltiplo del polinomio

generador.

1.4.5 CÓDIGOS BCH

El código BCH (Bose - Chaudhuri - Hocquenghem) es quizá el

código más importante dentro de la clase de los códigos c_í_

clicos.

Estos códigos pueden ser diseñados con un amplio rango de

velocidades y capacidad de corrección de errores.

Page 28: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 21 -

Específicamente si e es el número de errores corregibles

por palabra código y m un entero cualquiera, el numero de

símbolos por palabra código es

n = 2™ - 1 m±>2 1.34

y el número de símbolos de paridad por palabra código es

definido por el límite

n - k £¿ m- e 1.35

en donde e errores por palabra código pueden ser corregi-

das, si es que la- distancia mínima está dada por:

d >2 e + 1 1.36

El código de Hamming es un código BCH que corrige un solo

error.

1.4.6 CÓDIGO DE GOLAY

Este código es importante desde el punto de vista de corree:

ción múltiple de errores (e l) , es además un código perfec

to. El código de Golay es un código cíclico (23,12) que co

rrige 3 ó menos errores, relacionado con el código (23,12)

está el código de Golay (24,12) el cual se lo obtiene del

código (23,12) con la adición de un bit de paridad- El có

digo (23,12) posee una distancia mínima de siete y el có-

digo (24,12) una distancia mínima de 8, este código también

corrige 3 errores por bloque,pero por detectar todos los ca-

sos de cuatro errores por bloque, da una advertencia al u-

suario cuando el porcentaje de errores es tan alto que no -

es posible una decodificación confiable, este código es muy

popular en muchas aplicaciones. El código (23,12), en cam_

bio no da esta advertencia, sino que produce correcciones e

rroneas.

1.4.7 OTROS CÓDIGOS BLOQUE IMPORTANTES

a. Código de Reed - Solomon (RS)

Cada símbolo puede ser representado por m bits. Estos có

digos tienen los siguientes parámetros:

Page 29: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 22

Símbolos: m bits por símbolo

Longitud' del bloque: n = 2 -1 símbolos = m(2 -1)bits

Número de símbolos de paridad: (n~K)=2e símbolos

~ m.2e bits

Distancia mínima: d « 2e + 1 símbolos

Códigos Reed Solomón son muy adecuados para corrección de

ráfagas de errores y para el uso como código exterior en

los poderosos sistemas de codificación conocidos como sis_

temas de codificación concatenados.

entrada codificad

externo

codificad

internocanal

decoder

interno

decoder

externo

salida

Pig. 1.8

Sistema de codificación concatenado

La idea básica de concatenación es la forma de codificar

y decodificar la señal hacia el canal. Se puede escoger

como codificador interno un código bloque o convolucional

y se toma un código Reed Solomón como externo, baja com-

plejidad de decodificación y grandes ganancias de codifi_

cación es posible obtener.

b. Código de Hamming

Este es un código cíclico que tiene los siguientes pará-

metros:

Longitud de bloque: n = 2 -1

Número de bi'ts de paridad; n - K = m

Distancia mínima: d = 3

c. Códigos de máxima longitud

Estos códigos cíclicos poseen los siguientes parámetros:

Page 30: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

23 -

Longitud de bloque: n = 2 -1

Número de bits de información: K = m

Distancia mínima: d = 2 -1

Se llama también código simplex.

d. Códigos de residuo cuadrático

Las distancias mínimas de los códigos de esta familia son

comparables a los códigos BCH de semejante longitud. Los

códigos de residuo cuadraticos son códigos cíclicos con

los siguientes parámetros:

Longitud de bloque: n = p un número primo de la for-

ma 8.m + 1

Número de bits de información: K = {p + 1) . 2

Distancia mínima : d^ /rT

Existen muchos códigos que no han sido mencionados como

los códigos Goppa, los códigos cuasi-cíclicos para nom-

brar unos pocos.

1.5 CUANTIZACION

En sistemas de comunicación prácticos, en la recepción debido

al ruido del canal la señal transmitida digital, tiene una

forma análoga,. la cual' de b.e -ser cuan tizada

para su utilización. Si se usa una cuantización binaria,

se dice que es decodificación de "decisión dura" y se tie-

ne un canal binario simétrico (BSC) con probabilidad de e-

rror p, el cual lo representamos en la figura 1.4.

El demodulador de"decodifi'cacion suave" debe decidir prime-

ro si el nivel recibido está sobre o bajo el nivel de deci-

sión , y calcula un número el cual especifica que lejos se

está del nivel de ' umbral. Este número en teoría debe ser

un valor análogo, pero en muchas aplicaciones prácticas

cuantización de tres bits (8 niveles) es usada.

Page 31: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 24 -

A

_JX¿P-°- Nivel de umbral

11-L110"01.

píz/1)

000

Fig. 1.9Cuantización suave, 8 niveles

La entrada al receptor es binaria sin embargo la salida es

8-ária. La información disponible en el decodificador se

incrementa considerablemente y traslada una ganancia adicio

nal de 2 dB en la mayoría de los casos'.

El canal resultante de la cuantización a tres bits de un ca_

nal gaussiano es llamado el canal de memoria nula de entra-

da binaria y salida 8-ária (DMC) y se lo presenta en la fi-

gura 1.10.

Fig. 1.10

Cuantización suave,8 niveles

Page 32: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 25 -

1.6 GANANCIA DE CODIFICACIÓN

Consideremos un canal gaussiano sin memoria con una <3en_sidad_

de espectro de ruido No y sin limitación de ancho de banda.

Eb dejiot_a_la_ energía recibida por bit. Entonces podemos pre_

sentar que para Eb / No mayor que - 1,6 dB, existen algu-

nos esquemas de codificación los cuales nos pueden dar cero

errores en comunicación. Sin embargo en sistemas de comúni_

caciones reales no es posible por lo general tener relacio-

nes señal a ruido bajas.

Por otro lado, podemos saber que una señal PSK sin codifica-

ción sobre el mismo canal requiere de cerca de 9,6 dB para

tener un promedio de bits errados de 10 . Esto se lo re-

presenta en la figura 1.11, una ganancia potencial de codi-

ficación de 11,2 dB es teóricamente posible. /La ganancia

de codificación es definida como la diferencia en valores

de Eb / No requeridos para obtener un promedio de errores

en particular sin codificación y con codificación.

Debemos indicar que esta ganancia de codificación es obteni_

da a expensas de un incremento del ancho de banda de trans-

misión. La expansión del ancho de banda es el recíproco de

la velocidad de codificación. Así para una velocidad de có

digo 1/2, la energía por símbolo transmitida Es es 3 dB me_

nos que Eb. Se debe indicar que la ganancia de codificación

es un concepto poderoso solo cuando se puede obtener mejoría

en el funcionamiento por el incremento de potencia.

Page 33: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 26 -

-2 10

Eb / No (dB)

Fíg. 1.11

Funcionamiento de una señal PSK sin codificar sobre

un canal con ruido blanco gaussiano.

La asíntota de la ganancia de codificación, es una figura

de mérito de un código en particular, depende solo de la ve_

locidad del código y de la distancia mínima.

Para definir esto, consideramos un código corrector de e e_

rrores con velocidad de código R y una distancia mínima

d =; 2e + 1. Si se usa el código con un demodulador PSK de

decisión dura la probabilidad de error Pe es:

Pe,d i-

Donde

Q ( /2Eb-R • (e + 1} / No ) 1.37

_ —e 2 dw

Page 34: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 27 -

Con el demodulador PSK y cuantizacio'n suave tenemos

Pe,s Q ( y2Eb-R-d / NO )

Recordando que para PSK sin codificación

Pe = Q ( |2Eb / No )

De esta manera la asíntota de la ganancia de código para

los dos casos es:

Ga R(e +1) =10 log R(e + 1) dB

Ga R d = 10 log R d (desición suave)

Esto indica que desición suave es más eficiente cerca de

3.dB que desición dura, esto a una relación Eb / No muy

alta. Una figura de 2 dB es un valor más probable en la

realidad.

Page 35: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

CAPITULO II

CÓDIGOS CONVOLUCIONALES

2.1 INTRODUCCIÓN Y ESTRUCTURA BÁSICA

Aunque los códigos convolucionales, primero fueron introdu-

cidos por Elias, en las dos pasadas décadas han sido apli-

cados para incrementar la eficiencia de numerosos sistemas

de comunicación en donde reemplazaron a códigos bloques del

mismo orden de complejidad, actualmente estos códigos son u_

sados en sistemas que necesitan gran seguridad en decodifi-

cación de datos.

Existe gran cantidad de literatura en este campo, compuesto

en su mayor parte por documentos que enfatizan detalles de

los algoritmos de decodificación, en vez de que se unifi-

quen los más fundamentales conceptos.

El código convolucional dicotómico debe sus orígenes al de_

sarrollo de la decodificación secuencial (probabilística)

de Wozencraft y la decodificación por umbral (realimenta-

ción, algebraico) de Massey. Hasta hace poco las dos dis_

ciplinas florecieron casi independientemente, cada una con

su propia literatura, aplicaciones y entusiastas. El algc)

ritmo de decodificación secuencial de Fano estuvo presto-

para ayudar a muchas versiones primitivas de decodificadp_

res secuenciales tanto en la teoría como en la práctica.

Mientras tanto la decodificación por realimentación deferí

día y se fortalecía por las capacidades de corrección de

errores de ráfaga.

Para aumentar la confusión, una tercera técnica de decodi-

ficación aparece con el algoritmo de Viterbi, el cual dio

origen al aparecimiento de las decisiones por máxima pro-

babilidad. Aunque esta aproximación es probabilística y

surge originalmente de la decodificación secuencial, condu_

ce a un acceso_.más ele_mental de-.la representación_y análi-

sis de funcionamiento de los códigos convolucionales.

Page 36: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 29 -

Además, por el desarrollo de las propiedades de decodifica_

ción-invaríante de los códigos -convolucionales, se arriba

directamente al algoritmo de decodificación de máxima pro-

babilidad , de aquí un desarrollo alterno nos conduce a la

decodificación secuencial por un lado y por otro a la decc3

dificación por realimentación.

En el algoritmo de Viterbi se basan numerosas aplicaciones

en sistemas de comunicaciones, es particularmente útil en

transmisiones de datos de alta velocidad, donde existen mu

chos errores.

En el sentido más estrecho, los códigos convolucionales pue_

den ser vistos como una clase especial de los códigos de

bloque lineales, pero tomando un punto de vista más ilustra_

tivo, se puede descubrir que la estructura convolucional a-

dicional, dota a un código lineal con propiedades superiores,

las cuales facilitan la decodificación y mejoran el funcio-

namiento.

Estos códigos se utilizan cuando se transmiten datos que no

.son procesados inmediatamente ya que el tiempo de corree^-

pión y detección de errores es alto.

Los bits de control no solo se calcula con los bits de la

secuencia sino que se lo hace con los bits de las secuen-

cias anteriores.

En recepción se necesita de un algoritmo para detectar los

errores y corregirlos a la vez.

Los bits de mensaje y de control no pueden ser separados.

2.1.1 DESCRIPCIÓN DEL CÓDIGO

Un codificador convolucional es una máquina lineal de esta_

Page 37: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 30 -

do finito consistente en un registro de desplazamiento de

K-estados y n generadores de funciones algebraicas linea-

les. El dato de entrada, el cual es usualmente, aunque

no necesariamente binario, es desplazado a lo largo del

registro b bits a un misino tiempo. Un ejemplo instructi_

vo es el que se lo implementa con K = 3, n - 2, b - 1 y

se lo presenta en la figura 2.1

0 1 0 1 1 0

secuencia de datos

O 0.

10 00 01 01 11 00

secuencia codificada

OOOJltLOFig. 2.1

Codificador convolucional

Los bits de entrada son -indicados en la figura anterior.

Los tres primeros bits de entrada O, 1 y 1 generan los có

digos de salida 00, 11 y 01 respectivamente. El propósi-

to de este ejemplo es desarrollar varias representaciones

de códigos convolucionales y sus propiedades. Las técni

cas así desarrolladas pueden ser usadas con cualquier có-

digo convolucional.

Es tradicional e instructivo el exibir un código convolu-

cional por medio de un diagrama de árbol como en la figu-

ra 2.2.

Page 38: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 31 -

D

1

00

00

11

11

10

01 -

UU a

00 a

11

10 b.

01 d

11a

00 c

01 b

10 3

11 c

10 b

01 d

a

00 c

m h -

00 a

11 c '

10 b

(U ¿

11 a -

00 c -

01 b

10 d

11

10

01

11

00

01

10

00

11

10

01

1100

01

10

00

1110

01

11

c

b

d

a

. r!

b

d

a

K

a

b

d

a

00

01

10

00

1110

01

1100

01

10

K

d

a

c

b

a

r

. h

d

a = iQO]

b = |01[

c = I lo]

d = fUl

Fig. 2.2

Diagrama de árbol

Page 39: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 32 -

En este diagrama se puede observar ambas, la secuencia de

entrada y de salida del codificador. Las entradas son in_

dicadas por la trayectoria que se sigue en el diagrama, en

cambio que las salidas son indicadas por símbolos a lo: lar_

go de las ramas del diagrama de árbol. Un cero a la entra_

da se indica con la rama superior de una bifurcación en

cambio un uno será la rama inferior. De esta manera se

realiza todas las 32 salidas posibles para los primeros cin

co bits de entrada.

Del diagrama se llega a deducir que después de las tres pr^~~

meras ramas, la estructura llega a repetirse. En efecto,

rápidamente se reconoce que después de la tercera rama los

símbolos codificados que emanan de los dos nodos denomina-

dos "a" son idénticos y esto para cada par de nodos de i-

gual denominación. La razón para este comportamiento es

obvio luego de examinar el - codificador. El cuarto bit de

entrada ingresa al registro de desplazamiento por la izquier_

da y en consecuencia el primer bit de entrada sale fuera del

registro de desplazamiento, perdiéndose, y no tiene influen_

cia alguna en la codificación.

En consecuencia las secuencias de datos l O O x y y 000

x y generan los mismos códigos después de la tercera rama

y así ambos nodos llamados "a" en el diagrama de árbol, pue_

den ser juntados.

Esto conduce á un rediseño del diagrama de árbol como se pre_

senta en la figura 2.3, esta figura ha sido llamada como dia_

grama de "trellis" ó"enrejado" . Entonces un diagrama de

enrejado es una estructura de árbol con ramas que reaparecen.

Adoptamos la convención que las ramas del código producido -

por un cero, serán continuas y las ramas del código produc^

do por un uno serán punteadas.

La simbología usada por diferentes autores difiere, pero ba_

Page 40: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 33 -

sicamente es la misma, y se debe a la configuración del codi_

ficador.

La estructura repetitiva del diagrama de enrejado sugiere un

adelanto en la simplificación de la representación de un có-

digo a un diagrama de estado. Los "estados" de este diagra-

ma son niveles de acuerdo a los nodos del diagrama de enreje*

do. En todo caso, los estados corresponden a los dos últimos

bits de entrada al codificador, los cuales pueden denotar tam

bien nodos.

Fig. 2.3

Diagrama de enrejado

Se observa finalmente que el diagrama de estado puede ser

dibujado directamente por la observación de las propiedades

del codificador, es particularmente útil el hecho de que un

gráfico directo de cuatro estados puede ser usado para re-

presentar la relación entrada-salida de una máquina de ocho

estados.

Para representar los nodos , los dos primeros bits del regis_

tro de desplazamiento representan los nodos, el primer bit

es la transición, así por ejemplo, si en el codificador se

considerado primero el detiene en los registrosj.1 1 O"

la izquierda, esto se representa en el diagrama por la transi._

cíón del estado anterior [1 | 0|segundo y tercer. registros

Page 41: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

_ 34 -

al estado actual |_l_£jy primero y segundo registros, y la ra_

ma de transición está representada por el código O 1 .

Fig. 2.4

Diagrama de estado

2.2 PROPIEDADES DE LA DISTANCIA EN CÓDIGOS CONVOLUCIONALES

En esta sección continuamos el desarrollo del ejemplo de

la figura 2.1, con el objeto de aclararlo.

La probabilidad de errores para códigos lineales y canales

de entradas binarias, pueden ser limitados simplemente en

términos de peso de las palabras código, lo cual correspon_

de al conjunto de distancias de una palabra código con to

das las demás. El funcionamiento de los códigos convolucio_

nales, los cuales constituyen una sub clase de los códigos

lineales, implica que éstos pueden ser igualmente limitados.

El conjunto de distancias, respecto a la trayectoria de códi_

go igual a una secuencia de ceros, es fácilmente hallada con

la ayuda del diagrama de enrejado o el de estado.

Page 42: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 35 -

Empezamos por redibujar el diagrama de enrejado, en la fig}¿

ra 2.5, 'nombrando a las rarnas;de acuerdo a su distancia con

la trayectoria de código 00

Fig. 2.5

Ahora consideramos, todas las trayectorias que en algún nodo

arbitrario j se une con la trayectoria que posee todas las

distancias igual'a cero.) Esto se ve en el diagramaT de és-

tas trayectorias, existe justo una con distancia igual a cin_

co, la cual diverge en-tres ramas de la referencia. Similar_

mente existen dos trayectorias con distancia seis, una de las

cuales difiere en cuatro ramas y la otra en cinco, y así en a

delante.

Se nota también, que los bits para la trayectoria de distan-

cia cinco son 00'..'... 100, los cuales difieren en un solo

bit respecto de la trayectoria con símbolos todos ceros,mien_

tras que para las trayectorias de distancia seis son 00

...11000 y 00 1010, se observa que cada una de éstas

difiere en dos bits de la referencia. La distancia mínima,

algunas veces llamada la mínima distancia "libre", entre to

das las trayectorias claramente se ve que es cinco. Esto

implica que cualquier par de er'rores del canal pueden ser -

Page 43: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 36 -

corregidos, para dos errores que en la secuencia recibida

caus'enuna distancia de dos de la secuencia transmitida

(correcta). Para dos o_menos-arr-or-es- la. máxima distancia

de una secuencia recibida -la ;cu_al sea incp_r_r_.ep_ta._ a

la secuencia" transmitida tiene como _ mínimo u-

na 'distanciare t_re_s_. Con paciencia las distancias

de todas las trayectorias pueden ser determinadas en el dia-

grama de enrejado.

En todo caso, en lugar de examinar el diagrama de estado,

nosotros podemos obtener una expresión matemática cuya ex-

pansión produce directamente y sin mayor esfuerzo toda la

información de distancia. •

Empezamos por rotular las ramas del diagrama de estado de2 O

la siguiente manera D , D, D , donde el exponente corres_

ponde a la distancia de la rama que en particular a la co-

rrespondiente rama de ceros. Figura 2.6

Fig. 2.6Diagrama de estados rotulado de acuerdo

a la distancia

Page 44: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 37 -

La función de transferencia en este caso es (apéndice 1}5

T(D) =D

1-2D 2.1

f £• -7

T{D) = D + 2D -»• 4D -i-. +2kDk+5+...

Esto verifica nuestra observación previa, y en efecto se ve

que la cantidad de trayectorias que se juntan con la trayec^

toria de ceros en un nodo dado, es 2 ") con una distancia i-

gual a ,k + 5 respecto a la referente.

La expresión matemática es válida para secuencias de código

infinitamente grande; si ahora nosotros consideramos que en

el j-esimo nodo realizamos una truncación para poder decod^

ficar, lo cual es más fácil de hacer si consideramos la in-

formación adicional del diagrama de estado modificado.

Figura 2.7

Fi9- 2-7

Diagrama de estado modificado

Los términos L son usados para determinar la longitud de

una trayectoria dada, donde cada rama tendría un término L,

y el exponente será aumentado por cada vez que se pasa por

esa rama. Los términos N son incluidos solamente si la ra

Page 45: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 38 -

ma de transición es causada por un dato de entrada de va-

lor 1, correspondiente a una rama punteada en el diagrama

de enrejado. Figura 2.3

La función generadora del diagrama de estado aumentado es

D5 L3 NT(D ,L,N) « -

1-DL (1+L)N

T(D,L,N) = D L N -t- D L (1+L)N + D L (1+L) N +

D5+KL3+W)kNk+1 +

Aquí podemos verificar que las dos trayectorias de distancia j

seis, una es de longitud 4 y la otra es de longitud 5 y am- •

bas difieren en dos bits de entrada de la secuencia de ceros. /

Ahora las trayectorias de distancia siete, una es de longitudS

cinco, dos son de longitud seis y una de siete, y para cada ¡I

trayectoria corresponde una secuencia de entrada con tres u- |

nos. Si estamos interesados en el j-ésimo nodo debemos trun \r la serie de manera que los términos que son de potencia /

mayor a Ir sean excluidos.

Tenemos determinadas todas las propiedades de las trayecto

rias de un código convolucional, y esto puede ser útil más

tarde en la evaluación de la probabilidad de error en el fun

cionamiento de códigos usados sobre canales arbitrarios sin

memoria.

2.3 DECODIFICADOR DE DISTANCIA MÍNIMA PARA UN BSC

En un canal binario simétrico, errores que transforman un

símbolo código O a l ó u n l a O s e asume que ocurren inde-

pendientemente de un símbolo a otro con probabilidad p. Si

todas las secuencias de entrada (mensajes) son igualmente

probables, el decodificador que minimice la máxima pro

Page 46: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 39 -

babilidad de error para cualquier código, de bloque o convo

lucional,es 'elque-examina la secuencia recibida con errores

y" ,y" , ,y~. , y escoge la secuencia de datos corres_

pendiente a la secuencia transmitida x" ,x , ,x . ,

en' base a la distancia de Hamming de la secuencia recibida;

esto es la secuencia que difiere en el menor número de símbo_

los de la secuencia transmitida.

Primero observemos el diagrama de árbol, debemos escoger una

trayectoria dentro del diagrama cuya secuencia de código d^

fiera en un número mínimo de símbolos de la secuencia reci-

bida. Entonces podemos acordarnos que las ramas del código

transmitido se repiten continuamente- :dando lugar a•que las

trayectorias posibles sean escogidas en el diagrama de enre_

jado. Observando este diagrama se nota que es innecesario

considerar completa la secuencia recibida (que puede consis_

tir de cientos de millones de símbolos por longitud )a un

tiempo, en la búsqueda de la secuencia transmitida más proba_

ble. En particular inmediatamente después de la tercera

rama se puede determinar cual de los dos caminos que condu-

cen al estado "a" es el más probable {el de menor distancia)

Nos referimos al camino de mínima distancia entre estas dos

trayectorias como el "superviviente". Lo mismo se puede ha_

cer para las otras par de trayectorias que se juntan en los

otros estados.

En el nodo siguiente debemos comparar dos ramas que emergen

de dos estados anteriores y van hacia un estado en este no-

do.

De esta manera se procede a lo largo de la secuencia recibi_

da y cada paso para cada estado guardamos una trayectoria -

superviviente y su distancia de la secuencia recibida, la

cual generalmente se llama "la métrica" . Existe una difi-

cultad que'puede surgir, y es la posibilidad de que dos tra_

yectorias que entran en un nodo posean igual métrica. Enton_

ees podemos solucionar esta situación lanzando una moneda

Page 47: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 4 0 -

es decir se puede escoger cualquiera de las dos trayecto-

rias. Si preservamos ambas distancias con contenidos igua_l

mente válidos, los símbolos recibidos más tarde deberán a-

fectar de igual manera ambas métricas en consecuencia vemos

que no influye cual sea nuestra elección.

Este algoritmo de decodificación fue propuesto primero por

Viterbi dentro del más amplia contexto de los canales de me_

moría nula.

2.4 GENERALIZACIÓN DE UN DECODIFICADOR ÓPTIMO PARA UN CANAL AR_

BITRARIO SIN MEMORIA

secuencia

de datos

a _ , a.,...

secuenciacodificada

codificadorconvolucio-nal

,a.,.". .

Canal de

memoria nú

la (inclui

do modem)

secuenciarecibida

~ - -

X_.,X_,..., X . f . . .

Fig. 2.8Sistema de comunicaciones empleandocódigos convolucionales

En la figura 2.8 se presenta un sistema de comunicaciones

empleando un código convolucional.

El codificador convolucional, consiste en un registro de des_

plazamiento de K estados y n sumadores módulo-2 los cualesK—1

producen un diagrama de estado o de enrejado con 2 esta-

dos o nodos y cada rama contiene un código de n símbolos.

La velocidad de este código es entonces {b = 1)

R =2.3

n símbolos código

La secuencia de datos es generalmente binaria (a. = O ó 1)

Page 48: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 41 -

y la secuencia codificada es dividida en -subsecuencias don_

de x~. representa los n símbolos del código generado justo -

después que el bit de entrada a. ingresó al codificador. La

salida del canal o secuencia recibida es igualmente denomi-

nada y. r la que representa los n símbolos recibidos cuando

los n símbolos del código x". son transmitidos.

Este modelo incluye un canal binario simétrico en donde los

y. son vectores binarios de n símbolos y cada uno de estos

es diferente de los correspondientes de x". con probabilidad

p y son idénticos con probabilidad 1-p.

Para completar, en canales generales consideramos que todos

los datos de la secuencia son igualmente probables, el deco

dificador que minimice la probabilidad de error es aquel -

que compara las probabilidades condicionales, también llama

das funciones de probabilidad, PCy/x'"*1') donde y es la secuen

cía recibida, x1""1 es una de las posibles secuencias transnr^

tidas, y se decide en favor de la máxima. Se llama un deco-

dificador de máxima probabilidad. Las funciones de probabi-

lidad son dadas o calculadas de las especificaciones del ca-

nal. Generalmente es más conveniente realizar las compara-

ciones en función de los logaritmos de las probabilidades

log P (y/x"1""1} y el resultado no se altera.

Para ilustrar esto consideramos otra vez el canal binario si

métrico. Aquí cada símbolo transinitido es alterado con pro-

babilidad p 1/2 . Ahora suponemos que recibimos una secuen

cia binaria particular de dimensión N, "y, y consideramos u_

na posible secuencia código transmitida de igual dimensión

5?t"")fla cual difiere en d<m símbolos de y" ( la distancia de

Hamming entre xllTT%1 y, y es d™ }, La probabilidad de que

x1""1 se transforme en la específica secuencia recibida "y con

distancia d , es

. . d-m ,, , N — d~n „""1' ) = p (i_p) 2.4

Page 49: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 42 -

y la función de probabilidad logarítmica es así

2.5

Ahora si nosotros calculamos esta cantidad para cada posible

secuencia transmitida, además es claro que el segundo térmi-

no es constante en cada caso. Además desde que se asumió

P^1/2 se puede expresar esto como

log P (y/x l"Tl)) = - oí ár* - (b 2.6

Donde alfa y beta son constantes positivas y d-~ es la dis-

tancia también positiva. En consecuencia, es claro que maxi

mizar la función de probabilidad logarítmica es equivalente

a minimizar la distancia de Hamming d™ . Así para este ca

nal para minimizar la probabilidad de error nosotros escoge_

mos la secuencia código de mínima distancia de la secuencia

recibida.

Ahora consideraremos un canal práctico: el AWGN (canal con

ruido gaussiano) modulado en fase, en este caso bifase, el

modulador y el demodulador óptimo para este canal se presen^

ta en la figura 2.9

" " ' rs (t)=/2Es/T'sen (••í--rTU 1-1' • ' -\i 1 ~> -i " ' *12 ln 21 22

? PSK

modulador

Demodulador

yllyl2'''ylny2iy22

n(t) ruido gaussiano

Fig. 2.9Modem para un canal con ruido blancogaussiano y modulación PSK

Page 50: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 43 -

Se usa la notación x^k donde k es elrJ é.siino_sáinbpl.Q..,Eara _la,

J3ésima..-.rama,.__ Cada símbolo binario modula la portadora en

+ TT/2 radianes por T segundos. La velocidad de transmisión

es 1/T símbolos / segundos o b/nT = R/T bits / s. .

La función Es es la energía transmitida por símbolo, en con_

secuencia la energía por bit es Eb = Es /R.

El ruido blanco gaussiano es un proceso aleatorio con valor

medio cero y densidad espectral N0 (W/Hz) el cual afecta a

cada símbolo independientemente. La salida y. es una va-

riable aleatoria gaussiana cuyo valor medio es ]fj[s x,U*

y cuya varianza .• es N0/2. La densidad de probaba^

lidad condicional de y., dado x.. es:

exp -(y-,- x ) / NP(y.k/*.k> = ^ - * -

La función de probabilidad para la j-ésima rama de una trara

sición particular de código x.'™1

P(y / x l l "" j - TT P ( y . . / x ^ ) 2.8J J KTÍ JK HK

Cada símbolo es afectado en forma independiente- -por -el. rui_

do blanco gaussiano, y así la función de probabilidad loga_

rítmica para la j-ésima rama

ln P (y. / x-') = E in P (y jk / *.-'

T _1 T TT

e K k > 2 - i r ¿ ( V 2

= C y . , x.,triní - D ' 2.9- J

Page 51: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 44 -

Donde C y D son independientes de m, y tenemos que conside_2

rar que{x1.™') = 1 para que se cumpla.

De esta manera tenemos expresado el decodificador de máxima

probabilidad para un canal con ruido blanco gaussiano, con

modulación bifásica (PSK) o cuadrifásica , y es aquel que for_

ma el producto entre la secuencia recibida y la secuencia có

digo y escogemos la trayectoria correspondiente al mayor. La

métrica para este canal en consecuencia es el producto inter_

no, en contraste con la distancia métrica usada para el ca-

nal binario simétrico.

Generalizando , para cualquier canal sin memoria y usando la

apropiada métrica, la cual es determinada por la descripción

estadística del canal, In P (y/íf715) . Esto incluye a cualquier

otro canal con ruido gaussiano que emplee otras formas de mo_

dulación,"es posible aplicar las mismas características de

un decodif icador de distancia mínima para un canal binario

simétrico , explicado en la sección 2.3.

2.5 FUNCIONAMIENTO DE CÓDIGOS CONVOLUCIONALES EN CANALES SIN ME

MORÍA

2.5.1 CANAL BINARIO SIMÉTRICO

La probabilidad del primer evento errado rápidamente es ob_

tenida de la función de generación T(D), podemos asumir, -

sin pérdida de generalidad, puesto que tratamos con un gru_

po de códigos , que la trayectoria transmitida posee todos

los bits cero. Entonces el primer evento errado ocurre en

el j-ésimo paso, si la trayectoria correcta es excluida

por selección de otra que emerge a la trayectoria de todos

los ceros en el nodo a al j-ésimo nivel. Ahora suponemos

que los supervivientes de los niveles anteriores son tales

que la trayectoria comparada con la trayectoria de los ce-

ros al paso j-ésimo es aquella cuya secuencia de datos es

Page 52: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 45 -

000......0100 correspondiendo a los nodos a aacba,esta

difiere de la trayectoria correcta {todos ceros) en 5 sím

bolos. En consecuencia un error de desición puede ser rea_

lizado si en esta comparación el BSC causa tres o más erro_

res, entonces la probabilidad de un error en esta compara-

ción esta dada por

E£•« 3

2.10

Por otro lado, esto no asegura que esta distancia de 5 en

particular haya supervivido previamente como para ser com-

parada con la trayectoria correcta en el j-ésimo paso. Si

cualquiera de las trayectorias de distancia 6 son compara-

das en su lugar, entonces cuatro o más errores en los seis

diferentes símbolos pueden ser la causa de un error en la

desición de la trayectoria superviviente. Sin embargo tres

errores causan incertidumbre, la cual se puede resolver por

el lanzamiento de una moneda, cuyo resultado da error solo

la mitad de las veces.

Entonces la probabilidad si esta comparación se realiza es:

32.11

En forma similar si las trayectorias supervivientes anterio_

res son tales que, una distancia de trayectoria igual a d

es comparada con la trayectoria correcta en el j-ésimo pa-

so el resultado de la probabilidad de error es:

V

1 k k/22 {k/2)P '

k-ek impar

k/22.12

+ t ^ t^ xí }p -U-p) k par

Page 53: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 46 -

Ahora al paso j, cuando no hay una manera simple de deter-

minar los supervivientes podemos sobrelimitar la probabili_

dad del primer evento errado por medio de la suma de la

probabilidad de error de todas las posibles trayectorias -

que se comparan con la trayectoria correcta en este punto.

Note que esta unión de límites es verdaderamente un límite

superior por cuanto dos o más de dichas trayectorias pueden

tener una distancia que se ajuste a la secuencia recibida.

Así para el ejernplo que utilizamos la probabilidad del pr_i_

mer evento errado está dada por

P5 + 2P6 + 4P7 + '•• + Z + •'• 2'13

Donde P está dado por la ecuación 2.12K

En la sección 2,5.3 se presenta que la ecuación 2.12 puede

ser sobrelimitada por (ver la ecuación 2 . 43)

2.14

Usando esto, el lími'te de la probabilidad del primer evento

errado 2 . 12 puede ser más fácilmente limitado por

5 ="

1-4 / p (1-p) '" - J "^ tJI 2'15

Donde T(D) es la función de transferencia de 2.1

Resulta fácil, que para un código convolucional binario-de

árbol (b=l) con función de generación o transferencia

T(.D). = £ a • Dk 2.16Ks J

La probabilidad del primer evento errado está limitada por

Page 54: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 47 -

la generalización de 2.13

P --ya. P,E ¿ I \f ir

. i ">• "

2.17

donde P está dada por 2.12 y más libremente está limitadaK

por la generalización de 2.15

T(D) 2.18

Siempre que una decisión errónea ocurre, uno o más bits

pueden ser incorrectamente decodificados. Específicamente,

los bits en los cuales la trayectoria seleccionada difiere

de la trayectoria correcta, son los incorrectos. Si solo

un error essiempre realizado en la decodificación de una -

trayectoria de arbitraria longitud, el número de bits erra_

dos en esta trayectoria incorrecta debe ser fácilmente obte_

nida de la función de generación aumentada, {así como se la

dio en la ecuación 2,2 con los factores L suprimidos). Los

exponentes del factor N indican el número de bits errados

para la trayectoria dada incorrecta y que arriba al nodo a

en el j-ésimo nivel.

Después de que el primer error ha sido realizado, la trayec

toria incorrecta no podrá ser comparada con una-trayectoria

que sea totalmente correcta sino más bien con una trayecto^

ria la cual diverge de la correcta en algunas tramos de -

las ramas. (Ver fig. 2.10)

trayectoria correcta x j

trayectoria x"

.supervivienteincorrecto x'

Fig. 2.10Ejemplo de decisiones de decodificacióndespués que ha ocurrido un error inicial.

Page 55: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 48 -

Si la trayectoria correcta x ha sido excluida por un error

de desición al paso j en favor de la trayectoria x1 , la de_

sición al paso j+1 será entre x'y x". Ahora la probabili^

dad de error {primer evento errado) de la ecuación 2.17 ó

2.18 es para una comparación en cualquier paso, entre la tra_

yectoria. x :y cualquier otra trayectoria que se encuentra

con esta en este paso, incluida la trayectoria x" en es-

te caso. Sin embargo, de que la métrica (distancia nega_

tiva de la secuencia recibida) para la trayectoria x1 es

mayor que la métrica para x , y sobre este fundamento se

excluyó la trayectoria correcta-en el paso j, la probabili

dad que la métrica de la trayectoria x" exceda a la de

la trayectoria x1 al .paso j + 1 es menor que la probabili-

dad que la métrica de la trayectoria x" exceda a la de la

trayectoria x (correcta) en este punto. En consecuencia,

la probabilidad de que una nueva trayectoria incorrecta

sea seleccionada luego de- que un error ha ocurrido es li_

mitada en forma superior por la probabilidad del primer e-

vento errado a este paso.

Por lo tanto,cuando un segundo error sigue exactamente des

pues de un primer error, ocurre a menudo { Ver fig.

2.10) que los bits errados de la trayectoria x1.1 se sobrepo-

nen a los bits errados de la trayectoria x'. Con esto en-

tendido, ahora presentamos que para un código de árbol bi-

nario si nosotros ponderamos cada término del límite de

la probabilidad de error del primer evento a cualquier paso

por el número de bits errados para cada posible trayecto-

ria entrante al nodo con la trayectoria correcta en este

nodo, limitamos en forma superior la probabilidad de bits

errados. Para un paso de decisión dado corresponde deco-

dificar uno o más bits de la secuencia de datos recibidos;

la unión de los límites de la probabilidad del primer even_

to errado con cada término ponderado por el correspondien-

te número de bits errados es un límite superior del espera

Page 56: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 49 -

do número de bits errados causada por esta acción. Suman-

do el número de bits errados sobre L pasos, puede dar como

resultado una sobre estimación debido al conteo doble, dan_

donos un límite superior del esperado número • de bits erra_

dos en las L ramas, para un L arbitrario. Pero, debido a

que el límite superior sobre los esperados bits errados es

el mismo para cada paso, entonces, dividimos- la suma de los

L términos para L, que es el esperado número de bits erra-

dos por paso y este es justo la probabilidad de error PRP

para un código de árbol-binario (b=l).

Si' b^l, entonces debemos dividir esta expresión para b, el

número de bits codificados y decodificados por paso¿

Para ilustrar el cálculo de P para un código convolucio-B

nal consideramos nuevamente el ejemplo de la figura 2.1.

Su función de transferencia en D y N es obtenida de la e-

cuación 2.2, asignando a L el valor de 1, ya que ahora no

nos interesa la longitud de las trayectorias incorrectas

esto es,

1-2DN

D5N + 2DV 4-,,.- Dk+5Nk+1 -f.,. 2.19

Los exponentes de los factores N en cada término determinan

el número de bits errados por trayectoria que corresponde a

ese término. Donde T(DJ = T(D,N) \ nos da la probabi-\l r

lidad del primer evento errado P , cada uno de cuyos térmiE —

nos debe ser ponderado por el exponente de N para obtener

P , esto quiere decir que debemos diferenciar primero

T(D,N) para N«l y obtener

Page 57: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 50 -

•<3T(D,N)

dN 1N=l

S fí 7 kD -f 2.2D + 3.4D +... + (k+l)2 D +

(1-2D)2

2.20

Entonces de esto obtenemos, igual que en la ecuación 2.13,

que para un canal binario simétrico (BSC)

D^P_ + 2.2P_ + 3.4P-, + + (k+l)2kp, _ + 2.21B 5 6 / k+5

donde P está dada por la ecuación 2.12.K

Si para P utilizamos el límite superior 2.14 obtenemos unK

límite simple pero débil (no muy riguroso).

K. s

- d T { D , N )

dN N-l,D-2

2.22Cl-p)

Si generalizarnos para un código de árbol-binario (b=l}/ usa_

do en un BSC

d T ( D , N )

dN lN-1

¿_, c, D 2.23

Entonces de igual manera que 2.21-

n ^Zc. P, 2 .24B . « j k k

Page 58: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 51 -

y correspondiendo a 2 . 2 2 tenernos el límite flojo

dN

Para un código de árbol no binario (b 1), todas estas ex-

presiones deben ser divididas por b.

Los resultados de las ecuaciones 2.18 y 2.22 deben ser ex-

tendidos a los canales sin memoria de forma más general,

pero primero se considerará un canal de particular interés.

2.5.2 CANAL CON RUIDO BLANCO GAUSSIANO CON MODULACIÓN BIPASE

Como se presentó en la sección 2.4 el decodificador para es_

te canal opera exactamente de la misma manera como para un

canal binario simétrico excepto que en lugar de la distan-

cia de Hamming usamos la s.iguiente métrica

Donde X.. = + 1 son los códigos transmitidos, los símbolos13 -

Y., corresponden a los símbolos recibidos (demodulados)r j

varía sobre los n símbolos de cada rama; en cambio i corre

sobre todas las ramas de una trayectoria en particular. En_

tonces para analizar su funcionamiento procedemos exactamen

te igual que en la sección 2.5.1 excepto que los errores de

desición B, de las ecuaciones 2.10 y 2.12 deben ser susti-• k

tuidas.

Como anteriormente asumimos, sin pérdida de generalidad,

que la trayectoria correcta (transmitida) x posee los sím-

bolos X... = +1 para todos los valores de i , - j (correspon-

diendo a •• una trayectoria de ceros si los símbolos de entra_

da son cero y uno). Consideramos una trayectoria incorrec-

ta x' que entra a un pa-so en particular con la trayectoria

Page 59: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 52 -

correcta, la primera posee k símbolos negativos {X..' = -1}

y el resto positivos. Dicha trayectoria será incorrectameii

te escogida solo si posee una métrica mayor que la métrica_

de la trayectoria correcta, por ejemplo

y y x..- Y. . y y x.. yf- 13 ID ~ f - I D

\ Y"1 i v ' _ v i v -—. n> / tA . , — A . . J i . , ~?- U

Donde i corre sobre todas las ramas en las dos trayectorias.

Pero, desde que asumimos que la trayectoria x y x' di-

fieren en exactamente k símbolos, donde X.. = l y X. ,' = -1

la probabilidad de error de las dos es justamente

P = Pr

= Pr

Y {X . . ' - X . . ) Y . . O

(X '• - X ) Y ^ O~

= Pr <-2 > Y Or ~

= Pr Y" Y ^0~ 2.26

Donde r corre sobre los k símbolos donde las dos trayecto-

rias difieren . Ahora como se presentó en la sección 2 . 4

que Y... son variables aleatorias gaussianas independientes

de varianza N0/2 y valor medio J^ X. ., donde X. . son los

símbolos códigos transmitidos actualmente. Desde que se as u

mió que la trayectoria (correcta) transmitida tiene X. ,= +1

para todo i, j; resulta que Y. . ó Y tiene valor medio

/Es' y varianza N0/2 . Por consiguiente desde que las k

variables Y son independientes y gaussianas, la sumaK

Z = 2_! Y es también gaussiana con valor medio k -/Es"-í=i r

y varianza kN0/2.

Page 60: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

En consecuencia,

- 53 -

P ~P (Z<0) -k r

exp (-X /2]

72 n"= erfc

2.27

Recordando de la sección 2.4 Es,es la energía por símbolo

la cual se relaciona a-la energía por bit, por medio de

'Es - R-Eb , donde R = b/n. El límite de P_ entoncesE

se lo encuentra exactamente como en la sección 2.5.1 y ob-

tenemos el mismo límite general como en 2.17

2.28

Donde a, son los coeficientes dek

T(D) =k

2.29

Donde d es la míni'ma distancia entre cualquiera de las dos

trayectorias. Podernos simplificar este procedimiento con-

siderablemente si aflojamos solo levemente el límite paira

este canal, observando que para x . O, y O,

erfc J x+y exp ( —jr— ) erfc ^/ x. 2.30

Por consiguiente, para k d, asignamos L = k - d y de la

ecuación 2.27 obtenemos

, 2k£s f 2 d + L EsP, ~ erfc = erfc -k

^ exp-L ES- — , ,.} erfc 2.31

Entonces el límite de 2.28,usando 2.31 es

Page 61: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 54 -

Es -(k - d)EsN_

PE<"fC ;sf"eXP ' tf5' T ( D > U - exp ,-Es/NJ 2 ' 3 2

La probabilidad de bits errados se la puede obtener de la

misma manera. Justo como paca el BSC ( 2.23 y 2.24) tene-

mos que para un código de árbol binario

P B < I C k P k 2'33

Donde c, son los coeficientes dek

d T ( D , N ) , _ , . „ . . 2 ^ 3 4

dN 1N=l K. ¿

Así, siguiendo los mismos argumentos los cuales usamos de

2.28 a 2.32 para un códido de árbol-binario obtenemos

_ / , 2dEs . dEs d T ( D , Np < e r f c exp • ( } ~ N=i.o-exp(

2 .35

Para b>l, estas expresiones deben ser divididas por b.

Para ilustrar la aplicación de este resultado consideramos

el código de la figura 2.1 con parámetros K = 3, R - 1/2,

cuya función de transferencia esta dada por la ecuación

2.19. Para este caso donde R = 1/2 y Es. = 1/2 Eb , obtene_

mos

erfc 7 5 Eb/N0 2.36

Debido a que -el número de estados crece exponencialmente

con el valor de K, cálculos directos de la función de gene_

Page 62: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 55 -

ración llegan a ser inmanejables para K>4. Por otro lado

el cálculo de una función de generación es básicamente una

matriz de inversión, la cual puede ser calculada numérica-

mente para un -valor dado de D. La derivada con respecto a

N evaluada con N = 1 puede ser limitada por el cálculo de

la diferencia (T(D, 1 +£) - T(D,1) ] A , para í pequeña. Re_

sultados de estos cálculos se encuentran en el documento

de Heller y Jacobs , junto con los resultados de la simu_

lación de los respectivos códigos y canales. La simulación

verifica la exactitud de los resultados.

En la próxima sección estas técnicas de limitación serán ex

tendidas a los canales más generales sin memoria, de los

cuales las ecuaciones 2.32 y 2.35 pueden ser obtenidas di-

rectamente .

2.5.3 GENERALIZACIÓN DE LOS CANALES SIN MEMORIA

Como se indica en la sección 2.4, para secuencias de datos

igualmente probables, el decodificador de mínima probabili_

dad de error escoge la trayectoria que maximice la función

de probabilidad-logarítmica (métrica)

_ _ , . _ i _ (m) .In P (y \ )

sobre todas las posibles trayectorias x . Si" cada sím-

bolo es transmitido(o modula el transmisor)independiente-

mente de todos los símbolos .anteriores y posteriores, y la

interferencia afecta cada símbolo independientemente de to_

dos los demás, entonces el canal, el cual incluye el modern,

se dice que es sin memoria y la función de probabilidad

A j=i

donde X... es un símbolo código de la m-ésima trayecto-

ria, Y., es el correspondiente símbolo recibido (demodula-

do). j corre sobre los n símbolos de cada rama, i corre

Page 63: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 56 -

sobre las ramas de la trayectoria dada. Esto incluye

los • casos especiales considerados en 2.5.1 y 2.5.2.

El decodif icador es el mismo que para BSC excepto por el u_

so de una métrica más general. Las desiciones son hechas

después de cada conjunto de nuevas métricas de las ramas

las cuales son sumadas a las métricas previamente almacena

das. Para analizar el funcionamiento, debemos simplemente

evaluar P , la probabilidad de error de desiciones para u-K

na trayectoria incorrecta que difiere en k símbolos de la

correcta, como se hizo para los canales especiales anterior^

mente estudiados . Procedemos como en la ecuación 2.26, de_

notamos X. , y X. . ' a los símbolos de la trayectoria corree30 •* 10 ^

ta e incorrecta, respectivamente, obteniéndose

ÍYr \rr r

P (Y \ )j- \

P(Y \r * r

donde r corre sobre los k símbolos código en los cuales las

trayectorias difieren. Esta probabilidad puede ser escrita

como

P. (x, x'). = ZTTP(J 1 X ) 2.38c r

donde Z es el conjunto de todos los vectores y = (Y , Y , ...,K J_ ¿

Y , . . . . ,Y ). para lo cualr K

pero si este es el caso, entonces

Page 64: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 57 -

P{Y1/2

.ytz*

n p (Y \1 1 r \

2.40

Donde Z es todo el espacio de los vectores recibidos . La

primera inecuación es válida porque estarnos multiplicando

el sumando por una cantidad mayor que la unidad, y la se-

gunda porque es simplemente, la extensión de la suma sobre

un largo conjunto de términos positivos. Finalmente .el su

matorio de k-dimensiones sobre y lo podemos distribuir en

k sumatorios de una dimensión sobre y , y , . . . , fy , respec1 2. k —

tivamente y esto quedaría así

p ( x , x ' ) á £ E -•• T. fímr 1 x )1/2p(Y | x M1/2- r

2.41

Para ilustrar el uso de estos límites, consideremos los dos

canales estudiados con anterioridad. Para el canal binario

simétrico, Y es igual a cualqui'era, X , el símbolo transmir r —

tido o a Xcr su complemento- Y depende de X por medio de

la estadística del canal. Asi

P(Y - X ) = 1 - p

P(Y = Xc) = pr r ^

2.42

Para cada símbolo dentro del conjunto r = l,2,....,k por

definición X ¿¿ X l. En consecuencia para cada término enr r

la suma six = 0 , X ' = l y viciversa.r r

Page 65: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 58 -

Entonces, cualquiera X 6 X ' pueden ser

£ P ( Y I X rf" P (Yr \ -r" = 2P1/2(l~p)1/2

y,,o

y el producto de k factores idénticos es:

t 2.43K

para todos los pares de trayectorias, correcta e incorrec-

ta. Esto ha sido usado en la sección 2.5.1 para obtener

los límites 2.15 y 2.25.

Para el canal con ruido blanco gaussiano de la sección

2.5.2 presentamos que la función de probabilidad {densidad

de probabilidad) es

r /— 2 ,exp [-(y - /EsX ) /No I

i ^ ^ i -*r r > 2.44

r r yfnT

Donde X = +1 ó -1 yr J

X + X ' = O 2.45r r

Donde Y1 es una variable real, y el espacio de Y es lar r

línea de los números reales, en consecuencia la suma de la

•ecuación 2.41 se convierte en integral.

r \r)1/2 P(Yr\xr ')1 /2dY

exp dY2N^ r

exp-( Y 2 + ES) 1

= exp (r c * N.

Page 66: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 59 -

2 2Donde usando 2.45 y X = X ' =1. El producto de los

r r L

k términos idénticos es, entonces

V exp (ir) 2-46

Para todo par de trayectorias correcta e incorrecta. Inse_r

tamos estos límites en las expresiones generales 2.28 y

2.33 y usando 2.25 y 2.30 limitamos la probabilidad del

primer evento errado y la probabilidad de bits errados.

P ^ T (D)E \- ES/NJ. 2.47

2.48dN N~1,D= exp (-Es/N0J

con lo gue algo suavizamos las ecuaciones 2.32 y 2.35.

Una característica notable de estos dos canales BSC y AWGN

es gue cada '.símbolo es afectado en forma independiente de

su localización en la secuencia. Cualquier canal sin memo

ria posee esta propiedad de ser estacionario {estadística-

mente invariante en el tiempo) para un canal sin memori'a 'es

tacionario la ecuación 2. 41 se reduce a

P , ( x , x ' í ^ [ £ P ( Y \1/2 P { Y \ X ' ) 1 / 2 D 2 . 4 9tí *• ,1 L L rr

donde

D0= £ P(Yr\Xr)1/2 P ( Y r \ X r ' ) ^1, 2.507r

Donde este límite sobre P, es válido para todos estos cana-k

les, claramente se ve que este límite depende de los valo-

res actuales asumidos por los símbolos X y X ', de lat- r rtrayectoria correcta e incorrecta, y estos generalmente va_

rían de acuerdo al par de trayectorias x y x' en cuestión.

Page 67: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

60 -

Sin embargo si los símbolos de entrada son binarios, x y

x , donde que X - x, entonces X ' = je, y esto para cualr f r _

guier canal sin memori'a de entrada binaria, luego la ecua-

ción 2.50 se la puede escribir {x complemento de x) .

P(Y\x}1/2 2.51

y en consecuencia

2.52

dT(D,N)dN N=1,D=D,

Donde D0 está dada por la ecuación 2..51. Otros ejemplos de

canales de este tipo son FSK modulado sobre AWGN(ambos co-

herente y no coherente) y canales con desvanecimiento Rayleigh,

2.6 CÓDIGOS CONVOLUCZONALES SISTEMÁTICOS Y NO SISTEMÁTICOS

El término " Código convolucional sistemático" se refiere

a un código en el que en cada rama uno de los símbolos cód^

gos es exactamente el bi't de dato que genera la rama, De es_

ta manera un codificador sistemático tiene sus estados co-

nectados solo a n-1 sumadores, el n-ésimo es reemplazado por

una línea directa al primer estado del conmutador.

código

Fig. 2.11Codificador convolucional sistemático

Page 68: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 61 -

Es bien conocido que para un grupo de códigos bloque, cua!L

quier código no sistemático puede ser transformado en un có^

digo sistemático el cual funciona exactamente igual que el

no sistemático. Este no es el caso para códigos convolucio-

nales. La razón de esto es que, como se presentó en la sec-

ción 2.5, el funcionamiento de un código en cualquier canal

depende en su mayor parte de las distancias relativas entre

las palabras código y particularmente de la mínima distan-

cia libre, la cual es el exponente de D en el numerador de

la función de generación. Eliminando uno de los sumadores

da como resultado una reducción en el exponente de D. Por

ejemplo la distancia libre para el código K=3 de la figura

2.11 es de d=4, en cambio para un código sistemático como

el de la figura 2.1 con K=3 tiene una distancia libre d=5.

La tabla 2.1 presenta las máximas distancias mínimas libres

para códigos sistemáticos y no sistemáticos con valores de

K=2 hasta 5. Para longitudes de control más largas los

resultados- son aún más separados, y se ha demostrado que

el funcionamiento de un código sistemático de longitud

de control K es aproximadamente el mismo que el dé un có-

digo no sistemático de longitud de control K(l-R). Así

para R-l/2 y K grande códigos sistemáticos tienen el fun9

cionamiento de un código no sistemático de longitud de con_

trol K/2, sin embargo requieren la misma complejidad de de_

codificación.

K

2

3

4

5

SISTEMÁTICO

3

4

4

5

NO SISTEMÁTICO

3

5

6

7

TABLA 2.1

Máxima-mínima distancia libre

Page 69: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

CAPITULO III

EL ALGORITMO DE VITERBI

3.1 INTRODUCCIÓN

El algoritmo de Viterbi (VA) fue propuesto en 1967 por

Andrew J, Viterb'i como mjjjn¿tpdo__p_aj:.a__la_decodi.£dcacaj5n_,de

códigos convolucionales . Desde esa época , ha sido recono-

cido como una atractiva solución a una variedad de proble-

mas de estimación digital, algo así como el filtro kalman

el cual ha sido adaptado a una variedad de problemas de es-

timación analógica .

De igual manera que este filtro el algoritmo de Viterbi en_

cuentra los estados de un proceso estocástico con un méto-

do recursivo el cual es óptimo en ciertos casos, . y se

presta rápidame_nte_a_s_u implemen.tación y anális_is,.

. _ \=> El procesofun_d_ainental_ s_e asume que es un proceso de Markov

an_tes__gu_e_gauss-i-ano7 cuyo desarrollo difiere en la estructu

ra.

El proceso de Markov se caracteriza por lo siguiente: es

discreto en el tiempo, el estado x al tiempo k es uno deK

: un número finito M de estados m, 1 m *z M, Inicialmente

podemos suponer que el proceso se realiza solo desde el tiem

po O al tiempo k y que los estados inicial y final x y xU K

son conocidos ; la secuencia de estados es representada por

el vector x (x , ......... rx, } .U K

La probabilidad P (x / x ,x , ....... x.) de estar en el: K"rJ. U J. fí

estado x al tiempo k+1, dados .todos los estados hasta

el tiempo k, depende solo del estado x al tiempo k:~K

3.1

Las probabilidades de transición P (x . /x,) pueden estarK

variando en el tiempo, pero esto no está indicado en esta

notación.

Page 70: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 64 -

No se indica explícitamente pero el canal puede variar en el

tiempo en el sentido que P (z / £ ,) puede ser una función

de k. Esta formulación se resume en los siguientes casos es_

peciales.

1. En el caso en el cual z depende solamente del estado x^

P(z / x ) = /x 3.4

2. En el caso en el cual z dependa probabilísticamente de

una salida y del proceso al tiempo k,-donde y^ es un gi_

ro a una función determinística de la transición £;< ó el

estado x, . Para entender lo dicho usamos un modelo quek

surge a menudo en comunicaciones digitales. Existe una

secuencia de entrada -u = (u , u , ) , donde' cada

u es generado en forma independiente de acuerdo a unak

distribución de probabilidad P (u ). Existe una secuenciaK

y libre de ruido, no observable, en donde cada elemento y

es alguna función determinística de la presente y las v

anteriores entradas.

Vv>3.5

n k

v -

k~l uk-2 k-v

v T

m

f (.}

estados del re-gistro de despla_zamiento

función determinística

canal de memo-ria nula

Fig. 3.2Modelo de registro de desplazamiento

La secuencia observada z es la salida de un canal de memoria

nula, cuya entrada es y

Page 71: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 65

Cada elemento de la secuencia de entrada u, puede tomar un

valor de un número finito de valores m (en el caso binario

m = 2). Para completar la correspondencia a nuestro modelo

general definimos:

Los estados x, = (u. ., , ,u, ) 3.6k k-1 k~v

Las transiciones é*— (u, , ,u, } 3.7^ k k~v

El número de estados es así |x! = rn , y el de transiciones

|Z|= m . Para este ejemplo en el cual b=l, en el caso masbv .„, b (v+1)

general |x¡= m y IZ \ m

Finalmente, exponemos el problema en el cual el algoritmo

de Viterbi es una solución. Dada una secuencia z" de obser

vación del proceso de Markov. Encontramos la secuencia

de estado x para la cual la probabilidad "a posteriori"

P{x"/z) sea máxima. En forma alterna, encontramos la se-

cuencia de transiciones £ para el cual P ( | /z) es máx_i

mo (donde x — -¿ }. En el modelo del registro de despla_

zamiento esto es igual a encontrar la secuencia de entrada

más probable u, donde u — x; ó también la secuencia de

señal más probable y.

Es ventajoso saber que esta regla de probabilidad aposterio_

ri máxima minimiza la probabilidad de error en la detec-

ción de la secuencia correcta ( probabilidad de error <3e '.

bloque, mensaje o palabra) y así es óptima en este sentido.

Esto es aplicable a un gran número de campos, incluyendo cc5

digos convolucionales, interferencia entre símbolos, recono_

cimiento de textos y PSK. (Modulación por desplazamiento de

fase).

Page 72: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

" "

\2 EL ALGORITMO J" "" '" ''a

A continuación presentamos que el problema de la estimación

de una secuencia por medio de la probabilidad máxima aposte_

riori, previamente establecida, es idéntico al problema de

encontrar la ruta más corta a través de un gráfico. El algo

ritmo de Viterbi surge como una solución recursiva natural.

Estaraos acostumbrados a asociar con un proceso de Markov a

un diagrama de estado del tipo- de la figura 3.3, para un

proceso de cuatro estados en un registro de desplazamiento

Fig. 3.3Diagrama de estado

Aguí los nodos representan estados, las ramas representan

transiciones y con el transcurso del tiempo el proceso tra_

za algunas trayectorias de estado a estado a través, del dia_

grama.

En la figura 3.4 se introduce una descripción más redundar^

te del mismo proceso, el cual llamamos diagrama de enreja-

do, aquí cada nodo corresponde a un estado distinto a un

tiempo dado y cada rama representa, una transición a algún

nuevo estado en el siguiente intervalo de tiempo.

Page 73: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 67 -

Estado k=0

00 YO

01 .

10 .

11

k=3 k=4 k=k~2 k=k-l k=k

Fig. 3.4Diagrama de enrejado

El enrejado empieza y termina en ios estados conocidos xO

y x . La más importante propiedad es aquella que dice queR

para cada posible secuencia de estado x, existe una corres-

pondencia a una trayectoria única a través del enrejado y

viceversa.

A continuación presentamos como dada una secuencia observa-

da zr a cada trayectoria podemos asignar una "distancia" pro

porcional al —In P(x,z) donde x es la secuencia de estado

asociado con esa trayectoria. Esto nos permitirá solucio-

nar el problema de encontrar la secuencia de estado para la

cual P (x/z) sea máxima/ o en su forma equivalente para que

P (x,z) = P (x/z) P ("z) sea máxima, para encontrar la trayec_

toria cuya distancia sea mínima, donde In P(x,z) es una fun-

ción monótona de P{x,z) y existe una correspondencia uno a

uno entre las trayectorias y las secuencias.

Se observa' que debido a las propiedades de Markov y memoria

nula, los factores de P(x,z} son los siguientes:

P(x,z) = P(x)-P(z/x)¿-rn PÍ V 'Ak

3,8

3.9

Page 74: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 68 -

De aguí, si nosotros asignamos a cada rama (transición) la

"distancia" .

= _ in p (x /x 1 - In P (z / ¿ ) 3 101 uj!' tí ' k "

en consecuencia la distancia total de la trayectoria corres_

pendiente a x es como se expone :

- In P(x,z) = Y AU*) 3.11Vxo

Encontrar la ruta más corta a través de un gráfico es un

viejo problema en operaciones de investigación. La más con

cisa solución fue dada por Minty en un artículo de un cuar_

to de página en 1957, el cual citamos en su totalidad.

"El problema de la ruta más corta puede sersimplemente como sigue: Construimos un niode_lo lineal de una red vial, donde los nodos repr_e •sentan ciudades y las longitudes lineales repre-sentan dintancias (o costos). Cogemos el nodo"Los Angeles" en nuestra mano izquierda y el no-do "Boston" en nuestra mano derecha y estiramospara que se aparten.

Si el modelo llega a ser enmarañado, tome un asístente que desate y reúna los nodos hasta que elenredo se resuelva. Eventualmente una o más tra-yectorias pueden estar tirantes y serán las máscortas. Los nodos deben ser rotulados ya que des_pues de uno o dos usos las identidades del modeloson fácilmente confundidas".

Desafortunadamente, el algoritmo de Minty no se adapta a

los modernos métodos de computación.

En consecuencia llega a ser necesario girar sobre el algo-

ritmo de Viterbi, el cual es bien conocido en operaciones

de investigación. Se requiere de una observación adicio- =

nal.

Denotamos por x£ a un segmento ( xn,xn, ..... ,x ) consisten.U _L K

te de. los estados al tiempo k de la secuencia de estado

X0 vucfa QU* V / G cúook

Page 75: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 69 -

x = (xn,x , ,x }. En el diagrama de enrejado X* co-U JL K

rresponde a un segmento de trayectoria que empieza en el no_

do x- y termina en el nodo x . Para cualquier tiempo, k enU k

particular, existen en general diversos segmentos de trayec-

torias semejantes, cada una con una distancia.

¿C X* ) « " A.UO . 3.12

El segmento'más corto es llamado "el superviviente" corres-

pondiente al nodo x y es denotado como x (x ) . Para cual^K K

quier tiempo k > O , existen M sobrevivientes, uno para ca_

da estado x. .

Así, a cualquier tiempo k se necesita recordar solo los M

sobrevivientes x (x ) y sus distancias (métrica).K

P (XR) £ X [x{xk)J. 3.13

Al alcanzar el tiempo k+1, se necesita solo extender todos

los supervivientes al tiempo k en una unidad de tiempo, cal_

culamos las distancias de los segmentos de trayectoria ex-

tendidos y para cada nodo x seleccionamos el segmento deK~r_l.

menor ' distancia , siendo este el superviviente corres-

pondiente al tiempo k+1.

El proceso sigue indefinidamente siempre que el número de

supervivientes no exceda a M.

Este algoritmo puede ser visto como una versión simple de

programación dimámica avanzada. Por éste o cualquier otro

nombre el algoritmo es fundamentalmente el problema de lan_

zar suertes con la ruta más corta.

Se ilustra el algoritmo con un diagrama de enrejado de cua_

tro estados y a lo largo de cinco unidades de tiempo en la

figura 3.5. En la figura 3.5.a presentados el diagrama de

enrejado completo, con cada rama adjuntamos una distancia

(en las aplicaciones reales, las distancias deben ser fun-

Page 76: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 70 -

clones de los datos recibidos). En la figura 3.5'.b. presen_

tamos cinco pasos recursivos por los cuales el- -algoritmo

determina la trayectoria más corta del nodo inicial al fi-

nal. A cada estado solo cuatro (o menos) supervivientes

son presentados, con sus métricas.

a.

b.

,0 r t or 0,\ .-'

* «T -o i fff - -i''* '

Page 77: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 71 -

k=3

k=5

Fig . 3 . 5

Page 78: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 72 -

Una formulación formal del algoritmo es la siguiente:

Almacenamien to:

k índice de tiempo

Sí (x ) r l x - M Superviviente terminado en x• K K K

P (x ) , l^"x,-^M métrica- del supervivientek k

Inicializacion:

k « O

x (x ) = x ; x (m) arbitrario, m 4- x

P (x) - O ; r (m) = e* m 4 X

Recursión : Cálculo

r

Para todo Sk = (xk-H' xk}

Buscar :

T (xk+1) « min T

Para cada x . ; almacenamos P íx. -) y el superviviente co

rrespondiente x" (x . ) . Cambiamos k+1 a k y repetimos el

proceso hasta que k sea igual a E.(número de bits transmití

dos) .

Con una secuencia finita de estados x~ el algoritmo termina

al tiempo k con la trayectoria completa, más corta almace-

nada como el superviviente 5? (x ) .K

Ciertas modificaciones triviales son necesarias en la prác_

tica. Cuando una secuencia de estado es muy larga o infini_

ta, es necesario la truncación de los supervivientes a una

longitud manejable o . En otras palabras, el algoritmo de_

be llegar a una decisión definitiva sobre los nodos.

En la figura 3.5.b todos los supervivientes al tiempo k-4

Page 79: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 73 -

van a través de los mismos nodos hasta el tiempo k=2.

En general, si la longitud a de truncación es escogida bas_

tante grande, existe una alta probabilidad de que todos los

supervivientes al tiempo k irán a través de los mismos no-

dos hasta el tiempo k- <f , en consecuencia la trayectoria

con la probabilidad máxima es conocida hasta el tiempo k-c/~

y puede ser determinada en un bloque de desiciones, en es-

te caso el costo de la truncación es nulo. En los raros

casos, cuando los supervivientes son imposibles de escoger,

cualquier estrategia razonable para determinar la desición

del algoritmo al tiempo (k-</ ) puede funcionar,escogemos

un nodo arbitrario, o el nodo asociado al superviviente más

corto o se escoge un nodo por votación, etc. Si c/7 es bas_

tante grande el efecto sobre el funcionamiento es desprecie*

ble.

La complejidad del algoritmo es fácilmente estimada:

1. Memoria

El algoritmo requiere almacenar'M localizaciones, una por

cada estado, donde cada localización debe ser capaz de al

macenar la métrica P (m) y una lista de cT símbolos

del superviviente truncado.

2. Computación

En cada unidad de tiempo, el algoritmo debe realizar |Z|

sumas, una por cada transición, y M comparaciones entre

los ]Z1 resultados.

Así de esta manera la cantidad de memoria utilizada es pro_

porcional al número de estados y la cantidad de cálculos al

número de transiciones. Con un proceso de registro de des_

plazamiento como el de la figura 3.2, M = m y Izl = m ,

la complejidad del decodificador se incrementa exponencial—1

mente con la longitud v del registro de desplazamiento.

Page 80: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 74 -

Una mirada al diagrama de enrejado, nos revela detalles a di.

cionales para la implementación. Para un registro de des-

plazamiento binario, las transiciones dentro- de cualquierv—1

unidad de tiempo pueden ser separadas en 2 grupos dis^un

tos de 4, las transiciones se originan en un par de estados

comunes y terminan en otro par de estados comunes. Esto se

ilustra en la figura 3.6, los estados al tiempo k han sido

nombrados x'O y x'l y los estados al tiempo k+1 serán Ox1

y Ix1 . En el ejemplo de la figura 3.5 se lo hace con dos

grupos o celdas.

Fig. 3.6Grupo típico

En la figura 3.7 se presenta la unidad lógica básica en la

implementación de un grupo cualquiera. Una versión del al.

goritmo que sea de alta velocidad se lo puede implementar

con :2V unidades lógicas en-paralelo; una implementación

de baja velocidad usa una sola unidad lógica, de tiempo com

partido o una versión de software, con una subrutina.

Un decodíficador convolucional para aplicaciones que se ne-

cesite tengan alta velocidad, por ejemplo en el caso-de v=6

{M=64 Z = 128) es construido con 356 circuitos lógicos

TTL y puede operar hasta los 2 H bits/s. Un decodíficador

de software de un código similar puede funcionar hasta una

velocidad del orden de los 1000 -bits / s si se lo implemen

ta en una computadora. La complejidad moderada del algori_t

mo de Viterbi lo califica para su inclusión en muchos siste_

mas de procesamiento de señales.

Page 81: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

Píx'O)

r

a ot

ra unidad

lógica

a otra

unidad

lógica

Fig. 3.7

Unidad

lógica

Page 82: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 76 -

3.3 ANÁLISIS DE FUNCIONAMIENTO

El concepto para introducirnos en el análisis del funcina-

miento es el de un evento con error. Si x es la secuencia

de estado actual, y Sí la secuencia de estado escogido me-

diante el algoritmo de Viterbi. En un tiempo largo x y 5?

tipicamente divergen y se encuentran un número de veces co_

mo se ilustra en la figura 3.8. A cada separación se le

llama un evento con error. Los eventos errados pueden en

general ser de longitud ilimitada si x es infinita, pero

la probabilidad de un error infinito usualmente es cero.

k=0 ' k=K

Fig. 3.8Trayectoria correcta y estimada

Correcta: línea continua

Estimada: línea punteada

La importancia de un evento errado es que es probabilística

mente independiente de cualquier otro; en el lenguaje de la

teoría de la probabilidad ellos son "recurrentes". Además,

permiten el cálculo de la probabilidad de error por unidad

de tiempo.

Dada la trayectoria correcta x, el conjunto ¿< de todos

los posibles eventos errados que comienzan al tiempo k en

un diagrama de enrejado que se inicia en x y cada una deK.

las ramas termina en la trayectoria correcta como se ilus-

tra en la figura 3.9, para el diagrama de enrejado dado en

la figura 3.4.

La probabilidad de error de cualquier evento en particular

es fácilmente calculado: esto es simplemente la probabili-

dad de que la observación sea tal que, sobre el intervalo

Page 83: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 77 -

de tiempo durante el cual -¿t es diferente de x, •$ es más

probable que x. Si el evento errado tiene una longitud ^

esto es simplemente un problema de desición de dos hipóte

sis entre dos secuencias de longitud Z , y típicamente

tiene una solución estándar .

k k+1 k+2 k+3 k+4

Fig. 3.9Trayectoria correcta x (linea gruesa)Subconjunto de todos los posibles errores(línea delgada)

'La probabilidad P ( ¿K ) que --cualquier evento errado en

¿K ocurra, puede ser limitada por la suma de las proba-

bilidades de todos los eventos errados en ¿u . si bien es_

ta suma puede ser infinita, usualmente es dominada por uno ó

por unos pocos términos iniciales que representan probabili-

dades de error de eventos particulares, cuya suma entonces

forma una buena aproximación de P ( <fM ). El límite supe-

rior también puede obtenerse en forma correcta por medio de

técnicas de diagramas de flujo.

De otra manera un límite inferior a la probabilidad de error

de un evento, puede obtenerse por el comentario de un "genio".

Tomamos el evento particular errado que tiene la mayor proba-

bilidad de todos ellos dentro de é* . Suponemos que un ge_

nio amistoso nos cuenta que la secuencia verdadera es una de

dos posibles: la trayectoria actual correcta o la trayecto-

ria correspondiente al evento con -error. Aun con esta in-

Page 84: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 78 -

formación, se podría disimular un error si la trayectoria

incorrecta es más probable. En ausencia del genio la pro-

babilidad de error debe ser inferior, donde una de las es-

trategias que se tiene dada la información del genio es, de

ignorarla. En conclusión , la probabilidad de error de un e_

vento en particular es un límite inferior de P ( ¿V ) -

Una importante observación,, es que este límite inferior se

aplica a cualquier esquema de decisiones , no necesariamente

el algoritmo de Viterbi.

Si el algoritmo de Viterbi da su funcionamiento aproximada-

mente con estos límites , entonces se puede pedir que sea óp_

timo respecto a estas cantidades.

En conclusión, la probabilidad de error de cualquier evento

que comienza al tiempo k , puede ser limitada en forma su-

perior e inferior como sigue:

max P (evento errado) P ( ó* ) max P {evento errado) +

otros términos

Con suerte estos límites serán rigurosos.

3.4 TRUNCACION DE LAS TRAYECTORIAS

En la deducción del algoritmo de Viterbi para decodificación

por máxima probabilidad de códigos convo3ucionaj.es en__la sec

ción.3.2, se asume tres condiciones imprácticas , las cuales\n : arbitraria longitud de las trayectorias , métricas exac_ )

stas y perfecta sincronización del códigoC-^ Todos estos tres

requerimientos pueden ser eliminados con una mínima pérdida

del rendimiento. Pero la más importante y la que tratare-

mos es la longitud arbitraria de las trayectorias .

Como inicialmente se describió, el algoritmo requiere que jj

na decisión final sobre la trayectoria del código .más proba

Page 85: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

, r>os\c*-Y V

ble sea postergada hasta el fin del mensaje y cuando el dia_

grama de enrejado converge hacia un estado conocido {estado

cero) debido a la inserción de una "cola" de b(K-l) ceros

en el registro de desplazamiento del codificador. J

K = v 4- 1 3.14

Si el mensaje tiene una longitud de (B •- K + l)b bits, el

decodificador debe proveer un_registro je esa longitud pa-(K~ 1)

ra cada uno de los 2 estados. Un remedio obvio es li

mitar B, a algún número manejable, y se lo reduce al orden

de mil ó menos debido a la cola de b(K-l) ceros que se in-

serta para cada (B-K+l)b bits de datos. Esto tiene dos

desventajas. Primero, reduce la eficiencia por aumento de

la relación señal a ruido y el ancho de banda requerido; a

demás requiere de una interrupción periódica del flujo de

datos para insertar la cola de ceros, una desventaja común

de los códigos de bloque.

Para hacer el algoritmo de Viterbi una técnica de decodifi_

cación práctica, ciertos refinamientos en el algoritmo bá-

sico son deseables. Primero de todo forzar periódicamente

al codificador a un estado conocido usando secuencias de

ceros múltiplexadas en la trama de datos no es operacional_

mente deseable ni necesario.

Las 2 trayectorias decodificadas tienen una alta pro-

babilidad de que muy atrás del presente paso de decodifica_

ción, sean o tengan una trayectoria común. Todas lasb (K~112 trayectorias tienden a tener un tronco común con ra_

mas que eventualmente divergen en varios estados. Esto su_

giere que si los decodificadores almacenan bastante de la

historia de los bits de información pasados de cada una de

las 2 trayectorias, entonces los primeros bits de tcj

das las trayectorias deberían ser idénticos. La cantidad

de memoria que se requiere es u y es igual al número de es_

tados multiplicado por la longitud de la historia de los

Page 86: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 80 -

bits almacenados por estado, h

K nbíK-1) , TCu ~ h . 2 3.15

Así sin tener que insertar la cola de ceros, podemos trun-

car la memoria de las trayectorias aproximadamente a unas

cinco longitudes de control y para esto usamos registros de

desplazamiento de longitud 5bK para cada estado. El valor

de h se lo encontró experimentalmente y como se dijo ante-

riormente es de 4 ó 5 veces la longitud de control, lo cual

es suficiente para que no exista degradación del sistema.

h 5bK 3.16

Con cada nuevo conjunto de b bits que ingresan a los regis-

tros de cada estado los b bits que entraron 5K ramas de

tiempo antes son eliminados, pero antes que esto ocurra el

decodificador hace una desición final sobre estos bits, es_

cogiendo los b bits del primer registro de desplazamiento,

o simplemente aceptando el contenido de un registro de un

estado arbitrario, en base a que, con alta probabilidad to_

das las trayectorias serán idénticas en este punto y antes.

El análisis de las pérdida-s en el rendimiento causada por

esta estrategia de truncaciones aparece muy difícil, pero

simulaciones indican una pérdida mínima cuando las trayecto

rias son truncadas -a más de cinco longitudes de control.

Una mejor pero más compleja estrategia de truncaciones, .es

comparar las funciones de probabilidad o métricas después

de cada nueva rama, no solo en grupos de 2 sino, además en_

tre todas las 2 trayectorias supervivientes, para de-

terminar la trayectoria superviviente más probable en el punb(K—11

to de truncación, entonces además de las 2 trayecto-

rias, nosotros escogemos la salida correspondiente a la más

alta métrica. Esta estrategia permite reducir la longitud

de la memoria a 4bK o menos en situaciones prácticas, como

se ha determinado en la simulación.

Page 87: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 81 -

V o •

3.5 COMPARACIÓN CON OTROS ALGORITMOS

Los decodificadores de máxima probabilidad para códigos

convolucionales tienen un rendimiento muy superior a los

decodificadores de máxima probabilidad para códigos de

bloque, pero sufren de la misma desventaja ya que la com-

plejidad de cálculo crece exponéncialmente con la longitud

de control.

Existen dos tipos de decodificadores para códigos convolu-

cionales que son los más utilizados: el decodificados1 se_

cuencial y el decodificador Viterbi. (Ver apéndice 2).

Ambos decodificadores secuencial y Viterbi ofrecen alterna_

tivas prácticas a un ingeniero en comunicaciones en el di-

seño de un sistema eficiente de comunicaciones de alto ren

dimiénto. Los dos decodificadores tienen diferencias signi

ficantes, las cuales son dadas a continuación. Arabos son

capaces de muy altas velocidades de operación.

3.5.1 PROBABILIDAD DE ERROR

Se debe indicar que, la complejidad de los decodificadores

secuenciales es relativamente independiente de la longitud

de control (K), esta longitud típicamente se la hace grande

para proveer una muy pequeña probabilidad de un error no dei

tectado.

Usualmente las contribuciones más importantes de errores se

debe a la saturación del buffer de recepción de datos, debí

do a una sobrecarga de cálculos.TJn evento tal, causa una la_r

ga cadena de datos ruidosos hasta que el decodificador res-

tablezca la sincronización del código. Durante esta cadena

la probabilidad de bits errados es la de un canal primiti-2

vo, puede ser P = 3.10

Page 88: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

82 -

Errores en un decodificador Viterbi ocurren en pegueras ca_

deñas de longitud 10 a 20. Sistemas que son sensibles a

largas cadenas de errores deben usar este tipo de decodif i_

cador. Sistemas que pueden tolerar ocacionalmente largas

cadenas, con una indicación de error, la cual es proveída

por el decodificador deben considerar decodificación secuen_

cial.

La curva de probabilidad de error versus Eb/No tiende a ser

mucho más rápida para un decodificador secuencialque para

un decodificador Viterbi debido a la diferencia de la lon-

gitud de control. Así la ventaja de los decodificadores

secuenciales se incrementa cuando son demandadas bajas pro_

habilidades de error.

3.5.2 RETARDO EN LA DECODIFICACION

Decodificadores secuenciales tienden a requerir largos bu-

ffers de por lo menos 200 bits y hasta algunos miles de

bits.

Decodificadores Viterbi, requieren de memorias para las tra_

yectorias de máximo 64 bits. De esta manera el retardo en

la decodificación difiere por sobre los dos órdenes de mag-

nitud.

3.5.3 LONGITUD DE COLA REQUERIDA PARA TERMINAR LAS SECUENCIAS

En las secciones anteriores habíamos hablado sobre una man_e

ra de terminar una secuencia de datos, lo cual puede ser e-

jecutado por la transmisión de una secuencia conocida de

longitud b(K-l) y de esta manera causar que el decodifica-

dos entre a un estado conocido.

Donde K es típicamente grande para decodificación secuencial

y la inserción de la cola puede causar una degradación s.igni

Page 89: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 83 -

ficante en el rendimiento del sistema. La cola insertada

en los decodificadores Viterbi, causa una degradación peque

fia debido a que la longitud de control es corta.

3.5.4 OTRAS VELOCIDADES Y CUANTIZACION SUAVE

Decodificadores Viterbi para velocidades 1/3 y 8 niveles de

cuantización no son significativamente más complejos que o_

tros de velocidades 1/2 y 4 ó 2 niveles de cuantización.

, Los datos con cuantización suave son procesados en la sec_

cción de entrada y entonces incorporados en las ramas y esj_

tados de las métricas. No se requiere almacenamiento. Un

decodificador secuencial, en el otro caso, debe almacenar

algunas miles de ramas de los datos recibidos, cada rama

contiene log Q/Rn bits, para velocidades de Rn y Q niveles

de cuantización. Aunque existe la posibilidad de una ganan

cia de 0,4 dB por el uso de velocidad 1/3 antes que 1/2 y

una ganancia de 2 dB por el aso de cuantización suave, es-

tas ventajas son logradas en el decodificador secuencial en

base a un formidable almacenamiento y costo del proceso. En

general, entonces, decodificadores secuenciales de altas ve

locidades son limitados a velocidad de 1/2 y cuantización

dura.

Un segundo argumento contra la cuantización suave con decodi'

ficación secuencial envuelve a la probabilidad de sensibili-

dad de un buffer lleno de variaciones del canal.

El efecto sobre un decodificador Viterbi no es distinguible.

La degradación es mucho más pronunciada para decodificación

secuencial, donde la carga computacional es muy sensible a

los cambios en los parámetros del canal. Así, parte de los

2dB ganados por desición suave se perderán.

En la comparación entre decodificador secuencial y decodifi

Page 90: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 84 -

cador Viterbi, queda clara que se debe considerar decisión

suave solo para el segundo. Bajo estas condiciones la veri

taja en la eficiencia de una longitud de control larga de

un decodificador secuencial se ve considerablemente dismi-

nuida. Consecuentemente el funcionamiento de un decodifi-

cador secuencial de velocidad 1/2, K = 41 no es mejor que

el de un decodificador Viterbi de longitud de control 5 a 7

a una probabilidad de error de Pe= 10 . El decodifica-—8

dor secuencial presenta una ventaja distinta a Pe = 10 ó

menos.

3.6 APLICACIONES

3.6.1 CÓDIGOS CONVOLUCIONALES

Es para los códigos convolucionales que este algoritmo fue

primero desarrollado y es naturalmente aguí donde ha tenido

su más grande impacto.

Los resultados teóricos más importante están contenidos en

el documento original de Viterbi (1967). Aquel presenta _u

na cómoda definición del conjunto de códigos de enrejado y

decodificación por máxima probabilidad a posterior! (MAP),

además la probabilidad de error se puede hacer que disminu-

ya exponencialmente con la longitud de control K, a todas

las velocidades de código R menores que la capacidad del

canal. Además la velocidad de decremento es considerable-

mente mayor que para códigos de bloque con una complejidad

de decodificación comparable.

Los canales utilizados para comunicaciones espaciales son

frecuentemente simulados en forma eficiente por canales con

ruido blanco gaussiano. El algoritmo de Viterbi es atract^

vo para estos canales, ya que da rendimientos superiores a

todos los otros esquemas de decodificación salvo la decodi_

ficación secuencial y esto para altas velocidades, con com

Page 91: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 85 -

plejidad modesta y un considerable esfuerzo contra las va_

riaciones en los parámetros del canal. Un número de proto

tipos han sido probados, algunos del todo originales y o~

tros parecidos al desarrollado por Viterbi, pero es claro

que estos decodificadores llegarán a ser comunes en los si s

temas de comunicaciones espaciales.

El codificador convolucional de velocidad R = l/n< es un re_

gistro de desplazamiento de circuito exactamente'igual al

de la figura 3.2, donde las entradas u, son bits de infor-K

mación y las salidas y son bloques de n bits,K

y = (p-,,/ P-, , rp ,) donde cada uno de ellos esK J_K ¿K nK

un chequeador de paridad ( sumadores módulo-2) de algún sub

conjunto de los tí bits de información. La palabra código

es enviada a través del canal de memoria nula.

Un codificador de velocidad de código R = 1/2 con K ~ 3, u^

sado como ilustración se lo puede ver en la figura 2.1.

Los codificadores más generales existen; la velocidad puede

ser R = b/n, las entradas pueden ser no binarias, el codifi^

cador puede tener realimentaciones. En cada caso, el códi-

go puede ser generado por un proceso de registro de despla-

2amiento.

3.6.2 INTERFERENCIAS ENTRE-SIMBOLOS

La aplicación del algoritmo de Viterbi a la interferencia

entre símbolos es más reciente y el principal desarrollo

ha sido teórico.

En transmisiones digitales a través de canales analógicos,

encontramos frecuentemente la siguiente situación. La se-

cuencia de entrada u, discreta en el tiempo y en los valo

res entra en un modelo de registro de desplazamiento y es

usada para modular una forma de onda continua la cual es

Page 92: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 86 -

transmitida a través del canal y entonces muestreada. I~

dealmente las muestras z deben ser iguales al corresponK

diente u , o alguna función simple de ella; en efecto, aK

pesar de todo, las muestras z son perturbadas por ruidoK

y por las entradas vecinas u'. . El efecto posterior es liaK

mado interferencia entre símbolos. Algunas veces la inte_r_

ferencia es introducida deliberadamente para propósitos de

modelado del espectro, también llamada respuesta parcial

del sistema. En cada caso los muéstreos de la salida pue-

den a menudo ser modelados como:

= yk + nk3.16

donde y, es una función determinística de un número finitok

de entradas, mejor dicho y = f (u , u } y n. esK K K—V K.

el ruido blanco gaussiano, y esto es precisamente la figu-

ra 3.2.

Para ser sin embargo más específico, dentro de la modu-

lación por amplitud de pulso (PAM) la secuencia de señal y

puede ser tomada como la convolución de la secuencia de eri

trada ü, con alguna secuencia de pulsos discretos (h , h

Yk = h. • u.i k-1 3.17

Si h. = O para i > K-l, entonces tenemos nuestro modelo dei

registro de desplazamiento. Una ilustración de tal modelo

en la cual la interferencia entre símbolos mide 3 unidades

de tiempo, aparece en la figura 3.10.

V

\, -/ h n -

Fig. 3.10Modelo de un sistema PAM

Page 93: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 87 -

3.6.3 FSK CON FASE CONTINUA (CPFSK)

Este ejemplo no es citado por su importancia práctica, pero

presenta, como el algoritmo de Viterbi es de utilidad aun -

en las más redundantes situaciones.

En FSK, una secuencia de entrada u selecciona una de m fre-

cuencias (si u es m-ésimo) en cada intervalo de señal deK.

longitud T, si la serial transmitida es n ( t )

n(t) = eos { uj (U )t + G. } 3.18K K

kT t (k+l)T

donde cJ'(u ) es la frecuencia seleccionada por u , y 6 es*» K • K

algún ángulo de fase. esto es deseable por dos razones:

formación del espectro y simplicidad del modulador para que

la fase sea continua en el intervalo de transición; esto

es que

¿o + ek_-¡_ SH kT + módulo 2TT 3.19

Esto se llama FSK con fase continua. La continuidad de la

fase introduce la memoria dentro de los procesos de modula

ción. Un modelo de FSK con fase continua, radio de desvia

ción 1/2 y detección coherente con ruido blanco gaussiano

se presenta en la figura 3.11

GENERADOR

DE SEÑAL

Fig. 3.11Modelo de FEK con fase continua

Page 94: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

3.6.4 RECONOCIMIENTO DE TEXTOS

Incluimos esta aplicación para indicar que el algoritmo de

Viterbi no se limita a la comunicación digital. Dentro de

los lectores del reconocedor óptico de caracteres (OCR),los

caracteres individuales son examinados y sus característi---.

cas más sobresalientes aisladas, además se hace desiciones

en el sentido de que letra u otro carácter se encuentra ce^r_

ca del lector. Los caracteres comunmente forman parte de

textos con lenguaje natural, se debe reconocer que esto de_

be ayudar "al lector a resolver ambigüedades.

Una manera de simular los textos es tratando un lenguaje na_

tural semejante (por ejemplo) al español como un proceso de

Markov discreto en el tiempo. Por ejemplo podernos suponer

que la probabilidad de ocurrencia de cada letra depende de

las v letras previas y calculamos las probabilidades de o-

currencia de las (v+1) combinaciones de letras.

Tales modelos no describen completamente la generación del

lenguaje natural, sin embargo cuentan para una gran parte

de las relaciones estadísticas dentro del lenguaje y son

fácilmente encontrados.

Con tal modelo, las letras del español son vistas como las

salidas de un proceso de Markov de m estados, donde m es

el número de caracteres distinguibles tal como 30 (29 letras

y espacio). . Si además asumimos la salida del OCR z es de-k

pendiente solo del correspondiente carácter de entrada y ,K

entonces la lectora OCR es un canal de memoria nula a cuya

salida podemos aplicar el algoritmo de Viterbi para sacar

provecho de la longitud del texto. Pig.3.12. Aquí la sali_

da del OCRf puede ser cualquiera, de los primitivos datos

sensadosr posiblemente una serie de ceros y unos y en conse;

cuencia las decisiones pueden ser hechas por el lector en

ausencia de reglas contextúales. Generalmente lo más pode_

roso será el algoritmo de Viterbi.

Page 95: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 89 -

Proceso de

Markow

representando

al español

caracteres

ykO C R

salidasalgoritmo

deViterbí

textodecodif i

"

Fig. 3.12Reconocimiento de caracteres con el VA

3.6.5 OTROS

Se reconoce ciertas similaridades entre la grabación mag-

nética y canales con interferencia entre símbolos, Kobaya-

shi ha propuesto aplicar este algoritmo para la grabación

magnética digital.

Timor, tiene aplicado el algoritmo en un sistema secuencial

de sonidos, además han sugerido usar el algoritmo en el re-

conocimiento de diagramas sintáxicos.

Page 96: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

CAPITULO IV

PROGRAMAS DIGITALES

4.1 EL SISTEMA DE COMUNICACIÓN

En el campo de la ingeniería de sistemas de comunicación,

la segunda mitad del siglo XX, ha sido destinada a ser reco_

nocida como la era de la evolución de la comunicación digi-

tal , de igual manera como lo fue la primera mitad, la era

de la evolución de la radio comunicación hasta el punto de

poder transmitir mensajes confiables como son la voz y la

imagen, .comunmente transmitidos en forma análoga1.

El desarrollo de las comunicaciones digitales tuvo su im-

pulso por las necesidades de tres tendencias principales:

1. Gran incremento en la demanda de transmisión de datos

de todas las formas, desde banco de datos de computado-'

ra a terminales, para una gran variedad de aplicaciones

y con cualquier variación en los requerimientos de seg_u

ridad.

2. Rápida evolución de los satélites estacionarios sincró-

nicos , los cuales facilitan las comunicaciones a lo an-

cho del mundo a muy altas velocidades, pero cuyos cos-

tos de lanzamiento y en consecuencia las limitaciones en

potencia y ancho de banda, imponen un significante inserí

tivo económico sobre el eficiente uso de los canales exis_

tentes.

3. Las redes de comunicaciones digitales que simultáneamente

sirven a diferentes usuarios, con una variedad de velocidad

de transmisión y requerimientos, en el cual un simple y e-

ficiente multiplexado de los datos y un acceso múltiple a

los canales tienen un interés económico primario.

Estos requerimientos y la tecnología electrónica de estado

sólido necesita el desarrollo de un sistema de comunicación

digital eficiente, flexible y libre de errores lo cual se de

Page 97: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 91 -

sarrolló simultáneamente y en forma paralela a lo largo del

tercer cuarto de este siglo.

El sistema de comunicación es mejor descrito en términos de

diagrama de bloques, el cual lo presentamos en la figura 4.1

La fuente es modelada como un generador aleatorio de datos.

Secuencia de

entrada digital

Secuencia de

salida digital

Fuente Codificador

de fuente

i

L ~ _-

Decodificad .

de fuenteDestino

Fig. 4.1Sistema de comunicación digital

El codificador de fuente funciona como el asignador de una

correspondencia entre la salida de la fuente y una secuen-

cia digital, (usualmente binaria), si la fuente misma gene-

ra una salida digital, la correspondencia que realiza el

codificador puede ser uno a uno.

Cuando la fuente es analógica, esta no puede ser presenta-

da perfectamente por una secuencia digital por cuanto la

salida tiene un infinito número de valores y así obviamen_

te no puede haber una asignación uno a uno con un conjuri

to de valores discretos. Lo mejor que gue puede hacer en

la asignación de una fuente analógica a una secuencia di-

gital produce alguna distorsión en el destino, luego que

el decodificador de fuente opera, el cual en este caso rea_

liza la asignación inversa en forma aproximada. Si el co-

dificador de fuente realiza una asignación uno a uno, el

decodificador puede funcionar simplemente a la inversa y

así entregar en el destino el mismo dato que fue generado

en la fuente.

Page 98: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 92

El objeto de la presente tesis es simular un enlace de co-

municaciones, proceso que se implementará en una minicompj¿

tadora. Los elementos que componen estos sistemas pueden

ser presentados esquemáticamente en la figura 4.2 ,

Generador

de datos

pseudoaleat.

detector

de nivel

Decodif icad.

viterbi y

Contador

de errores

contador de

errores

Fig. 4.2Diagramas de bloques de la simulación

de un canal

1. Generador de datos pseudo-aleatorio.

2. Codificador convolucional de longitudes de control

K=3,4,5 y velocidades de código 1/2 , 1/3.

3. Canal con ruido blanco gaussiano,

a. Generador de ruido blanco gaussiano.

b. Detector de nivel, cuantizador de 2 y 8 niveles

c. Comparador y contador de errores del canal.

4. Decodificador Viterbi y contador de errores.

Page 99: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 93 -

Todos estos elementos han sido simulados por medio de un

lenguaje de programación de alto nivel, de propósito gene

ral, debiéndose aclarar que existen lenguajes especializa,

dos para simulación, al usar un lenguaje de propósito ge-

neral el programa se volverá más lento, debido a la can tí

dad de instrucciones que son necesarias para lograr el ob

jetivo deseado.

Con el objeto de que sea fácilmente .entendida la simula-

ción, en las siguientes secciones cada el-emento de esta ha

sido explicado en forma separada pero formando parte de un

solo programa. El diagrama de flujo utilizado en su dispo

sición es similar al diagrama de bloque de la figura 4.2.

©

I N I C I O

TÍTULOS

Ingreso de variables

GENERADOR DE DATOS

CODIFICADOR

CANAL

©

Page 100: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 94 -

DECODIFICADOR

NO

SI

SALIDA

F I N

Fig. 4.3

Diagrama de flujo general de la simulación

de enlaces de comunicación

Se debe anotar que básicamente este es el diagrama de flu-

jo de las simulaciones, pero que debido a las car acteríst^L

cas del decodificador ha sido necesario modificarlo, como

se presenta en la figura 4.16; en donde el programa cen-''

te al es el decodificador y,el generador de datos, el cod.i

ficadorr el canal y el cálculo de las distancias de Hamming

constituyen una subrutina la cual es llamada de acuerdo a

las necesidades del programa central.

Otras características de lia simulación son: Para cada tipo

de código se realiza un programa independiente el cual con_

tiene todos los elementos del sistema de comunicaciones;

los decodificadores se diferencian entre sí en los prime-

ros períodos de tiempo.

Page 101: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

4 - 2 ENTRADA DE DATOS (GENERADOR PSEUDO-ALEATORIO)

Este generador de datos como ya se dijo con anterioridad

en lo posible formará parte de un programa que simule to-

talmente el sistema de comunicaciones, pero caso contrario

puede formar un solo programa con el codificador y el ca-

nal, o cualquier arreglo de ellos, dependiendo de la capa-

cidad de la memoria RAM de la minicomputadora.

Con este fin la generación de datos la hacemos de la forma

más simple posible, y por esto usamos la instrucción RND(x)

con la cual obtenemos un número aleatorio entre cero y uno,

a continuación con un detector de nivel obtenemos la salida

en forma binaria {O ó 1) .

El diagrama de flujo de este elemento del sistema se lo tie_

ne en la figura 4.4.

I N I C I O

TÍTULOS

Ingreso de variables

Generación del

dato RND (x)

Page 102: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 96 -

4.3

Detector del nivel

NO

CODIFICADOR

CODIFICADOR

CANAL

DECODIFICADOR

SI

SALIDA

FIN

Fig. 4.4

El codificador de un código convolucional como se enunció

en capítulos anteriores es un circuito lineal como se ilu_s_

tra en la figura 4.5.

K estados

•+) n sumadoresmódulo 2

símbolos binarios codific

Fig. 4.5Codificador convolucional

Page 103: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 9-7 -

En consecuencia un código convolucional binario de veloci-

dad R ~ 1/n y de longitud de control K, se define como la

salida de un circuito lineal con alimentación hacia adelan_

te de una entrada a n~salidas.

El codificador consiste en un registro de desplazamiento de

K estados y n sumadores módulo-2. Cada uno de éstos es co-

nectado a ciertos estados del registro. El diagrama de co-

nexiones especifica el tipo de código. La matriz generado-

ra G determina el tipo de conexiones a realizarse.

Los bits de información son desplazados dentro del registro

b bits a un mismo tiempo. Luego de ésto, las salidas de los

sumadores módulo-2 son muestreadas secuencialmente, consti-

tuyendo los símbolos del código. Genera'ndosé n símbolos bi-

narios para cada conjunto de b bits de información. La ve-

locidad de código R es b/n (bits de información por símbo-

los código), donde b^n. El estado del codificador conven

lucional es el contenido de los K - 1 estados del registro

de desplazamiento.

En primer lugar asumimos que los K estados del registro de

desplazamiento inicialmente tienen valor cero, otra consi-

deración; las palabras código son calculadas luego de que

ha sido introducido en el registro de desplazamiento un sím

bolo binario, en consecuencia b = 1. Usaremos palabras có-

digo de dos y tres bits las cuales dan una velocidad de có

digo R = 1/2/ y 1/3 respectivamente.

A fin de realizar simulaciones con diversos tipos de códi-

gos, la longitud de control o número de estados del regis-

tro de desplazamiento variará entre los valores de K = 3 a

K = 5.

En la figura 4.3 se da los diagramas de conexiones de los

diversos codificadores a simularse.

Page 104: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

Entrada de datos K^_secuencia codificada

Fig. 4.6.a K=3 b=l n=2

Entrada de datos secuencia codificada

Fig. 4.6.b K^4 b=l n=2

Entrada Salida

Fig. 4.6.C K=5 n=2

Page 105: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- .99 -

secuencia de entrada secuencia codificada

Fig, 4.6.a K= 3 b«l n=3

secuencia de entrada.V secuencia codificada

Fig. 4.6. e K=4 b=l n=3

secuencia de entradasecuencia codificada

Fig. 4.6.f K=5 b-1 n=3

Page 106: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 100 -

Cada uno de estos codificadores será un programa o parte

de algún otro. El diagrama de flujo es básicamente el mis_

rno para todos, por lo que el.diagrama de la figura 4.7 es

común para todos.

I N I C I O

Ingresó de variables

Generación de datos

Simulación de regis-

tro de desplazamiento

Sumadores

módulo-2

Canal con ruido

Decodif icador

NO

Page 107: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 101 -

4.4

SALIDA

FIN

Fig. 4.7

Diagrama de flujo de los codificadores

EL CANAL

Los satélites y los canales de comunicación espacial son -

candidatos más probables debido al costo del uso de codifi_

cación para aumentar la eficiencia de las comunicaciones.

Las principales perturbaciones que se suman a estos canales

usualmente pueden ser simulados con gran precisión por rui-

do gaussiano, el cual debe ser "blanco" para que exista la

esencial independencia de un bit al siguiente.

La eficiencia de un sistema de comunicaciones es usualmen-

te medido por la razón de la energía recibida por bit al -

ruido (Eb/N0}, la que se requiere para ejecutar un rango -

específico de bits errados. La relación Eb/No se puede ex-

presar en términos de la potencia de la señal modulante por

la relación:

Eb4.1

donde R es la velocidad de información en bits por segundo.

El objetivo del programa de canal es sumar a la señal trans_

mitida ruido blanco gaussiano. Además la señal con ruido -

es cuantizada, ya sea en dos estados si es utilizada la de-

codificación dura o en ocho estados si utilizamos decodifi-

Page 108: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 102 -

cacion suave.

4.4.1 DISTRIBUCIÓN GAUSSIANA. O NORMAL

La variable aleatoria x, que toma los valores reales

- co -¿ x *z oo , tiene una distribución normal o gaussiana ,con

un valor esperado u y desviación estándar <f , si su función

de probabilidad está dada por:

i _ 1 / x~u \f (x) = — e 2 l 3 4.2

Si los valores de u y &1 son cero y uno respectivamente,la

función recibe el nombre de distribución normal estándar.

Cualquier distribución normal puede convertise a la forma

estándar, haciendo la sustitución,

4.3

Así su función de distribución será2

f(x) =~ e"^El valor medio y la varianza son

E(x} = u 4.4

V(x) = (f 4.5

Esta distribución de probabilidad, también cumple con la

propiedad de que

íf (x) dx = 1

En la presente tesis se usará el método del límite central

para generar ruido blanco gaussiano.

4.4.2 MÉTODO DEL LIMITE CENTRAL

Este método utiliza el teorema del límite central el cual

establece:

Page 109: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

103 -

Sea x , x,, ......... x ........ una sucesión de varia1 2 n

bles aleatorias dependientes con E {x. ) = u. y2

V ( x . ) = CJÍ , i - 1, 2, ...... Sea x = x + x +. .1 1 j. z

.... + x . Luego bajo ciertas condiciones generales

- .1 u.

—-—— 4.6

tiene aproximadamente la distribución normal estándar.

Si las variables aleatorias independientes x. se reemplazan

por los números aleatorios r., generados en el intervalo

(0,1}, se tiene

nx = r. 4.7

y u. = n-ui í i

v „ „ j*_¿, <S1 - n <r

) = 1/2 ; c

Reemplazando en 'la ecuación 4.6 se tiene que

2en donde u = E { r . ) = 1/2 ; <f = var ( r . } = 1/2

r . - n- u

4.10

Así para generar los valores de las variables en la compu-

tadora, se debe sumar un número k de var iableas aleatorias

independientes, distribuidas uniformemente en (0,1); con

lo que las ecuaciones 4.8 y 4.9 serán

n-u = ~- 4.11

— 4.12

por lo tanto

Page 110: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 104 -

y =r • kL r • - Tni i 2

12

4.13

Igualando las ecuaciones 4,3 y 4.13 se tiene

x =12 ,1/2 k

ri - 24.14

donde x es la valor de la variable aleatoria que se va a g_e

nerar, con valor medio u y variánza G* .

El valor de k, dependerá del objetivo de la generación de

los valores. Si se requiere el menor tiempo de cómputo,un

valor apropiado sería k = 12, de esta manera se evita rea-

lizar una división y una raíz cuadrada; los valores obte-

nidos se limitan entre +6 y -6. Si se desea mayor preci-

sión en los valores generados, se sebera usar un valor de

k mayor.,f (x)

-2 x

Fig. 4.8Función de densidad de probabilidad de la distribución

normal o gaussiana

4.4.3 CUANTIZACION

Normalmente las entradas de un canal con ruido blanco gau-

ssiano son elementos de un conjunto finito de valores (bi-

Page 111: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

105 -

nario), y sus salidas generalmente son variables continuas

gaussianas y en consecuencia pueden ser cuantizadas en un

número finito de niveles.

El funcionamiento de una versión cuantizada de un decodif^

cador es más difícil de analizar en forma precisa. De otro

lado la cuantización de las salidas a uno de los j niveles

simplemente transforma el canal con ruido blanco gaussiano

a un canal con un alfabeto de entrada y un alfabeto de sa-

lida finito. Un ejemplo de este tipo de canal con su sa-

lida cuantizada a ocho niveles se presenta en la fig. 4.9

salida

bl*

b2

b3

b4

-3a -2a—i— -a

2a 3ab5

bG

-f-bV

b8

Fíg. 4.9Cuantizador uniforme de 8 niveles

Denotando la entrada binaria por (a , a } donde a = - a

y el alfabeto de salida por (b , b , ,b ).1 2 8

La amplitud del ruido es determinada por la relación Eb/No

en decibelios, el método utilizado para generar las varia-

bles gaussianas es el explicado anteriormente con un valor

de k = 12, u = O y cr' - 1. Otra característica de este

programa es la cuantización a la salida del canal de acuer

do al tipo de decodificación a usarse, dos niveles si es -

djjra y_ochp si_e.s_sua.ve.

Page 112: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 106 -

Se tiene un indicador del número de errores introducidos

por el canal, debido a la suma del ruido blanco gaussiano

El diagrama de flujo de este programa se lo da fig.4.10.

I N I C I O

Ingreso de variables

GENERACIÓN DE DATOS

CODIFICADOR

Adición a los bitscodificados de rui_do blanco gaussiano

Cuantizador de

niveles

Cuantizador de 2

niveles

Page 113: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 107 -

Contador de errores

DECODIPICADOR

Fíg. 4.10

Diagrama de flujo del canal

Page 114: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 108 -

I N I C I O

C = O

I = 1 TQ 12

C = C + RND(l)

X = V * {C-6}

RETURN

Fig. 4.11

Diagrama de flujo de la subrutina parala generación de ruido blanco gaussiano

Las variable usadas tienen el siguiente significado

X = Amplitud del ruido gaussiano generado.

V = Valor efectivo de la tensión del ruido.

C = Sumador auxiliar.

Page 115: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

-109 -

4.4.4 TASA DE BITS ERRADOS (BER)

En sistemas de comunicaciones se generan varios tipos de

ruidos que causan errores de bits. Existen por lo general

ruidos impulsivos que se producen a momentos discretos y

ruidos periódicos que se repiten a periodos fijos. Los que

causan mayor problema son ruidos cuya generación es constar!

te y cuya tensión eléctrica varia al azar. El ruido fcermi^

co es representativo de ellos, Este ruido aleatorio y con

el cual tratamos es el denominado ruido gaussiano..

Como se vio en la sección 4.4.1 la función de densidad de

probabilidad de la distribución gaussiana o normal está re_

presentada en la ecuación 4.2, ahora para que esta expre-

sión nos de la distribución de la tensión del ruido, consi

deramos que el valor medio u - O y en consecuencia la ecua

ción 2.4 la podemos reescribir.

1 2,, , _ _1 exp( ~ ~ ) 4.15f X) - 2 „-•

Donde cf representa el valor efectivo de la tensión de rui.

do y o-"2 representa la potencia efectiva del ruido (valor

cuadrático medio) .

A continuación la función de distribución de probabilidad

P (x iV) que representa la probabilidad de que la tensión

de ruido x cae bajo el nivel V se puede lograr integrando

fíx) de - co hasta V.

1 -i- erf (— ) I 4.16P(X-íV) = f (X) dX =

2 f 2erf (z) = =- / exp {-t )dt 4.17

« TT ./„

En donde, erf (z) es la función de error. La función mos-

trada en la siguiente ecuación se llama función complemen-

Page 116: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 110 -

taria de error.

erfc (x) = 1 - erf(2) 4.18

En transmisión analógica el parámetro importante es la po-

tencia media del ruido «''"que está contenido en la bandn de

la señal para evaluar la calidad de transmisión, pero en

la transmisión digital la exactitud de la decisión entre

"1" y I10" depende de la relación de magnitud entre las tari

sienes instantáneas de impulso y ruido en el momento de la

decisión.

El tren de impulsos unipolares que se simula se transmite

(las tensiones de los impulsos son: A y O, A^O, en nuestro

caso A = 1) y el de impulso.s bipolares (las tensiones son

A/2 y ™A/2)ambos sin retorno a cero (NRZ), estos dos códi-

gos se pueden considerar iguales excepto por el nivel de

decisión (para el unipolar-..A/2, y para el bipolar ...0}

en consecuencia el BER se lo puede deducir para cualquiera

de los dos lo haremos sobre el unipolar.

A'

A

"2

0

_ "

,iii1i

• -iii1i|i

ii1IiJiii\

1 o 1 1Fíg.4.12.a

Tren de impulsos unipolares

O 1 O 1 1 O O

Fig. 4.12.bImpulsos deformados debido al ancho de banda

Page 117: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

-111 -

La probabilidad (Pem) de que la tensión de un impulso A se

tome erróneamente por cero (0) debido al ruido,, es igual a

la probabilidad de que la tensión del ruido sea inferior a

-A/2 (P (x ~*z -A/2) ) , considerando que el nivel de decisión

es A/2.

Pem = 1- erf (-A

2 e/

— erfc (2 _ r

4.192 <f

Igualmente la probabilidad (Pes) de que la tensión de un im

pulso cero se tome por A erróneamente debido al ruido,es i-

gual a la probabilidad de que la tensión del ruido suba por

encima de A/2.

Pes = 1~ 1-erf (-A

2 J2 a*

\o (—± - Pem 4.20

Por lo tanto considerando que "O" y "1" se generan igualmeri

te, la tasa media de bits errados Pe se expresa por

Pe = — (Pem Pes) - — erfc (-A

2/2.0-4.21

En la figura 4.13 se expresa los significados de las ecuacip_

nes 4.19 y 4.20, f (x) y f (x) indican la densidad de pro-

babilidad de la tensión de ruido, y las áreas de las partes

sombreadas corresponden a Pes y Pem respectivamente. De la e_

cuacion 4.21 se sabe que la BER se decide por la relación

entre la tensión de cresta del impulso A y la tensión efecti

va del ruido

Page 118: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

• - 112 -

Tensión

de

Impulsos

Tensión

de ruido

Gaussiano

(x)

Tensión

de ruido

Gaussiano

Fig. 4.13Tensiones de señal, ruido gaussiano ylímites en que ocurren errores

Por lo general la BER se representa por la función de la r

lación entre la potencia de la señal y la del ruido (S/N).En

este caso la potencia del ruido se expresa mediante el valor

efectivo o"2 y la de la señal se expresa por la potencia co

rrespondiente a la tensión de cresta A en lugar del valor e-

fectivo.

En la figura 4.14 se indica la curva de Pe, siendo A/2 \¡2 a*

expresado en dB el parámetro del eje horizontal.

4.4.5 RELACIÓN SEÑAL A RUIDO

Por definición la relación señal a ruido es la. división entre

la potencia media de una onda Eft) y la potencia del ruido <<

S/N=4.22

Donde la potencia media se define:

Page 119: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

_ 113 -

X

lo-1— 2

Tasa 10

io~3errores in~4

Pe -510

io-6lo'7-8

10

" \2 4 6 8 1 0 1 2

S/N (dB)6 8 10 12 14 16 18

Fig. 4.14 Tasa de errores de impulsos u

P = lim ~ / E2 (t) dtÍ, T— ~ -L J o

A20 log -r - W logB

4.23

Para el caso nuestro de señal unipolar donde,

E (t) *O t

T/2 t

T/2

T

La potencia media es igual A /2, y en consecuencia la reía

ción señal a ruido será igual a:

S/N =A'

4. 24

Esta relación generalmente se le expresa en dB,

S/N (dB) = 20 logA

- 10 log 2 4. 25

Para nuestra simulación de la relación señal a ruido dese_a

mos obtener el valor efectivo de la tensión del ruido o1

el ciual lo podernos obtener de la ecuación 4.25.

Page 120: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 114 -

4.5 DECODIFICACION Y SALIDA DE DATOS

4.5.1 EL ALGORITMO BÁSICO

Un decodificador primitivo de máxima probabilidad debe cal

cular las probabilidades de los datos recibidos para dete£

minar la secuencia correcta y esto lo realiza sobre todas

las trayectorias a través del diagrama de enrejado, Desa-

fortunadamente el número de éstas para una secuencia de

información de L bits es 2 ; este decodificador no es

práctico a medida que L se incrementa.

00

01

10

11

Con el decodificador de Viterbi es posible una gran reduc-

ción en el esfuerzo requerido para la decodificación por

máxima probabilidad, debido a las ventajas que presenta la

estructura especial, del diagrama de enrejado.. Si nos fija_

mos en el gráfico 4.15 el cual es del ejemplo que nos sir_

ve de base, observamos que el diagrama de enrejado asume u

na estructura periódica a partir del tercer nodo (en-gene-

ral, a partir del nodo K). Después de este punto, a cada

uno de los cuatro estados se puede llegar partiendo de dos

estados anteriores. En el nodo 3 por ejemplo, llegan ocho

trayectorias y a cada estado van dos . El estado 00 al no

do 3, posee dos trayectorias que ingresan y que correspon-

den a las secuencias de información 000 y 100. Estas tra-

yectorias se dice divergen en el estado 00 en el nodo O y

se vuelven a encontrar en el estado 00 nodo 3. Las trayec_

torias se encuentran después de dos bits de información i-

dénticos y consecutivos ( en general b (K-l) ) .a - ', T-

K=0 1 2 3 4 51

Fig. 4.15

Page 121: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

115 -

El decodificador de Viterbi calcula la probabilidad de ca-

da una de las 2 trayec-torias que ingresan a un estado da-

do {b = 1) y luego de compararlas elimina a todas excepto

la trayectoria más probable que llegue a dicho estado. Es-

to se realiza para cada uno de los 2 * > estados existen-

tes en un diagrama de enrejado; después de cada operación

de decodificación solo una trayectoria líder permanece en

cada estado denominada "superviviente". El decodificador

entonces procede al siguiente nodo en el diagrama de enre_

jado y el proceso se repite.

El decodificador así escrito, retiene un conjunto de 2

trayectorias 'después de cada paso de decodificación.

4.5.2 MEMORIA DE LAS TRAYECTORIAS

Las 2 trayectorias decodificadas, tienen una alta pro_

babilidad de que muy atrás del presente paso de decodífica-

ción tengan una trayectoria común.

Todas las 2 trayectorias tienden a tener un tronco común

con ramas que eventualmente divergen en varios estados. Esto

indica que si los decodificadores almacenen bastante de la -

historia de los bits de información pasados de cada una de

las trayectorias, entonces los primeros bits de éstas debe_

rían ser idénticos.

Experimentaimente se ha determinado que la longitud de la

historia requerida es de 4 ó 5 veces la longitud de con-

• trol, en la presente simulación se podrá variar la longi_

tud de la historia requerida, aunque lo haremos hasta un

máximo de 32 bits.

La decodificación en consecuencia tiene un retraso igual a

la longitud de la historia de las trayectorias; si por e-

jemplo esta longitud es de 32, al ingresar los bits en el

nodo 33 calculamos todas las distanciasde las trayectorias

Page 122: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 116 -

y encontramos los supervivientes en cada estado, a continua_

ción escogemos el superviviente que tiene el menor valor, y

en la historia de su trayectoria, escogemos el bit que in-

gresó 32 unidades de tiempo atrás, luego el proceso se re_

pite en el nodo siguiente (34).

4.5.3 ESTADO Y CALCULO DE LAS RAMAS

Las comparaciones de las trayectorias se hacen para aque-

llas que entran a cada estado y requieren del cálculo de

la probabilidad de cada trayectoria envuelta en una secuen_

cía particular de información recibida.

El cálculo de la probabilidad se lo hace en forma logarít-

mica, con lo cual es más sencillo su procesamiento, cuando

una métrica se extiende en una rama, la métrica de la nue-

va trayectoria es la suma de la distancia calculada para la

rama y la métrica del superviviente anterior. Para facili

tar estos cálculos la métrica del superviviente de cada es_

tado debe ser almacenado y se la denomina estado de la mé-

trica.

La operación de un decodificador de Viterbi puede ser resii

mida como sigue, tomando el ejemplo de K=3.

1. La métrica para dos trayectorias que ingresan al estado

00, es calculada por la suma del estado de la métrica , o

de los estados 00 y 01 con Ias4istañciasde las ramas sii

perior e inferior que entran al estado 00, respectiva- '

mente.

2. La menor de las dos nuevas métricas es almacenada como

el nuevo estado de la métrica del estado 00. La nueva

historia de la trayectoria para el estado 00, es la his_

toria de la trayectoria del estado ganador r historia:

aumentada en un O ó 1 dependiendo de cual estado 00 ó

Page 123: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

117 -

01 ganó.

3,. Este proceso de sumar-comparar-seleccionar es realizado

para las trayectorias que ingresan a los otros tres es-

tados.

4. Los bits de la trayectoria, menor valor de métrica for-

man la salida del decodificador, se realiza la trunca-

ción y se escoge la trayectoria que tiene menor valor

de métrica.

4.5.4 CONSIDERACIONES ESPECIALES

Debemos considerar en primer lugar que el decodificador de

be reconocer el estado en el cual el codificador comenzó,

antes de empezar la decodificación. Asumimos que la deco-

dificación comienza en el estado 00.

Es necesario poner una cola de ceros luego de acabado el

mensaje, ya que existe un retardo en la decodificación i-

gual a la longitud de la historia de las trayectorias.

I N I C I O

Dimensionamiento y

asignación de valores

a las variables

Número de bits a

generarse ?

Page 124: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 118 -

A

Cálculo de las métricasy almacenamiento de lahistoria de las trayec-torias para los primerosperíodos de tiempo.El número de períodos de_pende de la longitud decontrol.

K = K 4- 1

T Í T U L O S

Generador de datosCodificadorCanalDistancia de Hamming

CALCULO DE LOS

SUPERVIVIENTES

NO

longitud de la

istoria

Page 125: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

-119 -

Escoja la trayectoriacon el menor valor demétrica.

Obtención del bit de-codificado de la tra-yectoria escogida.

Contador deerrores

Eliminación del bitdecodificado de lahistoria de las tra_yectorias.

Page 126: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 120 -

T Í T U L O S

GeneradorCodificadorCanalDist.Hamnúng

Inyección de la

cola de ceros

CALCULO DE LOS

SUPERVIVIENTES

SI

Opciones a

escoger

Cargar en RAMel programadeseado

L9

es igual a

la longitud de la

.historia

SI

Impresión de

sultados

NO

F I N

Fig. 4.16

Diagrama de flujo del decodificador

L9, K contadores

Page 127: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 121 -

I N I C I O

Suma de las distan-cias de Hamming a lasmétricas de los esta_dos.

Elección del supervi-viente de cada estado

Cálculo de la nuevamétrica en cada es-tado

R E T U R N

Pig. 4.17

Diagrama de flujo del cálculo de supervivientes

Page 128: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 122

4.6 MANUAL DE USO

4.6.1 CARACTERÍSTICAS DE LA MICROCOMPUTADORA

La simulación será realizada en un mi'crocomputador- TEKTRONIX

4051, el lenguaje de programación es el BASIC,.además de una

serie de instrucciones propias de este sistema computacional

que sirve para manejar los periféricos disponibles.

La unidad central del proceso de este sistema tiene una área

de memoria real de 30 Kbyte. Con el fin de aprovechar mejor

el área de memoria disponible, se hace necesario que solamen_

te el programa que se esté ejecutando esté 'en memoria real -

(además de un corto programa de control permamentemente en e

lia), los demás deben estar almacenados en la unidad de dis-

cos hasta que su uso sea requerido por el proceso establecí

do de antemano; el momento que un programa terminé de ejecu-

tarse, este debe ser borrado de la memoria y en su lugar de-

berá ponerse el siguiente programa a ser corrido.

4.6.2 MENÚ

Cuando una persona desee usar el programa deberá seguir una

serie'de instrucciones dadas por este manual de uso en la

sección 4..6.4, y a continuación irán saliendo una serie de

leyendas o instrucciones en la pantalla las cuales deberá

seguir, mencionaremos las principales:

La primera decisión que se presentará para escoger es:

1. DEMOSTRACIÓN DE LOS CODIFICADORES

2. DEMOSTRACIÓN DE LOS DECODIFICADORES

3. SIMULACIÓN DE ENLACES DE COMUNICACIÓN

4. PRUEBAS

Page 129: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 123 -

A continuación con todas las opciones anter iores, se debe es_

coger el tipo de código que se usará;

CÓDIGO A UTILIZARSE

1.2.

3.

4,

5.

6.

K =

K =

K =

K =

K =

K -

3

4

5

3

4

5

R =

R =

R =

R =

R -

R =

1/2

1/2

1/2

1/3

1/3

1/3

Si escogemos realizar la primera opción, el programa corres-

pondiente es cargado en este punto y funcionará-:oon el tipo

de código escogido. Con las demás opciones se debe ingresar

ciertas características como son:

TIPO DE DECODIPICACION (Suave o Dura):

LONGITUD DE LAS TRAYECTORIAS (Max 32):

Con las opciones 3 y 4 aparece ademá's:

RELACIÓN SEÑAL A RUIDO (dB)

DESEA IMPRESIÓN (s/n)

La decodificación suave significa que la salida del receptor

se halla cuantizada a 8 niveles y decodificación dura a 2 ni_

veles.

La longitud de las trayectorias indica el retardo en la de-

codificación , es decir la longitud del registro con la his_

toria de una trayectoria.

La relación señal a ruido se la utiliza en la simulación del

canal con ruido blanco gaussiano y se la ingresa en dB,

El programa elegido es cargado en la memoria RAM y corrido,

Page 130: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 124 -

En las demostraciones, es el operador el que ingresa, las ya^

riables sean estas binarias o decimales (cuando la salida

está cuantizada) el objetivo de estas demostraciones es,que

el funcionamiento del codificador y decodificador sean fá-

cilmente entendidos.

La simulación de enlaces de comunicación da una visión glo-

bal de todo el proceso de comunicaciones presentando el fun.

cionamiento de la simulación en cada elemento del enlace.

Las pruebas de simulación tienen por objeto reducir el tiem

po de utilización de la mi'crocomputadora y para lo cual se

evita la presentación de cualquier dato del funcionamiento

presentándose solamente el contador de bits.

4.6.3 DISTRIBUCIÓN GENERAL DE LOS PROGRAMAS EN LA MEMORIA

Tratemos en primer lugar de entender como es el funcionamien_

to del programa. Tenemos un programa PRINCIPAL que siempre

está en RAM y una serie de programas que están almacenados

en disco y se carga a la RAM de acuerdo a io que .nosotros

deseemos simular o demostrar.

Con esta forma de trabajo tenemos la ventaja de ampliar la

capacidad de memoria de acuerdo a nuestros requerimientos,

aunque el programa en general se vuelve mucho más lento por

que ñay que esperar que este se cargue en la RAM para luego

hacerlo correr.

A continuación en la figura 4.18 tenemos la distribución ge

neral de los programas en la memoria y en la figura 4.19 el

diagrama de flujo del programa PRINCIPAL.

Page 131: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

Programa

PRINCIPAL

Memoria libre

para almacenar

el programa a

ser corrido Fig. 4.18

Demostración de los codificadores

Demostración del decodificador K~3 R=l/2

Demostración del decodificador K=4

R=l/2

Demostración del decodificador K=5

R=l/2

D_emostraeión_del decodjj:icador K~3

R-l/3

Demostración del decodificador K=4 R-l/3

Demostración del decodificador K=5 R=l/3

Simulación de enlaces de comunicación K=3 R=l/2

Simulación de enlaces de comunicación K=4. R=l/2

Simulación de enlaces de comunicación K=5 R=l/2

Simulación de enlaces de comunicación K=3

R-l/3

Simulación de enlaces de comunicación K=4

Simulación de enlaces de comunicación K=5

R=l/3

Prueba

dela

simulación

K=3

R=l/2

Prueba

de

lasimulación

K=4

R=l/2

Prueba

de

lasimulación

K=5

R=l/2

Prueba

dela

simulación

K=3

R=l/3

Prueba

dela

simulación

K=4

R=l/3

Pc_ueba

de la simulación K=5 R~l/3

H to Ln

Page 132: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 126 -

I N I C I O

Identificación de

programa

Preguntar que pro-

grama desea correr

Preguntar las carac_

terísticas del pro-grama

no

Cargar programa de_

seado a la RAM

Fíg. 4.19

Diagrama de flujo del programa PRINCIPAL

Page 133: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 127 -

4.6.4 MODO DE INICIALIZACION DEL PROGRAMA

Las instrucciones a seguir para poder entrar en el sistema de

el programa son:

a. Prenda . el -sistema e inserte el disco en cualquiera de -

las unidades disponibles.

b. Inicialice el sistema del reloj del microcomputador con la

instrucción

CALL "SETTIM"r "DD - MMM - AA to HH:MM;SS"

donde DD : Día

MMM: Iniciales del mes en Inglés

AA : Año

HH : Hora

MM : Minutos

S S : S egundos Cope i'ona 1)

c. Cargue el disco mediante la instrucción:

CALL "MOUNT" , # , B$

donde # :. Unidad donde está el disco (0,1 ó 2)

B$ : Cualquier variable alfanumérica

d. Inicialice la unidad donde está el disco con la instruc-

ción :

UNIT #

e. Cargar a la memoria del computador el programa principal

mediante la ins-trucción:

OLD "PRINCIPAL1'

f. Correr el programa mediante la instrucción RUN.

Page 134: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 128 -

g. Siendo el sistema computacional iterativo, se mantiene u-

• na comunicación conversacional entre el computador- y el u_

suario durante todo el proceso, cada vez que sea necesa-

rio ingresar datos al computador se debe presionar inmedia_

tamente la tecla RETURN.

h. Si por cualquier motivo desea interrumpir la ejecución del

programa puede hacerlo presionando dos veces la tecla BREAK

i. Después de haber interrumpido la ejecución de un programa

se puede tener acceso al mismo presionando la tecla defin_i_

ble 1, que muestra las opciones disponibles.

Page 135: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

CAPITULO V

RESULTADOS, CONCLUSIONES Y RECOMENDACIONES

5.1 /RESULTADOS DE LA SIMULACIÓN

Viberbi dedujo el límite superior de la probabilidad de bits

errados para un decodificador basándose en la función de

transferencia de los códigos convolucionales. Estos lími-

tes son casi exactos para canales con ruido blanco gaussija-4

no con probabilidades de error menores de 10 . Tomando

en cuenta el corto tiempo con el que se dispone en la mí-

crocomputadora se procedió a evaluar este límite en un ran

go de la relación señal a ruido (Eb/N0) para una variedad

de códigos. Este límite ha sido calculado por Heller y Ja_

cobs y se lo presenta para su comparación.

El límite superior provee también datos de funcionamiento

a muy bajos promedios de bits errados, donde los resulta-

dos de la simulación no están disponibles debido al excesjl

vo tiempo que se requiere en la computadora. En las comp_a

raciones entre éste límite y los resultados de la simula-

ción, es importante tener en cuenta que éste ha sido ded_u

cido para una salida cuantizada en un infinito número de

niveles.

En la figura 5.1.a presentamos la probabilidad de error

(Pe) vs, Eb/N0 para una señal unipolar sin codificación,

el valor de la probabilidad de error es calculada en for-

ma aproximada por la siguiente ecuación:

, . , -A2-i /-> 4= ' A \ ^ / 2 . expl 1- } 5.1Pe = 1/2 erfc (—- ) - — ~

En la figura S.l.b presentamos valores de la probabilidad

de error obtenidos en la simulación, observándose que éstos

oscilan o se encuentran alrededor del valor teórico, para

Page 136: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 130 -

obtener valores más ajustados a lo calculado es necesario

que el número de bits de la simulación sea grande, pero e_s_

to no es aconsejable debido al elevado tiempo de uso de la

computadora, en consecuencia los resultados obtenidos del

funcionamiento de los decodificadores tienen que ser calcu

lados por interpolación para su correcta interpretación.

La ganancia de codificación obtenida con estos decodifica-

dores es aproximadamente de 3 dB a 5 dB para receptores

cuantizados a 2 niveles y 8 niveles respectivamente, como

se observa en las figuras siguientes.

Los principales resultados de la simulación y los límites

de la función de transferencia son presentados en las figti

ras 5.2 y 5.3. Estos gráficos presentan l.la razón de bits

errados vs. Eb/No (relación señal a ruido) pana decodifica

dores Viterbi, usando códigos convolucionales, con veloci-

dad de código 1/2. En todos los casos la longitud de la

historia de las trayectorias ha sido 32 bits.

Los resultados de la simulación presentados en la figura

5.2 corresponden a decodificadores con cuantización suave,

con este tipo de cuantización se tiene una pérdida de 0,2

a 0,25 dB en relación al valor teórico, los límites de la

función de transferencia se ajusta muy bien a los resulta--4

dos de la simulación, en el rango de bits errados de 10

a 10 , el límite es más exacto a medida que aumenta la

relación señal a ruido y el funcionamiento del decodífica-

dor puede ser analizado aun en ausencia de simulación. La

diferencia entre el valor teórico y la simulación se debe

en gran parte a que el límite superior es calculado como si

se tuviera cuantización infinita.

En la figura 5,3 tenemos los resultados para decodificado-

Viberbi con cuantización dura, con la misma velocidad

Page 137: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 131 -

de código R = 1/2 y la longitud de la historia de las tra-

yectorias igual a 32,

Comparando las curvas de las figuras 5.2 y 5.3 se puede ad_

vertir ciertas características de estos códigos:

1. La cuantización a dos niveles es aproximadamente 2dB

inferior a la decodificación con cuantización suave.

2. Cada incremento en la longitud de control (K) provee _u

na mejoría en la eficiencia algo menor de 0,5 dB en el— S

rango de 10 bits errados.

3. La mejora en.-el funcionamiento vs. la longitud de con-

trol se incrementa con el decrecimiento de los bits e-

rrados.

Para observar más claramente los efectos de la cuantización

en la recepción, en la figura 5.4 se presentan los resulta-

dos de la simulación para los códigos con longitud de con-

trol igual a 5, con velocidad de código 1/2, longitud de

la historia de las trayectorias de 32 bits, 2 y 8 niveles

de cuantización.

En la figura 5.5 se presentan^ los resultados de las simula-

ciones para tres valores de la longitud de la historia de

las trayectorias (8,20,32) usando velocidad de código 1/2,

con cuantización suave y dura, usando un código con lon-

gitud de control igual a cinco.

De aquí observamos que el funcionamiento del decodificador

para longitudes de la historia de lasitrayectorias igual a

32, es casi similar a las de un decodificador con una lon-

gitud infinita; *. Aún para la longitud de la historia igual

a 20, existe una pequeña degradación en el funcionamiento.

Page 138: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

132 -

Como se mencionó previamente otras simulaciones realizadas

han presentado que los decodíficadores dan un funcionamien-

to aceptable si tienen una longitud de la historia de las

trayectorias igual a 4-5 veces la longitud de control, lo

cual se ratifica en el presente trabajo.

Estos resultados de la comparación de cuantizacion, y lon-

gitud de la historia de las trayectorias son fácilmente ex

tendidos a todos los demás códigos simulados y aún más es-

tos resultados con velocidad de código 1/2 se pueden exte_n

der sin mayores cambios a velocidades de código 1/3.

La figura 5.6 presenta los resultados de la simulación de

decodíficadores Viterbi con longitud de control K=3,4,5 y

velocidad de código 1/3, con ocho niveles de cuanti-

zación y una longitud de la historia de las trayectorias

igual a 32.

Comparando los datos obtenidos a través de las simulaciones

de decodificadores Viterbi, con velocidades de código 1/2

(Fíg.5.2 y 5.3), y velocidades de código 1/3 es claro que

este último ofrece una mejora de 0,3 a 0,5 dB sobre el pr_i

mero para un valor fijo de la longitud de control, lo cual

era lo que se esperaba.

Para muy bajas relaciones de señal a ruido el funcionamieri

to de los decodíficadores no justifica su implementación

ya que se obtiene probabilidades de bits errados muy cerca_

ñas a las de la señal sin codificación, en este caso es ne

cesario el estudio de otro tipo de decodificador.

Page 139: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

UJ

UJ

Page 140: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 134 -

Eb/No (dB)

Page 141: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

IU

")

o en

en

r-»

Page 142: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 136 -

.valor -interpolado

.real

i I10 11 12 13 14

Page 143: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

o

o>

co

y in

vr

ioiw

Page 144: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

(ep) °N/qa ZI II 01

- 8CT -

Page 145: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

•-J

CO

ID

O

Page 146: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

~ 140 -

5.2 CONCLUSIONES

En este trabajo hemos presentado la simulación de un enla-

ce de comunicación usando códigos convolucionales de velo-

cidad de código 1/2 y 1/3 en conexión con decodificación

Viterbi. Este sistema en particular se basa en programas

digitales implementados en una microcomputadora. Las simu-

laciones son uno de los esquemas clásicos de implentación

de estos sistemas para de esta manera obtener sus caracte-

rísticas de funcionamiento.

La decodificación Viterbi ha sido presentada como un méto-

do práctico para mejorar la eficiencia de las comunicacio-

nes espaciales y de satélites, en nuestra simulación se qb

tuvieron mejoras de 3 a 5 dB con respecto a la señal unip_o

lar sin codificación, con códigos de longitud de control

mayor (K=7) es posible obtener ganancias de codificación

de 4 a 6 dB con cuantizacíón dura o suave respectivamente.

Largas longitudes de control son requeridas para tener proj •

habilidades de error bajas con altas velocidades de trans-

misión. Pero la memoria usada y la conplejidad del cálcu-Tf

lo'son proporcionales a 2 , en consecuencia decodificado-

res Viterbi son poco prácticos para valores de K^10r en

este punto la decodificación secuencial es una buena solu-

ción.

Con longitudes de control K í=6, la complejidad es la apro-

piada como para permitir una implementación en paralelo, la

cual daría una velocidad de decodificación mayor y además

si se utilizan circuitos muy rápidos como son microprocesa_

dores bipolares por ejemplo la serie 3000 dé la compañía

SIGNETICS, se estaría en capacidad de competir en cuanto a

velocidad y costo con versiones realizadas por medio de ci_r

cuitos digitales las cuales ya existen en norteaméricar -y

Page 147: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 141 -

operan a velocidades de 2 Mbits/s. con 2,4 y 8 niveles de

cuantización, pero gue requieren aproximadamente unos 356

circuitos integrados TTL. Un decodificador completo debe

incluir circuitos de ínterfacer circuitos de sincronización,

circuitos de tiempo.

Velocidades de código menores que 1/2 adquieren mejoras en

el funcionamiento a expensas de una mayor expansión del

ancho de banda y mayor dificultad en el seguimiento del

símbolo debido a la disminución de la relación Eb/No. .'Ve-

locidades de código mayores a 1/2 cons'ervan el ancho de

banda pero son menos eficientes en la energía. Con velo-

cidades de código 1/3 obtenemos una mejora de 0,3 a 0,5 dB

con respecto a la velocidad de código 1/2.

Con una longitud de la historia de las trayectorias igual

a 4 ó 5 veces la longitud de control se determinó que el

funcionamiento del decodificador es aceptable existiendo

solo una muy pequeña degradación, gracias a esto el re-

tardo en la decodificación es pequeño comparado con el r_e

tardo que necesita el decodificador secuencial, en decod^

ficación Viterbi se tiene 64 bits de retardo como máximo

y en consecuencia la cola de ceros que se tiene que inser-

tar al terminar la secuencia de datos, prácticamente no a-

fecta al funcionamiento del decodificador.

Paira señales con gran cantidad de errores, no es aconseja-

ble el uso de este tipo de decodificadores ya que para re-

laciones señal a ruido bajas se producen muchos errores en

la decodificación, siendo en este caso aconsejable el uso

de decodificadores secuenciales.

Códigos convolucionales que utilizan el decodificador Vi-

terbi tienen un funcionamiento superior a códigos de blc>

que que utilizan decodificación por máxima probabilidad,

pero sufren iguales desventajas ya que la complejidad del

Page 148: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 142 -

cálculo crece exponencialmente con la longitud de control,

así como la probabilidad de error decrece en forma exponeri

cial con este mismo parámetro, el efecto neto es que la

probabilidad de error decrece algebraicamente con la com-

plejidad de cálculo.

El hecho que se pueda corregir más errores nos cuesta dos

cosas: mayor complejidad en los circuitos y mayor tiempo

en la decodificación.

la simulación ha sido llevada a cabo en otros países como

un paso importante en la determinación de las característ_i

cas de muchos y diversos sistemas de comunicación,: a pesar/

de su elevado costo, entonces la limitación más importante

en estos esquemas es la optimización del tiempo de uso •de

la computadora razón esta por la que en nuestro caso no es

conveniente evaluar probabilidades de error muy bajas.

Un factor que influye en la duración de las simulaciones es

el lenguaje utilizado en la programación, siendo más conve-

niente el- uso de un lenguaje de programación especializado

antes que uno de propósito general, a esto hay que añadir

las limitaciones técnicas de la microcomputadora usada.

Se desarrolló programas demostrativos del funcionamiento de

codificadores, decodificadores y del sistema completo con

el objeto de que sean fácilmente entendidos.

Se debe notar que --en el pcesente trabajo no se realiza

simulación de modulación y demodulación, considerando sim

plemente que se transmite una señal binaria unipolar la

cual es afectada por el ruido, esta omisión es solo por

fines del desarrollo de la tesis, debido al aumento en el

tiempo de computación y la cantidad de memoria necesaria

para desarrollar los programas. La modulación provee una

mejora adicional de 6 dB con respecto a la señal unipolar,

Page 149: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- 143 -

sin embargo, en los capítulos anteriores estudiamos decod_i

ficadores que funcionen en canales con ruido blanco gaussia.

no y con modulación BPSK.

5.3 RECOMENDACIONES

Desde la década de los años 70, la mayoría de la iixvestig_a

ción del funcionamiento de estos sistemas dentro del domi-

nio de las universidades norteamericanas, ha sido llevada

a cabo a través de una extensiva y costosa simulación de

éstos en macro o micro-computadoras digitales.

El primer paso para la comprensión del funcionamiento de

códigos y sistemas de comunicación es la simulación en coni

putadoras, para luego continuar con los prototipos.

En la actualidad se realizan simulaciones, las cuales pue-

den configurar gran variedad de sistemas de comunicación

digital, estos" conjuntos de programas proveen de muchos ti_

pos de codificadores de canal, decodificadores, moduladores,

demoduladores para diferentes tipos de modulación, varios

algoritmos de seguimiento de fase, etc., y en adición cana

les con ruido blanco gaussiano. Este solfware sería muy ú

til adquirir o desarrollar para usarlo en cursos de comuni

cación digital, además es necesario tener microcomputadores

o computadores con lenguajes de programación especiales pa-

ra simulación, para facilitar la implementación de estos es_

quemas y a su vez disminuir el tiempo necesario en su ejecjj

sión.

Con respecto al presente trabajo, el paso lógico a seguir •

es la implementación de un enlace de comunicaciones por me

dio de un prototipo de' hardware, el principal propósito de

esto es la disminución del alto costo de correr estas :.simu

laciones en macro o microcomputadoras. Otra ventaja reside

en el acto de que el bajo costo de la implementación del

Page 150: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

144 -

sistema final es una solución atractiva para tener una he-

rramienta de enseñanza y entrenamiento para los estudiantes

en este importante pero nuevo campo de la teoría de las co-

municaciones.

Page 151: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

A P É N D I C E I

F U N C I Ó N D E T R A N S F E R E N C I A

D I A G R A M A S D E E S T A D O Y

E'N R E J A D O D E L O S C O D I F I C A D O R E S

C'O N V 'O L U C I O N A L E"S

Page 152: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

1 de 16

FUNCIÓN DE TRANSFERENCIA DE SISTEMAS LINEALES

La función de transferencia de un sistema lineal se define

como la relación de la transformada de Laplace de la varia_

ble de salida a la transformada de Laplace de la variable

de entrada, suponiendo que todas las condiciones iniciales

se hacen iguales a cero. La función de transferencia de un

sistema (ó elemento} representa la relación que descríbela

dinámica del sistema bajo consideración.

T {s) = salida^entrada

Los sistemas dinámicos se representan matemáticamente me-

diante un conjunto de ecuaciones diferenciales simultáneas.

La introducción de la transformación de Laplace reduce el

problema a la solución de un conjunto de ecuaciones alge-

braicas lineales.

La inportancia de la relación causa y efecto de la función

de transferencia se hace evidente por el interés en repre-

sentar las relaciones de las variables del sistema por me-

dios diagramáticos. La representación por diagramas de blo_

ques para las relaciones de los sistemas predomina en la in_

geniería de sistemas de control. Los diagramas de bloques

constan de bloques operacionales y unidireccionales que re_

presentan la función de transferencia de las variables de

interés.

La representación en diagramas de bloques para un sistema

dado, frecuentemente puede simplificarse por técnicas de

reducción.

entrada salida

V{s) T{s) 9 (s)

Page 153: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

2 de 16

Los diagramas de bloque son adecuados para la representa-

ción de las interelaciones entre las variables controladas

y de entrada. Sin embargo, para un sistema con interela-

ciones razonablemente complejas, el procedimiento de reduc_

ción en el diagrama de bloques es engorroso y frecuentemen_

te bastante difícil de completar. Masón ha desarrollado un

método alterno para determinar la relación entre las varia_

bles del sistema, el cual se basa en la representación de

éste por segmentos de línea. Los puntos.de entrada y sali_

da o uniones se conocen como nodos.

v(s, o ^ O e

A continuación se da algunas simplificaciones útiles para

la reducción de los diagramas.

a ba _ o > e f o

Xl X2 X3

X2 = a Xl

- b

Reemplazando X = a 5 X

a b

Xl X3

Xl

a + b X « ( a + b ) X

Xl X2

Page 154: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

3 de 16

-c .

1-g

ó X

X_ = aX + cX

xi = ex:X3 = bx.

X. = dX.

Page 155: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

4 de 16

= e

X « eaX + ecX

X = baX +

X, = daX, + dcX_4 1 5

ea

Estas propiedades pueden ser aplicadas en los diagramas de

estado para encontrar su función de transferencia. A con-

tinuación se deduce la función de transferencia del codifi

cador conyolucional K = 3 r R = 1/2 .

DLN

D2L

Page 156: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

Supresión de bucle

D LN

D2LN

D2LN

DLN- (1

1-DLNDL

DL roí D2LN

LN

DLN

1- DLN-) DL + DL

LN

LD

1-LDN

LN

DL

LD

5 de 16

-loo

Supresión de malla (10,

LD2

2 "íL DJN

1-LDN

1-DLN

Page 157: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

Supresión de bucle

6 de 16

L D N1-LDN

LD

1-DLN

D L N

1-DLN (L+1)

T ( D , L , N ) = D L N

1-DLN(L+1)

T ( D L N ) = D L N + D L N (1+L) +

Page 158: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

7 de 16

10

K=0 00 K=2 K=3 K=400

01

10

11

Diagrama de estado del codificador

convolucional.K«3 R= 1/2

Page 159: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

8 de 16

Diagrama de estado para el codificador

convolucional K=4 R=l/2

Page 160: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

9 de 16

000 K-0

001

010

Olí

100

101

110

111

K=4

Diagrama de enrejado

K=4 " R=l/2

Page 161: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

10 de 16

Diagrama de estado del

codificador K-5 R= 1/2

Page 162: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

11 de 16

oooo

ooo.

oHoO.

.-1

oo .

ooHo

oHo Q

oooTÍ

Hoo

or-!

M Oi-i Oo H<-! H

o•-i

r-ír-íHr-í

Page 163: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

12 de 16

000

00

01

10

11

K=4

110

Diagrama de estado y enrejadopara el codificador K=3 R= 1/3

Page 164: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

13 de 16

000

010 001

Diagrama de estado del

codificador K=4 R=l/3

Page 165: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

14 de 16

000

001

010

.011

100

110

111'

K=0 000 K=l K=2 K=4

100

Olí

Diagrama de enrejado

K=4 R= 1/3

Page 166: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

IOT

OTO

QJ •O H

00

1

TO

O

TTTT

OTTT

TOTT

OOTT

TTOT

OTOT'

TOOT

ÜÜOT'

TTTO

OTTO'

TUTO"

OOTO

TTOQ-

OTOO

TOOO"

0000'

000

Page 167: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

1 de

OTRAS TÉCNICAS DE DECODIPICACION DE CÓDIGOS CONVOLUCIONALES

Muchos teóricos en codificación para corregir errores en a-,

plicaciones espaciales prefieren a códigos convolucionales

sobre códigos bloque. Estos códigos frecuentemente son des_

critos como códigos de árbol debido a que el conjunto de po

sibles palabras código puede a menudo ser dibujada en una -

estructura similar a un árbol, cada palabra código está re-

presentada por una rama distinta que emana del nodo raiz.

Algoritmos de decodifí'cación probabilística han sido inventa_

dos, e intentan, la selección de una rama en el árbol la cual

posea la mínima distancia respecto a la secuencia recibida,

cuyos símbolos han sido afectados por el ruido. Estos algcD

ritmos se separan en dos clases: d c dJLf-Lc.aj3.o,r_íie_ ma_xim a

probabilidad el cual hace su decisión óptima en cada rama y

estima un código, y de_c_od_ifi_cación secuencial la cual trata

de seleccionar una trayectoria óptima a través del árbol por

medio de iteracciones sucesivas que frecuentemente necesitan

una investigación anterior.

Ambos secuencial y decodificación Viterbi por máxima proba-

bilidad ofrecen prácticas alternativas al diseñador de sis-

temas de comunicaciones de alto rendimiento, pero la aplica_

ción de ambos métodos ha sido limitada por la complejidad y

el esfuerzo de la decodificación. Para decodificación Viter_

bi, ambos la complejidad de cálculo y el esfuerzo de decodi-V

ficación son proporcionales a m (donde K es la longitud de

control del codificador)r entonces este se limita a códigos

cortos, usualmente K 8, para decodificación secuencial,

ambas la complejidad y el esfuerzo son independientes de K,

pero el número de cálculos que el decodificador debe reali-

zar con toda la secuencia recibida es una variable aleato-

ria.

Para la explicación de la decodificación secuencial usaremos

un código convolucional {3,1} cuya longitud de control es 3,

Page 168: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

como se presenta en la figura 1.

2 de

Output\e = 3r¿,

Pig. 1Codificador convolucional

DECODIFICACION DE CÓDIGOS CONVOLUCIONALES: MÉTODO DE LA IN

VESTIGACION EXAUSTIVA

Para entender el procedimiento de decodificación usado pa-

ra códigos convolucionales, consideramos el código de árbol

de la figura 2. El punto de inicio sobre el diagrama de

árbol se localiza a la izquierda y corresponde a la situa-

ción antes de que ocurra el i-ésimo bit de mensaje d.. Por

conveniencia asumimos que los bits de mensaje d y d.i J, 1 " £.

son cero.

Las trayectorias presentadas en el diagrama se generan usan

do la convención de que lo que diverge del nodo hacia arri-

ba se debe a que el bit de entrada es cero (convención usa^

da en la presente tesis). El nodo de inicio A corresponde

a d. _, = O y d. _ = O , entonces si d. = O, nos move-i-l i-2 i

mos hacia arriba del nodo y la salida codificada puede ser

000. La salida codificada se presenta, en la parte inferior

de la trayectoria. Nodos 1, 2, 3 y 4 pueden considerarse

los nodos de inicio para d con d.,d. = 00,01,10,11

respectivamente, el primer bit del mensaje influencia a los

códigos generados desde el nodo de inicio a los dos nodos

Page 169: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

3 de

sucesivos. Así en este caso el bit de entrada afecta a 9

bits de salida y son ocho las trayectorias distintas, aso-

ciadas con cada nodo de inicio.

d,

(000)

¿,..',=

(000)

(000) ©mi)

(111)

(101)

(010)

(111)

(101)

(100)

(011)

(010)

!001)

Fig. 2

Diagrama de árbol

9 bit codewordsinfluenced by d,

000 000 000

ooo ooo m

000 111 101

ooo m 010

111 101 100

m 101 011

111 010 001

111 010 110

Los códigos de árbol pueden ser usados en la operación de

decodificación de la siguiente manera. En ausencia de ru^

do la palabra código es'recibida corno se transmite. En es-

te caso la reconstrucción se realiza de una manera senci-

lla. Simplemente seguimos la palabra código a través del

diagrama de árbol n bits a un mismo tiempo (n=3 para el

caso del ejemplo). La secuencia transmitida es entonces re_

Page 170: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

4 de 8

construida de la trayectoria tomada a través del diagrama.

La presencia de ruido introduce errores en la transmisión

y entonces la palabra código transmitida no siempre es i-

gual a la palabra código recibida. En esta situación el

siguiente procedimiento puede ser usado para la reconstruc_

ción de la palabra código con la esperanza de que pueda co-

rregir errores .

*Consideremos el i-ésimo dígito del mensaje d . el cual tie_

ne influencia sobre n.K bits en la palabra código, en es-

te caso del ejemplo tiene influencia sobre 9 bits.

Si nosotros asumimos que d. y d . han sido correctameni~l i— ¿. —

te decodif icados , en consecuencia el nodo de inicio es de_

finido en el diagrama de árbol y se puede identificar 8 blp_

ques distintos de 9 bits que parten de este nodo. Compara_

mos los 9 bits recibidos con los 8 código-bloque válidos,

y descubrimos que el bloque válido se ajusta a la secuen-

cia recibida {usamos la distancia de Hamminq) .Si este blo

que válido corresponde a una trayectoria superior al nodo

de inicio en el diagrama, entonces d . es decodif i cado como

cero, caso contrario como uno. Después que d . es decodif i

cado usamos los valores de d. - y d. para definir eli— 1 i— .¿

nodo de inicio que servirá para decodificar d. . Este pro_

ceso se repite hasta que todo el mensaje es decodif icado.

Este algoritmo de decodificación describe una probabilidad

de error que decrece exponencialmente con el valor de K.

Sin embargo, si se tiene un valor de K grande, cada bit rerr

quiere que se examine 2 secciones de ramas del diagrama

de árbol, y el procedimiento de investigación en el proce-

so de decodrf icación llega a ser muy largo. Otro problema

asociado con este procedimiento de decodificación es que

los errores tienden a propagarse ,

Page 171: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

5 de 8

DECODIFICACION SECUENCIA!*

El método de decodificación por investigación exaustiva,

llega a ser impráctico a medida que K aumenta su valor, de_

bido a que el decodificador tiene que examinar 2 seccio-

nes de rama del diagrama de árbol. Los esquemas de deco-

dificación secuencicil evitan el largo proceso de examinar

cada una de las ramas de las 2 ramas del diagrama en la de

codificación de un solo bit del mensaje. En decodificación

secuencial al arribar una palabra código de n bits, el deco

dificador compara estos bits con los de la palabra código a_

sociada a las'dos ramas que divergen del nodo de inicio y o

rigina una rama superior o inferior ( decodificamos un bit

cero o uno respectivamente) en el diagrama de árbol depen-

diendo de cual de las palabras código exibe las menores dis_

crepancias con los bits recibidos.

Si la palabra' código recibida contiene errores de transmi-

sión, el decodificador puede hacer un error y comenzar una

trayectoria mal en el diagrama de árbol. En este caso, lo

que contiene a continuación la trayectoria puede estar e-

rrado.

Suponemos que el decodificador mantiene una memoria del fun_

cionamiento del número total de discrepancias entre la pala_

bra código recibida y los bits de código encontrados a lo

largo de la trayectoria. En consecuencia la probabilidad

de que después de hacer una mala decisión en algún nodo,el

número de errores crezca mucho más rápidamente que en el

caso de que el decodificador haya escogido la trayectoria

correcta es mayor. El decodificador puede ser programado

para responder a esta situación, por el retroceso de la tra_

yectoria hasta el nodo en el cual: aparentemente apareció el

error y toma una rama alternativa fuera de este nodo. De es_

ta manera el decodificador eventualmente encuentra la tra-

yectoria a través de K nodos. Una vez que la trayectoria

es encontrada el decodificador decide sobre los primeros

bits.

Page 172: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

6 de 8

El decodificador empieza a retractarse cuando el número de

errores acumulados excede un -nivel. Figura 3. El número de

errores acumulados deberá oscilar cerca de un valor E(j) si

el decodificador sigue la trayectoria correcta (Trayectoria

1 del gráfico 3} Sin embargo la trayectoria puede diverger

por la acumulación de errores luego de una mala desición

{trayectoria 2). Cuando la acumulación de errores excede

un nivel llamado "nivel de descarte", el decodificador de_

cide que un error ha sido realizado y retrocede en la tra-

yectoria hasta la más cercana trayectoria inexplorada y em

pieza a moverse hacia adelante otra vez. Es posible que

la trayectoria sea revisada otra vez si no dio los resulta_

dos deseados la anterior regresión (trayectorias 3,4 y 5

en la figura 3). De esta manera decodificación secuencial

opera con pequeñas palabras de código la mayor parte del

tiempo y regresa a probar e investigar los errores, sobre

largos conjuntos de palabras código, pero esto solo cuan-

do juzga que un error ha sido realizado.

Fig. 3Decodificación secuencial, nivel de

descarte

Page 173: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

7 de 8

El principal defecto de este tipo de decodificación es que

el número de trayectorias incorrectas y consecuentemente

la complejidad de los cálculos dependen del ruido del ca-

nal en una forma aleatoria.

El algoritmo de decodificación secuencial "STACK" da una

muy simple y elegante presentación de los principales con-

ceptos de decodificación secuencial, sin embargo el algo-

ritmo de Fano es el que generalmente se lo utiliza en la

práctica.

Por un número de razones, incluyendo tamaño del buffer re-

querido,velocidad de cálculo, y sensibilidad de las métri-

cas, transmisión de datos con velocidades de cerca de

100 Kbits/s con decodificación secuencial' solo son posi-

bles si se utiliza cuantizacion dura.

DECODIFICACION POR REALIMENTACION

Una tercera técnica para decodificar códigos convoluciona-

les es conocida como "decodificación por realimentación",

con decodificación por umbral como una subclase. Un deco-

dificador por realimentación básicamente realiza una deci-

sión sobre un bit en particular o una rama dentro del ár-

bol o enrejado de decodificación basado en los símbolos re_

cibidos de un limitado número de ramas más allá de este pun

to.

Cuando la transmisión se realiza sobre un canal binario SJL

métrico se emplea códigos con ciertas propiedades algebra_i

cas (ortogonalidad) la desición sobre una rama dada puede

estar basada en una función lineal de los símbolos recibí

dos, llamada "el síndrome", cuyo dimensionamiento es igual

al número de ramas envueltas en la decisión. Un particu-

lar y simple criterio de decisión basado en este síndrome

es la decodificación por umbral.

Decodificadores por realimentación en general, y decodifi-

Page 174: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

8 de 8

cación por umbral en particular, tiene una capacidad de co

rregir errores equivalente a códigos con una longitud de

control muy corta y en consecuencia no se los puede corapa_

rar favorablemente con el funcionamiento de decodificado-

res de máxima probabilidad o secuenciales. Sin embargo de_

codificadores por realimentación son particularmente úti-

les en la corrección de errores de ráfaga, los cuales ocu

rren en canales con desvanecimiento (fading).

Page 175: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG, 1

3 n9=~i4 02=15 Y*-' MENÚ n

ó GO TO 10008 02-29 '101213141017182.021oo24252628293032"£" ""/•~f \,í

343ó3738404142444546•484950525354565758óO61626465660869707273

Y*="nEMCQB*GO TO 100002-3Y*="BEMBEC1'GO TO 100002-4Y*-linEMHEC2'GO TO 100002-5Yífr='BErfBEC3'GO TO 1000D2-6Y$="BEMBEC4m

GO TO 100002 = 7Ys|»=ttDEMriEC5'GO TO 100002-8Y^-riEMBECÓ"GO TO 100002-9Yí[i='SENCOMl'GO TO 100002-10Y$="SENCQM2"GO TO 100002^11Y*='SENCOM3'GO TO 100002 = 12Yí!í-"SENCOM4*GO TO 100002=13Y$="SENCOM5'GO TO 100002-14YÜ>-"3ENCOMó'GO TO 100002-15Y$-aPRUEBAl'GO TO 100002-16Y$='PRUEBA2"GO TO 100002 = 17YcJi-BPRUEBA3w

GO TO 100002 = 18Y$="PRUEBA4'

Page 176: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG, 2

747677788081

30081032083084085086010001010102010301040105010 0010701080109011001110112011301140115011 00117011801190120012101220123012401250120012701280129013001310132013301340135013601370138013901400

GO TO 100002=19Y$='PRUEBAS-CO TO 100002-20Y$="PRUEBAóM

GO TO 1000IF 01=02 TRENJl^MEMORY

1030

1000

DELETE 1010^20000APPEND Y$Í1000GO TO 1000CALLGO TOREM -01-1GO TOIF D9PRINTPRINTPRINTPRINTPRINTPRINTPRINTPRINTPRINTINPUTIF D9

PROGRAMA PRINCIPAL PRINCIPAL

POLITÉCNICA NACIONAL

=0 THENIF D9=l THENIF D9=2 THENGO TO 1040Fl = 0F2~0

800>-l THEN 1180 ••LJJJJJJ1ESCUELAa T M__ __ . , „,_-__ ., _~,MM —,-««—_ •

"JJIFACULTAD DE INGENIERÍA ELÉCTRICA''JJISIMULACION DE ENLACES DE COMUNICACIÓN'•IUSANDQ CÓDIGOS CONUOLUCIONALES""IY DECODIFICADORES UITERBI"'JJJIREALI2ADO POR? ALFONSO FERNANDO PADILLA•JIPROFESQR DIRECTOR: ING* HERBERT JACOBSON-•JJJIUNIDAD DONDE ESTA EL DISCOGG t " íD9

850850350

NARUAEZ

F5=0

PRINTPRINTPRINTPRINTPRINTPRINTPRINTINPUTIF Fl«PRINTPRINTPRINTPRINTPRINTPRINTPRINTPRINT

DE ENLACES DE COMUNICACIÓN'LJJJJJJISIMULACION• T_H«_ , ,.«.«. «»M „ , _ __ ___ . _ ,__ . a

•JJJJI1, DEMOSTRACIÓN DE LOS CODIFICADORES"'•JI2+ DEMOSTRACIÓN DE LOS DECODIFICADORES'-•JI3+ SIMULACIÓN DE ENLACES DE COMUNICACIÓN''JI4. PRUEBAS"•JJJIEfíCOGA UNA POSIBILIDADGG :'fFllO OR Fl>4 THEN 1310"LJJJJJJI TIPO DE CÓDIGO ATI y .___«. | «. ™ _« _« . ,Tn, , _,,

K = 3

UTILIZARSE

'JJJI1' JI2.1 JI3*•JI4.•JI5.' JIÓ*

KKKKK

= 4— 5- 3

- 4

RRRRR

R = 1/2= 1/2'= 1/2 '= 1/3'= 1/3'- 1/3'

Page 177: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG. 3

14.101420143014401450146014701480149015001510152015301540:1550156015701580159016001610162016301640165016601670168016901700171017201730174017501760177017801790180018101820183018401850186018701830189019001 9 1 019201930194019501960

PRINTINPUT 1IF F2<'PRINTPRINTGO TO iPRINTGO TO :PRINTGO TOPRINTGO TO .PRINTGO TOPRINTGO TOPRINTIF Fl =PRINTINPUTIF W* =GO TOPRINTF3 = 7GO TOPRINTF3=lIF Fl =IF F2 =PRINTGO TOPRINTINPUTF4=INTIF F4>IF Fl =IF F2=:GO TOIF F4>PRINTIF Fl =PRINTINPUTPRINTPRINTINPUTIF 2* =F6=32GO TOF6=51REM —REM CAGO TOGO TOGO TuGO TO

•JJJICODIGO ESCOGIDO C1-Ó)GG:'ÍF2

:::0 OR F2>6 THEN 1420•LJJJJJJICARACTERISTICAS DEL PROGRAMA ESCOGIDO

F2 OF 14707l490?15107l530,15507l570•JJJJICODIGO K=3 R=l/2'1580•JJJJICODIGO K=4 R=l/2"1580•JJJJICODIGO K=5 R=l/2"1580•JJJJICODIGO K=3 R=l/3"1580•JJJJICODIGO K=4 R=l/3"1580•JJJJICODIGO K=5 R=l/3*1 THEN 1910•JJITIPO DE DECODIFICACIONCSu3ve/.Durs)GG: ' ?W*•3' OR U$='s" THEN 16301660'IOCHO NIVELES DE CUANTIZACION'

1680•IDOS NIVELES DE CUANTIZACION'

4 THEN 17003 OR F2=ó THEN 1720•JILONGITUD DE LAS TRAYECTORIAS Cmsx 32)GG:'?Í730•JILONGITUD DE LAS TRAYECTORIAS (max 2 4 > G G Í I ,F4C F 4 )32 OR F4<5 THEN 16904 THEN 1800

OR F2=6 THEN 1790181024 THEN 1690•ILONGITUD DE LAS TRAYECTORIAS 'íF4?' BITS'2 THEN 1910•JIRELACION SENIAL A RUIDO (dB)GGí"fF5•lEb/N •JES?' dB'•JJIDESEA IMPRESIÓN DE LOS RESULTADOS (S/N)GGtZ*•S" THEN 1900

1910

REM CARGA DEL PROGRAMA DESDEGO TO Fl OF 871940,1950,1960GO TO F2 OF 12,16,20,24,28,32GO Tu F2 OF 36,40,44,48,52,56GO TO F2 OF 60704,68772770780

RAM

Page 178: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG, 4

100010101020103010401050100010701080109011001110112011301140115011001170118011901200121012201230124012501260127012801290130013101320133013401350136013701380139014001410142014301440.1.4501400147014801490150015101520.1.530

800DEMOSTRACIÓN DE LOS CODIFICADORES

programa 'BEMCQB'S5)'LJJJJJJIESCUELA POLITÉCNICA NACIONAL'•JJIFACULTAD DE INGENIERÍA ELÉCTRICA'•JJIDEMOSTRACION DE LOS CODIFICADORES1

"JJJJILa forma de ingresar los datos es uno 3 uno'*JJIE1 dato a ser codificado debe ser un dimito '"IBINARIO (O - 1)7 otro numero da por termina-*"Ido el programa "'Jlpresione RETURN para continuar';W$

01 = 2GO TOREM —REM •DELETEDIM SCPRINTPRINTPRINTPRINTPRINTPRINTPRINTF'RINTINPUTPAGESC1)=0S < 2 > = 0S(3)=0

S(5)=0GO TO F2 OF 122071700,231073030*300074380D rr M „

REM CODIFICADOR K = 3 R = 1/2GOSUB óOOOGQSUB 7000MÜUE 50,95PRINT 'CÓDIGOS CÜNUOLUCIONALES'MQUE 40^90PRINT "DEMOSTRACIÓN DE LOS CODIFICADORES"MOUE 50,85PRINT 'CÓDIGO K = 3 R = 1/2'

S(1)=JS<2)=X1S(3)=X2

IF Y2=0 OR Y2=l THEN 1400Y 2-OY1=Y2+S(2)IF Yl = 0 OR Yl = l' THEN 1430Y 1=0MOUE 10775PRINT 'Estado anteriorMOUE 80775PRINT "estado actualMOUE 37744PRINT SCI)MOUE 47744PRINT SC2)MOUE 57^44PRINT S(3)MOUE 85*50

-> " Í X 1 Í X 2

-> •?S<1)?S(2)

Page 179: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG,

159016001 61016201030164016501660167016801690170017101720173017401750170017701780179018001810182018301840185018601870138018901900191019201930194019501960197019801.99020002010202020302040205020602070208020902100211021202130

HOYE 5,50PRINT 'Diáito 3 'MOVE 5,46PRINT 'codificarse -> "ÍJMQYE 100,40PRINT "salida-MOUE 15,44PRINT •>'MOUE 110,44PRINT •>'GO TO 1220R£ft

REM CODIFICADOR K = 4 R = 1/2GOSUB 6000GOSUB 8000MOUE 50,95PRINT 'CÓDIGOS CONVOLUCIONALES *HOYE 40,90PRINT 'DEMOSTRACIÓN DE LOS CODIFICADORESMQVE 50,85PRINT 'CÓDIGO K = 4 R = 1/2'HOVE 55,20DRAW 90,20DRAU 90,43X1=S(1)X2-S (2)X3~S<3)X4=S(4)S(1)=JS(2)=X1S(3)=X2S(4)z=x3Y2=SC1)+S(2)+S(4>IF Y2=2 THEN 1950IF Y2=3 THEN 1970GO TO 1980Y2 = 0GO TO 1980Y2 — 1Y1=Y2+S(3)IF Yl=2 THEN 2010GO TO 2020Yl=0HOYE: 37,44PRINT 3(1)MÜUE 47,44PRINT 3(2)MOVE 57,44PRINT S(3)MOUE 67,44PRINT SC4)MOUE 10,75PRINT 'Estado anterior > 'ÍX1ÍX2ÍX3HOYE 80,75PRINT 'Estado actual > "íS(l)?S(2

Page 180: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG, ó

214021502100217021802190220022102220223022402250220022702280229023002310232023302340235023002370238023902400241024202430244024502400247024802-1902500

MOVE 90*50PRINT YlMUYE 90*40PRINT Y2MOVE 100*40PRINT Y1ÍY2MQVE 5,50PRINT 'Dimito 3"MOVE 5,40PRINT 'codificarse -> •íJMQVE 100*40PRINT 'salida1MOVE 15*44PRINT •>'MOVE 110*44PRINT •>"GO TO 1700i\. n *REM CODIFICADOR K = 5 R = 1/2GQSUB 0000GOSUB 9000MOVE 50*95PRINT 'CÓDIGOS CONVOLUCIONALES"MOVE 40*90PRINT 'DEMOSTRACIÓN DE LOS CODIFICADORESMOVE 50»85PRINT "CÓDIGO K = 5 R = 1/2'MOVE 40*40

60*2070*4080*4000*20

DRAWDRAWMOVEDRAUDRAW 95*20DRAW 95,43X1=SC1)X2=S<2)X3=S<3)

2510 X4=S<4)252025302540255025002570258025902000261026202630264026502660267026802690

S<1)=JS(2)=X1S(3)=X25(4)^X3

IFIFIFGOY 1GOYlY2IFIFGOY 2

Y 1YlYlTO0TO-lS(Y2Y2TOO

1)+S(2)+S(3)+S(5)-2 THEN 2620-3 THEN 2640=4 THEN 26202650

2650

1)+S(4)+S(5)=2 THEN 2690=3 THEN 27102720

Page 181: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG. 7

27002710272027302740275027002770273027902800.2810282028302S402850286028702880289029002910292029302940295029602970298029903000301030203030304030503060307030303090310031103120313031403150316031703130319032003210'322032303240

ÍX1ÍX2ÍX3ÍX4

;s<2);s(3)

GÜ TO 2720Y2 = lMOUE 10,75PRINT "Estado anteriorMOUE 80*75PRINT "Estado actual >HOYE 37f44PRINT Sil)MOUE 47,44PRINT SC2)MOUE 57,44PRINT S(3)MOUE 67^44PRINT 3(4)MQUE 77í44PRINT SC5)MOUE 90í47PRINT YlMOUE 90,40PRINT Y2MOUE 110.47PRINT Y1ÍY2MOUE 5*50PRINT 'Dimito 3'MOUE 5,40PRINT "codificarse -> 'ÍJMOUE 110r40PRINT 'salida'MOUE 15r44PRINT •>'MOUE 115^44PRINT •>'GO TO 2310

REM CODIFICADOR K = 3GOSUB 6000GOSUB 7000MOUE 50,95PRINT "CÓDIGOS CONUOLUCIONALES'MOUE 40^90PRINT 'DEMOSTRACIÓN DE LOS CODIFICADORESMOUE 50^85PRINT 'CÓDIGO K = 3 R = 1/3'MOUE 80,70DRAW 80í45.DRAW 85,45X 1 = S < 1 )X2=S(2)X3^S(3)S (1) = JS<2)=X1SC3)-X2Y3=SC1)+S(3)1F Y3-2 THEN 3250GO TO 3260

R = 1/3

32.50 Y3 = 0

Page 182: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG, 8

32.00 Y1 = Y3+S(2)3270 IF Yl=2 THEN 32903280 GO TO 33003290 Y 1=0 •3300 Y2=Y13310 MOUE 37,443320 PRINT SCI)3330 MOUE 47,443340 PRINT S(2)3350 MOUE 57,443300 PRINT 5(3)3370 MQUE 10,753380 PRINT 'Estado anterior ----- > '?X1?X23390 MOUE 80,753400 PRINT 'Estado actual ----- > "?S(1)ÍS(2)3410 MOUE 85,503420 PRINT Yl3430 MQUE 85,453440 PRINT Y23450 NOVE 85,403460 PRINT Y33470 MOUE 100,403480 PRINT Y1ÍY2ÍY33490 MOUE 5,503500 PRINT "Diáito a'3510 MOUE 5,463520 PRINT 'codi-ficarse -> " ? J3530 MOUE 100,403540 PRINT "salida"3550 MQUE 20,443500 PRINT •>•3570 MOUE 110T443580 PRINT '>•3590 GO TO 3030

3010 REM CODIFICADOR K = 4 R - 1/33620 GOSUB 00003630 GOSUB 80003040 MQVE 50,953650 PRINT "CÓDIGOS CONUOLUCIONALES1

3060 MOUE 40,903670 PRINT 'DEMOSTRACIÓN DE LOS CODIFICADORES3680 MOUE 50,853690 PRINT 'CÓDIGO K = 4 R = 1/3 '3700 MOUE 40,403710 ÜRAW 40,20Vi 7 2 O BRAW 00 y 403730 MOUE 70,403740 DRAW 40,203730 DRAW 40,183700 DRAW 90,183770 DRAW 90,433780 MOVE 55,203790 DRAW 85,203800 DRAW 85,45

Page 183: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG, 9

331038203830384038503800387038803890390039103920393039403950390039703980399040004010402040304040405040004070408040904.1004110412041304140415041604170418041904200421042204230424042504260427042804290430043104320433043404350

DRAW 90.45

S(1)=J

S(3)=X2SC4)=X3Y2=S(1)+S(2)+S(4)IF Y2=2 THEN 3930IF Y2=3 THEN 3950GO TO 3960

GO TO 3960Y2=lY1=Y2+S(3}IF Yl=2 THEN 3990GO TO 4000Y 1 = 0Y3=SC1)+S(3)+SC4)

Y3-2 THEN 4040Y3=3 THENTO 4070

4060IFIFGOY 3= OGO TO 4070Y3=lMOUE 37,44PRINT SCI)MQUE 47,44PRINT S(2)MOUE 57,44PRINT S(3)MOVE 67.44PRINT S(4)MOUE 10.75PRINT 'EstadoMOVE 80,75PRINT 'EstadoMOVE 90.50PRINT YlMOUE 90,45PRINT Y2MOUE 90,40PRINT Y3MOUE 110,46PRINT Y1ÍY2ÍY3MOUE 5.50PRINT "Diáito 3'MOUE 5.46PRINT "codificarseMOUE 110.40PRINT 'salida1MOUE 15,44PRINT •>'MOUE 120,44

anterior

actual

ÍX1ÍX2ÍX3

J

Page 184: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG+10

43604370-43804390440044104420443044404450440044704480449045004510452045304540455045604570458045904600401046204630464046504ÓÓO4670468046904700471047204730474047504760477047804790480048.1.04820483048404850486048704880489049004910

PRINTGO TOREM -REM •GGSUBGQSUBMQVEPRINTMOVEPRINTMOUEPRINTMQVEDRAUDRAUMOVEDRAUDRAWMQVEDRAUDRAUMOV EDRAUDRAUDRAUNOVEDRAUDRAUX1=S<

3600

X"V«.í~ /%i— b \.

CODIFICADOR K = 5 R = 1/36000900050,95'•corneos CÜNVQLUCIÜNALES'

40*90•DEMOSTRACIÓN DE LOS CODIFICADORES

50,85'CÓDIGO K = 5 R = 1/31

70,4070,2580,4090,4590,2570*2540,4050,2060,4080,4050,2095,2095,4340,40.70,2550,401)2)3)

S(1)=JS(2)=X1SC3)=X2S(4)=X33(5)^X4Y2=S(1)+SC2)4-SC4)+S(5)IF Y2-2 OR Y2=4 THEN 4770IF Y2=3 THEN 4790GO TO 4800

GOY 2Y1IFGOYlY3IFIFGOY 3GO

TO 48001Y2+S<3)YlTO

2 THEN4840

4830

S<1)+S(3)+S(5)Y3=2 THEN 4880Y3-3 THEN 4900TO 49100TU 4910

MOVE 37,44

Page 185: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG,11

4920493049404950496049704980499050005010502050305040505050005070508050905100511051205130514051505100517051805190520052105220523052405250526052705280529053005310532053305340535053005370538053905400541054205430544054505460

PRINT 5(1)MOUE 47,44PRINT SC2)MOUE 57,44PRINT S(3)MOUE 67/44PRINT S(4)MOUE 77,44PRINT 3(5)MOUE 10,75PRINT "Estado anteriorMOUE 80,75PRINT "Estado actual -MCUE 90,50PRINT YlMOUE 90,45PRINT Y2MOUE 90,40PRINT Y3MCUE 110,46PRINT Y1ÍY2ÍY3MOUE 5,50PRINT "Dimito a1

MOUE 5,46PRINT "codificarse ->MOUE 110,40PRINT "salida'MOUE 20,44PRINT •>•MOUE 120,44PRINT •>'GO TO 4380END

REMPRINTPRINTPRINTPRINTINPUTIF W$="S' OR W$='s" THENGO TO 5450PRINTPRINT 'JJJI 1* K =PRINT "JI 2. K = 4PRINT 'JI 3+ K - 5PRINT "JI 4. K = 3PRINT "JI 5. K = 4PRINT "JI ó* K - 5PRINT "JJIINPUT F2IF F2<0 ORGO TO 1150PRINT "JJIÜESEAINPUT W$

ÍX1ÍX2ÍX3ÍX4

í S ( 1) ,' S C 2) í S (3) ,- S ( 4 )

J

SALIDA DEL PROGRAMA"LJJJJJI ESCUELA POLITÉCNICA NACIONAL'"JJJJIFACULTAn DE INGENIERÍA ELÉCTRICA""JJJI DEMOSTRACIÓN DE LOS CODIFICADORES"JJJI DESEA OTRA DEMOSTRACIÓN(S/N)GGt•pW$

¡40

"LJJJJJIDEMOSTRACION DER =

LOS CODIFICADORES1/2"

= 1/2'= 1/2"= 1/3°= 1/3'- 1/3'

CÓDIGO DESEADO

F2>6 THEN 5410

REGRESAR AL MENUCS/N)

Page 186: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG*12

GTHEN 4R A C I A S

IF W$="SM OR Ul$='<PRINT "LJJJJJJJJI

###*#*###*########*####^DE INGRESO DE DATOS

;E CUALQUIER NUMERO PARA TERMINAR'

)-i>:m;

THEN 5250

*para el trafico cié K=3

-t.**0 ,r.*S

549060006010602060306040005060606070608060907000701070207030704070507060707070807090710071107.1.2071307140715071007.1707 1 807190720072.107220723072407250726072707280729080008010802080308040805030008070

ENDREM %REMMOUEPRINTMOUEPRINTINPUT

##*'T' •T 'r1 *SUBR20j U•INGRE

20*

JJ=INT<JIF J<0

i 10DATO

)OR J>

S

(

1RETURNREM #*#*%%%%*REM subrutinsPAGEMOUEDRAWDRAWDRAWDRAWIiRAWDRAWMOUEDRAWMOUEDRAWMOUEDRAWDRAWMOUEDRAWDRAWDRAWMOUEDRAWMOUEDRAWDRAWDRAWMOUEDRAW

15,35350505353545455555405050605083834050605083839011

ftr

)

)

f

y

,

,

T

f

!

,

,

í

7

í

,

,

,

,

,

5

4545^50 '50^40"

40^45 (5040-50405070505070704840204020204245,45

RETURNREM #*#*####*.REM subrutinaPAGEMOUEDRAWDRAWDRAWL'iRAW

1535357575

,,,yy

4545505040

91*°

P3ra el ^rsfico de K = 4

Page 187: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG.13

soso8090810081108120813081408150816081708.180819082008210822082308240825082óO8270828082908300831083209000901090209030904090509060907090809090910091109120913091409:1.50910091709180919092009210922092309240925092609270928092 90

DRAWDRAWMOVEDRAW •MOVEDRAWMOVEDRAWMÜVEDRAWDRAWMOVEDRAWDRAWMOVEDRAWTIRAWMOVEDRAWMOVEDRAWDRAWMOVEDRAW

35,4035,4545,5045,4055,5055,4065,5065,4040,5055,7050,5060,5055,7070,5040,4055,2050,4070,4055,2090,4790,7055,7095,45125,45

RETURNREM *REM subrutinPAGEMOVEDRAWDRAWDRAWDRAWDRAWDRAWMOVEDRAWMOVEDRAWMOVEDRAWMOVEDRAWMOVEDRAWMOVEDRAWDRAWMOVEDRAWERA uHOVEÍJRAWDRAWRETUR

15,4535,4535,5085,5085,4035,4035,4545,5045,4055,5055,4065 ,5065,4075,5075,4095,45125,4540,5060,7050,5060,5060,7080,5060,7095,7095,47N

para el ársfico de K=

Page 188: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG»14

10001010102010301040105010601070108010901100.1.11011201130114011501100.1.1.70nao1190120012101220123012401250120012701280129013001.31013201330.1340135013001370138013901400141014201430144014501400147014801490150015101320153015401550

oír Mi\c.n01=3GO TO 800REM •R E M

-PROGRAMA 'DEMDEC11

DEMOSTRACIÓN DE LOS DECODIFICADORESCÓDIGO K = 3 R - 1/2

DELETEDELETE BO,B1,B2,B3DELETE DfMlíM2rA?S3 f SJl=F4+3•DIM XOCJ1),X1(J1>TX2CJ1DIM BO(J1) íBKJl) ,B2(J1DIM A<4r2> rD<4) rMKJl) ?EO(F4+1)=0B1(F4+1)=0B2CF4 + D-0B3(F4+1)=0M2CF4+1)=0E=0E 1 = 0£2=0L0 = 0Ll=0L2.=0

S3(2)=0S3<3)=0A(lrl)=0

>TX3(J1)) fB3CJl)

1)-1*F3

PRINTPRINTPRINTPRINTPRINTINPUTIF K2DIM SR£MK=lM=lGOSUBGOSUBLO=D<XO(K)

"LJJJJJJJIESCUELA POLITÉCNICA NACIONAL "' JJJIFACULTAD DE INGENIERÍA ELÉCTRICA ""JJJIALGORITMO DE VITERBI ''JJJ10EMOSTRACION DE LOS DECODIFICABORES'JJJ1NUMERO DE BITS A GENERARSE IGG'ÍK2<F4 THEN 1410CK2+F4)

> PRIMER PERIODO DE TIEMPO

600050001)=0

X2(K)=1MOVE 5-PRINT K

Page 189: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG*15

156015701580159016001 6 1 016201630164016501660167016801090170017101720173017401750176017701730179018001810182013301840185018601870188018901900191019201930194019501960197019801990200020102020.2030204020502060207020802090.2100

MOVE IBíóOPRINT LOMOVE 18.30PRINT L2MOVE 5ró5DRAU 20 ,35MOVE 5,65DRAU 20.65REM > SEGUNDO PERIODO DE TIEMPOK=K+1M=2GOSUB 5000Al^LOA2=L2LO=A1+D<1)L1=A2+D(3)L2=A1+D(4)L3=A2+D<2)XO<K)=0XI (K)~0X2(K)=1X3(K>=1X1(1>=X2(1)X3(1)=X2(1)X2(1)=XO(1)MOVE 3+15*M7ÓOPRINT LOMOVE 3+15XM>45PRINT LIMOVE 3+15#MT30PRINT L2MOVE 3+15#M,15F'RINT L3MOVE 3+15*Hí70PRINT KPOR 1=1 TO 2BOCI)"XO( I )Bl < I )=X1 C I )B2 < I ) =X2 C I )B3<I)=X3(I>NEXT IMOVE 5 + 15*<M-O?,')5DRAW 5+15*Mí65MOVE 5+15*<M-l) íó5DRAW 5+Í5*Mr35MOVE 5+15#<M~.U í35DRAW 5+15*Mí50MOVE 5+15#(M-l)í35DRAW 5+15*My20H-h + 1REM >CUALQU:TER PERIODO DE TIEMPOK=K+1GOSUB 5000IF M~9 THEN 2110GO TO 2130

Page 190: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG

21102120213021402150210021702 ISO21902200221022202230224022502260227022802290230023102320233023402350236023702380239024002410242024302440245024602470248024902500251025202530254025502560257025802590260026102620263026402650

GOSUB 6000M=lMOVE 3tl5#rí.'70PRINT KREM > Calculo de supervivientesGOSUB 4000IF K=F4 THEN 2190GO TO 2060REMREM ESCOGIMIENTO DEL MENOR SUKl-KK=F4IF LO<L1 THEN 2250GO TO 2290IF LO<L2 THEN 2270GO TO 2330IF LO<L3 THEN 2350GO TO 2410IF LKL2 THEN 2310GO TO 2330IF LKL3 THEN 2370GO TO 2410IF L2<L3 THEN 2390GO TO 2410SCKl-fl-K)-XO(l)GO TO 2420SCKl-fl-K)-Xl(l)GO TO 2420S(K1+1-K)=X2(1)GO TO 2420SCK1+ 1-K)=X3( 1 )FOR 1=1 TO KX0( 1 )=BO( 1 + 1 )X1ÍI)=BKI-K)X2(I)=B2(I+Í )X3O: )-B3(I-K1. )BO(I)=XO(I)B1. C.T)=X1(.T)B2(I)=X2CI)B3 ( I )=X3( I )NEXT IIF K1=>K2 THEN 2630K.l = Kl + lGOSUÜ 5000IF H=9 THEN 2570Gü TO 2590GOSUB 6000M~lMOVE 3-fM*15,70PRINT KM.GOSUB -4000GO TO 2230REM • • • •REM SALIDAL9=L9+"1

UPERVIVIENTE

Page 191: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG,17

266026702680269027002710

!027302740275027002770278027902800281028202830284028502800237023SO289029002910292029302940295029602970298029903000301030SO303030403050306030703080400040104020403040404050400040704030409041004110

IF L9=K+1 THEN 2730K1=KI+1Vl=0.

REM > INYECCIÓN DE LA COLA DE CEROSGOSUB 5100GO TO 2550PRINTFOR 1 =PRINTNEXT IPRINTINPUTPRINTPRINTPRINTPRINT

LJJJID1GITÜS DECODIFICADCS í 'TO K2

I'íI? ' - fl í 3(I)

JJIpresione RETURN PSTS continuar* ?

232032@32[332

IF F3=l THEN 2800032SÓC232032@32

LJJJJJIESCUELAJJIFACULTAD DEJIALGORITMD DEJICODIGO K = 3

POLITÉCNICA NACIONALINGENIERÍA ELÉCTRICAVITERBl''

R = 1/2'

PRINTGO TOPRINTPRINTPRINTPRINTINPUTIF W$='SGO TOPRINTPRINTPRINTPRINTPRINTPRINTPRINTPRINTPRINTPRINTENDPRINTINPUTIF Wí>PRINTENDREMREMP1=LO+D(Í)G1=L2+D(3)Rl=LO+tK4)S1=L2+D(2)P2=Ll+n<4)Q2-L3+D<2>

'JIDECODIFICACION SUAVE (3 niveles)

"JIDECODIFICACION DURA (2 niveles)'•JIHISTORIA DE LAS TRAYECTORIAS - "'JINUMERG DE DATOS - "?K2OTRA PRUEBA (S/N)ÍGGÜ?

F4

'JIW$

THEN 29303040'LJJJJI ESCUELA POLITÉCNICA"JJIALGOR1TMO DE VITERBl"'JJ1DEMOSTRAC10NES A ESCOGER"JJJITecls * 3 . K = 3•Jiléela * 4 * K = 4"JITecla * 5'JITscls * ó-JITecls * 7

NACIONAL'

JITeclaJITecla

*

KKKKKMENÚ

— - 3- 4

-

R = i/:E= 1 /'' "

.1. f X—

= 1/2'- l/3a= l/3a- 1/3'

LJJJJJI desee regresar si MENÚ C S/N )

S" OR Uí>=°sJJI GRACIAS

THEN 4

SUBRUTJNA DEL CALCULO DE <***************#SUPERVIVIENTES

IF PK=P2LO-P2

THEN 4190

Page 192: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG.18

4120413041404150410041704180419042004210422042304240425042604270428042904300431043204330434043504360437043804390440044104420443044404450440044704480449045004510452045304540455045004570458045904600401040204030464040504ÓÓO

FOR 1=1 TO K-lXO(I-)=B1(I)NEXT IMÜVE -5+(M-l)*15,50DRAW 5+H#15>ó5Gü TO 4240LO=P1FOR 1=1 TO K-lXO(I)=BO<I)NEXT IMOVE 5+<M-l)#15?'ó5ÓRALO 5+rt#15ró5X O C K ) = 0IF QK=Q2 THEN 4330Lí = Q2FOR 1=1 TO K-lX1(I)=B3(I>NEXT IHOYE 5+(M-l)*15y20DRAW 5-fM#15?5QGO TO 4390L1 = Q1FOR 1=1 TO K-lX1(I)=B2(I)NEXT IMQVE 5-KM-l.m5735

X1ÍK)=0IF RK=R2 THEN 4480L2=R2FOR 1=1 TO K-lX2CI)=B1(I)NEXT I

DRAW 5-i-Hícl5f35GO TO 4540L2=R1FOR 1=1 TO K-lX2CI)=BO<I)NEXT IHOME 5-f (M-l ) «15 f 65DRAW 5-í-M*15T35X2(K)=1IF SK=S2 T H E N 4030L3 = S2FOR 1=1 TO K~lX3(I)=B3CI)NEXT I

DRAW 5GO TO 4670L3 = S1FOR 1=1 TO K-lX3CD-B2CI)NEXT I

Page 193: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG.19

467046304690-470047104720473047404750476047704780479048004810482048304840485048005000501050205030504050505000507050805090510051105120513051405150ÓGOO601060206030004060500060(0070ó O 80¿09061006110012001300140ó:150016061706180

M O U E 5r i R A W 5X 3 ( K ) = 1FOR 1=1 TO K

B2(I)=X2(I>B3(I)=X3(I)NEXT IMOUE 3+M*15r6PRINT LOMOUE 3+M*15í4PRINT LlMOUE 3PRINT L2MOUE •M*15yJ .5

PRINT L3

RETURNENDREM #**##********#*************##*****###********#REM SUBRUTINA PARA EL CALCULO DE LAS DISTANCIAS DEMOUE 3G+M*10rlOINPUT VI

020

IF U2<0 OR V2>F3 THEN 5000FOR 1=1 TO 4

HAMMING

IF VKO OR yi>F3 THENMOUE 3INPUT U2

TÍTULOS

T=ABS(A(IfD(I)=0+TNEXT IRETURNREMREMPAGEMOUEDRAWDRAWDRAWDRAWMOUE 40r95PRINT 'ESCUELAMOUE 36?90PRINT 'DEMOSTRACIÓN.MOUE 40,85PRINT "CODIFICADORMOUE 5,80PRINT 'LONGITUD DE LAS TRAYECTORIASMOUE 80?80PRINT -BITS A GENERARSE: -?K2MOUE 5,10

0>0OrlOO130/100130^00-0

POLITÉCNICA NACIONAL

DE LOS DECODIFICADOREB

R

Page 194: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG.20

619062006210622062306240¿ -~) cr /•,O ¿. iJ U

626062706280629063006310632063306340635063606370638063906400

PRINTMOME 5PRINTHOME- 2PRINTHOME 2C- r.1 T M Tl KJ.HIh'OME 2PRINTHOME 2PRINTHOME 1PRINTHOME 1PRINTHOME 1PRINTHOME 1PRINTHOME 1PRINTRETURN

"Primer bit,7' Sesundo biti 69• j a

;70a i •-. «

l

.721 ! Tiempo ",69"v1

í 75'Estado1705

•00", 50•oí-j 35•10'r20

•11-

Page 195: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG*21

1000101010201030104010501000107010SO1090110011101120113011401150:L:I.ÓO1170118011901200:L21012201230124012501260127012801290130013ÍO13201330134013501300137013801390140014101420143014401450140014701480149015001510152015301540

PROGRAMA "DEMDEC2

DEMOSTRACIÓNCÓDIGO K =

DE4

X1?X2>X3>X4,X5?XÓ

LOS

X7

REM01-4GO TO SOOREM -REMDELETE XODELETE BO,Bl,B2,B3,B4,B5,Bó,B7DELETE DfHl*M2fA?S3íSJl=F4+3DIM XO(Jl)íXKJl) jX2(Jl) fX3( JlDIM BO(J1),B1<Jl>7B2CJ1),B3CJ1DIM A(4y2)íD(4)íMICJl)fM2(Jl)?;BO(F4+1)=0BKF4-M)-0B2(F4+1)=0B3(F4+Í)=0B4(F4-H)=0B5(F4-H)=0BÓ(F4+Í)=0B7(F4-f-l)=0M2(F4+1)=0

El = 0E2-0LO-0Ll = 0L2-0L3-0

DECOriIFICADORESR = 1/2

yB4(Ji) ,BÓ<J1)

L9-0C 1 ) =

A(l»1)=0A<l72)=0A(2íl)-0

A ( 3 , 1) =

PRINTPRINTPRINTPRINTPRINTINPUTIF K2-

"LJJJJJJJIESCUELA POLITÉCNICA NACIONAL "•JJJIFACULTAÜ BE INGENIERÍA ELÉCTRICA ""JJJ1ALGORITMO DE VITERBI "'JJJIDEMOSTRACION DE LOS DECODIFICADORES•JJJINUHERO DE BITS A GENERARSE ÍGG";K2IF4 THEN 1490

DIMREM

SCK2+F4)PRIMER PERIODO DE TIEMPO

Page 196: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG,22

155015001570158015901600161016201630164016501660167016801690170017101720173017401750176017701780179018001810:L82018301840185018601870188018901900191019201930194019501960197019801990.2000201020202030204020502060207020802090

N=lGOSUB 8000GOSUB 7000LO = IK 1 )XO(K)=0L4=DC4)X4<K)=1MOUE 5+N*15í74PRINT KMOVE l+N#15ró5PRINT LOHOYE 1+N#15,37PRINT L4HOUE 5,69DRAW 54-N#15ió9MQVE 5r69DRAW 5+N#15,41REH > SEGUNDO PERIODO DE TIEMPOK=K+1N=2GOSUB 7000A1 = LOA2-L4LO=A1+D(1 )L2=A2+D(4)L4=A1+D(4)L6~A24-DC1 )XOCK)=0X2(K)=0X4(K)=1X6( K)-lX2(1)=X4C1)X6(1)=X4C1)X4(1)=XOC1)MOVE 2+N*15róSPRINT LOMOUE 2+N*15j51PRINT L2MOUE 2+N*15J37PRINT L4MOYE 2+N*15í23PRINT LoMOUE 3-fN#15,74PRINT KFOR 1=1 TO 2BO<I)=XO<I)B2(I)=X2(I)B4CI)=X4(I)BÓÍI)=XÓCI)NEXT IMOVE 5+<N-l)*l5fó?DRAW 5-í-N#15ró9MOUE 5+(N-l)*15í69DRAW 5+N#15i41MOUE 5-i-(N-l)^15r41

Page 197: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG,

210021102120213021402150210021702180219022002210

223022402250220022702280229023002310232023302340235023002370

DRAW 5-1 *15,55MOUE 5+<N-l>#15f4ÍDRAW 5+N#l5í27REH > TERCERK=3N = 3GÜSUB 7000MOUE 3+N*15r74PRINT KAl^LOA2 = L2A3 = L4

LQ = A1KK1)L1 = A2-KK3)L2~A3+Ü(4 )L3=A4-K«2)L4 = A1+IK4)L5-A2-fÜ(2 )Ló~A3 + IX 1 )L7=A4 + Ei (3 )XO(K)=0X1(K)=0X2(K)=0X3CK')=0X4ÍK)=1X5(K)~1X6(K)=1

PERIODO DE TIEMPO

X7(K)=1FOR 1=1 TO

240024 ÍO2420243024402450240024702480249025002510252025302540255025602570258025902600201026202030

XO<I)=BO(I)X1(I)=B2<I)X2(I )™'04( I )X3(I)=B6<I)X4(I)=BOCI)X5<I)=B2(I)XÓCI)=B4C.T)X7CI)=B6(I)NEXT IMOUE 2+N#15jPRINT LOMOUE 2+N*15;PRINT LlMOUE 2-f-N#157PRINT L2MOUE 2+N*15íPRINT L3MOUE 2+N*15íPRINT L4MOUE 2+N*15rPRINT L5MOUE 24*N*15;PRINT L6MOUE 2+N*15r

Oij

58

51

44

37

30

23

1 ó

Page 198: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG,24

204020502ÓÓO20702ÓSO2690270027102720273027402750270027702780279028002810282028302840285023002870288028902900291029202930294029502900297029802990300030103020303030403050300030703080309031003110312031303140315031003170

PRINTFOR IBO(I)SKI)B2(I>B3ÍI)B4CI)B5CI)Boíl)B7(I)NEXTMOVEDRAWMGVEDRAWMOUEDRAW•MQVEDRAWMOUEDRAWMOUEDRAUMOUEDRAWMOUEDRAWN=N+1REM -K=K+1GOSUBIF N =GO TOGOSUBN=lMOUEPRINTREM -GOSUBIF K=GO TOREM -REMKi = KK=F4

L7= 1 TO K=XOÍI)=X1(I)~Y?(T\ ¿. \ f

=X3<I)-X4CI)=X5<I)=XÓ(I)

I5-KN-l)*C" I \/ -í C" /O^JT*l'<-fl-JíO7

5+(N-l)*í57Ó95-}-N*15,4154-<N~l)#l5y41

41

09

+CN^J í ¿/

5+CN-l)^lCT I 1 I -J/ -t rr / O^JTiN'fl^J 7 O--:

5 + C N - l5+N*15,345+(N-l)*15r275+N*15í4S5-f (N-l)#15,275+N*15,20

>CUALQUIER PERIODO DE TIEMPO

70009 THEN 297029908000

3+N#15r74K—> CALCULO DE LOS SUPERVIVIENTES5000

F4 THEN 30502920

ESCOGIMIENTO DEL MENOR SUPERVIVIENTE

IF M<L1 THEN 3120

IF M<L2 THEN 3140

IF M<L3 THEN 3160

IF M<L4 THEN 3130

Page 199: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG.25

3180319032003210322032303240325032603270328032903300331033203330334033503360337033803390340034103420343034403450346034703480349035003510352035303540355035603570358035903600361036203630364036503660367036803690370037103720

IF M<L5 THENM~L5IF M<LÓ THENM-Ló •IF M<L7 THENM=L7IF LO=M THENIF L1=M THENIF L2=M THENIF L3=M THENIF L4=M THENIF L5=M THENIF Ló=M THENSCK1+1-K)=X7GO TO 3460

(

S(Ki+l-K)=Xó(GO TO 3460S(K1+1-K)=X5GO TO 3460S( K1+1~H')~X4GO TO 3460S<K1+1-K)=X3GO TO 3460S(K1+1-K)=X2GO TO 3460Sí K1 + 1-K)=X1GO TO 3460S(K1+1-K)=XOFOR 1=1 TO KXO<I)=BO(I+1X1CI)=B1(I-MX2<I)=B2(I+1X3(I)=B3CI+1X4(I)=B4<I4-1X5CI>=B5<I+1Xó( I )~B6(lT-lX7(I)=B7(I+1BO(I)=XO<I)Bl ( I )=X1 ( I )B2(I)=X2(I)B3 ( I) ~X3< I )B4(I)=X4<I)B5(I)=X5(I)Bó ( I )~Xó< I )B7(I)=X7(I)NEXT I

(

(

C

C

(

í

))))))))

3200

3220

3240

34503430341033903370335033301)

1)

1)

1 )

1)

1)

1 )

1)

IF K1=>K2 THEN 3750Kl^Kl+1GOSUB 7000IF N=9 THENGO TO 3710GOSUB 8000N-lMOUE 3-í'NXíl5jPRINT Kl

*j

7

690

4

Page 200: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG.26

374037503760377037303790380038103820383038403850380038703830389039003910392039303940395039003970398039904000401040204030404040504000407040804090410041.104120413041404150410041704180419042005000501050205030SO 4050505000

GOSUB 5000GO TO 3090

REM -L9=L9+ÍIF L9=K+1 THEN 3850Ki=Kl+l

SALIDA

V2-0REM —GOSUBGO TOPRINTPOR j =PRINTNEXT IPRINTINPUTPRINTPRINTPRINTPRINTIF F3=PRINTGO TOPRINTPRINTPRINTPRINTINPUTIF U* =GO TOPRINTPRINTPRINTPRINTPRINTPRINTPRINTPRINTPRINTPRINTENDPRINTINPUTIF W$ =PRINTENDREMREMP1=L04

-> INYECCIÓN DE LA COLA DE CEROS71003670"LJJJ1DIBITQS DECODIFICADOS ; "1 TO K231n ? I ? " - ' ? S (I)

"JJIpresione RETURN psra continusr"íU*§32 "LJJJJJIESCUELA POLITÉCNICA NACIONAL'

"J1FACULTAD DE INGENIERÍA ELÉCTRICA'•JIALGORITMO DE VITERBI'•JICODIGO K = 4 R = i/2"

1 THEN 3930•JIDECODIFICACION SUAVE <8 niveles)"

3990@32 1JIDECODIFICACION DURA (2 niveles)

'J1HISTORIA DE LAS TRAYECTORIAS = "ÍF4(?32 'JINUMERÜ DE DATOS. GENERADOS = " ? ¡\DJI OTRA PRUEBA CS/N)ÍGG'?W$nS M THEN 40504100'LJJJJ1 ESCUELA POLITÉCNICA NACIONAL'"JJIALGORITMO DE VITERBI''JJIDEMOSTRACIONES A ESCOGER"•JITecls * 3 • * K - 3"JITecls * 4 , K = A"JITecls * 5 * K = 5"JITecle *' 6 * K = 3'JITecls * 7 , K = 4•JITecls * 8 * K = 5"JITecla * .1. , MENÚ1

R - 1/2'R = 1/2'R = 1/2°R = 1/3'R - 1/3"R .= 1/3'

•LJJJJJ1 o'eses regresar si MENÚ (S/N)

•S' OR W$="s' THEN 4'JJI GRACIAS"

SUBRUTINA DEL CALCULO DE SUPERVIVIENTESD(1)

P2=L2+D(3)

P3-L4 + IK4)

Page 201: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG*27

5070508050905100511051205130514051505100517051805190520052105220523052405250526052705280529053005310532053305340535053005370538053905400541054205430544054505400547054805490550055105520553055405550550055705580559050005010

R3=L5+D(1)P4=Ló+D(2)R4=L7+D(3)P5=LO+D(4)R5=L1+D<1)PÓ=L2-Ki(2>RÓ = L3-KK3>P7=L44-Ü<1)R7=L5+D(4)P8=LÓ+n<3)R8=L7+D(2>IF PK=R1 THENLO = R1FOR 1=1 TO K-lXO(I)=B1(I)NEXT IHOYE 5+<N-l)#lDRAW 5-f-H*15,ó9GO TO 5320LO = P1FOR 1 = 1 TO. K-lXO(I)=BO<I)NEXT IHOYE 5+<N~imDRAU 5+N#15íó9XOCK)=0IF P2OR2 THENL1=R2FOR .1 = 1 TO K-lX1CI)=B3CI)NEXT IMOUE 5-f(N~l)^lDRAUI 5 + N*15»á2GO TO 5470L1 = P2FOR 1=1 TO K-lX1(I)=B2(I)NEXT I

5200

5» 02

5,09

5410

5*48

HOVE 5+(N-l)*15f55L'iRAW 5JrN*15Jó2X1(K>=0IF P3<=R3 THENL2=R3FOR 1=1 TO K-lX2<I)=B5(I)NEXT :i:MOWE 5-MN~l)#l!DRAW S-í-N^lSíSSGO TO 5Á20L2 = P3FOR 1=1 TO K-lX2CI)=B4<I)NEXT 1Moye 5-}-(N-i)^i:ÜRAU S-l-N^j.5,55

5500

:7>34

5.41

Page 202: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG,28

5620563056405650566056705680569057005710572057305740575057605770578057905800581058205830584058505860587058805890590059105920593059405950596059705980599060006010602060306040605060606070608060906100611061206130614061506160

X2<K)=0IF P4<=R4 THENL3=R4POR 1=1 TO K-lX3ÍI)=B7(I)NEXT IMO'v>E 5+<N-l)#lDRAU 5"fN#15;4SGO TO 5770L3=P4POR 1=1 TO K-lX3<I)=BÓ<I)NEXT IMOVE 5+ÍN-l)*!DRAW 5+N#15,43X3(K)=0IP P5<=R5 THENL4=R5POR 1=1 TO K-lX4(I)=B1(I)NEXT IhOUE 5+(N-l)#lDRAW 5-fN#15,41GO TO 5920L4=P5POR 1=1 TO K-lX4CI)=BO<I)NEXT IMQVE 5-KN-l)*!.DRAU 5+N#15í41X4(K)=1IP PÓ<=R6 THENL5-R6POR 1=1 TO K-lX5(I)=B3(I)NEXT IMO^E 5-KN-15K1:DRAW 5+N*15í34GO TO 6070L5 = PóPOR 1=1 TO K-lX5a>=B2<3:>NEXT IMOVE 5+(N~l)#i:DRAW 5+N*15í34X5CK)=1I E P7<=R7 THENL6-R7POR 1=1 TO K-lXÓÍI)=B5CI)NEXT IMOUE 5+(N-l)*i:DRAW 5+N*15f27GO TO 6220LÓ = P7

5710

5j20

5 y 27

5800

5?Ó2

5,09

0010

5f43

5/55

Ó1ÓO

5?34

Page 203: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG.29

617061SO6190620062100220623062406250626062706280629063006310632063306340635063606370638063906400641064206430644064506460647064806490650065106520653065406550656065706580659066006610662066306640665070007010702070307040

FQR 1=1 TO K~lX6CI )~B4< I )NEXT IMOUE'5-Í(M-1>#15?41DRAUI 5ÍN&15.27XÓ<K>=1IF P8<=RS THEN 6310L7-R8FOR 1=1 TO K~lX7<I>=B7<I>NEXT IMOUE 5-KN-l )#15f 20DRAU 5+N#15,20GO TO 6370L7 = P8FOR 1=1 TO K~lX7(I)=Bó<I)NEXT IMOUE 5+(N-l)#15í27ÜRAU 5-fN*15r20X7(K)=1FOR J = l TO KBO(J)=XO(J>B1(J)=X1< J)B2(J)=X2(J)B3C J)=X3C J)B4Í J)=X4(J>B5(J)=X5( J)BÓ(J)=XÓ< J)B7(J)=X7Í J)NEXT J.MOUE 2-i-N#15?65PRINT LOMOUE 2+N#15f58PRINT LlMOUE 2+N*15í51PRINT L2MOUE 2+N^15í44PRINT L3 .MOUE 2+N*15i37PRINT L4MOUE 2+N*l5j30PRINT L5¡"(OUE 2 + N#15f 23PRINT L6MOUE 2+N*15jlóPRINT L7N=N + 1RETURNREM ##############&####:*:#REM CALCULO DE DISTANCIASMOUE 30+N#10flOINPUT UlUl^INTCUl)

*DE HAMMING

Page 204: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG,30

7050700070707080709071007110712071307140715071008000801-08020303080408050806080708080309081008110812081303140815081608170SI 8,0819082008210822082308240Í3250820082708280829083008310832083308340S3503360337033803390

IF UKO OR U1>F3 THEN 7020MOUE 30-fN*10,7INPUT U2U2=INT(U2)IF U2<0 OR V2>F3 THEN 7000REM DISTANCIAS DE HAMMINGFOR 1=1 TO 40=ABS(A<I,1)~U1>

D(I)=0+TNEXT IRETURNREMREMPAGEMOUEDRAWDRAWDRAWDRAWMOUE

*****TÍTULOS

0,00,100130,100130?00,040,95

PRINT 'ESCUELAhOUE 10.90PRINT 'DEMOSTRACIÓNMOVE 10,85PRINT 'LONGITUD DE LASHOYE 80,85PRINT -BITS A GENERARSE:MOVE 5,10P R I N T " P r i m e r - b i t ( O - ' íMO'vJE 5 ^ 7PRINT 'Seáundo bit (.O-'íMOVE 1,80PRINT "Estedo"

POLITECNICA NACIONAL

DEL DECODIFICADOR

TRAYECTORIAS '?F4

K:

K = 4 R 1/2

MOUE 77PRINT 'í'MOVE 3,76PRINT "! TiempoMOUE 3,74PRINT ' í :MOUE 3,72PRINT 'v"MOUE 1,09PRINT '000aMOUE 1,02PRINT '001'MOUE Iy55PRINT "010"MOUE 1,48PRINT M011fl

MOUE 1*41PRINT '100'

Page 205: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG,32

1 UUU

1010102010301040t OSOJ- V \J \

1000107010801 090A, \J f \S

1100111011201130114011501160117011801190120012101220:L230:l.2.401250:l.2.óo:l.27012801290:l.3001310:L320133013401350130013701380139014001410142014301440145014001470148014901500.151015201530.1540

r\ n — -~ r r\ u r\ n H u ti r i u c. u- o -01 = 5GO TO 800REM • DEMOSTRACIÓN DE LOS DECODIFICADORESREM CÓDIGO K = 5 R - 1/2T*Í C* í C — T" UT V* f*\I V O "V T V /I V * \ Z, \' *V

DELETE ZQrZl,Z2,Z¿,Z4,Z5fZ¿>,Z7DELETE COíCl,C27C3íC4rC5rCÓ7C7TI r — i r — f r~* T*J i*< H Xí o A f* í" "7 r

J1=F4+1DIM XO(J1) /X1CJ1) íX2(Jl) íX3CJl) rX4(Jl) ,X5(J1) rXó(Jl)DIM BOCJ1) jBKJl) /B2(J1) ?B3(J1) .B4(J1) ?B5( Jl) ,BÓ( Jl)DIM ZO(J1) íZK Jl) íZ2(Jl) /Z3( Jl) rZ4(Jl) íZ5(Jl) íZÓCJl)DIM CO(Jl) fCKJl) ?C2(J1) jC3(Jl) ?C4(J1) 7 C5 ( Jl ) , Có C Jl )DIM DC4) rMKJl) rM2CJl) ?G(5) ?A(4í2)BOCF4+1)^0BKF4 + 1)=0B2 (F4+1 )=0B3(F4+1)=0B4 CF4 + 1 )=0B5(F4+1)=0Bó (F4+1 )=0B7(F44-1)=0CO(F4+1)=0Cl <F4 + :L ) =0C2CF4-f-l)=0C3CF4-M )=0C4(F4-I-1)=0C5CF4-I-1 )=0Có(F4-f 1 )=0C7(F4+1)=0L0 = 0Ll = 0L2=0L3~0L4~0L5~0Ló = 0L7 = 0L9 = 0N0=0Nl-0N2-0N3=0N4 = 0N5 = 0Nó=0N7 = 0G( 1 ) =0G(2)=:0

6(3 )=0GC4)=0G(5)=0

A ( 1 ? 1 ) =0

yX7(Jl)?B7(J1)rZ7(Jl)

•C7CJ1)

i

Page 206: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG,33

1550150015701580.159010001610162010301040105016001670108016901700171017201730174017501700177017801790180018101820183018401850180018701880189019001910192019301940195019601970198019902000201020202030204020502060207020802090

A(l?2)=0A<27l)=0A(2?2)=1*F3

A < 3 ? 2A(4ílAÍ4,2F'RINTPRINTPRINTPRINTPRINTINPUTDIM SIF K2REMK=lN=lGOSUB

)=0)=l*F3)=1#F3'LJJJJIESCUELA POLITÉCNICA NACIONAL1

' JJJIFACULTAD DE INGENIERÍA ELÉCTRICA0

' JJJIALGORITMO DE UITERBI'' JJJIBEMOSTRACION DE LOS DECODIFICAÜQRES'JJJINUMERO DE BITS A GENERARSE íGG'iK2(K2+F4><F4 TREN 1660

>PRIMER PERIODO DE TIEMPO

SEGUNDO PERIODO DE TIEMPO

100003f85

PRINT 'PERIODO DE TIEMPO ------- >GOSUB 9000LO=D(1)XO(K)=0NO=D(4)ZO(K)=1MO^E 20,75PRINT LOMOV£ 20/43PRINT NOMOVE 32;75PRINT X O C K )MOVE 32;43PRINT 20 (K)REMK=K+1N=2GOSUB 9000GOSUB 10000A1=LOA2=NOLO^Al-fD(l)L4=A2+D(3)NO = AH-D<4)N4=A2+B<2)XO<K)=0X4(K)=0ZO(K)=1Z4<K)=1X4C1)=ZO(1)Z4(,l)=ZOCl)ZO(1)=XO(1)MOUE 20^75PRINT LO

20.59

K

Page 207: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

A P É N D I C E I I I PAG,34

21002110212021302140215021002170218021902200221022202230224022502200227022802290o~^oo.£. vJ \J \J

2310232023302340235023002370238023902400241024202430244024502400247024802490250025102520253025402550250025702580259020002610202020302640

PRINT LAMOVE 20,43PRINT NOMQVE '20,27PRINT N4FOR 1=1 TO KBO(I)=XÜ(I)B4(I)=X4<I>CO(I)=20<I)C4CD-Z4CI)MOUE 30+3*1 T 75PRINT XOCI)MOUE 30+3*1,59PRINT X4ÍI)MÜVE 30+3*1,43PRINT ZO(I)MOVE 30+3*1,27PRINT 24(1)NEXT IMOUE 33,35PRTKIT 'ppivTnriri np" TTPMPH ••-. ° * K--j r\L H i r c_ r\. u j-i u 1,1 1 i j. c. n f u .-• ? f\M > TERCER PERIODO HE TIEMPO

K=K+1N = lGOSUB 9000GOSUB 10000Al^LOA2=L4A3-NOA4=N4LO=A1+D(1)L2-A2+DÍ3)L4 = A3 + í!i<3)LÓ-A4+DÍ1)NO=A1+D(4)N2=A2+D(2)N4=A3+DC2)N6-A4+DÍ4)XO(K)=0X2(K)=0X4(K)-0Xó(K)=020(K)=1Z2(K)-124(K)=12Ó(K)=1FOR 1=1 TO 2XO(I)=BOCI)X2(I)=B4(I)X4<I)=CO<I)Xó<I)=C4(I)20(I)=BO(I)22(I)=B4<I)24(I)=CO<I)ZÓ(I)-C4(I)

Page 208: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG.35

20502ÓÓO26702680269027002710272027302740275027602770278027902800.2810282028302840285028602870288028902900.2910.2920293029402950290029702980299030003010302030303040305030003070308030903100311031203130314031503100317031803190

NEXTMOUEPRINTMOUE.PRINTMOUEPRINTMOUEPRINTMOUEPRINTMOUEPRINTMOUEPRINTMOUEPRINTFOR IBO(I)MOUEPRINTB2CI)MOUEPRINTB4 ( I )MOUEPRINTBó(I)MOUEPRINTCOCÍ)MOUEPRINTC2CI)MOUEPRINT

I20x75LO

20ró7L220/59L420 ?51L6

20? 43NO

2Q>35N220,27N4

20 y 19

No= 1 TO=XO<I)30+3*1XO(I)

=X2(I>30+3*1X2(I)=X4(I)30+3*1X4 ( I )

=XÓ(I)30+3*1X6CI)=20(1)30+3*1ZOCI)=22(1)30+3*122(1)

K

,75

>67

f59

r5l

>43

„ Vt=T7 i_>iJ

C4(I)=24(I>MOUEPRINTC6(I)MOUEPRINTNEXTMDUEPRINTREM -K-K+1N = lA1 = LOA2=L2A3 = L4A4 = L6A5 = NOAó~N2A7=N4

30+3*1Z4(I)=20(1)30+3*120(1)I33,85

i 27

í 19

"PERIODO DE TIEMPO > - ?KCUARTO PERIODO DE TIEMPO

Page 209: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG,30

32003210322032303240325032003270328032903300331033203330334033503300337033803390340034103420343034403450340034703480349035003510352035303540355035003570358035903600301030203030304030503ÓÓO30703680309037003710372037303740

A8=NóGOSUB 9000GOSUB 10000MOUE • 33r 35PRINT 'PERIODOl_0~Al-í-D(l )L1=A2+D<2)L2=A3+D<3)L3=A4+B(4)L4=A5+BC3)L5=Aó+B(4)LÓ=A7+B(1)L7=A8+D<2)NO=A1+B<4)N1-A2+D(3)N2-A3ÍDC2)N3=A4+D(1)N4-A5+IK2)N5=Aó+ü<l)Nó=A7+D(4)N7=A8+D(3)XO(K)=0X1(K)=0X2(K)=0X3(K)=0X4(K)=0X5(K)=0X6(K)=0X7CK)=0ZO(K)=121CK)=122(K)=1Z3(K)=124(K)=1Z5(K)=1ZÓ(K)=127(K)=1FOR 1=1 TO 3XO(I)=BO(I)X1(I)=B2CI)X2(I)=B4(I)X3(I)-Bó(I)X4(I)=CO(I)X5CI)=C2(I)X6CI)=C4(I)X7(I)=Có(I)ZO(I)=BO(I)Z1(I)=B2(I)Z2(I)=B4(I)Z3(I)=BÓ(I)24(I)=CO(I)Z5CI)=C2CI)Z6(I)=C4(I)Z7(I)-C6<I)NEXT I

DE TIEMPO • ;K

Page 210: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG,37

3750 GOSUB 110003760 REM >CUALQUIER PERIODO DE TIEMPO3770 K-K+13780 GOSUB 90003790 GOSUB 100003800 MOVE 33,853810 PRINT 'PERIODO DE TIEMPO > 'íK3820 GOSUB 00003830 IF K=F4 THEN 38503840 GO TO 37603850 REM3860 REM ESCOGIMIENTO DEL MENOR SUPERVIVIENTE3870 K1=K3880 K=F43890 M^LO3900 IF M<L1 THEN 39203910 M=L13920 IF M<L2 THEN 39403930 M = L23940 IF M<L3 THEN 39003950 M=L33960 IF M<L4 THEN 39SO3970 M=L43980 IF M<L5 THEN 40003990 M=L54000 IF M<LÓ THEN 40204010 M=Ló4020 IF M<L7 THEN 40404030 M=L74040 IF M<NO THEN 40004050 M=NO4000 IF M<N1 THEN 40804070 M=N14080 IF M<N2 THEN 41004090 M=N24100 IF M<N3 THEN 41204110 M=N34120 IF M<N4 THEN 41404130 M=N44140 IF M<N5 THEN 41004150 M=N54160 IF M<Nó THEN 41804170 M^Nó4180 IF M<N7 THEN 42004190 M=N74200 IF LO=M THEN 49504210 IF L1=M THEN 49104220 IF L2=M THEN 48704230 IF L3=M THEN 48304240 IF L4=M THEN 47904250 IF L5=M THEN 47504260 IF LÓ=M THEN 47104270 IF L7=M THEN 46704280 IF NO-M THEN 40304290 IF N1=M THEN 4590

Page 211: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG,38

4300431043204330434043504300437043804390440044104420443044404450446044704480449045004510452045304540455045604570458045904000461040204030464040504óóO4670408046904700471047204730474047504760477047SO479048004810482048304840

IF N2=M THENIF N3=M THENIF N4 = M THENIF N5=M THENJF N6=M THENS<K1+1-K)=Z7<MUYE 2,14DRAW 13; 14GO TO 4980S(K1+1-K)=Z6CMOUE 2.18DRAU 13,18GO TO 4980S(Kl+i-K)=Z5(MOUE 2.22DRAW 13.22GO TO 4980S(K1+1-K)=Z4<MQUE 2,26DRAW 13 y 26GO TO 4980S(K1+1-K)=Z3(MOUE 2.30DRAU 13^30GO TO 4980S<K1+1-K)=Z2<MQUE 2.34ÜRAW 13.34GO TO 4980SCKl-fl-K)=Zl(MOUE 2f38DRAW 13.38GO TO 4980S(K1+1-K)=ZO<MOUE 2.42DRAW 13.42GO TO 4980S(K1+1-K)=X7(MOUE 2.46DRAW 13,46GO TO 4980S<K1+1-K)=XÓ<MOUE 2,50DRAW 13.50GO TO 4980S(KÍ+1-K)=X5(MOUE 2?54DRAW 13.54GO TO 4980.S(K1+1-K)=X4(MOUE 2.58DRAW 13.58GO TO 4980S<K1*K-K)=X3<MOUE 2.62

455045104470443043901)

1)

1)

1)

1)

1)

1)

1)

1)

:¡.)

1)

1)

i)

Page 212: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

en e

n en

en

w w

w w

O

CO

Xj ¡>

o o

o o

GJ

Cl

TI

3CO

O

71

OCO

M

CH

c 2

: m

O W

H

CO

O

T> •

-ND

O

P

l C

Oo o

73

ent-H

O

en e

n en

en

e-¡ e

n en

e~¡

en L

~\n e

n e~?

en

en O

í c.n

en

en e

n en

en

e=i e

n en

en

en o

í en

en

en e

n en

en e

n -£•

-t-

-t- -

£• •£•

-t-

w w

w w

w w

ío

to r

o r

o ro

ro

ro f

o ro

ro ^

H^ ^

M-

M H

- H*

h^

H- ^

o o o

o o

o o

o o

o o

-o

xi

-o o

oen

¿.

w r

o i-1

o

o co

es e

n -t»

w r

o ¡-

o <

¡ co

o en

-t» w

ro

M- o

-o

co x

i i>

en -t

w f

o ^

o

^o c

o xi

o

en •£

•o

oo

oo

oo

oo

oo

oo

oo

oo

oo

oo

oo

oo

oo

oo

oo

oo

oo

oo

oo

oo

o

»

O O

o o

o c

O

H10

U

II 11

II 11

1!

II II

U

II 11

IIM

^N

NN

NN

NX

xx

xxj

es

ei 4

^ w

fo i-

1 o

xi

o

en -t*

II !l

II ¡1

1! II

II !l

II 11

!! II

II II

II II

11 11

IIx

xx

oo

oo

no

nn

ttír

i'^

ww

a?

ww

M

o

xj

o

en -

t^ w

ro

o x

j o en

-£•

w 1

0 H-

o71

3> <:

TTE

r1-

4 II M

t

O

•-

*^> '~

s •'

**

^ •/

- '"*

• -^

-^

v

*^> ^^

**

"*

-*^ ^^

'~

>

*~»

—!

Xl

J>

~—

CO

^-+

+ +

+

-t-+ +

+ 4

- +

+ +

4-4

-+

X

¿>

4^ ¿

> -fc

.•<

l xl

-O

-Oe>

¡ ro

H^

oo o

o o

o 2

: co

CD7^

a -

^ o

3>

<Z T

:.E:

rn

M H

-f- o

M r

o GJ

-

i j>

xj

O

•"-''

CO

O

!t

OX

-^ ,

¿>

O)

03

03-O

CO x

jO

O O

f u:

eo

73 O

'-

2> <

r x

c m

^ +ii

f.J

LJ

W.-

1

•*

CN X

t> O

- CN

I! X ro M-

CO

COCN

en

o o

a o

O 7}

3>H

E:

o J%

CJ

co

oo ro

-io o

ir ~n O

m •z. m -n 1> CT

O

Page 213: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG.40

5400541054205430544054505400547054805490550055105520553055405550

REML9=L9+1IF L9=K+1 THEN 5520K1=K1+1

(30SUB 9100GOSUB 10000MQVE 33,85PRINT 'PERIODO

SALIDA

DE TIEMPO KlGO TO ;soPRINT 'LJJJJDIGITOS DECODIFICADOSFOR 1=1 TO K2PRINT '1'ÍI?1 = -;S(I)NEXT I

5560557055805590560056105620156305640565056605670568060006010602060300040605060606070608060906100611061206130614061506160617061806190620062106220

PRINT 'JIpINPUT W$PRINT 032PRINT 032PRINT 032PRINT @32PRINT @32PRINT 032PRINT "JIINPUT U$IF W$='S'PRINT 'JJIENDREM ******REMP1=LO+EK1)R1 = L1 + EK4)Q1=LO+D(4)S1-L1+DC1)P2 = L2+EK2)Q2=L2+D<3)R2~L3-f-D(3)S2=L3+D(2)P3=L4+D<3)Q3 = L4 + Ei C 2)R3 = L5-i-D(2)S3 = L5-fD(3)P4-LÓ-f-D(4)Q4=Ló+D(l)R4-L7+DC1)S4=L7+D ( 4 )P5=NO+DC3)Q5-NO + EK2)R5=Nl-fD(2)S5-N1 + D < 3)P6-N2+D (4 )

RETURN continuar

•LJJJJJIESCUELA POLITÉCNICA NACIONAL''JIFACULTAD DE INGENIERÍA ELÉCTRICA1

•JIALGORITMO DE VITERBI''J1CÜDIGO K = 5 R = 1/2"'J1HISTORIA DE LAS TRAYECTORIAS = 'fF4•JINUhERO DE DATOS GENERADOS = 'ÍK2OTRA PRUEBA CS/N):GGu;

THEN 4GRACIAS'

*SUBRUTINA DEL CALCULO DE SUPERVIVIENTES

Page 214: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

A P É N D I C E I I I PAG.41

0230024002506200027002800290630003106320633063406350636063706380639064006410642064306440645064606470648064900500651065206530654065506560657065806590660066106620663066406650Ó6ÓO66706080609067006710672067306740675067606770

R Ó = N 3 + f l ( l )S Ó - N 3 + D C 4 )P 7 = N 4 + D U >Q 7 = N 4 + Ü < 4 )R 7 = N 5 + D < 4 >S7=N5+DU>P 8 = N Ó + D ( 2 )Q 8 = N Ó + n < 3 )R 8 = N 7 + D < 3 )S 8 = N 7 + Ü < 2 >1F RK=P1 THEN 6400LO=F1POR 1=1 TO K-lXO(I)=BO(I)NEXT IGü Tu 0440L_0 = R1FÜR 1=1 TO K-lXO<I)=B1(I)NEXT IIF R2OP2 THEN 6500L1=P2FOR 1=1 TO K-lX1(I)=B2(I>NEXT IGO TO 6540L1 = R2FOR 1=1 TO K-lX1CI)=B3(I)NEXT IIF R3<=P3 THEN 6600L2=P3FOR 1 = 1 TO K-.1X2(I)=B4(I)NETXT IGO TO 6040L2=R3FOR 1=1 TO K-lX2CI)=B5(I)NEXT IIF R4<=P4 THEN 6700L3-P4FOR 1=1 TO K-lX3CI)=B6(I)NEXT IGO TO 6740L_3 = R4FOR 1=1 TO K-lX3(I)=B7(I)NEXT IIF R5<=P5 THEN ¿800L4=P5FOR 1=1 TO K-lX4(I)=CO(I)

Page 215: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG.42

NEXT IGO TO 6840L4 = R5FOR 1=1 TO K-lX4ÍI)=CKI)NEXT IIF RÓ<=PÓ THEN 0900L5=PÓFOR 1=1 TO K-lX5(I)=C2(I)NEXT IGO TO 0940L5=R6FOR 1=1 TO K-lxs (i} ~r^í í T >f\ \- / •"" O O V J- /

NEXT IIF R7<=P7 THEN 7000Ló = P7FOR 1=1 TO K-lXó(I)=C4CI)NEXT IGO TO 7040Ló=R7FOR 1=1 TO K-lXÓ(I)=C5(.I)NEXT IIF R8<=P3 THEN 7100L7=P8FOR 1=1 TO K-lX7(I)=CÓ(I)NEXT IGO TO 7140

FOR 1=1 TO K-lX7(I)=C7íI)NEXT IIF S1OQ1 THEN 7200NO=Q1FOR 1=1 TO K-lZO(I)=BOU>NEXT IGO TO 7240

72207230724072507200727072807290730073107320

FOR 1=1 TO K-lZKI)=B2(I)NEXT IGO TO 7340

FOR 1=1 TO K~lZKI)=B3U>

Page 216: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

ro «r +

CD <I

LL

M M UJ

U h-i

Lü ü_ <r

o o Lü X fO c; u'<-

í V fo n

1-

03 C

5X

¡1

Lü U

. C-

J~Z

. t-l

~Z.

o o

ot-3

T m

ro r

o ro

rx N

rx

-i-f

O M

] — v

1! ¡í i-i

f — í ^^

H-i

í—L

¿—

X

O

C-J

U. N

-Z

.

O O

O-o

rx

coK)

M t

oEX

fx

[x.

E

O

O•3

- 1- II*

o r

o ;-;

(- C

O

II

O

C-J

OCD

2:

U.

o o

of>

- O

i— i

KI "í

"rrx

rx

rx

ÍJl

Íl

M*— .

!-l

h-

~ X

C-J

LüN

-Z

.

O O

c-j r

o*3"

rx f

x

o o in [X Lü

fni

^ O M

O

C5

-0

lil

ü

-M gj

rxü

M*3

~ í" n

*~*

Oco

cr

u H

H11

C¿

X

M 2:

U_ N

~Z

. C

D

O O

O O

O

O•$•

\f)

-o r

x co

o•

j- <j

- "

"-T ^

"IX

rx |

X N

fx

[X

•3- co ¡E fi")

^ O'

o in rx

_i O n fx

-H C

Oli

II M

hH -

-^ M h-

t¿ —

X

o ro

U. N

O O

O-i

c-j

m¡x

rx r

s

o o rx Lü

j O

cr II

T-I ¡E

ID lil

f-i

co.a II

C¿

M 2: li.

O O

O•7

- bl

-Oül

U~3

ü")

rx r

x rx

M

O

O

*Oo

rx

i¡ M

^

oH

I- h-

^ X

"í"

UI

ON

2!

CD

O O

OE

X

CO

C

NIO

lj"3

U"

)rx

r>.

rx

o o fx

• ~

y

l Lü

'~s

1—O

MH

-0rH

C

5

i-i 0

11

¡1

El M

V

ID M

-~

- -O

CO

M f-

03

II <Z ^

XT

O

U.

-z. u

. N

z: M

o o

o o

oo

IH c

-j ro

'^r

•O x

l *O

*O

xl

rx r

x EX

rx

¡x

xTi

Cu li \D 2 O ID •O N

¡ O M C

-J

í-i U

II

MM

-—

^

1— i

[—

C¿ ~

XO

ül Lü

U.

N

-Z.

O O

O^o

rx

co•<

] -O

-O

fx N

rx

o fx fx o o

1 — C

O IIO

ÍO

CD -

Z.

O O

ex o

-o r

xrx

rx

¡

O

f-H

-H b

!l 11

i-t

¡—i

•"•

M [-

u: —

x

O

li"D L

üU

. N

2:

0 O

Ot-<

C-

j M

EX r

x ix

fx r

x rx

O

00

0

CO

CNrx

rx

2:

i-l

iH

2:

\d

1 —

*^

-^

H-

O K

-i O

O

M¡X

(—

-w

T

í- -

--

CO

a

<•

co

\i-¡

&EI

1-1 u

rx

T-

Í a

liI¡

II ^

¡1

El M

V

ixrx

H--

. o

rx M

coco

co

a

MÍ-

HC

O

MÍ-

CO

G11

C£ ^

X

II tí

— X

11

U-^

OO

-O

UiO

x^

O^

OU

I ü

_rx

•r-:

^:u

,N2

:cD

2:L

uN

3:M

2:

oo

oo

oo

oo

oo

oo

*7"

b"3

xl

|X

CO

CN

O

T-

Í C-

J tO

"

ü"

3¡x

rxrx

rxrx

fxc

oc

oc

oo

Dc

oc

ofx

fxrx

rsrx

fxfx

fxfx

íxrx

N

v;

O M

i —

*-•• -o

1-H

l_

J

1— f

— '

1— Í

¿; *

-^0

EX

U.

fsi

o o

-o r

x03

C

ON

fx

Page 217: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG.44

7880789079007910792079307940795079607970798079908000801080208030S04080508000307080808090810031109000901090209030904090509000907090809090910091109120913091409150100001001010020100301004010050:LOOÓQ100701008010090101001011010120101301014010150

NEXT. IGO Tu 7940N7=S8FOR 1=1 TO K-lZ7(I)=C7<I)NEXT IXO(K>=0X1(K)=0X2<K)=0X3(K>=0X4(K)=0X5(K>=0Xó(K)=0X 7 < K > = 0ZOCIO-1Z1(K)=1Z 2 < K > = 1Z3(K)=1Z4(K>=1Z5(K)=.lZóCK)=lZ7(K)=1GOSUB 11000RETURNREM *****************************#***#******************#******:REM calculo de las distancias de hsmmináMOVE 30+N*10?10INPUT MI

TREN 9020

THEN 9060

IF VKO OR V1>F3HOYE 30+N*10>7INPUT V2U2-INTÍV2)IF V2<0 OR V2>F3FOR 1=1 TO 40=ABS(ACIr1>~V1)

NEXT IRETURNREM **********************************************************:REM TÍTULOSPRINT -LJIESCUELA POLITÉCNICA NACIONAL"PRINT 'IHEMOSTRACION DE LOS DECODIFICADQRES"PRINT 'ICODIFICADOR K - 5 R - 1/2"MOVE 0»0DRAW O?100DRAW 130f100DRAW 130rODRAW O fOMOUE 0?80DRAW 130í80MOME 130>83DRAW 0/88MOUE 15,88DRAW 15/14

Page 218: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG*45

.10100 MÜUE 30*8310170 DRAW 30>1410180 HOYE 5r1010190 PRINT 'Primer10200 MOVE 5,710210 PRINT ' Secundo10220 MOVE 0,1410230 DRAW 130,141-0240 MUYE 3,8310250 PRINT ' Estado 3

10260 MOME 17,8310270 PRINT 'Métrica10280 HOYE 5,7510290 PRINT '0000-10300 MOVE 5,7110310 PRINT '0001'10320 HOUE 5,6710330 PRINT -0010"10340 MOVE 5,0310350 PRINT '001 I1

10360 MOUE 5,5910370 PRINT '0100"10380 MOVE 5;5510390 PRINT '0101 J

10400 MOUE 5,5110410 PRINT '0110'10420 HOYE 5/4710430 PRINT "0111 "10440 MOUE 5r4310450 PRINT '1000110460 MDUE 5)3910470 PRINT '1001 "10480 MQVE 5?3510490 PRINT "1010"10500 MOUE 5,3110510 PRINT '1011110520 MQVE 5r2710530 PRINT "1100a

10540 MQVE 5r2310550 PRINT '1101'10560 MOVE Sí 19IL0570 PRINT -1110"10580 MOUE 5x1510590 PRINT "lili'10600 MOVE 30^8410010 ÜRAW 130r8410620 MDUE 33^8110630 PRINT 'Histori10640 RETURN11000 REM **********

bit

bit

a de

####11010 REM SUBRUTINA11020 MOUE 20,7511030 PRINT LO11040 MQUE 20,7111050 PRINT Ll

135 trayectorias F4 bits

**********************************************************PARA LA IMPRESIÓN DE LAS MÉTRICAS

Page 219: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG,40

1106011070110801109011100111101112011130111401115011100.1117011180111901120011210112201123011240112501126011270112801129011300113101132011330113401135011360113701138011390114001141011420114301144011450114601147011480114901150011510115201153011540115501156011570115801159011600

MOUE 20,67PRINT L2MOUE 20,63PRINT L3MQUE 20,59PRINT L4MQUE 20/55PRINT L5MOUE 20*51PRINT L6MOUE 20,47PRINT L7MOUE 20/43PRINT NOMOUE 20,39PRINT NIMOUE 20r35PRINT N2MOUE 20/31PRINT N3hOUE 20/27PRINT N4MOUE 20723PRINT N5MOUE 20,19PRINT NoMOUE 20,15PRINT N7FOR 1=1 TO KBOCI)=XO(I)B1(I)=X1CI)B2(I)=X2<I)B3<I)=X3CnB4(I)=X4(I)B5<I)=X5(I)B6(I)=Xó(I)B7(I)=X7(I>CO(J)=ZO(I)CKI)=Z1(I)C2(I)=Z2(I)C3(I)=Z3(I)C4(I)=Z4(I)C5(I)=Z5(I)C6CI)=Z6CI)C7<I)=Z7(I)MOUE 30+3*I>75PRINT XO(I)MOUE 30+3*1,71PRINT XKI)MOUE 30+3*1,67PRINT X2(I)MOUE 30-1-3*1,63PRINT X3CI)MOUE 30+3*1,59PRINT X4CI)

Page 220: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

rx o <r LJ u M Lü ü_ <E

ID IOrx

¡O

M

M

-,

•5t

H

-54

Hí--j

— r

o —

-{-

IO 4

- -O

n

o

in•?-

ro

ro

M •"

* M

•"•

M

-~v

•if£

i—I

•?£

H •;

«;•

¡-I

ro —

ro

ro

—+

O +

-r

H H

-

OJ

ro M

rx OJ

oIO

ro -

ñ

M

. h-í

--

v M

*~

.*í M

3£ n

H

hí ^

- ro

•--

ro —

H-

ID -r

-O

-i-

OX

OX

OX

ON

IO

N!

ON

iO

,X

ÍO

NIO

NO

NO

Nro

ro

ro

r-^

ro

ro

ro

ro

ro

ro

ro

M

2:

H-

l-

í-

H-

[-

l-

l-

t-

I-

I-

I-

üí

Ld

2;u

J2

:Lij^:i

ij2

:LU

2:i

ü2

:Lü

2:i

iJ3

:u^:i

ij^:u

j2:H

riI>

MZ

>M

_>

MI>

MZ

> M

D-M

>M

r>

Ml>

Ml>

MI>

fH

Xí—

Oi^

OK

O^

Oi^

Oi^

O^

OL

¿O

i^

OL

£:O

L¿

OL

¿L

ül.L

J

oo

oo

oo

oo

oo

oo

oo

oo

oo

oo

oo

oo

T-Í

c-j

ro T

m -

o fx

co

o- o

•*-

; r-

j ro f

ÜT

-o

rx c

o ex

o

T-Í

c-J r

o -^

-H

t~í

r-H

rH

T-Í

-rH -H

r-í

t-í

-H

Page 221: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG.48

1000 REM PROGRAMA 'DEMDEC4a1010 01=61020 GO TO 8001030 REM • DEMOSTRACIÓN DE LOS DECODIFICADORES1040 REM CÓDIGO K = 3 R = 1/31050 DELETE XOrXlrX2 JX31000 DELETE BOjBlfB2íB31070 DELETE D,Mi,M2,A,S3,S1080 Jl=F4+31090 DIM XOCJ1)fXi(Jl)rX2<Jl),X3(Ji)1100 DIM BO(Jl),B1(Jl)íB2(Jl)jB3<Jl)1110 DIM A<8,3),n<8)y MI(Jl),M2(J1)»S3(3)1120 BOCF4 + D-01130 B1(F4+1)=01140 B2CF4+1)=01150 B3(F4+1)=01100 M2(F4-fl)=01170 E=01180 El=01190 E2=01200 L0=01210 Ll=01220 L2=01230 L3=01240 L9=01250 S3(l)=01200 S3(2Í=01270 S3(3)=01280 AdrD^O1290 A(lí2)=ü1300 A(lí3)=01310 A(27l)==01320 A(2r2)=01330 A(2»3)=.t#F31340 A(3íl)=01350 AC3í2)=3.#F31300 AC3í3)=01370 AC4fl)=01380 A(4j2)=l#F31390 A(4/3)=1*F31400 A(5íl)1410 AC5r2)=01420 AC5/3)=01430 A(óil)=l1440 A(óí2)==01450 A<óí3)=l1400 AC7íl)1470 A(7j2)=l*F31480 AC7r3)=01490 A(8jl)=l*F31500 A(8T2)=1^F31510 A(8í3)^l^F31520 PRINT 'LJJJJJJJIESCUELA POLITÉCNICA NACIONAL1530 PRINT 'JJJIFACULTAD DE INGENIERÍA ELÉCTRICA1540 PRINT 'JJJIALGORITMO DE UITERDI "

Page 222: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III • PAG,49

PRINT 'JJJIDEMQSTRACION DE LOS DECQniFICADORESDE BITS A GENERARSE IGG'J

1500

PRIMER PERIODO DE TIEMPO

156015701580159016001610162016301640165016601670:LÓ801690170017101720173017401750176017701780:L790180018101820.1830184018501860187018801890190019101920.193019401950196019701198019902000201020202030204020502060207020802090

PRINT 'JJJIINPUT K2

NUM

IF K2<F4 THENDIM S(K2+F4REMK=lM=lGOSUB 6000GOSUB 5000LO=D<1)XO(K>=0L2=D(4)X2(K)=1MOUE 18,70PRINT KMOUE 13,60PRINT LOMOUE 18,30PRINT L2MOUE 5,65DRAU 20,35MOUE 5,65ÜRAW 20x65DCTW __í\t.nK=K+1M = 2GOSUB 5000A1 = LOA2=L2LO=A1-KK1)Ll=A2+ü(3)L2=A1+D(4)L3=A2+DC2)XO(K)=0XKK)=0X2(K)=1X3(K)=1X1(1)=X2C1)X3(1)=X2(1)X2(1)=XO(1)MOUE 3-I-15KMPRINT LOMOUE 3-fl5#MPRINT LlMOUE 3-f.l5^MPRINT L2MOUE 3+15*MPRINT L3MOUE 3-M5*MPRINT KFOR 1=1 TOBO(I)=XOCI)B1CI)=X1(I)B2<I)=X2(I)

)->

róO

,45

,30

rl5

,70

K

SEGUNDO PERIODO DE TIEMPO

Page 223: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG,50

210021102120213021402150216021702180219022002210

223022402250226022702280229023002310.23202330234023502300237023802390240.024102420243024402450240024702480249025002510252025302540

B3(I)NEXTMOVEDRAWMOVEDRAWMOVEDRAWMOVEDRAWM=M+1REM -K=K+1GOSUBT I— >_/ —ir M —GO TOGOSUBM=lMOVEPRINTREM -GOSUBIF K=GO TOREMREMK1 = KK=F4IF LO<L1

=X3(I)I5+15*(M-l> 7 655+15*M,655+15*<M~l) 7055+15#Mr355+15*(M-l) ?355-H5*M,505+15#<M-l> ,35

------- >CUALQUIER PERIODO DE TIEMPO

50009 THEN 226022806000

3+15*M?70K~> CALCULO DE LOS SUPERVIVIENTES4000

F4 THEN 23402210

ESCOGIMIENTO DEL MENOR SUPERVIVIENTE

THEN 2400GOIFGOIFGOIFGOIFGOIFGO

TO 2440LO<L2 THEN 2420TOLO-TOLI-TOLI-TOL2-TO

2480:i._3 THEN2560!L2 THEN2480!L3 THEN2560!L3 THEN2560

S(Kl-fl-K)=XO(l)GO TO 2570S<KÍ+1-K)=X1(1)GO TO 2570S(Kl+i-K)=X2(l)

2500

2460

2540

2550 GO TO 2570250025702580259026002610262026302640

S(K1+1~K)=X3(1)FOR 1=1 TO KXOCI)=BOCI+1)XKD^BKI-fl)X2(I)=B2(I+1)X3(I)=B3(I+1)BOCI)=XOCI)B1(I)=--X1(I)B2CI)=X2(I)

Page 224: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG.51

.2050206020702080269027002710272027302740275027602770278027902800281028202830284028502860287028802890290029102920293029402950296029702980299030003010302030303040305030603070308030903100311031203130314031503160317031803190

B3CD-X3CI)NEXT IIF K1=>K2 THEN 2780K1=K1+1GQSUB 5000IF M=9 THEN 2720GO TO 2740GOSUB 6000

MOUEPRINT KlGOSUB 4000GO TO 2330REMREML9-L9+1IF L9=K+1 THEN 2880K1=K1+1

SALIDA

REM -GOSUBGO TOPRINTFOR IPRINTNEXTPRINTINPUTPRINTPRINTPRINTPRINTPRINTIF F3PRINTGO TOPRINTPRINTPRINTPRINTINPUTIF W$GO TOPRINTPRINTPRINTPRINTPRINTPRINTPRINTPRINTPRINTPRINTEND

—> INYECCIÓN DE LA COLA DE CEROS51402700•LJJJiniGITQS DECODIFICADOS :'

==1 TO K2' I' ? I i ' = ' y S (I)

I"JJIpresione RETURN para continuar 3 f

@32:'LJJJJJIESCUELA POLITÉCNICA NACIONAL"032:'JIFACULTAD DE INGENIERÍA ELÉCTRICA'@32; ' JIALGORITMO DE VITERBI"

032:"JJCODIGO K - 3 R = 1/3'=1 THEN 3020(?32t ' JIDECODIFICACION SUAVE (8 niveles)'3020¡2t'JIDECODIFICACION DURA <2 niveles)'¡2Í"JIHISTORIA DE LAS TRAYECTORIAS = "JF4fJINUMERO DE DATOS GENERADOS = " ? K2

•JJI OTRA PRUEBA (S/N)tGG"í

= 'SB THEN 30903200•LJJJJI ESCUELA POLITÉCNICA•JJIALGORITMO DE"JJIDEMOSTRACIONE

NACIONAL

•JITecla'JITecla•JITecla•JITecla•JITecla•JITecla•JITecla

ESCOGER= 3

AKKKKKK = :MENÚ

= D

= 4

1/2"1/2'1/2'1/311/3 '1/31

Page 225: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG.52

3200 PRINT 'LJJJJJI3210 INPUT W$3220 IF Uí^'S" OR Ul*='s'3230 PRINT 'JJI GRACIAS'3240 END4000 REM *##4010 REM4020 P1=LO+D(1)4030 Q1=L2+D(3)4040 R1=LO+D<4)4050 Sl=L2+n<2)4000 P2=Ll-fnC4)4070 Q2=L3+D(2)4080 R2=L1+D(1)4090 S2=L3+D(3)4100 IF P1<=P2 THEN 41804110 LO=P24120 FOR 1=1 TO K-l4130 XOCI)=B1(I)4140 NEXT I4150 MOVE 5+<M-l>*15j504100 DRAU 5+M*15íó54170 GO TO 42404180 LO=P14190 FOR 1=1 TO K-l4200 XO(I)=BO<I)4210 NEXT I4220 MOVE 5+(M-l>#i5,ó54230 DRAW 5+M*157Ó54240 XO(tO=04250 IF Q1<=Q2 THEN 43304260 L1=Q24270 FOR 1=1 TO K-l4280 XKI)=B3(I)4290 NEXT I4300 MOVE 5+(H-l)*15í204310 DRAU 5+M^15T504320 GO TO 43904330 L1=Q14340 FOR 1=1 TO K-l4350 X1(I)=E2(I)4360 NEXT I4370 MOVE 5+<M-l)#15>354380 DRAUI 5+M*l5*504390 XI (K) -O4400 IF RK=R2 THEN 44804410 L2=R24420 FOR 1=1 TO K-l4430 X2CI)=B1(I)4440 NEXT I4450 MOVE 5+(M~l)*15r504460 DRAW 5+M#15r354470 GO TO 4540

deses regresar si MENÚ (S/N)

THEN 4

^SUBRUTINA DEL CALCULO DE SUPERVIVIENTES

Page 226: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG*53

4480449045004510452045304540455045004570458045904000401040204030404040504060407040804090470047104720473047404750476047704780479048004810482048304840485050005010502050305040150505000507050805090510051105120513051405150

L2=R1FOR 1=1 TO K-lX2CI)=BO(I)NEXT. IMOVE 5+<M-l)*15,ó5riRAW 5 + MÜC15735X2(K)=1IF SK=S2 THEN 4030

FOR 1X3(I)NEXTMOUEDRAWGO TOL3=S1FOR 1X 3 < I )NEXTMQUEIiRAUX3(K)FOR 1BO(I)BKI)B2(I)B3(I)NEXTMQUEPRINTMOUEPRINTMOUEPRINTMOUEPRINT

=1 TO K-l=B3(I)I5+(M-l)#15i205+M*15>204090

=1 TO K-l=B2(I)I5+(M-l)#15,355+M*15,20=1=1 TO K=XO(I)=XKI)=X2<I)=X3(I)I

LO

Ll+ML2+L3

RETURNREM #*:K################*####:*:tt*^REM SUBRUTINA PARA EL CALCULO HE LAS DISTANCIAS DE HAMMINGMOVE 30+M*10rlOINPUT VIV1=INT(V1>IF UKO OR V1>F3 THEN 5020MOUEINPUT U2

IF V2<0 OR V2>F3 THEN 5060MOUE 30+M*10f4INPUT U3U3-INTÍU3)IF U3<0 OR U3>F3 THEN 5100FOR 1=1 TO 8

Page 227: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG,54

516051705180519052005210522060006010602060306040605060606070603060906100611061206130614061506160617001806190620062106220623062406250626062706280029063006310632063306340635063606370638063906400641064206430

U=ABS(A(I,3>-"U3)D(I)=0+T+UNEXT -ID(3)=ri(7)D ( 4 ) =D < 8 )RETURNREM **********************REM TIPAGEMOUE 0,0DRAW 0,100IiRAW 130*100DRAW 130.0DRAW 0,0MOUE 40,95PRINT "ESCUELA POLITÉCNICAMOUE 35,90PRINT "DEMOSTRACIÓN BE LOSMOUE 40,85PRINT "CODIFICADOR K = 3MOUE 5,80PRINT "LONGITUD DE LAS TRAMOUE 80,80PRINT -BITS A GENERARSE; aMOUE 5,10PRINT "Primer bit (0-'ÍF3MOUE 5,7PRINT "Secundo bit <0-'?F3MOUE 5,4PRINT "Tercer bit (0-'íF3MOUE 2,69PRINT ' ¡ •MOUE 2,70PRINT ' ! >"MOUE 2,72PRINT ' ¡ Tiempo"MOUE 2,69PRINT 'VaMOUE 1,75PRINT "Estado"MOUE 1,65PRINT '00aMOUE 1,50PRINT a01"MOUE 1,35PRINT "10"MOUE 1,20PRINT "11"RETURNENB

*T

Y

í

T

t

J

NACIONAL"

DECOniFICADORES"

1/3

F4

Page 228: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III

100010101020103010401050106010701080109011001110112011301140115011601170:L18011901200121012201230124012501260127012801290130013101320133013401350136013701380139014001410142014301440.1450146014701480149015001510152015301540

REH PROGRAMA "DEMD01 = 7GO TO 800REM • DEMOSTRACIÓN DE LOSREM CÓDIGO K = 4T"Í tT i C"T"c" "V/"* "Y1 Y Y ~7 Y .A \'cr Y ' Y ~?

DELETE BO f Bl j B2 j B3 , B4 , B5 ? Bó , B7DELETE riíMlíM2jAíS3J1-F4+1DIM XOCJ1) yXKJl) »X2( Jl) íX3CJl)DIM BO(J1) BlCJl) rB2CJl) íB3CJl)DIM A(8f3) rD(8) yMKJl) yM2(Jl) rSBOCF4-fl)=0B1(F4+1)=0B2CF4-fl)=0B3< F4 + 1 )=0B4CF4-fl)=0B5(F4il)=0B6CF4+1 )=0B7 CF4+1 y~0E=0El = 0E2=0L0=0Ll = 0L2=0L3~0L4=0L5=0Ló^OL7-0L9=0S3<1)=0S3(2)=0S3(3)=0S3C4)=0A ( 1 , 1 ) =0AC If2)=0A( 1 y 3)-0A (2 j 1 )=0A<2?2)=0A(2y3)=l*F3AC3? 1 >=0A (3? 2)=1*F3A<3f3)=0A (4j 1 ) =0A (4, 2) =lJ)íF3A(4 r3) = l^F3AC5» 1)=1*F3AC5í2)=0AC5í3)^0A < 6 j 1 )=1*F3A( ó» 2)=0A(6r3)"lX<F3AC7rl)=l*F3

DECODIFICADORESR = 1/3

>XÓ(J1)>B4(J1) ?B5(J1)

Page 229: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG,56

1550156015701580159016001610102010301640165016601070168016901700171017201730174017501700177017801790180018101820183018401850186018701880189019001910192019301940195019601970198019902000201020202030204020502060207020802090

A(7*2)=1*F3A<7,3)=0

A<8,2)=1#F3

PRINTPRINTPRINTPRINTPRINTINPUTIF K2

'LJJJJJJJIESCUELA POLITÉCNICA NACIONAL "' JJJIFACULTAD DE INGENIERÍA ELÉCTRICA u

' JJJIALGORITMO DE UITERBI B

' JJJIDEMOSTRACION DE LOS HECOÜIFICADORES-JJJINUMERO ÜE BITS A GENERARSE IGG'ÍK2F4 THEN 1640

DIM S(K2+F4)REM -------- > PRIMER PERIODO DE TIEMPOK = lN=lGOSUB 8000GOSUB 7000LO=D(1)XO(K)=0L4=n<8>X4<K)MQUEPRINTMOVEPRINT

1

LO

PRINT L4MOUE 5yó9DRAW 5+N*15,ó9MOUE 5.69DRAW 5rN*15.'41REM > SEGUNDOK=K+1

GOSUB 7000

LO-Al+Dd)L2=A2+D<7)L4=A1-KK8>

XO(K)=0X2(K)=0X4(K)=1Xó(K)=lX2C1)=X4(1)

X4(1)=XO(1)MOUE 2+N*15?ó5PRINT LOMOUE 2 + N*15í5:LPRINT L2MOUE 2+N*15r37PRINT L4

PERIODO DE TIEMPO

Page 230: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG,57

21002110212021302140215021002170218021902200221022022302240225022002270T O f~\

229023002310232023302340235023002370238023902400241024202430244024502400247024802490250025102520253025402550256025702580259026002610202020302040

MQYE 2+N*15>23PRINT LoMOUE 3+N#15í74PRINT KFOR 1=1 TO 2BO(I)=XO(I)B2(I)=X2(I)B4 C I >~X4 ( I )BÓCI)=Xó<I)NEXT IM (I U F" S-4-ÍW— 1>5f e 1 c r t » ¿ 9IIUVC. i_)T\IX -L.''V--Li_lf<_'7

DRAU 54-N#15ró9MOYE 5-KN~l)#15r69ÜRAU 5+N*15j41MOUE 5+(N-l)*15,41DRALJ 5+N*15í27MOUE 5+(N~l)*15y41DRAW 5+N*15f55C1 cr w '••. T cr D p c r> D tr n T n ri r\\T T T cr xi c> r".K c. n .-•• 1 fc. K U t. h, r h K 1 U J,l u Uc. 1 i h. n r 0K=3N-3GOSUB 7000MOVE 3+N*15í74PRINT KAl-LOA2-L2A3-L4A4-L6LO-Al+DCl )Ll~A2-fDC6)L2-A3+ÜC7)L3=A4+D(4)L4=Al-fD(8)L5=A2+n(3)L6=A3+D<2)L7=A4+D(5)XO(K)-0X1(K)=0X2CK)=0X3<K)=0X4(K)=1X5(K)=1Xó (K)=lX7(K)=1FOR 1=1 TO 2XO(I)-BOCI)X1(I)=B2(I)X2<I)=B4(I)X3(1')=B6(I)X4(I)=BOCI)X5<I)=B2CI)XÓCI)=B4(I)X7( I )=B6C I )NEXT IMOUE 2+N#15ró5

Page 231: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG. 5:

2650266026702680269027002710272027302740275027602770278027902800281028202830284028502860287028802890290029102920293029402950296029702980299030003010302030303040305030003070308030903100311031203130314031503160317031803190

PRINTMOVEPRINTMOVE .PRINTMOVEPRINTMOVEPRINTMOVEPRINTMOVEPRINTMOVEPRINTFOR IBO(I)B 1 C I )B2(I)B3(I)B4CI)B5CI)BÓ(I)B7ÍI)NEXTMOVEDRAWMOVEDRAWMOVEDRAWMOVEDRAWMOVEDRAWMOVEDRAWMOVEDRAWMOVEDRAWN=N + 1REM -K=K+1GOSUB

LO2+N#lLl

2+N#lL2

2 + N*lL3

2 + N*lL4

2 + N*lL5

2 + N#lLo

2 + N#lL7

-1 TO= XO(I-XI C I= X2(I= X3(I= X4(I= X5(I= X6(I=X7<II5-H N~5 + N#l5+CN-5 + N#l

5 ?

c-

57

5,

5?

5 j

5 1

K))))))))

1 )5í1)5?

5-KN-l)5+N#l5+ÍN-5+N£l5-HN-5+N&15+(N~5 + N#l5+<N-5 + N#l5-f-CN-5+NK1

7000

•J T

1)

5 ?1 )5 t1 )5/1)5í1)5 í

IF N=9 THENGO TOGOSUBN = lMOVEPRINTREM -GOSUB

31408000

3 + N#lK

5 t

58

51

44

37

30

23

16

#l5r 6969#15,0941* 1 5 > 4 155* 1 5 T 4 127#15,5502\t- -i cr tr críf • i iJ ! O J

34#15j 2748#15? 2720

>CUALQUIER

3120

74

— > CALCULO DE LOS5000

IF K-F4 THENGO TO 3070

3200

PERIODO DE TIEMPO

SUPERVIVIENTES

Page 232: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG.59

O^V V

321032203230324032503200327032803290330033103320333033403350336033703380339034003410342034303440345034603470348034903500351035203530354035503560357035803590360036103620363036403650366036703680369037003710372037303740

JAC.I 1 ~ ~~ ' •

REM ESCOGIMIENTO DEL MENOR SUPERVIVIENTEKl — KK-F4 •M=LOIF M<L1 THENM=L1IF M<L2 THENM=L2IF M<L3 THENM=L3IF M<L4 THENM=L4IF M<L5 THENM=L5IF M<L6 THENM=L6IF M<L7 THENM=L7IF LO=M THENIF L1=M THENIF L2=M THENIF L3=M THENIF L4=M THENIF L5=M THENIF LÓ=M THENSCK1+1-K)=X7<GO TO 3610S<K1+1-K)=XÓ(GO TO 3610S(K1+1-K)=X5(GO TO 3610SCK1+1-K)=X4ÍGO TO 3010S(K1-H-K)=X3ÍGO TO 3610S(Kl-fl-K)=X2<GO TO 3610S(K1+1-K)=X1(GO TO 3610S(KÍ+1-K)=XO(FOR 1=1 TO KXO < I )~BO( 1 + 1 )XI ( J)=BKI+1)X2(I)=B2(I+1)X3(I)=B3(I+1)X4<I)=B4(I-fl)X5 C I ) ~B5( 1 + 1 )Xó(I)=Bó(I-J-l )X7CI)-B7<I+1)BOCI)-XO(I)B1CI)=X1(I)B2CD-X2CI)B3 < I >=X3( I )B4(I)=X4(I)

3270

3290

3310

3330

3350

3370

3390

36003580356035403520350034801)

1)

1)

1)

1)

1)

1)

1)

Page 233: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG.00

3750376037703780379038003810382038303840385038003870388038903900391039203930394039503900397039803990400040104020403040404050406040704080409041004110412041304140415041004170418041904200421042204230424042504200427042804290

B5(I)=X5(I)BÓÍI)-Xó(I)B7(I)=X7<I)NEXT - IIF K1=>K2 THEN 3900Kl-K'l-t-1GQSUB 7000IF N=9 THEN 3840GO TO 3800GOSUB 8000

MOMEPRINT KlGOSUB 5000GO TO 3240

REM SALIDA

IF L9=K+1 THEN 4010K1=K1+1

REM -GOSUBGO TOPRINTFOR IPRINTNEXTPRINTINPUTPRINTPRINTPRINTPRINTIF F3PRINTGO TOPRINTPRINTPRINTPRINTINPUTIF LJ$GO TOPRINTPRINTPRINTPRINTPRINTPRINTPRINTPRINTPRINT

—> INYECCIÓN DE LA COLA DE CEROS71403820•LJJIDIGITOS DECODIFICADOS í '

=1 TO K2

I'JJlpresione RETURN psrs continuar

0320320320321 Th032402C032032

1 Jl

•LJJJJJ1ESCUELA POLITÉCNICA NACIONAL'JIFACULTAD DE INGENIERÍA ELÉCTRICA1

•JIALGOR1TMO DE UITERBI'1 JICODIGO K = 4 R = 1/3'

-1EN 4140•JIDECQDIFICAC1QN SUAVE (8 niveles)')"JIDECQDIFICACIQN DURA .(2 niveles)'•JIHISTORIA DE LAS TRAYECTORIAS = 'í•JINUMERO DE DATOS GENERADOS = • ? K2OTRA PRUEBA CS/NKGG"?

>

F4

= 'S' THEN 42104320•LJJJJ1 ESCUELA POLITÉCNICA NACIONAL1

'JJ1ALGORITMO DE MITERBI1

•JJ1DEMOSTRACIONES A ESCOGER '?•JITecls * 3 * K = 3•JITecls * 4 > K = 4

K ~ 5K = 3K = 4

•JITecls *•JITecla * ó•JITecls * 7•JITecls t 8 K ~

1/2'1/2'1/2'1/3'1/311/31

Page 234: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG,01

430043104320433043404350430050005010502050305040505050005070508050905100511051205130514051505:160517051805190520052105220523052405250520052705280529053005310532053305340535053605370538053905400541054205430544054505400

PRINTENDPRINTINPUTIF W$=PRINTENDREMREMP1=LO+D<1)RÍ=Ll+n<8>P2=L2+D(Ó)R2=L3+D<3)P3=L4+ÜC7>R3=L5+D<2)P4=LÓ+DÍ4)R4=L7+B<5)P5=LO+D(8)R5=LH-DU)PÓ=L2+n<3)Ró=L3+D(ó)P7=L4+D(2)R7=L5+D(7>PS-LÓ+HC5)

JITecls MENÚ1

LJJJJJI desea reáressr si MENÚ CS/N)

Sa OR W$='s'JJI GRACIAS'

THEN 4

SUBRUTINA DEL CALCULO DE SUPERVIVIENTES

IF PK=R1 THEN 5200LO=R1FOR 1=1 TO K-lXO(I)=E1CI)NEXT IMOVE 5+<N-l)*157Ó2DRAW 5+N*15fó9GO TO 5320LO = P1FOR 1=1 TO K-lXO(I)=BO<I)NEXT IMOVE 5+(N-l)*15íó9DRAW

IF P2<=R2 THEN 5410L1 = R2FOR 1=1 TO K-lXI (I)=B3CI)NEXT IMOVE 5+<N-l)*15r48DRAW 5+N*15?62GO TO 5470L1 = P2FOR 1=1 TO K-lX1(I)=E*2(I)NEXT IMOVE 5+(N-l)*15,55DRAW 5+N*15?62

Page 235: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG.62

54705480549055005510552055305540l~ c? cr s\0

55705580559056005610562056305640565056605670568056905700157105720573057405750576057705780579058005810582058305840585058605870588058905900591059205930594059505960597059805990000000 10

X1(K)=0IF P3<=R3 THENL2 = R3FOR 1=1 TO K-lX2CI)=B5<I)NEXT IMQVE 5+<N-l>#15DRAW 5+N#15í55GO TO 5620L2=P3FOR 1=1 TO K-lX2(Í)=B4(I)NEXT IMOUE 5+<N-l)#15DRAW 5+N#15í55X2CK)=0IF P4<=R4 THENL3=R4FOR 1=1 TO K-lX3(I)=B7(I)NEXT IMOUE 5+<N-l)#15DRAW 5+N*15í48GO TO 5770L3=P4FOR 1=1 TO K-lX3(I)=BÓ<I)NEXT IHOYE 5-KN-l)#l5DRAU 5+N#l5j48X3CK)=0IF P5<=R5 THENL4 = R5FOR 1=1 TO K-lX4( I ) =B1 ( I )NEXT IMOUE 5+(N-l)*l5DRAU 5+N^lSr41GO TO 5920L4 = P5FOR 1=1 TO K-lX4U)=BO(I)NEXT IMOUE 5+(N-l)*15DRAW 5+N^15í41X4(K)=1IF P6<=R6 THENL5=R6FOR 1=1 TO K-lX5(I)=B3<I>NEXT 1"MOVE 5+CN-l)*15DRAW 5+N*15734GO TO 6070L5=Pó

5560

j 34

r 41

5710

7 20

7 27

5860

i 62

T 69

6010

r48

Page 236: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG,03

6020603060406050606000706080609061006110612061306140615061606170618061906200621062206230624062506260627062806290630063106320633063406350636063706380639064006410642064306440645064606470648064906500651065206530654065506560

FOR IX5CI)NEXTMOUE •DRAWX5CK)IF P7L6-R7FOR IX6CI)NEXTMQUEDRAWGO TOL6=P7FOR IXó(I)NEXTMOUEDRAWXó(K)IF P8L7=R8FOR IX7CI)NEXTMQUEDRAWGO TOL7-P8FOR IX7(I)NEXTMOUEDRAWX7CK)

= 1 TO=B2(II5+<N-5+NK1= 1<=R7

= 1 TO=B5(II

K~l)

1 )*155,34

THEN

K-l>

5+<N-l>#155 + N*l6220

-1 TO=B4(II5+<N-5+N#l= 1<=R8

= 1 TO= B7(II5-KN-5-fN#l6370

-1 TO=B6CII5i(N~

5f27

K-l)

1)^155,27

THEN

K-l)

1)#155,20

K-l)

1 )*15

,55

6160

,34

,41

6310

r20

,275+N#15»20-1

FOR J=l TOBOÍ J)=XO<JBKJ)B2(J)B3CJ)B4 C J )B5 C J)B<S< J)B7(J)NEXTMGUEPRINTMOUEPRINTMOUEPRINTMOUEPRINTMOUE

K)

=X1(J)— Y? ( !— AJÍ. \J

"~~ A O ^ \J

=X4(J=X5 C J

\ / / *

))))>

=X7(J)J2 + N*lLO

2 + NíKlLl

2 + N*lL2

2+N*lL3

2+N*l

5/65

5,38

5,51

5,44

5,37

Page 237: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG. 04

057005806590ÓÓOOÓÓ10ÓÓ20ÓÓ30ÓÓ40ÓÓ5070007010702070307040705070007070708070907100711071207130714071507100717071807190720072108000801080203030804080508060S07090808090810081108120813081403150B1ÓO8170818081908200Í32108220

PRINT L4MOUE 2+N#15,30PRINT L5MOVE '2+N#15,23PRINT LoMOVE 2+N*15, 16PRINT L7N=N+1RETURNREMREM CALCULO DE LAS DISTANCIAS DE HAMMINGMOVE 30+N*10flOINPUT VIV1=INT(V1)IF VKO OR V1>F3 THEN 7020MOVE 30+N*10i7INPUT V2V2=INTCV2)IF V2<0 OR V2>F3 THEN 7000MOVE 30+N*10í4INPUT V3 .V3=INT(V3)IF V3<0 OR V3>F3 THEN 7100REM ----- > CODIFICACIÓNFOR 1=1 TO 80=ABS(A<If D-V1)

D(I)=0+T+UNEXT IRETURNREM ***********************************************************REMPACEMOVEDRAWDRAWÜRAWDRAWMOVEPRINT

TÍTULOS

0,0OflOO130,100130,00,040r95"ESCUELA POLITÉCNICA NACIONAL

F4

MOUE 10,90PRINT 'DEMOSTRACIÓN DEL DECODIFICADOR K = 4MOUE 10,85PRINT 'LONGITUD DE LAS TRAYECTORIASMUYE 80,85PRINT 'BITS A GENERARSE;MOVE 5,10PRINT 'Primer bit (O-' ÍMOVE 5,7PRINT "Secundo bit (0-MOVE 5,4PRINT 'Tercer bit C O- • í F3 í ' )MOVE 1,80

R = 1/3'

K

F3?1)

Page 238: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG*65

323082408250820032708280329083008310832083308340335033608370838083908400841084208430844084508460847084808490

PRINTHOYE 3PRINTMOVE-3PRINTMQUE 3PRINTMQVE 3PRINTHOYE 1PRINTMGYE 1PRINTMQVE 1PRINTHOUE 1PRINTMOVE 1PRINTMOUE 1PRINTMOUE 1PRINTMQUE 1PRINTRETURNEND

"Estsdo",77I t D

1

,701 ¡ Tiempo*?74* iij 72•v"JÓ9'000',62•001aí 55"010"r4S

•Olí'r41

"100-.34"101a

,27"110'?20•111"

Page 239: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG*ÓÓ

100010101020103010401050106010701080109011001110112011301140115011001170118011901200121012201230124012501260127012801290130013101320133013401350136013701380139014001410142014301440145014001470148014901500151015201530.1.540

REM01 = 8GO TO 800REM •REMDELETE XO,X1,XDELETE BOfBl,BDELETE ZO,Z1>ZDELETE COrCl^CDELETE D,MlrM2J1=F4+1DELETE 8,100DIM XOCJl)7X1(DIM BOCJDíBKDIM ZOÍJ1),Z1<DIM CO(J1),C1(DIM D(8)rMICJlBOCF4+1)=0 •Bl(F4-fl)-0

= 0= 0

B4<F4+1)=0B5(F4+1)=0B6<F4+1)=0B7(F4+1)-0COCF4+1)=0C1CF4+1)=0

C3(F4+1)=0C4(F4+1)=0

C6(F4 + 1)=0'C7(F4+1>=0M2(F4+1)-0

Ll-0

L3=0L4=0L5=0

L7-0

NO^O

N3=0

N5=0

G(l)=0G<2)=0

•PROGRAMA "DEHDECó'

DEMOSTRACIÓN DECÓDIGO K = 5

LOS DECODIFICADORESR = 1/3

S

Jl) ,X2Í Jl)Jl) fB2(Jl)Jl) fZ2CJl)

l) rX4CJl) fX5(Jl) , XOCJl) ?X7(J1)B3<J1) rB4(Jl) jB5<Jl) rBÓCJl) , B7( Jl)Z3CJl) yZ4CJl) íZ5C Jl) 7ZÓÍJ1) -Z7CJ1)

Jl) ?C2(J1) 7C3ÍJ1) JC4CJ1)) íM2(Jl) ?GC5) t A(8?3)

>CÓ(J1) TC7CJ1)

Page 240: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG,07

1550156015701580159016001010162016301640165016601670168016901700171017201730174017501760177017801790180018101820183018401850186018701880189019001910192019301940195019601970198019902000201020202030204020502060207020802090

G(5) =AdílAC 1 r 2A < 1 r 3A (2 j 1A < 2 > 2A( 2? 3A(3ílA(3f 2A(3?3A ( 4 1 1A ( 4 t 2A<4,3A(5y 1

AC5,2A(5,3A ( 6> 1AC 6 r 2AC6í3A (7í 1AÍ7,2A C7í 3A(8f 1AC8?2A(8>3PRINTPRINTPRINTPRINTPRINTINPUTIF K2DIM SK=lN=lGOSUBMOUEPRINTGOSUBLO = D(XOCK)NO~D<ZOCK)MOUEPRINTMOUEPRINTMOVEPRINTMOVEPRINTK=K+1N=2GOSUBGOSUB

0)-0)~0)=0)=0)=0)-l#F3)=0) = i:KF3)=0)=0)=1#F3)=l:jcF3)=1*F3)=0)=0)=1*F3)=0)=1*F3)=1*F3)=1*F3)=0)=1*F3)=1*F3)=1*F3•LJJJJIE' JJJ1FAC1 JJJIALG' JJJIDEM•JJJINUMK2

<F4 THENCK2+F4)

1000033 » 85"PERIODO9000

1)= 0S)*— 1

20r75LO

20>43NO32;75XOCK)32*43ZO<K)

900010000

SCUELA POLITÉCNICA NACIONAL"ULTAD DE INGENIERÍA ELÉCTRICA'ORITHO DE UITERBI'OSTRACION DE LOS DECODIFICADORESERO DE BITS A GENERARSE tGG'?

1840

DE TIEMPO K

Page 241: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG,08

21002110212021302140215021602170218021902200221022 0223022402250226022702280229023002310232023302340235023602370238023902400241024202430244024502460247024802490250025102520253025402550256025702580259026002610262026302640

AÍ = LOA2-NOLO=A1+D(1)L4=A2+ní7>NO=A1+B(8)N4=A2+B(2)XO(K)=0X4<K)=0ZO(K)=1Z4(K)=1X4(1)=ZO(1)Z4C1)=ZO(1)ZO<1)~XO<1>MOUE 20,75PRINT LOMQUE" 20,59PRINT L4HOYE 20,43PRINT NOHOYE 20,27PRINT N4FOR 1=1 TOBO(I)=XO(I)B4(I)=X4(I)CO(I)=ZO(I)C4(I)=Z4(I)HOYE 30+3*1PRINT XO<I)MOUE 30+3*1PRINT X4CI)MOVE 30+3*1PRINT ZO(I)MOVE 30+3*1PRINT Z4CI)NEXT IMOUE 33,85

K

,75

r59

,43

r27

PRINT 'PERIODOK-K + 1N=lGOSUB 9000GOSUB 10000A1 = LOA2-L4A3-NOA4-N4LO=A1+B(1)L2-A2+DÍÓ)L4=A3+n<7)LÓ=A4+D(4)NO=A1+B<8)N2=A2+DC3)N4=A3+D(2)N6=A4+D (5)XO(K)~0X2(K)=0

DE TIEMPO — K

Page 242: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG.69

2050260020702680269027002710272027302740275027602770278027902800281028202830284028502860287028802890290029102920293029402950290029702980.299030003010302030303040305030603070308030903100311031203130314031503160317031803190

X4<K)=0XÓ<K)=0ZO(K)=1Z2(K)=1

FOR -1=1 TO 2xo<r)=Bo<i>X2(1)=B4(I)X4(I)=CO(I)X6(I)=C4CI)ZO(I)=BO(I)Z2(I)=B4(I)Z4(I)=CO(I)Z6CD-C4CI)NEXT IMOVE 20.75PRINT LOMOUE 20.07PRINT L2MÜUE 20.59PRINT L4MOUE 20r51PRINT LoMOVE 20,43PRINT NOMOUE 20.35PRINT N2MOUE 20r27PRINT N4MOYE 20.19PRINT NoFOR 1=1 TO KBO<I)=XO(I)HOUE 30+3*1.75PRINT XO(I)B2(I)=X2(I)MOYE 30+3*1.67PRINT X2CI)B4(I)=X4(I)MOUE 30+3*1.59PRINT X4(I)B6(I)=XÓ(I)MOUE 30+3*1.51PRINT XÓ<I)CO(I)=ZO(I)MOUE 30+3*1.43PRINT ZOCI)C2(I)=Z2(I)HOYE 30+3*1.35PRINT Z2<I)C4<I)=Z4CI)MOVE 30+3*1 r 27PRINT Z4ÍI)C6(I)=Zóí I)

Page 243: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III . PAG,70

320032103220323032403250320032703280329033003310332033303340335033003370338033903400.3410342034303440345034603470348034903500351035203530354035503500357035803590300036103020303030403650366030703080309037003710372037303740

HOYE 30+3*1, 19PRINT ZÓ(I)NEXT IMOVE. 33,85PRINT 'PERIODOK=K + 1N=lA1 = LOA2-L2A3=L4A4=LÓA5=NOAó = N2A7=N4A8 = N6GOSUB 9000GOSUB 10000MQVE 33,85PRINT 'PERIODO|_0 = Al + ri< 1 )L1=A2+Ü(7)L2-A3+DCÓ)L3=A4+n<4)L4=A5+D(7>L5=AÓ+D(1) 'LÓ=A7+B<4)L7=A8+D(Ó)NO=A1+DC8)N1=A2+Ü(2)N2=A3+DC3)N3=A4+DC5)N4=A5+D(2)N5=A6+n(8)NÓ-A7+DC5)N7=A8+D(3)XOCK)-0X1(K)=0X2<K)-0X3(K)"0X4(K)=0X5(K)=0X6<K)=0X7(K)=0ZOÍK') = 1Z 1 ( K ) = 1Z2(K)=1Z3(K)=1Z4(K)=1Z5(K)=1Zó(K)=lZ7(K) = Í.FOR 1=1 TO 3XOCI)-BO(I)X 1 ( I ) = B 2 ( I )X2( I )=B4 C I )

0E TIEMPO

DE TIEMPO K

Page 244: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG,71

3750376037703780379038003810382038303840385038603870388038903900391039203930394039503960397039803990400040104020403040404050406040704080409041004110412041304140415041604170418041904200421042204230424042504260427042804290

X3(I)=B6(I)X4(I)=CO<I)X5(I)=C2(I)XÓ(I)=C4CI)X7CI)=CÓ(I)ZO<I)=BO(I>Zl(I)=62a')Z2(I)=EM(I>Z3<I)=BÓ(I>Z4(I)=CO(I)Z5(I)=C2<I)ZÓ(I)=C4<I)Z7CI)=CÓ(I)NEXT IGOSUB 11000D e M — -. '••r\. nK=K+1GOSUB 9000GOSUB 10000HOYE 33rS5PRINT ' PERIOIGOSUB 6000IF K=F4 THENGO TO 3900

^CUALQUIER PERIODO

<n ricr TTtrwc'ni U U t i 1 1 n r U

3990

REH ESCOGIMIENTO DEL MENORK1=KK=F4M^LOIF M<L1 THENM=L1IF M<L2 THENM~L2IF M<L3 THENM=L3IF M<L4 THENM=L4IF M<L5 THENM-L5IF M<Ló THENM^LÓIF M<L7 THENM-L7IF M<NO THENM~NOIF M<N1 THENM=N1IF M<N2 THENM-N2IF M<N3 THENM-N3IF M<N4 THENM-N4IF M<N5 THENM = N5IF M<NÓ THEN

4050

4070

4090

4110

4130

4150

4170

4190

4210

4230

4250

4270

4290

4310

DE TIEMPO

• ;K

IVIENTE

Page 245: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG,72

4300431043204330434043504360437043804390440044104420443044404450440044704480449045004510452045304540455045604570458045904600461046204630464046504660467046804690470047104720473047404750476047704780479048004810482048304840

M = NÓIF M<N7 THENM=N7IF LO=M THENIF L1=M THENIF L2=M THENIF L3=H THENIF L4=M THENIF L5=M THENIF L6=M THENIF L7=M THENIF NO=M THENIF N1=M THENIF N2 = M THENIF N3=M THENIF N4=M THENIF N5=M THENIF NÓ=M THENS(K1+1-K)=Z7MOVE 2rl4DRAW 13fl4GO TO 5110S(Kl+i-K)=26Mu VE 2, 18DRAW 13; 18GO TO 5110S(K1+1-K)=Z5MOUE 2j22DRAW 13f22GO TO 5110S(K1+1-K)=Z4MOVE 2.26DRAW 13í26GO TO 5110S(K1+1-K)=Z3MO^E 2?30DRAW 13,3000 TO 5110S(K1+1-K)=Z2MOVE 2,34DRAW 13» 3400 TO 5110S<K1-H.-K)=Z1MOUE 2.38DRAW 13,38GO TO 5110SCK1+1~K)=ZOMOUE 2f42DRAW 13i 42GO TO 5110S(K1+1-K)=X7MOVE 2;4ÓDRAW 13746GO TO 5110S(K1+1-K)=XÓ

4330

508050405000496049204880484048004760472040804640460045604520(1)

(1)

(1)

(1)

(1)

(1)

(1)

(1)

U)

(1)

Page 246: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG+73

4850480048704880489049004910492049304940495049004970498049905000501050205030504050505000507050805090510051105120513051405150516051705180519052005210522052305240525052605270528052905300531053205330534053505360537053805390

MQVE 2,50DRAW 13,50GO TO 5110S(Kl-fl-K)=X5(lMOVE 2,54DRAW 13,54GO TO 5110S(K1+1-K)=X4<1MQUE 2,58DRAW 13.58GO TO 5110S<K1+1-K)=X3(1MQUE 2,02DRAW 13,02GO TO 5110S(K1+1-K)=X2(1MÜVE 2,óóDRAW 13,00GO TO 5110S(K1+1-K)"X1 ( 1MOVE 2,70DRAW 13,70GO TO 5110S<K1+1-K>=XOC1MOVE 2,74DRAW 13,74FOR 1=1 TO KXO(I)=BO(I-H>X1(I)=BKI + 1)X2CI)=B2<I+1)X3(I)=B3(I+1)X4(I)=B4(I-fl)X5(I)=B5(I+1)X6(I)=B6(I+1)X7(I)=B7<I+1)ZO(I)=CO(I+1)Zl C I )=C1 C 1+1 )Z2(I)=C2(I+1)Z3(I)=C3(I+1 )Z4(I)=C4(I+1)Z5CI)=C5(I+1)ZÓ(I)=Có(I+l)Z7(I)=C7(I+1)BO(I)=XOCI)BKI)=XKI)E¡2 CI ) ~X2 < I )B3(I)=X3(I)B4(I)=X4(I)85(I)=X5(I)BÓ(I)=Xó(I)B7<I)=X7(I)COCD^ZOCI)Cl ( I )=Z1. ( I )C2(I)=Z2(I)C3<I)=Z3(I>

)

)

)

)

)

)

Page 247: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG,74

558055905000501050205030504050505ÓÓO507056805090570057105720573057405750570057705780579058005810000000100020603000406050ÓOÓO00700080609061000110

C5CI)=Z5(I)C6<I)=Zá(I)C7CI)=Z7CI)NEXT IIF K1=>K2 THENKl=Ki+lGOSUB 9000GOSUB 10000MOVE 33,85PR1NT "PERIODOGOSUB 0000GO TO 4020REn p

5530

DE TIEMPO : Kl

I D A-

IF L9=K+1 THEN 5650K1-K1+1Vl = 0

V3~0GOSUBGOSUBMOVEPRINTGO TOPRINTFOR IPRINTNEXTPRINTINPUTPRINTPRINTPRINTPRINTPRINTPRINTPRINTINPUTIF W$PRINTENDREM --

Kl

91301000033,85•PERIODO DE TIEMPO > '5510•LJJIDIGITOS DECODIFICADOS

=1 TO K2• i"; i;" = • í s (i)

"presione RETURN psra continuar

032

032032

"LJJJJJIESCUELA POLITÉCNICA NACIONAL"•JIFACULTAD ,DE INGENIERÍA ELÉCTRICA1

•JIALGORITMO DE VITERBI''JICODIGO K ~ 5 R = 1/31•J1HISTORIA DE LAS TRAYECTORIAS = '?F4•J1NUMERO DE DATOS GENERADOS = '?K2

"JI OTRA PRUEBA (S/NKGG"?WS^"S 1 THEN 4"JJI GRACIAS1

SUBRUTINA DEL CALCULO DE SUPERVIVIENTES

Rl=Ll+n<8)Q1=LO+DC8)S1=L1+D<1)P2-L2+DÍ7)Q2-L2+D(2)R2-L3+DC2)

Q3=L4+D(3)

Page 248: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG,75

0120013001400150616061700180019002000210022002300240025062600270028002900300031003200330034063506 30 O037063806390640064106420643064406450646064706480649065006510652065306540655065606570658065906600661066206630664066506660

S3=L5+D(Ó)

Q4=L6+D(5)R4=L7+D(5)S4 = L7-KK4>P5=NO-KK7>

R5=N1+D(2)S5=N1+D(7)PÓ-N2-KK1)Q6=N2+n(8)R6-N3+DC8)S6=N3+DC1)P7=N4+D(4>Q7=N4H-D(5)R7=N5+D(5)S7=N5+D(4)

Q8 = N6-l-n<3)R8=N7+D(3)S8=N7+DC6)IF RK=P1 THEN 6390LO=P1FOR 1=1 TO K-lXO(I)=BO(I)NEXT IGO TO 6430LO = R1FOR 1=1 TO K-lXOCD-B1CI)NEXT IIF R2<=P2 THEN 6490L1=P2FOR 1=1 TO K-lXKI)=B2(I)NEXT IGO TO 6530L1 = R2FOR 1=1 TO K-i

NEXT IIF R3<=P3 THEN 0590L2=P3FOR 1=1 TO K-lX2(I)=B4<I)NEXT IGO TO 6630L2=R3FOR 1=1 TO K-lX2<I)=B5(I)NEXT IIF R4<==P4 THEN ÓÓ90L3 = P4FOR 1=1 TO K-lX3(I)=BÓ(I)

Page 249: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG,70

¿¿70¿¿80¿¿90¿700¿7106720¿730¿740¿750Ó7¿0¿770¿7800790¿800¿810¿820¿830¿840¿850Ó8¿0¿870¿880¿890¿900¿9106920¿930¿940¿950696009700980¿9907000701070207030704070507000707070807090710071107120713071407150716071707180'719072007210

NEXTGO TOL3=R4FOR IX3(I)NEXTIF R5L4=P5FOR IX4(I)NEXTGO TOL4 = R5FOR IX4(I)NEXTIF R¿L5=PóFOR IX5(I)NEXTGO TOL5=RóFOR IX5ÍI)NEXTIF R7LÓ=P7FOR IX6(I)NEXTGO TOL6 = R7FOR IX¿(I)NEXTIF R8L7=P8FOR IX7C1)NEXTGO TOL7-R8FDR IX7(I)NEXTIF SINO = Q1FOR IZOCI)NEXTGO TONO = S1FOR I20(1)

I

==

I

==:

I

=

=

I

=

¿730

1B7

-P

1CO

¿8

1Cl

= P

1~C2I

==I

==I

¿9

1C3

= P

1C4

TO(I

5

TO(I

30

TO<I

6

TO(I

30

TOÍI

7

TO(I

K-l)

THEN

K-l)

K-l)

THEN

K-l)

K-l)

THEN

K-l)

7030

r=

=

I

=

=

I

1C5

-P

1C¿

TO(I

8

TO(I

K-l)

THEN

K-l)

7130

=_.

I

=

1C7

= Q

1-BOI

TO(I

1

TO(I

K-l)

THEN

K-l)

7230

==1Bl

TO(I

K-l)

¿790

¿890

¿990

7090

7190

Page 250: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG»77

7220723072407250720072707280729073007310732073307340735073007370738073907400741074207430744074507460747074807490750075107520753075407550750075707580759070007610762070307640765076607670768076907700771077207730774077507760

NEXT IIF S2<=Q2 THEN 7290

FOR 1=1 TO K-lZ1(I)=B2(I)NEXT IGO TO 7330N1=S2FOR 1=1 TO K-lZ1CI)=B3(I)NEXT IIF S3<=Q3 THEN 7390

FOR 1=1 TO K-lZ2(I)=B4<I)NEXT IGO TO 7430N2=S3FOR 1=1 TO K-lZ2(I)=B5(I)NEXT IIF S4<=Q4 THEN 7490

FOR 1=1 TO K-lZ3(I)=BÓ(I)NEXT IGO TO 7530N3=S4FOR 1=1 TO K-lZ3CI)=B7(I)NEXT IIF S5<=«5 THEN 7590N4=Q5FOR 1=1 TO K-lZ4(I)=CO(I)NEXT IGO TO 7630N4=S5FOR 1=1 TO K-lZ4(I)=C1(I)NEXT IIF S6OQÓ THEN 7690N5=Q6FOR 1=1 TO K-lZ5(I)=C2(I)NEXT IGO TO 7730N5=SÓFOR 1=1 TO K-lZ5CI)=C3(I)NEXT IIF S7<-Q7 THEN 7790

FOR 1=1 TO K-l

Page 251: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG*78

7770 NEXT I7780 GO TO 78307790 NÓ = S77800 FOR 1=1 TO K-l7810 ZÓ<I)=C5(I)7820 NEXT I7830 IF S3<=Q8 THEN 78907840 N7-Q87850 FOR 1=1 TO K-l7800' Z7(I)=CÓÍI)7870 NEXT I7880 GO TO 79307890 N7-S87900 FOR 1=1 TO K-l7910 Z7(I)=C7(I)7920 NEXT I7930 XO(K)=07940 X1CK)=07950 X2CK)=07900 X3(K)=07970 X4(K)=07980 X5(K)=07990 XÓ(K)=08000 X7(K)=08010 ZO(K)=18020 Z1(K)=18030 Z2(K>=18040 Z3CK)=18050 Z4CK)=18000 Z5(K)=18070 Zó(K)=l8080 Z7(K)=18090 GOSUB 110008100 RETURN9000 REM CALCULO DE LA DISTANCIA DE HAMMING9010 MOVE 30+10#N>109020 INPUT VI9030 V1=INT(V1)9040 IF VKO OR U1>F3 THEN 90109050 MOVE 30+10*N;79000 INPUT V29070 V2=INT(V2)9080 IF U2<0 OR V2>F3 THEN 90509090 MOME 30+10*^/49100 INPUT U39110 V3=INT(V3)9120 IF V3<0 OR U3>F3 THEN 90909130 FOR 1=1 TO 69140 09150 T9100 U=ABS(A(Ii3)-V3)9170 D(I)=0+T+U9180 NEXT I9190 RETURN

Page 252: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG.79

10000 REM **************10010 PRINT 'LJIESCUELA10020 PRINT '1DEMOST10030 PRINT -1CODIFI10040 MOUE 0.010050 DRAW OrlOO.10060 ÜRAW 130.10010070 DRAW 130,010080 DRAW 0,010090 MOUE OrSO10100 DRAW 130,8010110 MOUE .130)8810120 DRAW 0,8810130 HOYE 15.8810140 DRAW 15,1410150 MQUE 30,8310160 DRAW 30,1410170 MOUE 5.1010180 PRINT 'Primer10190 MOUE 5.710200 PRINT 'Seáundo10210 MOUE 5.410220 PRINT 'Tercer10230 MQUE 0.1410240 DRAW 130.1410250 MOUE 3>3310260 PRINT 'Estado"10270 MOUE 17.8310280 PRINT 'Metrics10290 MQUE 5,7510300 PRINT '0000'10310 MOUE 5.7110320 PRINT "000:1. '10330 MOUE 5.6710340 PRINT '0010'10350 MOUE 5.6310360 PRINT "0011'10370 MOUE 5.5910380 PRINT '0100-10390 MOUE 5.5510400 PRINT '0101-10410 MOUE 5.5110420 PRINT "0110-10430 MOUE 5.47.10440 PRINT -0111 '10450 MOUE 5.4310460 PRINT -1000'10470 MOUE 5.3910480 PRINT "1001 "10490 MOUE 5.3510500 PRINT "1010-10510 MOUE 5.3110520 PRINT '1011110530 MOUE 5.2710540 PRINT "1100'

RACICADO

bit

bit

bit

M

***** TÍTULOS *POLITÉCNICA NACIONAL'ON DE LOS DECODIF1CADORES3

R K = 5 R = 1/3"

Page 253: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG.80

10550;L05ÓO105701058010590100001001010620100301004010050110001101011020!L1030110401105011000110701108011090111001111011120111301114011150111001117011180111901120011210112201123011240.112501126011270112801129011300113101132011330113401135011300113701138011390114001141011420

MOVE 5r23PRINT '1101'MOVE 5,19PRINT '1110'MOVE 5,14PRINT 'lili1

MOVE 30?84riRAU 130,84MOVE 33,81PRINT "Historie de las trayectorias "íF4í' bits"RETURNREM **#* SUBRUTINA PARA LA IMPRESIÓN DE MÉTRICASMOVE 20.75PRINT LOMOVE 20,71PRINT LlMOVE 20ró7PRINT L2MOVE 20,ó3PRINT L3MOVE 20í59PRINT L4MOVE 20T55PRINT L5MOVE 20,51PRINT LoMOVE 20,47PRINT L7MOVE 20,43PRINT NOMOVE 20,39PRINT NIMOVE 20.35PRINT N2MOVE 20,31PRINT N3MOVE 20,27PRINT N4MOVE 20,23PRINT N5MOVE 20,19PRINT NoMOVE 20,15PRINT N7FOR 1=1 TO KBO(I)=XO(I)Bl(I)=Xi(I)B2(I)=X2<I)B3(I)=X3CI)B4(I)=X4(I)B5(I)=X5CI)Bó(I)=X6(l)B7(I)=X7(I)COCI)=20(I)

Page 254: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG.81

11430 C1CI)=Z1(I)11440 C2(I)=22(I)11450 C3(I)=23(I)11400 C4(I)=Z4(I)11470 C5(I)=Z5CI)11480 CÓ(I)=Z6(I)11490 C7(I)=27CI)11500 MGVE 30+3*1/7511510 PRINT XOCI)11520 MUYE 30+3*1,7111530 PRINT XI(I)11540 MOUE 30+3*1/0711550 PRINT X2CI)11560 MOVE 30+3*1.6311570 PRINT X3(I)11580 MGVE 30+3*1r5911590 PRINT X4(I)11600 MUYE 30+3*1/5511610 PRINT X5(I)11620 MOVE 30+3*175111630 PRINT Xó(I)11640 MOUE 30+3*1/4711650 PRINT X7(I)11660 MOUE 30+3*1/4311670 PRINT ZOCI)11680 MOUE 30+3*1/3911690 PRINT 21(1)11700 MOUE 30+3*1/3511710 PRINT 22(1)11720 MOUE 30+3*1/3111730 PRINT 23(1)11740 MQVE 30+3*1/2711750 PRINT 24(1)11760 MOVE 30+3*1/2311770 PRINT 25(1)11780 MOVE 30+3*1,1911790 PRINT ZÓ(I)11800 MQUE 30+3*1,1511810 PRINT Z7CI)11820 NEXT I11830 RETURN

Page 255: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG,82

10001010102010301040105010001070108010901100111011201130:U401150110011701180119012001210122012301240125012001270128012901300131013201330134013501300137013801390140014101420143014401450140014701480149015001510152015301540

REM -01 = 9GO TOREM •REM

DELETEDELETEDELETE

•PROGRAMA "SENCOM1

800SIMULACIÓN DE ENLACES DE COMUNICACIÓN

CÓDIGO K - 3 R = 1/2<F5TlO*(LOG(2)/LOG<10»)/20)

DIH XO(Jl) jXi(JDIM BOCJ1) fBICJDIM A(4»2) yDC4)BOCF4 + D-0B1(F4+1)=0B2(F4+1)=0B3(F4-fl)=0M2(F4+1)-0E^OEl = 0E2==0

L2-0L3=0L9=0S3(l)=0S3(2)=0S3(3>=0A(lf 1)=0A(lf2)=0

rX2ÍJl)?X3(J1>rB2<Jl),B3(Jl>1CJl)íM2ÍJl)rS3(3)

A( )=0A<4il)=l*F3

PRINTPRINTPRINTPRINTPRINTINPUTIF K2

K-lGOSUBGOSUBLO=D<XOCK)L2 = D<X2(K)MOVEPRINTMOVE

'LJJJJJJJIESCUELA POLITÉCNICA NACIONAL *•JJJIFACULTAD DE INGENIERÍA ELÉCTRICA '•JJJIALGORITMO DE VITERBI "•JJJISIMULACION DE ENLACES DE COMUNICACIÓN'JJJINUMERO DE BITS A GENERARSE ÍGQ"?K2<F4 THEN 1410

> PRIMER PERIODO DE TIEMPO •

700050001)-O4)= 1110,80K

20,18

Page 256: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG,83

15501560157015801590160016101620163016401650166016701630169017001710172017301740175017601770178017901800181018201830184018501860187018801890190019101920:L93019401950.1960197019801990200020102020203020402050206020702080.2090

'presione RETURN para continuar'

> SEGUNDO PERIODO DE TIEMPO

70005000

PRINT LOMOVE 80*18PRINT L2MOVE-10*5PRINTINPUTREM -K=K+1GOSUBGOSUBA1 = LOA2=L2LO=A1+D(1)L1=A2+0<3>L2=A1+0(4)L3=A2+D(2)XO(K)=0Xi(K)=0X2(K>=1X3(K)=1X1(1)=X2(1)X3(1)=X2<1)X2(1)=XO(1)MOVE 20*18PRINT LOMOVE 50*18PRINT LlMOVE 80íl8PRINT L2MOVE IlOyPRINT L3MCVE 110*PRINT KFOR 1=1 TOBO(I)=XO(I)

B2(I)=X2(I)B3(I)=X3(1)NEXT IMOVE 10T5PRINTINPUTREM -GOSUBK=K+1MOVE 110PRINT KGOSUB 5000REM ;:, CALCULOGOSUB 4000IF K=F4 THEN 2100MOVE 10*5PRINT "presione RETURNINPUT W$GO TO 1970

18

80

RETURNpresioneW$

.':' C U A L u UIE R7OOO

80

continuar

PERIODO DE TIEMPO

DE LOS SUPERVIVIENTES

PBTS continuar

Page 257: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG*84

•") H /-\r\C M ~- -.¿_ i u u r\. n2110 REM ' ESCOC2120 K1=K2130 K=F4 •2140 IF LO<L1 THEN2150 GO TO 22002160 IF LO<L2 THEN2170. GO TO 22402180 IF LO<L3 THEN2190 GO TO 23202200 IF LKL2 THEN2210 GO TO 22402220 IF LKL3 THEN2230 GO TO 23202240 IF L2<L3 THEN2250 GO TO 23202260 S=XO<1>2270 GO TO 23302280 S=X1C1)2290 GO TO 23302300 S=X2C1)2310 GO TO 23302320 S=X3(1)

5IMIE

2160

2180

2260

2220

2280

2300

2330 IF S-MK1) THEN 232340 E2-E2+12350 FOR 1=1 TO K2360 XO<I)=BO(I+1)2370 X1CI)~B3 (T-fl)2380 X2CI)=B2(I+1)2390 X3(I)=B3(I+1)2400 BOÍI)=XO(I)2410 Bl (I )=X1 C I )2420 B2CI)=X2(I)2430 B3(I)=X3CI)2440 M1(I)=M2<I+1)2450 M2( I ) =M1 ( I )2460 NEXT I2470 MOVE 110,802480 PRINT Kl2490 MOVE 50T30

0

2500 PRINT S2510 MOVE 110,302520 PRINT E2.2530 MOVE 10,52540 PRINT 'presione RETURN2550 INPUT W$2500 IF K1=>K2 THEN 26202570 Ki=Kl+l

continuar* í

2580259026002610•~> A "~> r\ o *¿ u

26302040

GOSUB 7000GOSUB 5000GOSUB 4000GO TO 2140O (7 W „r\. nREML9=L9+1

SALIDA

Page 258: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG,85

265026602670268020902700271027202730274027502760277027802790280028102820283028402850280028702880289029002910292029302940295029002970298029903000301030203030304030503060307030803090310031103120400040104020403040404050

IF L9=K+1 THEN 2740K1=K1+1

REM -GOSUBGOSUBMOVEPRINTGO TOIF FóPRINTINPUTPRINTPRINTPRINTPRINTPRINTIF F3PRINTGO TOPRINTPRINTPRINTPRINTPRINTPRINTPRINTINPUTIF U$GO TOPRINTPRINTPRINTPRINTPRINTPRINTPRINTPRINTPRINTPRINTPRINTPRINTENDPRINTINPUTIF W*PRINTENDREMREM

™> INYECCIÓN DE LA COLA DE CEROS7000518010,70"inyección de la cola de ceros12000-32 THEN 2770•LJJJJJJJJI ALISTE IMPRESOR R E T U R N PARA CONTINUAR"?

@Fót'LJJJJJIESCUELA POLITÉCNICA NACIONAL@Fó:-JIFACULTAD DE INGENIERÍA ELÉCTRICA"(?Fó: -JIALGORITMO DE VITERBI'@Fó:•JICODIGO K = 3 R - 1/2'@FófJIRELACION SENIAL A RUIDO = 'ÍF5Í1

-1 THEN 2850@Fó:'JIDECODIFICACION SUAVE"2860@F6

dB

JIDECODIFICACION DURA'JINUMERO DE ERRORES EFECTIVOS DELJIERRORES DE NIVEL PRODUCIDOS PORJIHISTORIA DE LAS TRAYECTORIAS =

CANAL = n íEEL CANAL= 'ÍF4

El

•JINUMERO DE ERRORES EN LA DECODIFICACION -•JINUMERO DE DATOS GENERADOS = 'íK2

JI OTRA PRUEBA (S/NKGG'Í

E2

A ESCOGER

= "S' THEN 29503080•LJJJJI ESCUELA POLITÉCNICA•JJIALGORITMO DE VITERBI1

"JJISIMULACIONES'ITecla * 9 *'ITecla * 10 *

11 .12 *13 ,14 *

•• 1 +

NACIONAL"

•ITecls'ITecla'ITecla"ITecla

1/211/2'1/2'1/3"1/3"1/3'

•JITecla =*J estas

MENÚ'simulaciones tienen IBS mismas características

del programa ejecutado si desea variarlas regrese al M

LJJJJJI desea resíressr al MENÚ CS/N) : B Í

='S" OR Wí^'s"'JJI GRACIAS"

THEN 4

SUBRUTINA DEL CALCULO DE SUPERVIVIENTES

Ql=L2+n(3)R1-LO+DC4)S1-L2+DC2)

Page 259: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

co 4-

CD UJ O M Q :z UJ ü_ <r

o i\o CQ

O Os

M H

I-J

4-

+ 4-

T-Í r

o TH

_l _

1 _J

1! II

IIC-

Í C-

J C-

Jü_

a c

¿

o o

o

o o

o

Lü X h- C-J

li- li

rc -r4

c-j

_l

ü_

O,

il 11

C-J

U.

OC

O M

_

J

o o

o

O i-í

-rH

O M

T-l Ü

j

II II

1-1M

*-

.M

I-

i£L ~

XO

O

UJ

U.

X 2

:

O o C-J

o-H

ÜQ

O

UJ X

o !-O

O iH

h-

ÜL

O O

a -

Jo

oo

oo

o o

uj p

o o

o o

T-í

i~i

i—i

C'J

¡¡

-H IIi-l

C-J M

u_ i-

c a

o o

oC-

J C-

J C-

J

ro P4 ¡l H

(H H

oo

Tc-

j c-

j

O M

¡—

^>

TH b

II 1!

TH

1-1

a

M

oo

orN

Coc

Nc-

j c-¡

c-j

Lü í- c-¡

O

IIM

!!

V'~

^

TH

h-

J¿ C

¿

O 1-

oo

oO

rHc-

Jro

M r

o

11 1!

C-J u

~C¿

_ i-i

C-J

O

C-J

_J U

. X

o o

o

ro M

o C-J

MO

iH

I- 1-

L¿

X

IILÜ

a

c-j

•Z.

CD _

¡

O O

O

ro K

I ro

Q H o

II U t-í

O

C-J

o o

UJ X h- C-i

CO II

:/ Oo to

O M

í—

"^ OJ

t-í

Üj

II II

I! V

^

II

ü 1-

1

•j¿

CO

uO

_i-

i!-H

CO

M

c-j

ü_

roo

rou

joro

oK

i

o TH

r-j

ro--i X

X

X

Xi;

il (I

II II

M M

M

M

O

O

T-Í

C

-J fO

oo

oo

oo

oo

oo

oo

oo

oo

oo

^C

'jK

i^ü

r *r ^

-r ^

^

r t

in u

i u

i in

ID u

i 10

w

co OM

C

-J

H U

Jx

:>

UJ

O~Z

L 3Z

O O

f> O

UT

-O

Page 260: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG.87

461046204630464040504660407040804690500050105020503050405050506050705080509051005110512051305140515051605170518051905200521052205230524052505200527052805290530053105320533053 4 O5350530053705380539054005410542054305440

PRINT LOMQYE 50,18PRINT LlMOUE -80rl8PRINT L2MOUÉ HOflSPRINT L3RETURNENDREM . ^ c í ; ; í í .' í í ; í c íí. %.%.%. ?f.%.REM SUBRUTINA DE GENERACIÓN -REM > GENERACIÓNF=RND<1)IF F<0*5 THEN 5070F~lGO TO 5080F=0MOVE 35*80PRINT FMOYE 110,00PRINT FMKK)=FM2(K)=M1(K)FOR 1=1 TO KHOYE 10+3*1^70PRINT MKI)NEXT IREM > CODIFICACIÓNZ1=S3(1)Z2=S3<2>S3(1)=FS3(2)=Z1S3(3)=Z2MOUE 40,60PRINT Z1?Z2MQYE 40,55PRINT S3C1) ?S3(2)UI2™S3( 1 )+S3C3)IF W2=2 THEN 5310GO TO 5320U2 = 0W1=S3(2)+U2IF Wl=2 THEN 5350GO TO 5360Wl-0MOVE 110,55PRINT U1ÍW2MOVE 50,45PRINT Ul#F3íW2*F3REM > CANAL Y CUANTIZADORCOSUB 6280Y1=W1+XGOSUB 6280Y2=W2+X

CODIFICACIÓN CANAL

Page 261: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APENÜICE III PAG,

5450.5460547054805490550055105520

IFIFIFIFIFIFIFIF

F3=Yl<Yl<Yl<Yl<Y 1 <Yl<Yl<

10000000

THEN 6130,13 THEN 5550*25 THEN 5570,38 THEN 5590,5 THEN 5610,63 THEN 5630,75 THEN 5650,88 THEN 5670

5540nr rru¡/\0

5570558055905600561056205630-5640565056605670568056905700571057205730574057505760'57705780579058005810582058305840585058605870588058905900591059205930594059505960597059805990

GO TOVl = 0GO TOVl = lGO TOYl=2GO TOVl-3GO TOVl = 4GO TOVl = 5GO TOVl = óIF Y2IF Y2IF Y2IF Y2IF Y2IF Y2IF Y2U2 = 7GO TOU2=0GO TOV2=lGO TOU2=2GO TOV2=3GO TOV2~4GO TOV2 = 5GO TOY2-6IF YlYl = lGO TOYl=0IF Y2Y2 = lGO TOY2=0IF YlE=E+1

5680

5680

5ÓSO

5680

5680

5680

5680

<0,13<0*25<0*38<0 * 5<0*Ó3<0.75<0,88

5900

5900

5900

5900

5900

5900

5900

<0.5 '

5940

<0 * 5

5980

THENTHENTHEN

THENTHENTHENTHEN

THEN

THEN

5770579058105330585058705890

5930

5970

=W1 THEN 6000

Page 262: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG*89

6000 IF Y2=U2 THEN 00206010 E = E+16020 MOUE HOf-450030 PRINT E6040 IF V1=U1*F3 THEN ÓOÓO0050 E1=E1+1ÓOÓO IF V2=W2*F3 THEN 00800070 E1=E1+10080 MOUE 110,400090 PRINT El0100 MOVE 50.400110 PRINT U1ÍU20120 GO TO 02200130 IF Yl<0*5 THEN 61600140 Ul = l6150 GO TO 01700160 Vl=00170 IF Y2<0*5 THEN 02006180 V2=l6190 GO TO 62100200 ^2=00210 GO TO 59006220 FOR 1=1 TO 40230 0=ABS(A(I.1)-V1)0240 T=ABS(A(I.2)-V2)0250 ri(I)=0+TÓ2ÓO NEXT I0270 RETURN6280 REM *********************************************0290 REM SUBRUTINA PARA EL CALCULO DEL RUIDO6300 C=06310 FOR J=l TO 126320 C=C+RND(1)0330 NEXT J6340 X=V*(C-ó)0350 RETURN

Page 263: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG*90

700070107020703070407050700070707080709071007110712071307140715071007170718071907200721072207230724072507260727072807290730073107320733073407350736073707380739074007410742074307440745074óO74707480749075007510752075307540

REMREMPAGEMOUEDRAWDRAWDRAWÜRAWMOUEDRAWDRAWDRAWDRAWMOUEDRAWDRAWDRAWDRAW

#*########*##TÍTULOS

DRAWDRAWDRAWDRAWMOUEDRAWDRAWDRAWDRAWMOUE

0,00,100130,100130,00,05,85125,35125,085,08cr o c*u. b,j

5,04125,64125,545,545,045,48125.48125,385,385,485.33125.33l?1:o, 135,13D, ¿¿

40,95PRINT 'ESCUELAMOUE 30,90PRINT 'SIMULACIÓN

80GENERADOR DE05CODIFICADOR49CANAL CON RUIDO

POLITÉCNICA NACIONAL

DATOS SEUDO-ALEATORIO

K = 3 R = 1/2

BLANCO GAUSSIANO'

DE ENLACESMOUE 5,PRINT 'MOUE 5,PRINT 'MOUE 5.PRINT -MOUE 80,49PRINT "S/N -MOUE 5,34PRINT "DECODIFICADOR"MOUE 70.34PRINT -LONGITUD DE LAS TRAYECTORIASMOUE 80,80

A GENERARSE

DE COMUNICACIÓN

F5 dB

F4

PRINT -BITSMOUE 10,80PRINT "Dato ¿enerado:'MOUE 70,80PRINT 'Contador de dstosíMOUE 10,75PRIKT "SECUENCIAS DE DATOSMOUE 10,74DRAW 45,74MOUE 10,60

K

Page 264: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG.91

75507500757075807590700076107020763076407050766070707080709077007710772077307740775077007770778077907800781078207830784078507800

PRINT 'Estado anterior? "MOVE 10,55PRINT 'Estado .actual ; *MOVE-70,00PRINT "Diáito 3 codificarse:MQVE 70?55PRINT "Secuencia codificadatMOVE 10,45PRINT "Secuencia transmitidaMOVE 10,40PRINT "Secuencia recibidaMOVE 70,45PRINT "Numero de errores i "MOVE 70,40PRINT "Errores de nivel? "MOVE 10,30PRINT 'Dato decodificado ? "MOVE 70,30PRINT " NumeroMOVE 10,25PRINT "ESTADOMOVE 10,24DRAW 50,24MOVE 10*18PRINT "LO = *MOVE 40,18'PRINT "Ll = 'MOVE 70*18PRINT 'l_2 = "MOVE 100,18PRINT 'L3 = 'RETURN

de errores

DE LAS MÉTRICAS"

Page 265: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG,92

1000101010201030104010501000107010801090110011101120113011401150110011701180119012001210122012301240125012001270128012901300131013201330134013501360137013801390140014101420143014401450140014701480149015001510152015301540

PROGRAMA ' SENCÜM2 '

COMUNICACIÓNR = 1/2

REM01 = 10GO TO 800REM SIMULACIÓN DE ENLACES DEREM CÓDIGO K = 4V=10"(-(F5-i-l<mLOG(2)/LOG(10) ) ) 720 )T"r CT [ f ~T E" Y fl V^ Y YT V./1 Vc* \* X, Y "7

DELETE B O f B l , B 2 I B 3 í B 4 , B 5 , B Ó J B 7DELETE D r M l , M 2 ; A , S 3Jl=F4+3D I M X O ( J 1 ) / X K J 1 ) f X 2 ( J l ) >X3(J1 ) f X 4 ( J l ) i X S C J l )D I M BO(J1 ) 7 B K J 1 ) / B 2 C J 1 ) j B 3 C J l ) í B 4 ( J l ) ? B 5 ( J 1 )D I M A ( 4 í 2 ) » D ( 4 ) » M K J 1 ) í M 2 ( J l ) í S 3 ( 4 )B O ( F 4 + 1 ) = 0BKF4+1)=0B 2 C F 4 - f l ) = 0B 3 C F 4 + 1 ) = 0B4(F4+1)=0B5(F4+1)=0B 6 ( F 4 + 1 ) = 0B7(F4+1)=0M 2 ( F 4 + 1 ) = 0

( J l ) / X 7 C J 1 )( J l ) , B 7 ( J 1 >

Ll = 0L2 = 0L3~0

L5=0

L7 = 0

,S3(1)=0

S3(3 )=0

A ( l ; l ) = 0

A ( l / 2 ) = 0A (2. J. )=0

PRINT "LJJJJJJJIESCUELA POLITÉCNICA NACIONAL 'PRINT 'JJJIFACULTAD DE INGENIERÍA ELÉCTRICA 'PRINT ' JJJIALGORITMO DE «JITERBI "PRINT 'JJJISIMULACION DE ENLACES DE COMUNICACIÓNPRINT -JJJINUMERO DE BITS A GENERARSE ;GG"í .INPUT K2IF K2<F4 THEN 1500REM > PRIMER PERIODO DE TIEMPO

Page 266: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG.93

155015601570'158015901000a 0101020103010401650-.1660107010801090•| "7 A AS. / \J\s

17101720173017401750170017701780179018001810182018301840185018001870188018901900,1910192019301940195019001970:L98019902000201020202030204020502000207020802090

GOSUB 9000GOSUB 7000L0=n<l>XO(K-)=0L4=D(4)X4(K)=.lMOYE 110,80PRINT KMOUE 20;18PRINT LOMOUE 20rl4PRINT L4MOVE 10 7 5PRINT * presione RETURN psra continuar1 yINPUT W$C' E" M '•-. c cr rc 1 1 >j rt n P ir o T n n n n cr T T c* w c- nh. t. n .-• o t. D u N L¡ u r t r*! J. u u u u c. \ 1. n r UK=K+1GOSUB 9000GOSUB 7000A1 = LOA2-L4LO=AH-DÍ1)L2=A2+D<4)L4=A1+D(4)Ló-A2-Ki(l )XO (K)=0X2<K)=0X4<K)=1X6(K)=1X2(1)=X4(1)Xó(l)=X4(l)X4(1)=XO<1)MOVE 20,18PRINT LOMOVE 80,18PRINT L2MOUE 20rl4PRINT I..4MOUE 80 7 14PRINT LoMOVE HOrSOPRINT KFOR 1=1 TO 2BO(I)=XO(I)B2(I)=X2CI)B4<1)=X4CI)Bó < I ) ~XA< I )NEXT IMOUE 10,5PRINT " presione RETURN pera continuar ' ?INPUT U$REM > TERCER PERIODO ÜE TIEMPOK=3GOSUB 9000GOSUB 7000

Page 267: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG,94

21002110'212021302140215021602170218021902200221022202230224022502260227022802290230023102320233023402350236023702380239024002410.24202430244024502460247024802490250025102520253025402550256025702580259026002610262026302640

MOME 110,80PRINT KAl^LOA2 = L2A3^L4A4=LÓLO=Al+n(l)Ll=A2+i:K3)L2=A3+B<4>L3=A4-KK2>L4=A1+D<4)L5=A2+D(2)LÓ=A3+rKl)L7=A4-KK3)XO(K)=0X1CK)=0X2(K)=0X3(K)=0X4CK)=1X5CK)=1X6(K)=1X7(K)=1FOR 1=1 TO 2XO(I)=BO(I)X1(I)=B2<I)X2CI)=B4(I)X3(I)=B6(I)X4(I)=BO(I)X5CI)=B2(I)Xó(I)=B4<I)X7(I)=B6(I)NEXT IMO'víE 20,18PRINT LOMOUE 50,18PRINT LlMUYE 80,18PRINT L2MOYE 110,18PRINT L3MOVE 20,14PRINT L4MOVE 50,14PRINT L5MUYE 80,14PRINT LoMOUE 110,14PRINT L7FOR 1=1 TO KBO(I)=XO(I)B1(I)=XKI)B2(I)=X2CI)B3(I)=X3CI)B4(I)=X4(I)B5(I)=X5(I)

Page 268: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG,95

20502ÓÓO20702680209027002710272027302740275027002770278027902800281028202830284028502800287028802890290029102920293029402950290029702980299030003010302030303040305030003070308030903100311031203130314031503100317031803190

Bó(I)=X6(I)B7(I)=X7(I)NEXT IMOVE • 10>5PRINT " presione RETURN pars continuar ' ?INPUT U$REM ' >GÜSUB 9000K=K+1MOVE 110,80PRINT KGOSUB 7000

CUALQUIER PERIODO DE TIEMPO

REM > CALCULO DE LOS SUPERVIVIENTESGOSUB 5000IF K=F4 THENMOVE 10r5

2840

PRINT " presione RETURN para continuar " íINPUT W$GO TO 2710C'CTM —r\t.n —REM ESCOGIMIENTO DEL MENOR SUPERVIVIENTEK1 = K •K=F4M = LOIF M<L1 THENM=L1IF M<L2 THENM=L2IF M<L3 THENM = L3IF M<L4 THENM-L4IF M<L5 THENM = L5IF M<LÓ THENM=LÓIF M<L7 THENM=L7IF LO=M THENIF L1=M THENIF L2=M THENIF L3=M THENIF L4=M THENIF L5-M THENIF L6=M THENS=X7C1)GO TO 3250S=XÓ(1)GO TO 3250S=X5<1)GO TO 3250S-X4C1)GO TO 3250S=X3(1)GO TO 3250

2910

2930

2950

2970

2990

3010

3030

324032203200318031603.1403120

Page 269: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG.96

32003210322032303240325032003270328032903300331033203330334033503300337033803390340034103420343034403450346034703480349035003510352035303540355035003570358035903000361030203Ó3O30403050366030703680369037003710372037303740

S=X2(1)GQ TO 3250S=XK.l)GO TO 3250S=XO(1)IF S=M1<1) THEN 3270E2=E2+1FOR 1=1 TO KXO(I)=BO(I+1)X1(I)=B1(I+1 )X2CI)=B2(I+1)X3(I)=B3(I+1)X4(I)=B4(I+1>X5(I)=B5(I+1)XÓCD^BÓCI + l)X7<I)=B7(I+1)BO<I)=XO(I)B1(I)=X1(I) •B2CI)=X2<I>B3CI)=X3(I>B4(I)=X4(I)B5(I)=X5(I)BÓ(I)=XóCI)B7CI)=X7<I)M1.(I)=M2(I + 1)M2(I)=M1ÍI)NEXT IMOVE IlOíSOPRINT KlMOVE 50?30PRINT SMOVE 110f30PRINT E2MOVE lOrSPRINT "presione RETURN pare <INPUT W$IF K1=>K2 THEN 3620K1=K1+1GOSUB 9000GOSUB 7000GOSUB 5000GO TO 2880REMREM SALIDAL9-L9+1IF L9-K+1 THEN 3740K1=K1+1F=0RErH •-, INYECCIÓN DE LA COLA :GOSUB 9000GOSUB 7180MOUE 10^70PRINT "inyección o'e 1 3 cola deGO TO 3600IF F6-32 THEN 3770

continuar'

DE CEROS

ceros

Page 270: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG*97

375037003770378037903800381038203830384038503800387038803890390039103920393039403950396039703980399040004010402040304040405040604070408040904100411041205000501050205030504050505000507050805090510051105120513051405150

PRINTINPUTPRINTPRINTPRINTPRINTPRINTIF F3PRINTGO TOPRINTPRINTPRINTPRINTPRINTPRINTPRINTINPUTIF U$GO TOPRINTPRINTPRINTPRINTPRINTPRINTPRINTPRINTPRINTPRINTPRINTPRINTENDPRINTINPUTIF U*PRINTENDREMREM

1LJJJJJJJJI ALISTE IMPRESOR R E T U R N PARA CONTINUAR";

QFÓt'LJJJJJIESCUELA POLITÉCNICA NACIONAL"@Fó:"JIFACULTAD DE INGENIERÍA ELÉCTRICA1

@F6í"JIALGORITMO DE VITERBI"@Fó:"JICODIGO K - 4 R = 1/2*@F6:'JIRELACION SENIAL A RUIDO = 'ÍF5Í' dB1

= 1 THEN 38500F6Í"JIDECODIFICACION SUAVE'3800(?Fó; " JIDECODIFICACION DURA"

•JINUMERO DE ERRORES EFECTIVOS DEL CANAL =•JIERRQRES DE NIVEL PRODUCIDOS POR EL CANAU'JIHISTORIA DE LAS TRAYECTORIAS - 'ÍF4

@Fó:"JINUMERO DE ERRORES EN LA DECODIFICACION -@FÓÍ"JINUMERO DE HATOS GENERADOS - '?K2•JI OTRA PRUEBA CS/NKGG";W$'•S" THEN 39504080•LJJJJI ESCUELA POLITÉCNICA NACIONAL1

"JJIALGORITMO DE VITERBI"'JJISIMULACIONES

El

•ITecla'ITecla"ITecl3•ITecla"ITecl3 *•ITecla *•JITecls"J estas

91011121314

= 1

A ESCOGERK= 4= 5- 3= A

KKKKK = 5MENÚ'

1/2°1/2'1/2"1/3'1/3'I/o1

5Ímul3ciones tienen IBS mismas C3r3cterieticasdel programa ejecutado si desea variarlas reárese si

'LJJJJJI desea reáressr si MENÚ <S/N) I " ?

'S- OR Wí^'s"JJI GRACIAS

THEN 4

**SUBRUTINA DEL CALCULO DE SUPERVIVIENTES

R1=L1+D(4)

R2-L3+BC2)

R3=L5+ri(l)P4=Ló+DC2)R4=L7+D(3)P5=LO+D(4)

PÓ~L2+D(2)RÓ=L3+D(3)P7-L4+DC1)

Page 271: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

C'¡

X! o o X -fc. ,-.

M ~~f u w o .— -

M •^

en e

n en

CN

CN C

N^0

C

O X

l0 O

0

•n r

Q

o -

t* o

23

!! T! H

M e

n o

1! i-*

en \-{

ÍO

0

O

Tí 1 "

en e

n en

CN

CN C

NCN

en

-t*O

O

O

•z: X

~r\

-t> o

X

">

73H

H

H•

M

M

¡|

I!¡X

I J--

H1

•"•-

{í-

t O

•Tí 1 i-'

en e

n u¡

CN

CN C

NW

fO

í-1

0 O

O

r ¿+

-X-t-

~n

wi!

^23

T T

íen

en •-

A

1!IÍ

O23 en H x m 2: en CN CO O

ui o

¡ en

o- e

n en

o

*o c

oo

o o

2: x

"n

m w

oX -

71

H M ^

M

M

||

||l£

l t-

*CN •—

• —

íM

O^

Tí 1 l— "•

en e

n en

en

en e

nen

en

en e

n en

en

\ C

N e

n •£>

6-j

íoo o

o o

o o

r en

2: x

-n

i~w o

m w

o w

II X ^

73 II

T> —

1 H

M

7?

.£•

O

'-'

M

-C*

n

¡! II

en

w t

---C

N

XI

h-1

*-

s

H

O

M O

— •

Tí 1

Í~L

en o

í uf

en e

n >

l-1 O

"O

O 0

O

M X

2:

"TI

ro m

"~~

X"O

Hji

•— •

A

II M

1! 0

73 -£>

•H X m 2: en en XI o

L«I e

n en

en

en e

n en

en

en_

t,_

t,.£

,.£

,_K

,.£

>..

£»

,N,_

t>

co x

i C

N e

n -t»

w

ro t

-1

oo

oo

oo

oo

oo

x-n

ro

2:x

-n

rn

fo o

to

o m

ro o

ro

~n

~ 73

I!

X ^

73

1!

HH

TI

H

— ]

M

73 "

ns

-'M

CJ

CD

M

C^

IWII

II

M

11

w- -

^ en

w

M

n4>

en

en

73

— H

O

"s -l

Wt-

í O

O

M

O•—

• '

— i

Xi

i m

t. j

-^ en -t* O-

O

ui u

i ui

en e

n en

w w

w w

c*j

wo

co \

CN

en

•£>

o o

o o

o o

x 2

: x

~n r

Qt-1

m i-

1 o

i-1

o^

X

73

IIT

í H

M

T>

H

--• u

ro o

!I

M

11

11

o w

H-

enro

u

^-s

j

NJ~1

M 0

0-^

Tí 1

H-

en e

n en

WW

Ww

ro

H-O

0 O

-Z.

X

-TI

rn i-

1 o

X

— 7

3H

M^-

l—l

M

1!

II£d

1 —

W •— H

i-H O

v_^

Tí 1

M-

en e

n en

w r

o ro

O

SQ C

Oo

o o

r M

Xh-

1 T

j O

II

—71

-n

T^

ro r

- j *

-A

II

II 0

71 ro — i

x rn 2: en w en o

en e

n en

w r

o fo

\ CN

en

0 0

O

2: x

~n

m o

oX *

PD

-1 M —

• M

M

!!

IIcd

M-

O •"*

— !

M O

s->

Tí 1

|-J-

en e

n en

fo r

o fo

4>

W

tOo o

or

Q ;

zo

o m

II X

H H

!->•

O!—

t

en ro co o

en e

n en

en

en e

nro

ro

t-*

H^

t- O

-O

03 x

! CN

0 O

0 O

0 O

x -n

r

M 7

3 ~

oo o

o

~n c

o c

o^

73

II

II

11M

73

T?

r-

r•-

M

M

XI

0-

11 II

A +

+

W

t-1-

I!

C3 f

i-j

71

-.

^-s

•^ H

H--

ro

wM

O

^_,

— i

Xi

mi-*

2: en ro j> o

3> •n 2:

tí O m Q + O CO

Page 272: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG*99

5710572057305740tT" ~í c~ /\0

577057805790580058105820583058405850586058705880589059OO591059205930594059505900597059805990000060100020603060406050ÓOÓO6070608060906100611061206130614001506160617061806190620062100220623062406250

NEXT IX4<K)=1IF PÓORÓ THEN 5790L5=RóFOR 1=1 TO K-lX5í I)~B3( I )NEXT IGO TO 5830L5=PóFOR 1=1 TO K-lX5(I)=B2CI>NEXT IX5CK)=1IF P7<=R7 THEN 5900LÓ=R7FOR 1=1 TO K-lXóC I )~B5C I )NEXT -IGO TO 5940LÓ=P7FOR 1=1 TO K-lXa ( I >=B4< I )NEXT IXÓCK)=1IF P3OR8 THEN 6010L7-R8FOR 1=1 TO K-lX7(I)=B7(I>NEXT IGO TO 0050L7=P8FOR 1=1 TO K-lX7(I)=B6<I)NEXT IX7 (K)=lFOR J=l TO KBO(J)=XOCJ)B1(J)=X1< J)B2< J)=X2< J)'B3CJ)=X3(J)B4CJ)=X4C J)B5CJ)=X5CJ)Bó C J)=Xó( J)B7(J)=X7< J)NEXT JMQVE 20*18PRINT LOMQUE 50fl8PRINT LlMOUE SO. 18PRINT L2HOYE 110*18PRINT L3MOUE 20» 14PRINT L4

Page 273: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG.100

Ó2ÓO02706280629063000310032070007010"?m A/ u^u70307040705070607070708070907100711071207130714071507100717071807190720072107220723072407250720072707280729073007310732073307340735073007370738073907400741074207430744074507400

MOUE 50714PRINT L5MOUE 80714PRINT LoMOUE 110,14PRINT L7RETURNREM **************************REM SUBRUTINA DE GENERACIÓN -C'PM '••. r-tTMCTC'AP'T nxiK e. n ..•• btríLKHUlUÍN

F=RND(1)IF F<0,5 THEN 7070F=lGO TO 7080F=0MOUE 35780PRINT FMOUE 1ÍO r 60PRINT FHJL(K)=FM2(K)=hi(K>FOR 1=1 TO KMOUE 10+3*1*70PRINT MIC I)NEXT IREM > CODIFICACIÓN21=33(1)Z2-S3 ( 2)Z3=S3(3)S3(1)=FS3C2)=Z1S3(3)=Z2S3C4)=Z3MOUE 40700PRINT Z1ÍZ2Í23MOUE 40755PRINT S3C1) ÍS3(2) ÍS3Í3)W2^S3(1)+S3C2)+S3C4)IF W2=2 THEN 7360IF W2=3 THEN 7340GO TO 7370UI2 = 1GO TO 7370LJ2-0-U1=S3<3)+W2IF Ul=2 THEN 7400GO TO 7410Wl=0MOUE 110755PRINT W1ÍW2MOUE 50745PRINT U1*F3?W2#F3REM > CANAL Y CUANTIZADORGOSUB 8330

CODIFICACIÓN - CANAL

Page 274: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG ,101

7470748074907500751075207530754075507560757075807590760076107620763076407650766070707680769077007710772077307740775077607770778077907800781078207830734078507860787078807890790079107920793079407950796079707980799080008010

GOSUB 8330

IF F3IF YIF YIF YIF YlIF YIF YIF YVI = 7GO TOVl = 0GO TOVl = lGO TOVl=2GO TOVI =3GO TOVl = 400 TOVl = 5GO TOVI =6IF Y2<IF Y2<IF Y2IF Y2<IF Y2<IF Y2<IF Y2<

l THEN 81300.13 THEN 7600O + 25 THEN 7620Q.3S THEN 76400*5 THEN 7060CKÓ3 THEN 76800.75 THEN 77000.88 THEN 7720

7730

7730

7730

7730

7730

7730

7730

0>130*25K380*50*630*750*88

THENTHENTHEN

THENTHENTHENTHEN

7820784078007880790079207940

GO TO 7950V2=000 TO 7950V2~lGü TU 7950V2 = 2GO TO 7950V2=3GO TO 7950V2=4GO TO 7950 .V2 = 500 TO 7V50V2 = óIF YKO + 5 THEN 7980Yl = lGO TO 7990Yl-0IF Y2<0»5 THEN 8020Y2 = lGO TO 8030

Page 275: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG.102

302080308040.805080008070S080809081008110812081308140815031008170318081908200821082208230824082508260827082308290S3008310832083308340835083008370838083908400900090109020903090409050900090709080909091009110912091309140

Y2=0IF Y1 = W1 THEN 8050

IF Y2=W2 THEN 8070

MUYE 110*45PRINT EIF V1=W1#F3 THEN 3110E1=E1+1IF V2=W2#F3 THEN 8130E1=E1+1MOVE 110,40PRINT ElMQUE 50r40PRINT V1JV2GO TO 8270IF YK0.5 THEN 3210Vl = lGO TO 8220Vl = 0IF Y2<0+5 THEN 8250V2 = lGO TO 3260

4GO TO 7950FOR 1=1 TO0=ABS(A(IfT=ABS(A(IfD(I)=0+TNEXT IRETURNREM fc*REM SUBRUTINA PARA EL ^CALCULO DEL RUIDO

FOR J=l TOC=C+RND(1)NEXT J

RETURNREM X*REMPAGEMOVEDRAWDRAWDRAWDRAWMOUEDRAWDRAWDRAWORA UMOVEDRAW

1

***TÍTULOS

0,0OrlOO130rlOO130,00.05,85

85125 7 035r¿85r855ró4125-04

Page 276: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG*103

915091609170918091909200

' 9210922092309240925092009270928092909300931093209330934093509300937093809390940094109420943094409450940094709480949095009510952095309540955095009570958095909000961090209030964090509660907090809090

DRAUDRAUDRAU.HOYEDRAUDRAUDRAWDRAWMÜUEDRAUDRAUDRAUDRAWMOUEPRINT

125,545,545, 645748125,48125,385,385,485.33125,33125,135,135,3340,95•ESCUELA POLITÉCNICA NACIONAL'

MQUE 30,90IMULACION HE ENLACES DE COMUNICACIÓN

SéGENERADOR65CODIFICADOR49

CON RUIDO

DE DATOS SEUDO-ALEATORIQ'

K = 4 R = I/:

BLANCO GAUSSIANO'

F5 dB

PRINT 'MOUE 5,PRINT 'MÜUE 5,PRINT "MQUE 5,PRINT 'CANALMQUE 80,49PRINT -S/N =MQUE 5/34PRINT 'DECODIFICADOR'HOYE 70,34PRINT 'LONGITUD DE LAS TRAYECTORIASMGUE 80/86PRINT -BITS A GENERARSE; -?K2MOUE 10,80PRINT "Dato generado:*HOUE 70,80PRINT 'Contador de datos: 'MOUE 10,75PRINT 'SECUENCIAS DE DATOS'MOUE 10,74DRAW 45,74MOUE 10,60PRINT "Estado anterior: "MOUE 10,55PRINT 'Es-tsdo actual í 'MOUE 70,00PRINT •Dimito a codificarse: "MOVE 70r55PRINT "Secuencia codificada: "MOUE 10,45PRINT "Secuencia trsnsmitidaí "MOUE 10,40PRINT "Secuencia recibida : "MOUE 70,45PRINT 'Numero de errores I 'MOUE 70,40PRINT "Errores de nivel: '

F4

Page 277: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG.104

9700 MOUE 10,309710 PRINT 'D3to decodificsdo : •9720 MQUE.70,309730 PRINT 'Numero de errores í '9740 MOVE 10,259750 PRINT 'ESTADO ÜE LAS MÉTRICAS9700 MOUE 10,249770 IiRAW 50,249780 HOYE 10,189790 PRINT 'LO = '9800 MOVE 40,189810 PRINT -Ll = '9820 MOVE 70,139830 PRINT "L2 = '9840 MOUE 100,189850 PRINT 'L3 = '9800 MOVE 10,149870 PRINT -L4 = "9880 MOUE 40,149890 PRINT 'L5 = B

9900 MOUE 70,149910 PRINT 'Lo - "9920 MOVE 100,149930 PRINT 'L7 = '9940 RETURN

Page 278: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAC.105

J-UUU

1010102010301040105010601070108010901100111011201130114011501160117011801190120012101220123012401250126012701280:l.2901300131013201330134013501360137013801390140014101420143014401450146014701480149015001510152015301540

r\e.n01 = 11GO TO 8REMREMU=10~(~DELETEDELETE!DELETEDELETEDELETEDELETEJ1=F4+1DIM XOCDIM B0(DIM ZOCDIM COCDIM DC4BOCF4+1B1CF4+1B2CF4+1B3CF4+1B4CF44-1B5CF4+1BÓCF4+1B7<F4+1COCF4+1Cl CF4+1C2CF4+1C3CF4+1C4 CF44-1C5CF4+1C6CF4-MC7CF4-HM2CF4+1E-OEl = 0E2 = 0L0~0L.l = 0L2=0L3=0L4 = 0L5=0L6 = 0L7~0L9-0NO-0Nl"0N2~0N3-0N4~0N5~0Nó = 0N7-0

1- r\uur\Hi IH oc,(xuuno

00SIMULACIÓN DE ENLACES DE COMUNICACIÓN

CÓDIGO K = 5 R = 1/2<F5+10*(LOG(2)/LOG(1.0) ) ) /20 )XO;XlíX2rX3íX4jX5rXóíX7BO Bl B° B3 P4 B5 B6 B7ZOfZlíZ2fZ3»Z4fZ5,Zóí27CO , Cl r C2 , C3 , C4 , C5 , Có , C7DjMl rM2/ ArG?S38,100

Jl) jXKJl) íX2(Jl) rX3(Jl) f X4<J1) ,X5(J1) jXÓ(Jl) ,X7< Jl)Jl)JBlCJl)íB2(Jl)íB3(Jl)?B4CJl)íB5CJl)rBÓ(Jl)/B7(Jl)Jl) iZK Jl) fZ2(Jl) íZ3( Jl) fZ4<Jl) ,Z5(J1) íZÓ(Ji) íZ7(Jl)Jl) jCK Jl) » C2CJ1) t C3( Jl) íC4(Jl) fC5(Jl) ;CÓ<J1) ?C7CJ1)) íMlCJl)fM2CJl)vGC5)TA(4 I 2))=0)=0)=0)=0)=0)=0)=0)=o)=0) -0)=0)=0) = 0)=0)=0)=0)=0

Page 279: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG*10Ó

155015001570158015901000101010201630104010501ÓÓO1070108010901700171017201730174017501700177017801790180018101820183018401850186018701880189019001910192019301940195019001970198019902000201020202030204020502000207020802090

GC1)=0G(2)=0

G(5)=0A C l í 1 ) = 0A(lí2)=0

A(3,1)=1*F3A<3,2)=0

A(4>2GOSUBPRINTINPUTIF K2REM -K=lGOSUBPRINTGOSUBLO = D(XO(K)NO = D(ZOCK)PRINTPRINTPRINTINPUTREM -

)=1#F310500•JJJINUMERO DE BITS A GENERARSE ÍGG'ÍK2

<F4 THEN 1090>PRIMER PERIODO DE TIEMPO

10500'JINUMERQ DE BITS GENERADOS! ' í K90001)= 04)= 1•JJILO = 'ÍL.O•IL8 = <?NO"digresione RETURN PBTS continuar"íW$

> SEGUNDO PERIODO DE TIEMPO

GOSUB 10500PRINT 'JINUMEROGOSUB 9000

LO=Al+n<l)

DE BITS GENERADOS,'

NO = A1N4 = A2XO(K)X4CK)ZOC K )Z4(K)X4<1)24(1)ZOC1)PRINTPRINTPRINTPRINTFOR IBOCI)B4 (I)

+ D(4)+ IK2)= 0= 0= 1«. -f

=20(1)=20(1)=XO(1)•JJILO"IL4 =•IL8 :•IL12 :

= 1 TO K=XO(I)=X4(I)

" i LO;i_4;NOÍN4

Page 280: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE: ni PAG,107

2100211021202130214021502100217021802190.220022102220223022402250220022702280229023002310232023302340235023002370238023902400241024202430244024502400247024802490250025102520253025402550256025702580259026002610262026302640

coa>=zo<i>C4(I)=Z4ÍI)NEXT. IPRINT "Jlpresione RETURN PSTS continuar";INPUT U$REM > TERCER PERIODO DE TIEMPOK=K+1GOSUB 10500PRINT 'J1NUMERO DE BITS GENERADOS: 'ÍKGOSUB 9000Al^LOA2 = L4A3=NOA4 = N4LO=A1+D(1)L2 = A2-KK3)L4-A3+DC3)LÓ=A4+D(1)NO=A1+D(4)N2-A2-fD(2)N4=A3+D(2)Nó=A4+D(4)XO(K)=0X2(K)=0X4 (K)=0Xó(K)=0ZO(K)=1Z2CK)=1Z4CK)=1Z6 (K)-lPOR 1=1 TO 2XO(I)=BOCI)X2(I)=B4<I)X4(I)=CO<I)Xó(I)=C4(I)ZO(I)=BO(I)Z2(I)=B4(I)Z4(I)=COCI)Z6(I)=C4(I)NEXT IPRINT ' JJILO = ' ?LOPRINT -IL2 - "ÍL2PRINT 'IL4 = " ÍL4PRINT 'IL6 - "ÍLÓPRINT 'IL8 = "ÍNOPRINT "IL10 = • ÍN2PRINT 'IL12 = ' ÍN4PRINT -IL14 = ' ÍNÓFOR 1=1 TO KBO<I)=XO(I)B2(I)=X2(I)B4(I)=X4(I)B6C I )=Xó ( I )CO(I)=ZOCI)C2<I)=Z2CI)

Page 281: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III F'AG + 108

2050266020702680209027002710272027302740275027602770278027902800281028202830284028502800287028802890290029102920293029402950290029702980299030003010302030303040305030003070308030903100311031203130314031503160317031803190

C 4 ( I ) = Z 4 ( I )C Ó C I ) = Z á ( I )N E X T - IPRINT 'J lpresione R E T U R N para c o n t i n u a r ' ?I N P U T U$REH > CUARTO PERIODO DE TIEMPOK-K+1

A2=l_2

A4-L6

A7=N4

GOSUB 10500P R I N T " J I N U M E R O HEGOSUB 9000L O = A 1 + D ( 1 )L 1 = A 2 + B ( 2 )L2=A3+D(3)L3=A4+D<4)L 4 = A 5 + D < 3 )L 5 = A 6 + D ( 4 )L 6 = A 7 + D < 1 )L 7 = A 8 + n < 2 >

BITS GENERADOS:

N 1 = A 2 + D ( 3 )N2=A3+n(2)N 3 = A 4 + D ( 1 )N 4 = A 5 + D ( 2 )N 5 = A Ó + D ( 1 )N Ó = A 7 + D ( 4 )N 7 = A 8 + D C 3 )X O C K ) = 0XKtO=0X 2 C K ) = 0X 3 ( K ) ~ 0X 4 ( K ) = 0X 5 ( K ) = 0X Ó ( K ) = 0X 7 ( K ) = 0Z O C K ) = 1Z 1 ( K ) = 1Z 2 ( K ) = 1Z 3 C K ) = 1Z 4 ( K ) = 1Z 5 ( K ) = 1Z Ó C K ' ) = 1Z 7 ( K ) = 1FOR 1=1 TO 3X O < I ) = B O ( I )X 1 ( I ) = B 2 ( I )X 2 ( I ) = B 4 ( I )X 3 ( I ) = B 6 < I )

Page 282: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG*109

320032103220323032403250320032703280329033003310332033303340335033603370338033903400341034203430344034503460347034803490350035103520353035403550350035703580359036003610362036303640365036 0036703680369037003710372037303740

X4(I)=CO(I>X5(I)=C2(I)Xó(I)=C4CI)X7(I)=C6(I)ZO(I)=BO(I)Z1(I>=B2(I>Z2 (I )Z3CI)Z4(I)Z5CI)ZÓCI)Z7CI)NEXTGOSUBPRINTINPUTREM -GOSUBK=K+1PRINTGOSUBGOSUB

=B4(I)=BÓCI)=CO(I)=C2(I)=C4(I)-COCÍ)I11000"JJpresione RETURN PBTB continuar"?W$

10500CUALQUIER PERIODO DE TIEMPO

•JINUMERO DE BITS GENERADOS: 'JK90006000

IF K=F4 THENPRINTINPUTGO TOREM -REMKl-KK=F4M=LOIF M<M~L1IF M<M=L2IF M<M~L3IF H<'M=L4IF M<M = L5IF M<M=L6IF M<M-L7IF M<M=NOIF M<M=N1IF M<M-N2IF M<M = N3IF M<M-N4

* JJpresU!*3360

3460ione RETURN psrs continuar 3 ?

ESCOGIMIENTO DEL MENOR SUPERVIVIENTE

Ll THEN

L2 THEN

L3 THEN

L4 THEN

L5 THEN

Lo THEN

L7 THEN

NO THEN

NI THEN

N2 THEN

N3 THEN

N4 THEN

3530

3550

3570

3590

3610

3630

3650

3670

3690

3710

3730

3750

Page 283: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG,110

3750376037703780379038003810382038303840385038003870388038903900391039203930394039503900397039803990400040104020403040404050406040704080409041004110412041304140415041004170418041904200421042204230424042504260427042804290

IF M<N5 THENM-N5IF M<NÓ THENM=NÓIF M<N7 THENM=N7IF LO=M THENIF L1=M THENIF L2=M THENIF L3-M THENIF L4=M THENIF L5=M THENIF LÓ=H THENIF L7=M THENIF NO=^M THENIF N1=M THENIF N2=M THENIF N3=M THENIF N4=M THENIF N5=M THENIF N6=M THENS=Z7<1)GO TO 4270S-ZÓ(l)GO TO 4270S=Z5(1>GO TO 4270S=Z4<1)GO TO 4270S=Z3(1)GO TO 4270S=Z2<1>GO TO 4270S=Z1<1)GO TO 4270S=ZO(1)GO TO 4270S=X7 < 1 )GO TO 4270S=Xó(l)GO TO 4270S=X5(1)GO TO 4270S=X4<1)GO TO 4270S-X3<1>GO TO 4270S 'X2 ( 1 )GO TO 4270S-X1C1)GO TO 4270S=XO(i)

3770

3790

3810

420042404220420041804160414041204100408040004040402040003980

IF S=M1(1) THEN 4290E2=E2+1FOR 1=1 TO K

Page 284: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG*111

43004310432043304340435043004370438043904400441044204430444044504460447044804490450045104520453045404550450045704580459046004610402040304640'46504660467046804690470047104720473047404750476047704780479048004810482048304840

X2(I)=B2(I+1)X3(I)=B3CI+1 )X4CI>=B4(I+1)X5(I)=B5(I+1>XÓCI)=BÓ(I+1)X7ÍI>=B7ÍI-M>ZO(I)=CO(I+1)

Z2(I)=C2(I+1)

Z4CI)Z5(I)Z6(I)Z7(I)MlCI)BOCI)B1(I)B2<I)B3(I)B4(I)B5<I)BÓ(I)B7CI)coci)Cl(I)C2CI)

C4(I+1>C5CI+1)CÓ(I-M)C7(I+1)M2(I-fl)XO(I)XKI)X2(I)X3(I)X4(I)X5<I)Xó(I)X7(I)zo<r>ZlCI)Z2(I)

C4<I)=Z4a>C5CI)=Z5(I)COCÍ) =26(1)C7(I)=Z7CI)

Jlbit decodificado í fl ?SInLimero de errores en IB decodificscionJIpresione RETURN psrs continuar'?

NEXT IPRINTF'RINTPRINTINPUT W$IF K1=>K2 THEN 4760K1=K1+1GOSUB 10500

nJI NUMERO900060003500

PRINTGOSUBGOSUBGO TO

DE BITS GENERADOS:

REML9=L9+1IF L9=K+1 THEN 4870

SALIDA

GOSUB 10500PRINT -J1NUMERO DE BITS : 'íKlPRINT -JINYECCION DE LA COLA DE CEROS ÍL9

Page 285: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG.112

48504800487048SO48904900491049204930494049504960497049804990500050105020503050400000601060206030004060506060607060806090610061106120613061406150616061706180619062006210622062306240625062606270623062906300631063206330

GOSUB 9120GQ TO 4740IF F6=-32 TPRINT -LJJINPUT U$PRINT @F6íPRINT @FÓ:PRINT @Fó:PRINT @FÓÍPRINT @FÓ:PRINT @FÓ:PRINT @FÓ:PRINT @FÓ:PRINT 0F6ÍPRINT @Fó:PRINT 'JIINPUT W$IF W^-'S1PRINT 'JJIENDREM ******REMP1=LQ+D< 1 )R1=L1+D<4)Q1=LO+D(4)S1-L1+DC1 )P2=L2+D(2)Q2=L2+D(3)R2=L3+BC3)S2=L3+Ü<2)P3=L4+Ü(3)Q3=L4+D(2)R3=L5+DC2)S3=L5+D(3)P4=L6+D(4)Q4=L6+D(1)R4=L7+DU)S4=L7+D<4)P5=NO+D(3)Q5=NO+D(2)R5=N1+D(2)S5=N1+D<3>Pó-N2+n(4)Q6-N2+IK 1 )RÓ-N3+DU)S6=N3+D( 4)P7=N4+D < 1 )Q7=N4+D(4)R7=N5+n<4)S7=N5+n<l)PS-Nó+D (2)Q8=N6+DC3)R8=N7+n<3)S8=N7+D(2)

PARA CONTINUAR'í

"LJJJJJIESCUELA POLITÉCNICA NACIONAL'•J1FACULTAD DE INGENIERÍA ELÉCTRICA'•JIALGORITMO DE VITERBI1

"JICODIGO K = 5 R = 1/2'MIRELACION SENIAL A RUIDO = 'ÍFS?' dB"•JINUMERO DE ERRORES EFECTIVOS DEL CANAL =•JIERRGRES DE NIVEL PRODUCIDOS POR EL CANAL'"JIHISTORIA DE LAS TRAYECTORIAS = '?F4"JINUMERO DE ERRORES EN LA DECODIFICACION =•JINUMERO DE DATOS GENERADOS = 'íK2OTRA PRUEBA ÍS/N):GG° í

THEN 4GRACIAS"

JE1

SUBRUTINA DEL CALCULO DE SUPERVIVIENTES

Page 286: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG*li:

63406350Ó3ÓO6370638063906400641064206430644064506400647064806490650005106520653065406550656065706580059066006610662066306640ÓÓ5066606670668066906700671067206730674067506700677067806790680068106820683068406350680068706880

IF RK=P1 THEN 6400LO = P1FOR 1=1 TO K-lXO(I)=BO(I)NEXT IGO TO 6440LQ = R1FOR 1=1 TO K-lXO(I)=BKI)NEXT IIF R2<=P2 THEN 6500L1 = P2FOR 1=1 TO K-lX1(I)=B2(I)NEXT IGO TO 0540 .L1=R2FOR 1=1 TO K-lX1(I)=B3(I)NEXT IIF R3<=P3 THEN 6000L2 = P3FOR 1=1 TO K-lX2(I>=B4<I>NEXT IGO TO ÓÓ40L2=R3FOR 1=1 TO K-lX2(I)=B5CI)NEXT IIF R4OP4 THEN 6700L3=P4FOR 1=1 TO K-lX3<I)=BÓ(I>NEXT IGO TO 6740L3=R4FOR 1=1 TO K-lX3(I)=B7(I)NEXT IIF R5<=P5 THEN 6800L4 = P5FOR 1=1 TO K-lX4(I)=CO(I)NEXT IGO TO 6840L4 = R5FOR 1=1 TO K-lX4(I)=C1(I)NEXT IIF RÓOP6 THEN 6900L5 = PÓFOR 1=1 TO K-lX5(I)=C2CI)NEXT I

Page 287: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

CD <r M M M UJ U Lü ü. <T

O O O ¡X

O oo o

o o ro ts

o

I Ui

I

'•¿L

X

J¿

O

O H

O*7

\~ -

^ \>.

\-

o

ro

a.-O

TH U

!¡ M

II II M V

II

o -o M

--.

rx rx M

H ü; u

h- c¿ a.

U i¿ *^ X

II

C¿O LH O IO Lü U.

M3 O

a _i u_ x

2: H _

j LL.

oo

oo

oo

oo

o o

-H r

-j ro

*r

LO -

o

O

oo fx

- X

X o o

rx e

n

O n

i— *

—* 10-H

a

ii ii

o

rx M

--.

¡ \-f

¡

i

O O

O

x^tD

_J

U.

X

O O

O O

O-

O

-H

C-J

o- o

o o

•o r

x fx

rx

Id X l- co IIM

V OD

X UJ ü

_"V

* t-J

X_ ^n

O O

ro *

ro

o

-o•H

U

II II

a.

MII

ix o

rx

O

x u

u o

ix

UJ X

^-c

U

1!II

II

M

V

M i

- en

r-^ x

_** %

^o

rx Ú

J u_

LU X -1 —

U

O I!

a II L

¿o

o

M o II H

M

í—•-

XO

LU

OO

M

OM

OO

M

OH

T

i— ^

r-

j i—

^-

*r

h- ^

-* ro

h-

*-•

[X

rH lí

1|

i—!

plí

Px

T-

4 O

j II

T—

1 P

Q

II

I!

r-l

V

II

II

M

II

II

*H

V

II

¡I

M

Mi-

cn

Cj

M H

i—

en

MI-

CO

C

n¡—

^-

X

II

L¿ ^

X

I! L

Í ^

x

II C

£ —

X

OL

üL

L-r

-fO

-MU

O-H

Ov

HL

üL

uC

-iO

C-i

LL

í

OOM

fX

H e

n IIo oO

^ e

sII

¡I H

en

' M H

II CC

Xr-

i o

c-j

u

oo

oo

oo

oo

oo

oo

oo

oo

oo

oo

oo

oo

oo

oo

oo

oo

oo

oo

oo

oui

-o

rx O

D CN

o

T-I c

-j M

r

ÜT x

3 ix

co

o- o

H

r-j

ro -

7- bi

<i

fx o

j o-

o ^

r-j

ro

r ^

xi

fx c

o CN

o

-H r

-í ro

o o

o o

o M

H

-M

r^

M H

r< r

-i r-j

c-j

c-¿ r

-¡ r

-j c-J

r-j

r^^rx rx

rx, N

rx ¡\x fx rx fx fx íx rx rx N

rx rx

rx N N

rx rx

rs, ¡x ¡x

rs. ¡N N

r\x rx ¡\

x ix i

x rx

r% ¡x N

Page 288: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG,115

7440745074007470748074907500751075207530754075507500757075807590700070107020703076407650766076707080709077007710772077307740775077607770778077907800781078207830784078507860787078SO7890790079107920793079407950796079707980

•IF S4<=Q4 THENN3-Q4FOR 1=1 TO K-lZ3<I)=B6(I>NEXT IGO TO 7540N3=S4FOR 1=1 TO K-lZ3CI)=B7CI)NEXT IIF S5<=Q5 THENN4 = Q5FOR 1=1 TO K-lZ4CI)=CO(I)NEXT IGO TO 7040N4=:S5FOR 1=1 TO K-lZ4(I)=C1CI)NEXT IIF SÓOQÓ THENN5=Q6FOR 1=1 TO K-lZ5(I)=C2(I)NEXT IGO TO 7740H5=S6FOR 1=1 TO K-lZ5(I)=C3(I)NEXT IIF S7<=Q7 THENN6=Q7FOR 1=1 TO K-lZÓCI)=C4(I)NEXT .1GO TO 7840NÓ=S7FOR 1=1 TO K-lZ6CI)=C5CI)NEXT IIF S8OQ8 THENN7 = QOFOR 1=1 TO K-lZ7CI)=C6(I)NEXT IGO TO 7940N7=S8FOR 1=1 TO K-lZ7(I)=C7(I)NEXT IXO(K)=0X1(K)=0X2CK)=0X3(K)=0X4CK)=0

7500

7000

7700

7800

7900

Page 289: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG.lió

7990800080108020803080408050806080708080309081008110900090109020903090409050906090709080909091009 1109120913091409150916091709.1.809.1.90920092109220923092409250926092709280929093009310932093309340

X5<K)=0X6(K)=0X7(K)=0ZO(K)=1ZKK) = 1Z2(K)=1Z3CK)=1Z4(K)=1Z5<K)=1ZÓ(K)=1Z7<K>=1GOSUB l;RETURNREM ###:REM SUBÍF=RND(i:IF F<0+;F = lGO TO 9(F=0PRINT -.PRINT a:M1(K)=FM2<K)=M:FOR ]>1PRINT 'íUl-GC i )U2=G(2)U3-GÍ3)U4=G<4)G ( .1. ) =FG(2)=U1GÍ3)=U2G(4)=U3G(5)=U4PRINT •;PRINT •:W1 = GCD-IF Ul=2IF Ul =3GO TD 9:UH==0GO TO 9:W 1 = 1w;;=G(i>Hli* U 2-2.1. r W ¿, — \.t

GO TO '•?:

DE GENERACIÓN - CODIFICACIÓN - CANAL

9000

11000

##TI

THEN

0

JGENERADOR DE DATOS PSa I d 3 1 o sí e n erado í " J F

(K)O K

CODIFICACIÓN' ? "

EUDO-ALEATORIO

93507300.9370938093909400

U2 = 0GO TOU 2 = 1

tNTÍ;NT

PR INT

Iestado anteriorlestado sctuslfG<2)-i-GC3)-hGC5)OR Wl=4 THEN 9280THEN 930010

l)-f-G(4)Jí-G(5)THEN 9350THÍIN 9370

9380

9380

" Isecuencis codificada i" Isecuencis transmitida I"CANAL Y CUANTIZADOR -----

? G (1 ) ? G ( 2 ) ; G < 3 ) í G < 4 )

ÍW1ÍW2

S/N d

Page 290: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

X X

.•O

-C

en -£

>0 O

-< H

!ÍO

T

I

11 ;-• -

< ro o en -í x m •21 •o •O X!

O

•U X

; -*¿

x;

x¿ x

:.£

-C <

; ^3

CO ~

W r

o

o

>o c

oo

o o

o o

o

-< C

T -<

i-1-

<C

G."

o ¡

- -n

ro

o1!

1! 11

O -i

~<

O

* H

Q

M

O

-o b

-o

^A

-*

xO

x(j

»

'•cj

^

en

o

0

0H T m 2: <3 O W O

~s.:

X=

vj

rfi

m m

xj

0-

enO

C' O

-S~

I~~í

i*1"

<_ G

v.

ro o

ro

![ !!

en H

-*>

o -O •J"i

XJ o o

XJ ce _í> o o -í o xi

¿"1

XJ

O o

•.

-<-:

'-vi

NJ x.!

CO O

o O

? C

O x

iw

ro

-^ o

-c

o o

o o

o

C Q

C

Q -

Cro

o

f o G

íO!!

!I 11

W -i

ro -i

i-1G

0

"•O

Ni

••¿T

t ^ 1

^xí

XJ

0

00

0

X;

••«

X

J X

J X

i X

i X

J X

' X

J "y

"s

. X

.

xj

x' xj

xj

XI x

! X=

xi

xi

tí-

CN C

^CO

X' ¡>

Oi

-í» 0

-í ÍO

H*

O O

CO

xj

oo

oo

oo

oo

oo

oo

Q

<T G

-C

-1-1

- !— ;

:— l

f-í

í— i

i— ;

.M -

<;G

ro

o fo

"n

~n ~

n ~n

"H

"n ~

n r-

1! !!

!!-ÍO

HX

1K

-<

-<

-<

-<

-<

-<

Q-

o

G

ro .'O

ro

ro r

o ro

ro

-3

O

OO

OO

OO

O

o o

co x

j CN

en

c^ r

o M

o o

co o

í w

co

en

wH

H H

-i

X H

H -

Jm

ic x

m x

x o

:m

m m

z: n

m m

^

"2L ^

^¿

. "Z

. "2

--•0

<1 -O

<i

CO

--0 x

l •<

)CO

0-

1 C

O W

C

O x

j \

^ x

i en

o H

1 •<

! xj

o o

o

o o

o

XJ X

Jes

es

CN e

no o

G C

O i-1 1!

H e

no xi

l">*

CN

CO o

X! x

; *u

xi; x

CN .

C-

=> O

- C

N^-

e>:

ro í-

1

oo o

o o

o

O C

G

Í C

QO

i-^

G

i-*

G

11 U

-i

-í- -i

W -5

O

O

O

-0

<!

x3I*N

_

l~*_

fK

.

\J*>

\J^

\J^

CO

CO

COO

0

O

x;

ijen

en

-o c

oO

0

-C

Cj

M O

!i ro H o o i~

x. co o

Xj

-i,.

XJ X

; X

i X

>

•ji

L~I

en e

n w

eq

x!

CN e

n &

r..j

ro

o o

o o

o o

<I

G3

-C G

C

í-í

¡-1 O

G

¡ T

I!í

11 II

M -

1 0 -i

xi

-CO

O

^

-o

^

oCO

CC

! CO

o

o

co -1 ~r m 2t ^0 C^

XI

O

X;

Xj

X;

^U "

<J

Xi

en e

n >

jt.

¿v ^

J-* o

-o

oo

xi

CN

en

OO

OO

OO

O

M

M f-i

h-i

f-H

• 1-!

i— i

T!

TJ T!

T)

TJ —

-<-<

-<-;

-<-<

f^-

M i-4

f-

^ -1- H

' C

oo

oo

oo

^-

1

xi

o-

en

c^ r

o ¡-

-i

en c

-4 OD

en

xH

m

H H

X -i

H H

2C

x x

m x

xx

m r

n 2:

m m

rn 1-

=-3;

2;

2;

2T 2

C

o<!

i-1

•o o

o- o

<i -

o o

ON C

K H"

en

en e

n o

en w

o

xj

xi

en

o o

o

o o

XJ X

J X

J

4i

4^

-t*

Ji-

-fi w

ro

*-*o

o o

o

-: e

n -<

QÍO

O

«-*

O11

CO

U

COs:

c s:

cro

í3?

¡-1 o

?_L

^_

X "r-

X

M

-

Ox-X

x_J

ro

roD

>

Cr-

O

0

n 2: O m M M M TI

2> Q

Page 291: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG,118

GO TO 9980

IF Yl=Wi THEN 10000E-E+1IF Y2 = W2 THEN 10020E=E-MPRINT 'le re res producidos por el canal ¡ 'íEIF U1 = LJ1*F3 THEN 10050E1=E1+1IF U2=U2#F3 THEN 10070E1=E1+1PRINT 'lerrores de nivel en el cansí I 'í E.PRINT ' Isecuencis recibida + " í'v'l; V2GO TO 10190IF YK0.5 THEN 10130

GO TO 10140

IF Y2<0*5 THEN 10170U 2=1GO TO 10180V2=0GO TO 9900FOR I~l TO 40=ABS(ACIí1)-Y1)

9900997099SO999010000100101002010030100401005010000:i.oo70Í00301009010100.101101012010130101401015010100101701018010190102001021010220 Ü(I)=0+TII.0230 NEXT I10240 PRINT 'ESTADO DE LAS MÉTRICAS EN EL DECODIFICADOR10250 RETURN•I r\ A n n- P M * íir i* * i1 i* i' *'. L w *„ O \ ] \_ J I -T" frr 'T- -T* T^ fT~ *T" O^ *

10270 REM SUBRUTINA PARA EL CALCULO DEL RUIDO10280 C=01029010300.103101032010330105001031010520105301054010550105001.1.0001101011020 PRINT 'ILO = n ;LO ? -L8 = 'íNO11030 PRINT -IL1 = "ÍL1Í-L9 = 'ÍN111040 PRINT '1L2 = ';L2,flL10 = '?N211050 PRINT 'IL3 - 'ÍUSf-Lll = u;N311000 PRINT aIL4 - -?L4,"L12 = '?N411070 PRINT 'IL5 = 'ÍLS/'LIS ~ U ÍN5110SO PRINT 'ILÓ = 'ÍLÓj'L14 - "JNÓ

FOR J=l TOC=C+RNDC1)NEXT J

RETURNREMREMPRINTPRINTPRINTRETURNENHREMREMPRINTPRINTPRINTPRINTPRINTPRINTPRINT

###^TÍTULOS

L1ESCUELA POLITÉCNICA NACIONAL3

ISIMULACIÓN DE ENLACES DE COMUNICACIÓN1

ZCODIFICAÜOR K - 5 R = 1/2 '

SUBRUTINA PARA LA IMPRESIÓN DE LAS MÉTRICAS

Page 292: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG.119

11090 PRIHT -IL7 = "ÍL/r'LlS = "fN711100 POR 1=1 TO K11110 B O C D - X O C I )L1120 B l ( I ) - X K I )¡.1130 B 2 ( I ) = X 2 ( I )U 140 B 3 < I > = X 3 C n1.1150 B 4 < I ) = X 4 < I )L11ÓO B 5 ( I ) = X 5 ( I )U170 B Ó C D ^ X ó C I )LUSO B 7 < I ) = X 7 < I )1.1190 C O ( I ) = Z O < I )'.1200 C 1 ( I ) = Z 1 C I )1.1210 C 2 Í I ) = Z 2 ( I ).1220 C 3 ( Í ) = Z 3 ( I ).1230 C 4 < I ) = Z 4 ( I )1.1240 C 5 C I ) = Z 5 C I ).1250 C Ó < I ) = Z Ó < I ).1200 C 7 ( I ) = Z 7 ( I )L1270 NEXT IU280 RETURN

Page 293: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG,120

-L \J \J V

10101020103010401050106010701080.1090.100.1101.1201.130L1401.150.100.170USO1.1901.2001.2.1.01.220.230L240J 250.2 OJOi. 270280.290,1i..i

300310320330340350

lAtin r r\uon,Mi if-t OC.RL^UI i-t

01 = 12GO TO 800REM SIMULACIÓN DE ENLACES DEREM CÓDIGO K = 3g=10~<-(F5-HO#<LOG(2>/LQG(10) ) )/20)DELETE XOfXl/X2,X3DELETE BO,Bl7B2,B3DELETE DrMÍ rM2rAíS3

DIM XOÍJ1) ,XKJ1) ,X2< Jl) fX3CJl)DXM BOÍJ1) ,B1( Jl) íB2CJl) >B3( Jl )DIM A (8,3) -DCS) ,M1Í Jl) ,M2<J1) r S3 C 3 )BO(F4+1)=0B1CF4+1)=0B2ÍF4-f-l)=0B3<F4+1)=0M2(F4 + D=0

El = 0

L0=0Ll-0L2=0

L9=0S3<1)=033(2) 0S3C3)=0

AAAAAA

(((((c

11n

*?

23

r

y

fj,

,

231231

))))))

= 0-0= 0=0= 1#F3= 0

L3ÓO A(3í2)=l#F3.37013301

.

390400410L420.430

AAAAAAA

((((ccc

•3444555

y!

I

}

,

rj

o1*7j

3io3

)=0))))))

= 0= 1#F3= 1#F3~1#F3= 0~0

t A j\/ H \. -i \is r — 744 0 A(6íl;~l*r3.,L.

450460470400L490L

1

500510520530540

AAAAAAAAP

(((cc(((

6ó777888

j

r

r

y

í,

T

T

231231oVJ

))))))))

RINTPRINT

-0~1#F3= 1#F3= 1*F3= 0= 1#F3= 1#F3= 1*F3•LJJJJJJJ1ESCUELA POLITÉCNICA" JJJIFACULTAD DE INGENIERÍA E

COMUNICACIÓNR = 1/3

NACIONALELÉCTRICA

Page 294: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG+121

1550 PRINT 'JJJIALGORITMO DE VITERBI »1500 PRINT 'JJJISIHULACION DE ENLACES DE COMUNICACIÓN1

1570 PRINT "JJJINUMERO DE BITS A GENERARSE :GG";1580 INF'UT K2;L590 IF K2<F4 THEN 15701600 REH > PRIMER PERIODO DE TIEMPOlólO K~l1620 GOSUB 7000LÓ30 GOSUB 5000I.Ó40 LO=DC1)1650 XO(K)=0LÓÓO L2=D(4)>70 X2CK)=1

L680 MQVE 110.80.690 PRINT K.700 NOVE 20,18.710 PRINT- LO720 MQUE 80,181730 PRINT L2.740 MÜUE 10,5750 PRINT "presione RETURN FSFS continuar 'í1700 INPUT Uí>.770 REM > SEGUNDO PERIODO DE TIEMPO780 K=K+11790 GOSUB 7000.800 GOSUB 5000¡.810 A1 = LO1.820 A2-L2L830 LO~A14-D(i)1840 L.t = A2 + B(3)L850 L2

.870 XO(K)=0

.880 X.1.(K)=0I.890 X2(K)=1i 900 X3(K)=1I.910 X1(1)=X2<1)¡.920 X3C1)=X2<1)i. 930 X2Í1)=XO<1)1940 MOUE 20T181950 PRINT LO960 MOUE 50.18L970 PRINT LlL980 HO'v'E SGílS990 PRINT L2

2000 MOUE 110,1820,1.0 PRINT L32020 MOUE 110,SO2030 PRINT K2040 POR 1=1 TO K2050 BO(I)=XO<I)2000 m<I)=XlCI)2070 B2(I)=X2<I)20SO B3(I)=X3(I)2090 NEXT I

Page 295: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III FAG.l:

210021102120213021402.15021602.1702180.2190220022102220223022402250226022702280229023002310232023302340235023002370238023902400241024202430244024502460247024802490250023102520253025402550256025702500259026002610262026302640

MQVE 10;5PRINT 'presione RETURN para continuar1?INPUT W$REM >CUALQUIER PERIODO DE TIEMPOGOSUB 7000

MOVEPRINTGOSUBREM -GOSUBIF K=MOVEPRINTINPUTGO TOREM -REMK1 = KK=F4IF LOGO TOIF LOGO TOIF LOGO TOIF LlGC TOIF LlGO TOIF L2GO TOs=xocGO TOS=X1<GO TO

110,80K5000—> CALCULO DE LOS SUPERVIVIENTES4000F4 THEN 226010,5'presione RETURN para continuar',

2130 .

ESCOGIMIENTO DEL MENOR SUPERVIVIENTE

<L1 THEN 23202360

<L2 THEN 23402400

<L3 THEN 24202430

<L2 THEN 23802400

<L3 THEN 24402480<L3 THEN 246024801)24901)2490

GO TO 2490S = X 3 C 1 )IF S ^ M K l ) THENE2=E2+1FOR 1=1 TO KX O < I ) = B O C I + 1 )

10

X2<I>=B2<I+1>X3(I)=B3(I+1)B0( 3!)=XO(I)B 1 C D - X 1 C I )B 2 C J ) = X 2 ( I )

NEXT IMOVE 110,80PRINT Kl

Page 296: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG,123

2050206020702080269027002710272027302740275027002770278027902SOO2810282028302840285028002870283028902900293.02920293029402950296029702980299030003010302030303040305030603070308030903100311031203130314031503100317031803190

MOVE 50,30PRINT S

. 110.30PRINT E2MÜVE 10,5PRINT 'presione RETURN PBTS continuar* íINPUT W$IF K1=>K2 THEN 2780

GOSUB 7000GOSUB 5000GOSUB 4000GO TO 2300P; p* M

REML9=L9+1IF L9=K+1 THEN 2900

SALIDA

REM -GOSUBGOSUBNOVEPRINT00 TOIF FóPRINTINPUTPRINTPRINTPRINTPRINTPRINTIF F3PRINTGO TOPRINTPRINTPRINTPRINTPRINTPRINTPRINTPRINTINPUTIF W<4¿GO TOPRINTPRINTPRINTPRINTPRINTPRINTPRINTPRINT

> INYECCIÓN DE LA COLA DE CEROS7000518010.70"inyección cíe IB2700=32 THEN 2930'LJJJJJJJJI ALISTEU*@Fót -LJJJJJIESCUELA POLITÉCNICA NACIONAL@Fó; ' JIFACULTAD DE INGENIERÍA ELÉCTRICA1

0F6Í ' JIALGORITMO DE UITERBI'

2F6Í ' JICOBIGO K = 3 R = 1/3'=l THEN 3010

cola de ceros

IMPRESOR R £ T U R N PARA CONTINUAR1

BFÓ:3020

G?FÓ

SFÓI@FÓ:GFÓÍQFÓ:• jji

JIÜECODIFICACION SUAUE'

JIÜECODIFICACION DURA'JIRELACION SENIAL .A RUIDO = 'ÍF5ÍJINUMERO DE ERRORES EFECTIVOS BELJIERRORES DE NIVEL PRODUCIDOS PORJIHISTORIA BE LAS TRAYECTORIAS =

d&'CANAL = '?EEL CANAL- J ÍE1ÍF4

JINUMERO BEJINUMERO DEOTRA PRUEBA

120

ERRORES EN LA DECODIFICACION =BATOS GENERADOS - fl?K2(S/N)ÍGG"5

"S" THEN3250"LJJJJI ESCUELA POLITÉCNICA•JJIALGORITHO DE VITERBI'"JJISIMULACIONES A ESCOGER'•ITecls * 9 , K = 3

10 * K = 4111213 . K - 4

NACIONAL

ITeclaITeclaITeclaITecla

1/21/21/21/31/3

Page 297: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG*124

3200321032203230324032503200327032803290400040104020403040404050400040704 O SO4090410041104120413041404130416041704180419042004210422042304240425042004270428042904300431043204330.43404350430043704380439044004410442044304440

PRINTPRINTPRINTPRINTENDPRINTINPUTIF W* =PRINTENDREMREMPl=LO+nQ1=L2+DR1=LO+D

ITecla * 14 . K = 5 R = 1/3'.JITecla * 1 . MENÚ'JI estas simulaciones tienen las mismas características*lo'el proársmB ejecutado si desea variarlas regrese al ME

LJJJJJI desea regresar al MENÚ CS/N) í 1 ?V

S' OR W$='s' THEN 4JJI GRACIAS'

SUBRUTINA DEL CALCULO DE SUPERVIVIENTES(l)<3)<4)

S1=L2+D(2)

R2 = L1-KK1)S2=L3+Ü<3)IF PK=P2 THEN 4100LO=P2FOR 1=1 TO K-lXO(I)=B1(I)NEXT IGO TO 4200LO = P1FOR 1=1 TO K-lXO<I)=BO(I)NEXT IXO<K)=0l'F QK=Q2 THEN 4270L1 = Q2FOR 1=1 TO K-lX1(I)=B3(I)NEXT IGO TO 4310L1 = Q1FOR 1=1 TO K-lX1(I)=B2(I)NEXT IX1(K)=0IF R1<=R2 THEN 4380L2=R2FOR 1=1 TO K-lX2CI)=BKI)NEXT I00 TO 4420L2=R1FOR 1=1 TO K-lX2CI)=BO(I)NEXT IX2(K)=1IF SK=S2 THEN 4490L3-S2

Page 298: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

A P É N D I C E I I I PAG.125

445044604470448044904500451045204530454045504560457045804590460046104620463046404/>50466040704680469050005010502050305040505050605070508050905100511051205130¡5 1405150516051705180519052005210522052305240¡52505200527052805290

FOR IX3CI)NEXTGO TOL3 = S1FOR IX3CI)NEXTX3CK)FOR IBOCI)BKI)B2(I)B3CI)NEXTMOUEPRINTMOUEPRINTMOUEPRINTMQUEPRINT

= 1=B3I45

= 1= B2I= 1-1=XO= X1=X2= X3I20,LO

507Ll

807

L2110L3

TO K-l(I)

30

TO K-l(I)

TO KCI)CI)CI)(I)

1S

18

18

,18

RETURNENDR E M #**x y* )?•' /f * Jfí rT /TÍ f rf\'

REM SUBRUTINA DEREM -F=RNDIF F<F=lGO TOF=0MOUEPRINTMOUEPRINTMKK)M2ÍK)FOR IMOUEPRINTNEXTREM -Z1=S3Z2-S3S3 C 1 )83 C 2 )S3C3)MOUEPRINTMOUEPRINTU3 = S3IF W3

ÍK * y ÍTÍ Jf " ÍÍC iií *" ík" ¡fc

GENERACIÓN> GENERACIÓN

< 1 )0,5 THEN 5070

5080

35»F

110F

— C""™ f"

= M1= 110 +MII

80

700

(K)TO K3*1 7/0(I)

> CODIFICACIÓN(1)(2 )spr

= Z1=2240.2140.33

C 1 )— o

60?2255(1) ÍS3C2)+S3Í3)THEN 5310

C O D I F I C A C I Ó N - C A N A L

Page 299: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG.120

530053105320533053405350536053705380539054005410542054305440545054605470548054905500551055205530554055505560557015580559056005010562056305640565056605670SOBO5690570057105720573057405750576057705780579058005810582058305840

GO TO 5320

IF Ul = 2 THEN 5350GO TO 5360Wl = 0W2=W1HOME 110,55PRINT Wi;W2?W3MOVE 50,45PRINT U1*F3? U2*F3?W3#F3REM > CANAL Y CUANTIZADORGOSUS 6680Y1=W1+XGQSUB 6630Y2=U2+XGQSUB 6630Y3=U3+XIF F3=l THEN 6460IF YlIF YlIF YlIF YlIF YlIF YlIF YlVI =7GO TUU 1 = 0GO TOV 1 = 1GO TOU 1 ~ 2GO TOVl=3GO TOVI -4GO TOVI =5GO TOVl-6IF Y2IF Y2IF Y2IF Y2IF Y2IF Y2IF Y2'V2=7GO TOV2=0GO TOV2—1GO Tu^2=2

<0,13<0 + 25<0 ,33<0 , 5<0 , 63<0.75<0 . 83

5710

5710

5710

5710

5710

5710

5710

<0,13<0 , 25<0 , 38<0 , 5<0 , 63<0 , 75<0,83

5930

5930

5930

THENTHENTHEN

THENTHENTHENTHEN

THENTHENTHEN

THENTHENTHENTHEN

55305600562050405ÓÓO56805700

5SOO562058405860588059005920

Page 300: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG.127

58505360587058805890590059105920393059405950596059705980599060006010602060306040605060¿0607000806090ó 100óno61206X30614061506160617061806190620062.1.0622062306240625062606270623062906300631063206330634063506360637063806390

GOV2GO1 17»GOV2GOU2IFIFIFIFIFIFIFU3GOU3GOV3GOV3GOV 3GOV3GOU3GG<J3IFYlGOYlIF

TO=3TO

=4 .TO

= 5TO~6Y 3Y3Y3Y 3Y3Y3Y3

= 7TO~0TO~ ITO

= 2TO

~3TO

=4TO

=5TO

=6Yl

= 1TO

=0Y2

5930

5930

5930

5930

<0,13<0 , 25<0*33<0 , 5<0 . 03<0 * 75<0*88

6150

6150

6150

6150

6150

6150

6150

<o*s

6190

<o , s

THENTHENTHEN

002060400060

THEN 6030THENTHENTHEN

THEN 6

610061206140

130

THEN 6220Y2 = lGOY2IFY3GOY3IFE~IFE-IFE =

TO= 0Y3

= 1TO

= 0Yl

E-f-1Y 2

E-f 1V~7I

E-f-1MOVEPRIFElIFElIF

INTVI

6230

<0 , 5

6270

THEN 6260

=W1 THEN 62

=W2 THEN 63

=U3 THEN 63

110,4E

5

=Wi#F3 THEN

90

10

30

6370= E1 + 1V2=tJ2*F3 THEN

= E1U 3= W3^F3 THEN

6390

6410

Page 301: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG,128

640064106420643064406450646064706480649065006510652065306540655065606570658065906600661066206630664066506660667066806690670067106720673067406750700070107020703070407050706070707080709071007 1 1 07120713071407150716071707180

El=ElilMOVE 110,40PRINT ElMOVE .50,40PRINT V1ÍV2ÍV3GO TO 6590IF YK0.5 THEN 0490

GO TO 6500Vl-0IF Y2<0»5 THEN 6530V2=lGO TO 6540V2-0IF Y3<0*5 THEN 6570V3=lGO TO 6580V3 = 0GO TO 6150FOR 1=1 TO 8Q=ABS(A(I * 1 )-Vl )T=ABS<A(I>2)~V2>U=ABS(A(1,3)-V3)D(I)=0+T+UNEXT Iri(3>=EK7)D(4)=D(S)RETURNP E" M '{í ******* '" i* * * * * *REM SUBRUTINA PARAC=0FOR J=l TO 12C~C-f-RND( 1 )NEXT JX~V* (C~6>RETURNREM ***************REMPAGEMOVE 0,0DRAW 0,100DRAW 130? 100DRAW 130.0DRAW 0,0MOVE 5,85DRAW 125,85DRAW 125,68DRAW 5,63DRAW 5,85MOVE 5,64ÜRAW 125x64DRAW 125,54DRAW 5,54DRAW 5,64MOVE 5,48

******************#***************#*******#*######EL CALCULO DEL RUIDO

TÍTULOS

Page 302: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG,129

7190720072107220723072-10725072007270728072907300731073207330734073507300737073807390740074.1.074207430744074507400747074307490750075107520

DRAWDRAWDRAWÜRAW<MOUEDRAWDRAWLIRA UDRAWMOUE

125,48125,385,385,485,33125,33125,135,13

POLITÉCNICA NACIONAL'

DATOS SEUDO-ALEATORIO '

J 7 wó

30,95PRINT 'ESCUELAMOUE 25,90PRINT 'SIMULACIÓN DE ENLACES DE COMUNICACIÓN'MOUE 5,86PRINT "'GENERADOR DEMOUE 5?65PRINT 'CODIFICADORMOUE 5,49PRINT 'CANAL CON RUIDOMOUE 80,49PRINT 'S/N "ÍF5;1 dB'MOUE 5,34PRINT 'DECODIFICADOR'MOUE 70,34

K = R = 1/3'

BLANCO GAUSSIANO1

PRINT "LONGITUD DE LAS TRAYECTORIASMOUE 80íS6PRINT 'BITS A GENERARSE:' a;K2MOUE 10,80PRINT 'Dato ásnersdoí"MOUE 70,80PRINT 'Contador de datos: 'MOUE 10,75PRINT 'SECUENCIAS DE DATOS1MOUE 10,74

F4

7530 DRAW 7475407550756075707580759070007610762076307640765076607670768076907700771077207730

MOUE 10,60PRINT 'EstadoMOUE 10,55PRINT 'EstadoMOUE 70,60PRINT "DimitoMOUE 70,55PRINT "SecuenciaMDUE 10,45PRINT 'SecuenciaMOUE 10,40PRINT •SecuenciaMOUE 70,45PRINT "Numero deMOUE 70,40PRINT 'Errores

anterior:

actual

a codificarse t

codificada I

transmitida:

recibida

errores

deMOUE 10,30PRINT 'DatoMOUE 70,30PRINT "Numero

ni vel :

decodif icsdo :

de errores-

Page 303: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG,130

7740 MOUE 10,257750 PRINT 'ESTADO DE LAS7760 MÜVE 10,247770 DRAW 50,247780 HOYE 10? 187790 PRINT "LO = '7SOO iMQUE 40,137810 PRINT -Ll = '7820 MOVE 70,1S7830 PRIHT 'L2 = '7840 MOUE lOOílS7850 PRIHT 'L3 = '7860 RETURN7870 END

MÉTRICAS'

Page 304: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG,131

1000 REM PROGRAMA 'SENCQMS"1010 01=131020 GO TO 8001030 REM SIMULACIÓN DE ENLACES DE COMUNICACIÓN1040 REM CÓDIGO K = 4 R = 1/31050 V=10"C-CF5+10*CLOGC2)/LOGC10)))/20)1060 DELETE XO,XI,X2,X3tXA,X5TXó,X71070 DELETE BO•El,B2,B3,B4,B5,Bó,B71080 DELETE B,Hl,M2íA?S31090 Jl=F4-fl1100 DIM X O ( J l ) í X K J i ) f X 2 C J l ) , X 3 < J l ) í X 4 ( J l ) í X 5 ( J l ) , X 6 ( J 1 ) , X 7 C J 1 )1110 DIM B O ( J l ) í B I C J l ) , B 2 < J l ) , B 3 ( J l ) ? B 4 ( J l ) ? B 5 ( J 1 ) , B ó C J l ) , B 7 C J i )1120 DIM A C 8 r 3 ) J n C 8 ) í M l C J l ) i M 2 C J l ) , S 3 ( 4 )1130 B O C F 4 + 1 Í = 01140 B i C F 4 + l ) = 01150 B 2 C F 4 + 1 ) = 0l lóO B 3 C F 4 f l ) = 01170 B 4 < F 4 - H ) = 01180 B5CF4+1)=01190 BÓCF4 + D-01200 B7CF4+1)=01210 M2CF4+1)=01220 E=0 '

1240•i OS(").r. .*;. iJ \/

120012701280129013001310132013301340135013001.37013801390140014101420143014 '101450140014701480149015001510152015301540

LO=QLl = 0L2~0L3-0L4 = 0LS-'O1.0=0L7=0L9=0S3C1)=0S3-C2)=0S3(3)=0S3(4)=0AC1>1)=0AC1/2)=0A < 1 y 3)=0AC2? 1 )=0A C 2T 2)~0AC2r 3)=1*F3A C3? 1 ) =0A (3> 2)=1*F3AC3r3)=0AC4j 1)=0A ( 4, 2)=1#F3A (4 j 3>=1#F3A C 5 » 1 ) = 1*F3AC5?2)=0A C 5? 3)=0A C Ó » 1)=1*F3ACÓr2)=0

Page 305: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG,132

1550156015701530:L590:LÓOO16101020103010401050:L6óo10701080109017001710172017301.74017501700177017 SO17901Í3001 S 1 013201830184018501860187018 SO1890190019101920193019401950190019701930199020002010202020302040¿0502060207020802090

A(Ó73AÍ7/1AC7.2AC7?3ACSjlA<8,2

A(8f3PRINTPRINTPRINTPRINTPRINTINPUTIF K2REH ~K=lGOSUBGOSUBLO=D(XOCK)L4 = n(X4ÍK)MOVEPRINTMu U EPRINTHOYEPRI NTHOYEPRINTINPUTREM -K=K+1GOSUBGOSUBA1 = LOA2=L4LO = A1

)=1*F3)=1*F3)=1*F3)=0)-l*F3)=1*F3)=1#F3•LJJJ•JJJJ*JJJI1 JJJI' JJJIK2<F4 TH

700070001)= 08)-1110,80K20?18LO

20r 14

L410^5

1 p^p3

w$

90007000

-i-n(i)L2-A2-MK7)L4 = A1LÓ = A2XOCK)X2(K)X4CK)Xó<K)X2<1)X6C1)X4 < 1 )MQMEPRINTMOVEPRINTMOV EPRINTMQVE

JrD(8)+ n(2)= 0-0*— ' "1" X— j_=X4<1)=X4(1)=XO(1)20.18LO80 f 18L220, 14L4

80/14

LJJJJJJJIESCUELA POLITÉCNICA NACIONAL 'ÍULTAD DE INGENIERÍA ELÉCTRICA 'ÍORITHO DE VITERBI •1ULACION DE ENLACES DE COMUNICACIÓN'1ERO DE BITS A GENERARSE Í G G D Í

loó OPRIMER PERIODO DE TIEMPO

1 presione RETURN para continuar" ?

—> SEGUNDO PERIODO DE TIEMPO

Page 306: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG»133

210021102120213021402 1 5 0210021702180219022002210222022302240225022002270228022902300231023202330234023502360237023802390240024102420243024402450240024702480249025002510252025302540.2550256025702580259020002010202026302040

PRINT LoMUYE 110,80PRINT KFOR 1=1 TOBO(I)=XO(I)B2(I)=X2(I)B4CI)=X4(I)B 6 < I ) = X ó ( I )NEXT IHOME 10,5

o

PRINT 'presioneINPUT U$P rr Mr\. nK=3GOSUB 9000GOSUB 7000Í1DUE IlOíSOPRINT KA1 = LOA2-L2A3-L4A4 = LÓLQ-Al-f-D C 1 >Lj.~A2 + nC6)L2=A3+D<7)L3=A4+B<4)L4=A1+D(8)L5=A2JrD(3)Ló=A34-D(2)L7=A4+D<5)XO(K)=0X1(K)=0X2CK)=0X3ÍK)=0X4(K)=1X5(K)=1Xó <K)-1X7(K)=1FOR 1=1 TOXOCI)=BO(I)X1(I)=B2(I)X2(I )~B4CI )X3CI)=BÓ(I)X4CI)=BO(I)X5CI)=B2(I)XÓCI)=B4CI)X7(I)=BÓ(I)NEXT IMOUE 20 7 18PRINT LOMOUE 50,18PRINT LlHOUE 80,13PRINT L2MOVE 110, 18

TERCER

2

RETURN P3ra continuar

PERIODO HE TIEMPO

Page 307: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG.

26502060.267026SO269027002710272027302740275027002770278027902800281028202830284023502SÓO2870288028902900291029202930294029502960297029302990300030.10302030303040305030603070308030903.10031.10312031303140

PRINT L3MOVE 20rl4PRINT L4MOVE 50^14PRINT L5MOVE 80rl4PRINT L6MOVE 110*14PRINT L7FOR 1=1 TO KBOCI)=XO(I>B1ÍI)=X1(I)B2(I)=X2(I)B3<I)=X3(I)B4(I)=X4(I)B5<I)=X5(I)B6(I)=XÓ(I)B7(I)=X7(I)NEXT IMOVE 10,5PRINT 'presione RETURN par 3 continuar'/INPUT W$REM >CUALQUIER PERIODO DE TIEMPOGOSUB 9000K=K-f-lMQVE 110*80PRINT KGOSUB 7000REM > CALCULO DE LOS SUPERVIVIENTESGOSUB 5000IF K=F4 THEN 3000MOVE 10/5PRINT "presione RETURN psrs continuar'?INPUT Wt>GO TO 2370

REM

K=F4

IF M<L1 THEN 3070

IF M<L2 THEN 3090

IF M<L3 THEN 3110M-L3IF M<L4 THEN 3130

ESCOGIMIENTO DEL MENOR SUPERVIVIENTE

IF M<L5 THEN 3150M=L5

3150 IF M<L6 THEN 31703160317031803190

IF M<L7 THEN 3190M = L7IF LO=M THEN 3400

Page 308: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG,135

320032103220323032403250,32003270328032903300331033203330334033503360337033303390340034103420:$430344034503400347034803490350035103520.3530354035503560357035803590360030103020363030403650366036703680369037003710372037303740

IF L1=M THEN 3380IF L2=M THEN 3360IF L3=M THEN 3340IF L4=M THEN 3320IF L5=M THEN 3300IF LÓ=M THEN 3280S=X7(1)GO TO 3410S=X6<1)GQ TO 3410fí=X5(l)GO TO 3410S=X4(1)GO TO 3410S=X3C1)(30 TO 3410S=X2U)GO TO 3410S=X1(1)GO TO 3410S=XO(1)IF S=M1<1) THEN 3430E2=E2+1FOR 1=1 TO KXO<I)=BO(I+1)X1(I)=B1(I+1)X2(I)=B2(I+1)X3CI)=B3CI-fl)X4CI) = B4(I-fl)X5(I)=B5CI+1)XÓ(I)=B6a + l)X7<I)=B7<I+1)BO<I)=XO(I)B1(I)=X1(I)B2(I)=X2CI)B3(I)=X3(I)B4CI)=X4(I)B5(I)=X5(I)B6CI)=X6C1")B7CI)=X7(I)Ml(I)=M2a + l)M2(I)-M1C1")NEXT IHOME 110/80l--TaNT KlHOUE 50:30PR1NT SMOUE 110,30PRINT E2HOUE 10; 5PRINT "presione RETURNINPUT U*IF K1=>K2 THEN 3780K1=K1+1GOSUB 9000

continuar" j

Page 309: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG,130

37503700377037903790380038103820383038403850380038703880389039003910392039303940395039003970398039904000-40:1.0402040304040405040.60407040804090410041104120•41304140415041(60417041804190420042104220423042404250426042704280

GOSUB 7000GOSUB 5000GO TO 3040REMREML9-L9+1IF L9=K+1 THEN 3900

SALIDA

F=0REM —GOSUBGOSUBMOVE 1PRINTGO TOIF Fó =PRINTINPUTPRINTPRINTPRINTPRINTPRINTIF F3 =PRINTGO TOPRINTPRINTPRINTPRINTPRINTPRINTPRINTINPUTIF W$ =GO TOPRINTPRINTPRINTPRINTPRINTPRINTPRINTPRINTPRINTPRINTPRINTPRINTENDPRINTINPUTIF W$s=PRINTENÜ

-> INYECCIÓN DE LA COLA DE CEROS900071800?70'inyección de la cola de ceros'376032 THEN 3930•LJJJJJJJJI ALISTE IMPRESOR R E T U R N PARA CONTINUAR'í

1LJJJJJIESCUELA POLITÉCNICA NACIONAL"GFÓt'JIFACULTAD DE INGENIERÍA ELÉCTRICA"

•JIALGORITMO DE VITERBI"'JICODIGO K = 4 R = 1/3"

GFó:'J1RELACION SENIAL A RUIDO = "?F5;' dB•1 THEN 4010

3JIDECODIFICACION SUAVE <8 niveles)3

'JIDECOÜIFICACION DURA (2 niveles)1

'JINUMERO DE ERRORES EFECTIVOS DEL CANAL = n

'JIERRORES DE NIVEL PRODUCIDOS POR EL CANAL-"JIHISTORIA HE LAS TRAYECTORIAS = 'íF4•JINUMERO DE ERRORES EN LA DECODIFICACION = ";E2•JINUMERO DE DATOS GENERADOS = aíK2OTRA PRUEBA (S/N)ÍGGqí

4020@FÓÍ

GFÓÍE1

0FÓ11 JI

4110•3a THEN4240"LJJJJI ESCUELA POLITÉCNICA"JJIALGORITMO DE VITERBI''JJISIMULACIONES

NACIONAL'

'ITecla•ITecls'ITecls"ITecla'ITecla"ITecla'JITecls" J estas

910111213141

A ESCOGER

K = 4K = 5K = 3K - 4K - 5MENÚ3

1/2"1/2'i/2-1/3'1/3'1/3'

simulsciones tienen las mismas cérsc'teristicss" del programa ejecutado si deses variarlas reárese si ME

"LJJJJJI desea reSressr al MENÚ (S/N) í ' í "U$"S" OR W$-'sn THEN 4°JJX GRACIAS'

Page 310: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG,137

50005010502050305040505050005070508050905100511051205130

51505.10051705180519052005210522052305240525052005270528052905300531053205330534053505360537053805390540054105420543054405450540054705*480549055005510552055305540

REM **********REM SUBPl=LO-fD(l>Rl = Ll+ri(8)P2=L2+D(Ó)R2=L3+DÍ3>P3=L4+B(7)R3=L5+D<2)F"4 = Ló+B(4>R4=L7+DC5>P5=LO+H C8)R5=LH-D(1)Pó=L2+D(3)RÓ = L3-KK6)

R7=L5+D(7)P8 = L6-}T.!(5)RS = L7-f-tK4)IF PK=R1 THENLO = R1FOR 1=1 TO K-lXO(I)=B1(I)NEXT I00 TO 5280LO=P1FOR 1=1 TO K-lXO<I)=BO(I)NEXT IXO(K)=0IF P2<=R2 THENL1 = R2FOR .1 = 1 TO K-lX1(I)=B3(I)NEXT IGO TO 5390L1 = P2FOR 1=1 TO K-lX1(I)=B2(I)NEXT 1X1CK)=0IF P3<=R3 THENL2 = R3FOR 1=1 TO K-lX2C1)=B5(I)NEXT 1GO TO 5500L2=P3FOR 1=1 TO K-lX2( I )-B4< I )NEXT IX2(K)=0IF P4<=R4 THENL3 = R4FOR 1=1 TO K-lX3(I)=B7(I)

DEL CALCULO DE SUPERVIVIENTES

240

400

Page 311: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG,138

ircrc-Q

556055705580559050005010502056305640505056605070508056905700571057205730574057505700577057305790580053 1050205830584058505860587058SO58905900591059205930594059505960597059805990600060106020603000406050ÓOÓO607060806090

NEXT IGO TO 5610L3 = P4FOR 1=1 TO K-lX3(I)=BÓ<I)NEXT IX3(K)=0IF P5<=R5 THENL4=R5FOR 1=1 TO K-lX4(I)=B1(I)NEXT IGO TO 5720L4=P5FOR 1=1 TO K-lX4(I>=&0(I)NEXT IX4(K)=1IF P6<=R6 THENL5-RÓFOR 1=1 TO K-lX5(I)=B3(I)NEXT IGO TO 5830L5-PÓFOR 1=1 TO K-lX5(I)=B2(I)NEXT IX5ÍK)=1.IF P7<=R7 THENLó=R7FOR 1=1 TO K-lX6'CI)=B5(I)NEXT IGO TO 5940LÓ=P7FOR 1=1 TO K-lX6(I)=B4<I)NEXT IX6(K)=1IF P8<=R8 THENL7=ÍR8FOR 1 = 1 TO. K-lX7(I)=B7CI)NEXT IGO TO 6050L7 = P8FOR 1=1 TO K-lX7CI)=B6(I)NEXT IX7(K)=1FOR J=l TO KBOCJ)=XOCJ)B1(J)=X1(J)B2(J)=X2CJ)

5680

5790

5900

6010

Page 312: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG,139

010001100120013001400150Ó1ÓO0170al 800190¿200021062200230024002500260¿270-.62800290.63000310

B3(J)=X3(J>B4(J>=X4(J>E<5< J)=X5( J)E»ÓCJ)=XÓ(J)B7(J)=X7<J)NEXT JMOUE 20,18PRINT LOMOUE 50,13PRINT LlMOUE 80,18PRINT L2MQUE 110,18PRINT L3MOUE 20,14PRINT L4MOUE 50,14PRINT L5MOUE 80,14PRINT LoMCUE 110,14PRINT L7RF.TURN

7000701070207030704070507060707070807090710071107120713071407150710071707180719072007210722072307240725072607270728072907300

REM *******************REM SUDRUTINA DE GENERAREM > GENERACIÓNF=RNfl(l)IF F<0,5 THEN 7070F=lGO TO 7080F = 0MOUE 35, SOPRINT FMOUE 110; 60 'PRINT FMKK)=FM2(K)=M1(K)POR 1=1 TO KMOUE 10+3*1,70PRINT MI (I)NEXT IREM > CODIFICACIÓN21=83(1)22=53(2)Z3=S3(3>S3<1)=FS3<2)=Z1S3(3)=Z2S3(4)=23MÜUE 40,60PRINT Z1?Z2?23-MOUE 40,55PRINT S3(l) ÍS3(2) ÍS3C3)W2-S3(1)+S3(2)+S3(4)

###**^^-- CODIFICACIÓN - CANAL

Page 313: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG*139

610061106120613061406150610061706.18061906200621062206230624062506260627062Í3G629063006310632070007010702070307040705070007070708070907100711071207130714071507100717071807190720072107220723072 40725072607270728072907300

B3(J)=X3(J>B4(J)=X4(J>B5("J)=X5(J)BÓ(J)=XÓ(J)B7(J)=X7(J)NEXT JMGVE 20,18PRINT LO.MOVE 50.18PRINT LlMOUE 30.18PRINT L2HOUE 110,18PRINT L3HOYE 20.14PRINT L4MOVE 50? 14PRINT L5MOUE 80.14PRINT LoMOUE 110.14PRINT L7RETURNREMREM SUBRUTINA DE GENERACIÓNREM ------ > GENERACIÓNF-RND(l)IF F<0,5 THEN 7070F=lGO TO 70SOF~0MOUE 35; 80PRINT FMQYE 110.00PRINT Fñl<K)=FM 2 C K ) = M K K )FOR 1=1 TO KMOUE 10-f3*1.70PRINT HKI)NEXT IREH ------ > CODIFICACIÓNZ 1=33(1)Z2^S3<2)23=33(3)33 C 1 ) -FS3(2)=Z1S3(3)=Z2S3(4)=Z3MOUE 40.60PRINT Z1ÍZ2ÍZ3MÜUE 40.55PRINT S3(l) ÍS3C2) í 53 ( 3 )W2=S3(l)-fS3C2)+S3(4)

***CODIFICACIÓN - CANAL

Page 314: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG*140

731073207330734073507360737073807390740074107420743074407450746074707480749075007510- ; cr <-, s\ O l'J

753075407550756075707580759076007610762076307640765076607670763076907700771077207730774077507760777077807790780078107820733078407350

IF W2=2 THEN 7340IF W2=3 THEN 7360GO TO 7370W2-0 •GO TO 7370U2 = lU1=S3(3)+U2IF Ul=2 THEN 7400GO TO 7410W 1 = 0U3=S3(l)+S3<3>+33(4)IF U3-2 THEN 7450IF W3=3 THEN 7470GO TO 7480W3 = 0GO TO 74SOW3 = lMO'JE 110,55PRINT W1ÍW2ÍW3MQ'v'E 50,45F'RINT W1#F3;U2#F3;U3#F3C1 FT M "'-. P ii f\ A ) Y P 1 1 íi M T T 7 A Ti D C1Ktin .-• UHrtr-tL T L-UMP-t 1 1 Z.HI'UK

GOSUB 8770Y1=W1+XGOSUB 8770Y2-W2+XGOSUB 8770Y3=W3+XIF F3=l THEN 8570IF Yl<0*13 THEN 7690IF YK0.25 THEN 7710IF YK0.38 THEN 7730IF Yl<0*5 THEN 7750IF YKO.Ó3 THEN 7770IF YK0.75 THEN 7790IF YK0.8S THEN 7810l I H —"7

GO TO 7320Vl = 0GO TO 7820V 1 = 1GO TO 7820U 1=2GO TO 7820Ml~3GO TO 7820Ul~430 TO 7820Ul = 5GO TO 7820Ul-6IF Y2<0,13 THEN 7910IF Y2<0,25 THEN 7930IF Y2<0,38 THEN 7950IF Y2<0,5 THEN 7970

Page 315: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG.141

78607870788078907900791079207930794079507960797079807990SOOÜ8010R0208030804080503060807080808090810081108120Í3.13081408150810081 708180SI 9082008210Í32208230824082508260827082808290830083108320Í33308340835083603370838083908400

IFIFIFU2GOV2GOV2GOY2GOU2GOU2GOU2GOU2IFIFIFIFIFIFIFV 3GOy 3GOV3GOy 3GOU 3GOU3GOU3GOY3IFYlGO

Y2<Y2<Y2<

=7 -TO

= 0TO

= 1TO

= 2TO

=3TO

3 4

TO— 5TO

=6Y "• •:''

Y3<Y3<Y3<Y3<Y3<Y3<=7TO

—-1^1

TO= 1TO~2TO

=3TO=4

TO= 5TO-óY 1 <

-1TO

0.630.75:o,ss

8040

8040

8040

8040

8040

8040

8040

:o,i3;o ,25:o,38:o ,5!0,63;o + 75;o.ss

8260

8200

8260

8260

8200

8200

8260

:o,5

8300

THENTHENTHEN

THENTHENTHEN

THENTHENTHENTHEN

THEN

799080108030

313081508170

8190821082308250

8290

Yl=0IFY2GOY2IFY3GOY3IFE=IF

Y2<,.,,, -i

TO= 0Y3<

= 1TO

= 0

0,5

8340

0,5

8380

THEN

THEN

8330

8370

Y1=W1 THEN 8400E-í-1V *~J — •W2 THEN 8420

Page 316: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG+142

84108420S430844084508460847084808490850085108520853085408550356085708580859086008610862036308640865086608670868086900700871087208730874087508760877087308790880088108820883088409000901090209030904090509060907090809090

E=E+1IF Y3=W3 THEN 8440E=E+1MOVE-110,45PRINT EIF V1=W1#F3 THEN 8480E1=E1+1IF V2=W2#F3 THEN 8500E1=E1+1IF V3=U3*F3 THEN 8520E1=E1+1MOUE 110,40PRINT ElMOVE 50,40PRINT Vl?V2íV3GO TO S700IF YK0.5 THEN 8600Vl = lGO TO SÓ10V 1=0IF Y2<0.5 THEN 8640V2 = l-GO TO 8650U 2=OIF Y3<0.5 THEN 8680V3=lGO TO 8690V3 = 0GO TO 8260FOR 1=1 TO 8

T=ABS<A(Ií2)-V2)

í*****:dPARA EL CALCULO DEL RUIDO

D(I)=0+T+UNEXT IRETURNREM ###*REM SUBRUTINAC=0FOR J=l TO 12C=C+RND(1)NEXT JX=V*CC-Ó)RETURNREM ****************#****#******#******#*************#***#*#***:REMPAGEMOUEDRAUDRAWDRAWDRAWhOVEDRAW

TÍTULOS

OrO

0,100130,100130,00,05,85125,85

Page 317: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG.143

91009110912091307.1-409 ISO910091709.180919092009210922092309240925092609270923092909300931093209330934093509300937093SO93909400941094209430944094509460947094809490750095109520953093409550956095709580959096009610962096309640

DRAWDRAWDRAWMOVECiRAWÜRAWDRAWÜRAWMOVEIIRAWIiRAWIiRAWDRAWMGVEDRAWDRAWDRAWDRAWMOVE

125,685,685,855,64125,64125,545,545,645,48125,48125,335, 385,485,33125,33125,13

13'.~t.

,

POLITÉCNICA NACIONAL

DE ENLACES DE COMUNICACIÓN

DATOS SEUDO-ALEATORIÜ'

K = 4 R = 1/3

BLANCO GAUSSIANO

%j,30,95

PRINT 'ESCUELAMOVE 25,90PRINT 'SIMULACIÓNMOVE 5*80PRINT "GENERADOR DEMOVE 5,65PRINT 'CODIFICADORMOVE 5,49PRINT "CANAL CON RUIDOMOVE 80r49PRINT 'S/N '? F5 í' dB"MOVE 5,34PRI.MT "DECODIFICADQK"MOVE 70,34PRINT 'LONGITUD DE LAS TRAYECTORIASMOVE 80,86PRINT -BITS A GENERARSE: -?K2MOVE 10,80PRINT 'Dato Generado!"MOVE 70,80PRINT 'Contador de datos; a

MOVE 10,75PRINT 'SECUENCIAS DE DATOS"MOVE 10,74DRAW 45,74MOVE 10,60PRINT "Estado anterior: "

F4

PRINT 'EstadoMOVE 70,60PRINT

actual

3 codificarse

PRINT "SecuenciaMOVE 10,45PRINT 'SecuenciaMOVE 10,40

codificada

transmitida

Page 318: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG.144

9¿50 PRINT 'Secuencia recibida :9060 MOUE 70,459070 PRINT 'Numero de errores I '9ÓSO MGVE-70,409690 PRINT 'Errores de nivel: '9700 MOVE 10,309710 PRINT 'Hato decodifÍC3QO t '9720 MOUE 70,309730 PRIMT 'Numero de errores t •9740 HOME 10,259750 PRINT 'ESTADO DE LAS MÉTRICAS9700 MOVE .10:249770 DRAW 50,249780 MOUE 10,189790 PRINT 'LO = '9SOO HOUE 10,149810 PRINT 'L4 = '9820 MOVE 40,169830 PRINT "Ll = "9840 MOUE 40,149850 PRINT 'L5 = '78¿>0 HOVE 70,139870 PRINT 'L2 = '9080 MOVE 70,149890 PRINT 'Lo = '9900 MOVE 100,139910 PRINT 'L3 - J

9920 MÜVE 100,149930 PRINT BL7 = '9940 RETURN9950 END

Page 319: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG,145

J. vuv

1010102010301040105010001070108010901100U. 1 01.12011301140115011601170118011901200-1.2101.220i. 2 3012401.2501.2601.2701.280L2901.300i. 3 1 0L3201.330.3401.350.360.370.380.3901.400.410.4201.4301.440

.400

.470

.480

.490

.500

.510.

.5201.5301540

lAtin r r\uur\HnH ot-píuunt» — —01 = 14GO TO 800REM - SIMULACIÓN DE ENLACES DE COMUNICACIÓNREM CÓDIGO K = 5 R = 1/3V=10"(-<F5+10#(LOG(2)/LQG<10) ) )/20)DELETE XO 7 XI >X2 7X3 7X4 ?X5 7X6 ,X7DELETE BOiBlfB2?B3í B4 ? B5 ; B6 j B7DELETE ZO T Zl f 22 f Z3fZ4jZ5fZójZ7ÜELETE CO 7 Cl 7 C2 7 C3 7 C4 7 C5 7 C6 T C7DELETE 07M17M27A7G7S3J1=F4+1'DELETE 8 7 100DIM XOCJ1) 7XÍÍ Jl) ?X2<J1) 7X3Í Jl) fX4<Jl) * X5( Jl ) ,XÓ < Jl )DIM BO(J1)7B1(J1) 7B2<J1) 7B3(J1) 7B4C Jl) 7B5CJ1) 7BÓ(J1)DIM ZO(J1) 7Z1CJ1) 7Z2CJ1) 7 Z3ÍJ1) j Z4 C Jl )" 7 Z5 ( Jl ) jZÓCJl)DIM CO(Jl) 7Ü1CJ1) 7C2CJ1) ? C3ÍJ1) 7Ü4Í Jl) ?C5(J1) 7C6CJ1)DIM D(S)?MKJl)fM2(Jl)fG(5)íA(Sí3)BO<F4+1 )=0BKF4+1)=0B2CF4+1)=0B3(F4+1)=0£i4CF4 + l )=0B5CF4+1)=0Bó<F4+l)=0B7CF4+1)=0CO(F4+1)=0Cl (F4+1 )=0C2(F4+1)=0C3<F4+1)=0C4(F4+1)=0C5(F4+1 ) ~0Có(F4+l)=0C7CF44-D-0M2(F4-M)=0E~0El = 0E2=~0L0=0í ->«./%U. J_ •** \s

L2=0L3=0L4™0L5-0Ló=0

L9 = 0NO-0Nl=0N2 = 0N3=0N4 = 0N5~0Nó-0N7 = 0

rX7CJl)•B7CJ1)7Z7CJ1)?C7CJ1)

Page 320: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG

156015701580159016001610162016301640165016601670168016901700171017201730174017501760.17701780179018001810.1820183018401850186018701880IB 9019001910192019301940195019601970198019902000201020202030204020502060207020802090

G(l)=0Gt2>=0GC3)=0G(4)=0G(5)=0A(l,1)=0A(l72>=0AC1,3)=0A(2r1)=0

A(3il)=0A<3j2)=l#F3A( )=0A<4íl)=0

A(4,3)=1#F3A(5»1)=1#F3

A(Ó,1)=1#F3A(6?2)=0

AC7

GOSUBPRINTINPUTIF K2K=lGOSUBPRINTGOSUBLO=D(XOCK)NO = D(20 (K)PRINTPRINTPRINTINPUTK=K+1GOSUBPRINTGOSUB

11000•JJJINUMERO DE BITS A GENERARSE ;GG'?K2<F4 THEN 1850

11000"JINUMERO DE BITS GENERADOS:90001)= 08)~1"JJILO = flíLO•iL8 - U;NO"Jlpresione RETURNWí

ÍK

c o n t i n u s r ' í

11000"JINUMERO HE BITS GENERADOS:9000

í K

A 2=NOLO = A1-KK1)L4=A2+n(7)

Page 321: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG,147

210021102120213021402.1502160217021802190220022102^20253022402250226022702280229023002310232023302340235023602370238023902-400241024202430244024502460247024802490250025.1.025202530'•)i=- 4 fj«.;. \J~t\J

2S50256025702580259026002610262026302640

XO(K)=0X4(K)=0ZO(K)=1Z4<K)=aX4CL)=ZO<1)Z4<1)=ZO(1)ZO<1)=XO(1)PRINT "JJILO = "?LOPRINT 'IL4 - -i LAPRINT 'IL8 - "ÍNOPRINT 'IL12 = ' ?N4FOR 1=1 TO KBO(I)=XO(I>B4(I)=X4(I)COCI)=ZOCI)C4(I)=Z4(I)NEXT IPRINT "Jlpresione RETURN R3ra continuarINPUT W$K=K + 1GOSUB 11000PRINT "JINUMERO DE BITS GENERADOS! - J KGOSUB 9000A1=LOA2 = l_4A3==NOA4=N4LO=A1+D(1)L2=A2+D(Ó)L4=A3+DC7)L6-A44-DC4)NO=A1+D(B)N2-A2-fD<3)N4«A3+D(2)MÓ-A4+DC5)XO(K)=0X2(K)=0X4CK)=0X6(K)=0ZO(K)=17,2 (Kp)=iZ4(K)=1Z6 (K)-lFOR 1=1 TO 2XO(I)=BO(I)X2<I)=B4(I)X4<I)=CO(I)Xó(I)=C4(I)ZO(I)=BO(I)Z2(I)=B4CI)Z4(I)=CO(I)ZÓ(I)=C4(I)NEXT IPRINT -JILO = a;LOPRINT "IL2 = "ÍL2

Page 322: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG.148

2050 PRINT "IL4 = "2660 PRINT -IL6 = '2070 PRINT '1LS = '2080 PRINT 'ILIO = '2690 PRINT 'IL12 = '2700 PRINT "IL14 = '2710 FOR 1=1 TO K2720 BO(I)=XO<I)2730 B2(I)=X2U)2740 B4<I)=X4(I)2750 BÓ(I)=X6CI)2700 CO(I)=20<I)2770 C2(I)=22(I)2780 C4(I)=Z4(I)2790 CÓÍI)=Z-ÓCI)2800 NEXT I

ÍL45L6ÍNOÍN2ÍN4;NÓ

2810 PRINT 'JIpresicne2820 INPUT W$2S30 K=K+12840 A1=LO2850 A2=L22800 A3=L42870 A4-L62880 A5=NO2890 A6=N22900 A7=N42910 A8=N62920 GOSUB 110002930 PRINT "JINUh'ERO2940 GOSUB 90002950 LO=Al+n(l) .2900 L1=A2+D(7)2970 L2=A3+D<6)2980 L3=A4+D(4)2990 L4 = A5-K!<7)3000 L5=Aó+n(l)3G10 L6=A7+Ü(4)3020 L7-A8-KKÓ)3030 NO=A1+D<8)3040 N1=A2-Í-D(2)3050 N2=A3iü(3)3000 N3 = A44-B(5)3070 N4 = A5-KK2>3080 N5=AÓ"f-IK8)3090 N6-A7-KK5)3100 N7=A8+n<3)3110 XO(K)=03120 X1CK)=03130 X2CK)=03140 X3(K)=03150 X4(K)=03160 X5CK)=-03170 XÓ(K)=031.80 X7(K)=03:1.90 20<K)-i

DE

RETURN para continuar

BITS GENERADOS:

Page 323: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG,149

32.003210322032303240325032003270328032903300331033203330334033503300337033303390340034103420343034403450340034703480349035003510352035303540-35503500357035SO359030003610362036303640305030 ó O3070308036903700371037 SO37303740

Z1CK)Z2CK)23 <K)Z4<K)Z5CK)ZÓ(K)Z7CK)POR IXO C I )X1CI)X2CI)X3CI)X4(I)X5CI)Xó<I)X7(I)ZO(I)ZKI)Z2CI)23(1)Z4CI)Z5<I)Z6(I>27(1)NEXTGOSUBPRINTINPUTREH -GOSUBK=K+1PRINTGOSUB

"— "t

„„ *j

_ -*

r-,m -4

— 1

= 1 TO 3=BO(I)=B2(I)=B4(I)=BÓ(I)=CO(I)=C2(I)=C4(I)

=B2(I)=B4(I)

=C2(I)=C4<I)

I11500' Jlpresione RETURN para coptinusr ' ?W*

>CUALQUIER PERIODO DE TIEMPO11000

"J1NUMERO DE BITS GENERADOS: "?K9000

GOSUB 6000F4 THEN 3580

* Jlpresione RETURN psrs continuar " »IF K-PRINTINPUTGO TOREH -K1=KK=F4

3480- ESCOGIMIENTO DEL MENOR SUPERVIVIENTE

IF H<L1 THEN 3640M-L1IF M<L2 THEN 3660M-L2IF hXL3 THEN 3680

IF M<L4 THEN 3700

IF M<L5 THEN 3720

IF h<LÓ THEN 3740

IF M<L7 THEN 3760

Page 324: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

A P É N D I C E I I I PAG»150

375037603770378037903800381038203830384038503860387038803890390039103920393039403950396039703980399040004010-10204030404040504000407040804090410041104120413041404.1.5041004170413041904200421042204230424042504260427042804290

M=L7IF M<NQ THENM^MOIF M<Ní THENM=N1IF M<N2 THENM=N2IF M<N3 THENM=N3IF M<N4 THENM = N4IF M<N5 THENM=N5IF M<NÓ THENM=NÓIF M<N7 THENM = N7IF LO^H THENIF L1=M THENIF L2=M THENIF L3=H THENIF L4=M THENIF L5=M THENIF LÓ=M THENIF L7^=H THENIF NO=M THENIF N1 = M THENIF N2 = H THENIF N3=M THENIF N4=M THENIF N5=M THENIF N6=M THENS=Z7(1)GO TD 4380S-ZÓ(l)GO TO 4380S=Z5(1)GO TO 4380S=Z4 C 1 >GO TO 43SOS=Z3U)GO TO 4380S=Z2(1)GO TO 4380S==Zi(l)GO TO 4380S=ZO(1)GO TO 4380S=X7(1)GO TO 4380S=XÓ(1)GO TO 4380S=X5(1)GO TO 4380S=X4(1)

3780

3800

3820

3S40

3860

3SSO

3900

3920

437043504330431042904270425042304210419041704150413041104090

Page 325: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG,151

430043104320433043404350430043704380439044004410442044304440445044004470443044904500451043204530454045504500457045304590400046.1.0462046304640465046604670468046904700471047204730474047504760477047804790480048104820A £3 304S40

GO TO 4380S=X3(1)GO TO 4380S=X2C1)GO TO 4380S=X1U>GO TO 4380S=XO(1)IF S=M1(1) THEN 4400E2=E2+1FOR 1=1 TO KXO(I)=BOCI+1)XKI)=B1(I + 1)X2(I)=B2CI+1)X3(I)=B3<I+1)X4a>=B4<l + l)X5<I)=B5CI+1)XÓ(I)=BÓ(I+1)X7(I)=B7(I+1)ZO(J)-COa-H)Zl(I)=Cl(I-fl)Z2CD-C2CI-M)Z3(I)=C3(I+1)Z4<I)=C4<I+1)Z5(I)=C5CI+1)ZÓ(I)=CÓ(I+1)Z7(I)=C7(I+1)M1(I)=H2(I+1)r-íO(i)=xo(i>BKI)=X1(I)B2(I)=X2CI)B3CD-X3ÍI)B4(I)=X4CI)B5<I)=X5CI)BÓ(.i:)-X6<I)B7CI)=X7(I)CO(I)=ZO(I)C.KÍ )=Z1(I)C2(I)=Z2<I)C3(I)=Z3(I)C4(I)=Z4(I)C5(]:)=Z5(I)có(r)=z6(i)C7<1)-Z7(I)M2(I)=M1(I)NEXT IPR1NT 'JIbit decodificsdo I 'iSPRINT ' Inumero de errores en laPRINT "JlpresioneINPUT W$IF K1OK2 THEN 4870K1=K1+1GOSUB 11000PRINT "JINUMERO BEGOSUB 9000

RETURN psrs

BITS GENERABO

decooificacioncontinuar"í

E2

Page 326: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG.152

4S50480048704S80489049004910492049304940495049004970498049905000501050205030504050505000507050SO509051005110512051305140

GOSUB 000GO TC 361p C Mi\t.nL9-L9+1IF 1,9= K+lK1=K1+1F=0GOSUB 110PRINT 'JIPRINT 'JIGOSUB 910GO TO 485IF Fó=32PRINT -LJINPUT U$PRINT @FÓPRINT 0FÓPRINT @FÓPRINT @FÓPRINT @FÓPRINT @FÓPRINT 5FÓPRINT QF6PRINT GFóPRINT @FÓPRINT "JIINPUT U*T P1 1 1 ff" — " Q "

PRINT "JJEND

A L I D A-

THEN 4970

OUMERO DE BITS

JIINYECCIQN DE LA

THEN 5000LJJJJJJJJI ALISTE

COLA DE CEROS L9

IMPRESOR R E T U R N PARA CONTINUAR

"LJJJJJIESCUELA POLITÉCNICA NACIONAL'"JIFACULTAD DE INGENIERÍA ELÉCTRICA1

'JIALGORITMO DE VITERBI''JICOOIGO K = 5 R - 1/3'•JIRELACION SENIAL A RUIDO - a;F5;' dB'"JINUMERO DE ERRORES EFECTIVOS DEL CANAL = 'ÍE"JIERRORES DE NIVEL PRODUCIDOS POR EL CANAL= '•JIHISTORIA DE LAS TRAYECTORIAS = '?F43JINUMERO DE ERRORES EN LA DECODIFICACION = a í iflJINUMERO DE DATOS GENERADOS = '?K2OTRA PRUEBA (S/N):GS'Í

THEN 4: GRACIAS'

El

Page 327: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG* 15:

U) V W V

¿01060206030604060506060007060SO60906100611061206130614061 5061606170618061906200621062206230

r\ u

P1=LO+D<1)R1-L1 + IK8)Q1=LO+DCS)S1=L1+D(1)P2=L2+BC7>Q2=L2+D(2)R2=L3+B<2)S2=L3+DC7)P3=L4+n(ó>Q3=L4+D<3)R3=L5+D(3)S3=L5+DC6)P4=Ló+D(4)Q-4 = L6+D(5)R4=L7+D(5)S4=L7+D(4)P5=NO+D(7)Q5=NO+D(2)R5==Ni + D(2)S5=N1+D<7)Pó=N2+D(l)QÓ=N2+D(8>Ró=N3+D(8)

SUBRUTINA DEL CALCULO DE SUPERVIVIENTES

Page 328: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APENBICE III PAG*154

624002506260.6270628062906300631063206330634063506360637063806390640064.106420643064406450646064706480649065006510652065306540655065006570658065906600661066206630604066506660667066806690670067106720673067406750676067706780

P7=N4+D<4)G7=N4-KK5>R7 = N5+r¡<5)S7=N5+B(4)P8=NÓ+0(Ó>

R8=N7+Ü<3)S8 = N7-KKÓ>IF RK=P1 TREN 6390LO = P1FOR 1=1 TO K~lXO(I)=BO(I)NEXT IGO TO 0430LO=R1FOR 1=1 TO K-lXO(I)=B1(I)NEXT IIF R2<=P2 THEN 0490L1 = P2FOR 1=1 TO K-lXKI)=B2<I)NEXT IGO TO 6530L1 = R2FOR 1=1 TO K-lXlCr)=B3(I)NEXT IIF R3<=P3 THEN 0590L2=P3FOR 1=1 TO K-lX2CI)=B4(I)NEXT IGO TO 6030L2=R3FOR 1=1 TO K-lX2<I)=B5(I)NEXT IIF R4<=P4 THEN 6690L3 = P4FOR 1=1 TO K-lX3<I)=Efó(I)NEXT IGO TO 6730L3=R4FOR 1=1 TO K-lX3(I>-E<7(I)NEXT IIF R5<=P5 THEN 6790L4 = P5FOR 1=1 TO K-lX4CI)=COCI)NEXT IGO TO 6830

Page 329: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III

67906800ÓS106820683068406850

687068806890690069106920693069406950696069706980699070007010702070307040705070607070708070907100711071207130714071507.1.6071707180719072007210722072307240725072607270728072907300731073207330

L4=R5FOR 1=1 TO K-lX4(I)=C1(I)NEXT- IIF Ró<=PÓ THEN 6890L5 = F'6FOR 1=1 TO K-lX5CI)=C2(I)NEXT IGO TO 6930L5=R6FOR 1=1 TO K-lX5<I)=C3CI)NEXT IIF R7<=P7 THEN 6990LÓ = P7FOR 1=1 TO K-lX Ó C I ) ^ C 4 C I >NEXT IGO TO 7030

FOR 1=1 TO K-lX Ó ( I ) = C 5 ( I )N E X T IIF R8<=P8 THENL7 = P8FOR 1=1 TO K-lX 7 C I ) = : : C ó ( I )NEXT IGO TO 7130L7=R8FOR 1=1 TO K-lX 7 C I ) = C 7 ( I )N E X T IIF SK=Q1 THENNO=Q1FOR 1=1 TO K-lZ O C I ) = B O ( I )NEXT IGO TO 7230NO = S1FOR 1=1 TO K-lZ O C I ) = B 1 C I >N E X T IIF S2<=Q2 THENN1 = Q2FOR 1 = 1 TO. K-lZ 1 ( I ) = B 2 ( I )NEXT I

7090

7290

NI = 32FOR 1=1 TO K-lZ 1 ( I ) = B 3 ( I )NEXT IIF S3OQ3 THEN 7390

Page 330: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG.150

73407350736073707390739074007410742074307440745074607470748074907500751075207530

FOR 1=1 TO K-lZ2(I)=B4(I)NEXT -IGO TO 7430

FOR 1=1 TO K-l22(I)=B5(I)NEXT IIF S4OQ4 THEN 7490N3 = Q4FDR 1=1 TO K-l23(I)=BÓ(I)NEXT IGO TO 7530N3=S4FOR 1=1 TO K-lZ3(I)=B7(I)NEXT IIF S5<=Q5 THEN 7590

756075707580759076007610762076307640765076607670768076907700771077207730774077507760777077807790780078107820783078407850786078707880

FOR 1=1 TO K-l24(I)=CO<I>NEXT IC-JO TO 7630N4=S5FOR 1=1 TO K-lZ4(I)=C1(I)NEXT IIF SÓ<=Q6 THEN 7690

FOR 1=1 TO K-l25(I)=C2(I)NEXT IGO TO 7730N5=SÓFOR 1=1 TO K-lZ5(I)=C3(I)NEXT IIF S7<=Q7 THEN 7790

FOR 1=1 TO K-lZó(I)=C4(I>NEXT IGO TO 7830No=3 7FOR 1=1 TO K-lZÓ(I)=C5<I>NEXT IIF S8OG8 THEN 7890N7=Q8FOR 1=1 TO K-lZ7(I)=CÓ(I)NEXT IGO TO 7930

Page 331: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG,157

78907900791079207930794079507900797079807990800080103020803080408050SO ó O807080808090810090009010902090309040905090009070908090909100911091209130914091509100

71309190920092109220923092409250920092709280929093009310

N7=S8FOR 1=1 TO K-lZ7(I)=C7(I)NEXT • IXO(K>=0XKK)=0X2CK)=0X3(K>=0X4(K)=0X5CK)=0X6CK)=0X7<K>=0ZO<K)=1Z1CK)=1Z2(K)=1Z3(K)=1Z4(K)=1Z5(K)=1Z6(K)=1Z7(K)=1GOSUB 11500RETURNREM ----- SUBRUTINA DE GENERACION-CODIFICACION-CANALPRINT "JGENERADORCDENDATOS PSEUDG-ALEATQRIQ --------F=RND<1)IF F<0,5 TREN 9000

GO TO 9070F=0PRINT "Idato ¿eneradoMKK)=FM2(K)=M1(IOPRINT 'CODIFICACIÓNU1=G(1)

U3=G(3)LJ4-GC4)GC1)=FG(2)=U1Í3(3)=U2GC4)=U3G(5)=U4PRINT "lestsdo anteriorPRINT 'lestado actualW 2 - G C1) -f G (2 ) -f G ( 4 ) i G ( 5 )

W2 = 2 OR UJ2=4 THEN 926W2=3 THEN 9280TO 9290

' ÍF

; G < i >; G (2); G < 3); G c 4)

IFIFGOW2GO TO

= 19290

IF Wl=2 THEN 9320GO TO 9330

Page 332: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG*158

9320933093409350936093709380939094009410942094309440945094609470948094909500951095209530954095509560957095809590960096109620963096409650966096709680969097009710972097309740975097609770978097909800981098209830984098509800

Wl = 0W3=GC1IF W3 =IF US-GO TOU 3-0GO TOW3=lPRINTPRINTPRINTGOSUEYl~WliGOSUBY2-W2+GOSUBY3=W3+IF F3 =IF Yl<IF Yl<IF Yl<IF Yl<IF Yl<IF Yl<IF Yl<VI = 7GO TOVl = 0GO TOVl = lGG TOi ( -r „_ o

GO TOVl = 3GÜ TOVl = 4GQ TOVI =5GO TOVl~6IF Y2<IF Y2<IF Y2<IF Y2<IF Y2<IF Y2<IF Y2<V2—7GO TOV2-0GO TOV2=>1GO TOV2-2GO TO

)+GC3)+G(2 THEN 93

5)70

3 THEN 93909400

9400

"Isecuencie codificada I"Isecuencis transmitida t•CANAL Y10650X10650

10650f\R1 THEN 104400.13 THEN0*25 THEN0,38 THEN0,5 THEN0.63 THEN0.75 THEN0,88 THEN

9720

9720

9720

9720

9720

9720

9720

0,13 THEN0,25 THEN0,38 THEN0,5 THEN0,63 THEN0.75 THEN0.88 THEN

9940

9940

9940

9940

9590961096309650967096909710

9810983098509870989099109930

S/N =

Page 333: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG,159

987098809890990099109920993099409950996099709980999010000100101002010030100401005010000100701008010090.1010010110101201013010140101501016010170101801019010200102101022010230102401025010 20010270102801029010300103101032010330103401035010360103701038010390104001.0410

I l^zsTv «i. — >_i

GO TO 9940

GO TO 9940

GO TO 9940

IF Y3<0,13 THEN 10030IF Y3<0,25 THEN 10050IF Y3«K38 THEN 10070IF Y3<0,5 THEN 10090IF Y3<0+Ó3 THEN 10110IF <0,75 THEN 10130IF Y3<0,88 THEN 10150

GO TO 10160

60 TO 10160

GO TQ 10160

GO TO 10160V 3 ~ 3GO TO 10160

GO TO 10100v3=5GO 10160

IF YKO + 5 THEN 10190Yl = lGO TO 10200Yí=0IF Y2<0,5 THEN 10230Y2=lGO TO 10240Y2=0IF Y3<0,5 THEN 10270Y3 = lGO TO 10280Y3 = 0IF Y1=W1 THEN 10300E=E+1IF Y2=U2 THEN 10320

IF Y3=U3 THEN 10340

PRINT "lerrores producidos por el canal i •?EIF vl=Wl#F3 THEN 10370E1=E1+1IF Y2=W2#F3 THEN 10390E1-E1+1IF V3=W3*F3 THEN 10410E1=E1+1PRINT 'lerrores de nivel en el cansí í " í El

Page 334: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

APÉNDICE III PAG.100

104201043010440104501046010470104801049010500105101052010530105401055010560105701058010590106001061010620106301064010650106601067010680106901070010710110001101011020110301104011050115001151011520115301154011550115601157011580115901160011 ó 1011620116301:1.640116501166011670

PRINT "Isecuencia recibidaGO TO 10570IF YK0.5 THEN 10470

GO TO 10480

IF Y2<0,5 THEN 10510

GO TO 10520

IF Y3<0*5 THEN 10550

GO TO 10560V3=0GO TO 10160FOR 1=1 TO 8

= ABS(A(I?3)-"v'3)

DE LAS MÉTRICAS EN EL DECODIFICADOR

PARA LA GENERACIÓN DE NÚMEROS ALEATORIOS

NEXT IPRINT 'ESTADORETURNREM SUBRUTINAC=0FOR J=l TO 12C=C+RND(1>NEXT JX=V*<C-ó)RETURNREM ******************* TÍTULOSPRINT 'LIESCUELA POLITÉCNICA NACIONAL1

ISIMULACION DE ENLACES DE COMUNICACIÓN1PRINTPRINTRETURNENDREM ****

ICODIFICADOR K —

SUBRUTINA PARA LAPRINT B

PRINT 'PRINT "PRINT 'PRINT 'PRINT "PRINT "PRINT 'FOR 1=1

ILOIL1IL2IL3IL.4IL5I LoIL7TO

5L1/ÍL2/i L3 jÍL4?ÍL5»

L9LIOLllL12L13

, —, • I J LTL/ } Ll vJ =

i R

IMPRESIÓN;NO

JN2ÍN3ÍN4ÍN5ÍNÓJN7

1/3

DE MÉTRICAS *************;

KBO(I)=XO(I)

B2<I)=X2(I)B3(I)=X3(I)

B5(I)=X5CI)D6(I)=X6CI)D7(I)=X7(I)

Page 335: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

BIBLIOGRAFÍA

- TRANTER, William Coding for error detección and correction.-Pre-

tince Hall.- 1983.- pp. 256-291.

- ABRAMSON, N. Teoría_d.e la Información y Codificación.- Para-

ninfo.- 1977.- Madrid.

BHARGAVA, Vijay • Forward error correction schames for

mmunications.- Enero 1983.- IEEE Comunications

Magazine.

VITERBI- A. , OMURA J. Principies of_digital 'icommunication and coding,

McGraw-Hill.- 1979.- New York.

- VITERBI, Andrew Convolucional_Codes and Their Performance in Cea

mmunication Systems.- IEEE Transaction on co-

mmunications technology.- Vol. COM -19.- N-3 5.-

pp. 751.

- FORNEY, David The Viterbi^ñlgorithiTi.- Proceedings of the IEEE,

Vól. 61.-N-2 3.- pp. 268 - 277.

- CONAN, Jean An F8 Microprocessor-Based Breadboard for the si

mulation of Conminunication Links Using "Rate l/2_

Convolutional_Codes and Viterbi Decoding.- IEEE

transactions on Communications.- Vol. COM-31.-

- pp. 165-171.

- RADER, Charles Memory Management in_a Viterbi Decoder.- IEEE

Transactions on comunications.- Vol. COM-29.-

N-°9.- pp. 1399-1401.

HELLER J.,JACOBS I. Viterbi Decoding for Satellite and Space Communi

catión.- IEEE Transactions on comraunicarion tech

nology.- Vol, COM-19.- N-°5.- pp.835-848.

Page 336: CORRECCIÓN Y DETECCIÓ DN E ERRORE ESN CÓDIGOS USANDO … · tacar: Gilbert, Hamming, Shannon, Slepian Fano, , Kelly, Me Millan, Rice. Colaboradore del Instituts Tecnológico o

- FEHER, Kamilo. Digijal Communications /Satellite /Earth Sta-

tion engineering.- Pretince Hall.- 1983.- USA,

_ SHANMUGAN, Sam Digital and An_alqg_ _Cpnmiu_nication jiystems. -

Wiley ;.'— 1979.- New York.

- MEYER, P. Probabilidad y aplicacionesestadísticas^.- Fon_

do educativo interamericano S.A.- 1970.- Méxi-

co,

- DORF, R.

- RODRÍGUEZ, Luis

Sistemas automáticos de control ._- Fondo Educa.

tivo interamenricano.- 1974.- México.- pp. 34-

55.

Simulacion Bstadística.- Tesis de Grado.- Escu_e

la Politécnica Nacional.- Facultad de Ingenie-

ría Eléctrica.- 1983.- Quito.

- KOOKAN, Jiro Comunicación Digital por Microondas.- CNCT-IE

TEL.- 1985.- Quito.- pp. 27 - 31.

-. HOWARD H. The Múltiple Stack Algoritrn Implemented on a Zi

2- 8 O Mj-crcompu ter . - IEEE Transactions on co

mmunications.- Vol. COM-28.- N-2!!.- pp. 1876 -

1882.

KOU-HU TZOU,

DUNHAM J.

Slidj ng Block Pecoding of Conyolutional Codes.--

IEEE Transactions on Communications.- Vol. COM

-29.- N*9.- pp.1401 - 1403.

PAR TECHNOLOGY

CORPORATION

Communications Modeling_Solfware £or Pesign, Si

muíation, Análisis.- IEEE Spectrum.- Junio 1983,

pp. 9.