Академический Документы
Профессиональный Документы
Культура Документы
Una fuente de
informacin puede
ser:
TIC 2
Si pk pj
I Mk I M j
Si p k 1
I Mk 0
Si 0 p k 1
I Mk 0
y adems I M k y M j I M k I M j
I Mk logb 1 pk
Donde b es la base del logaritmo. Segn la eleccin de b, ser
entonces la unidad de medida de I. Por ejemplo, la I se expresa en:
Nat si b e
Decit si b 10
Biit si
b2
p1 p2 0.5 .
Luego:
I M 1 I M 2 log 2 1 0.5 log 2 2 1biit
Entonces, la informacin de un dgito binario 1bit es igual a un biit (por ello muchos
textos usan bit para medir informacin y para nombrar los dgitos binarios,
indistintamente).
Para una larga secuencia de N smbolos (o mensajes), cada uno
de los q posibles smbolos con probabilidad pk ocurrir Npk veces.
En estos apuntes se usar biit como medida de informacin; pero muchos textos usan bit solamente.
TIC 3
R r H biit seg.
3 CDIGO DE FUENTE
Existen numerosos y muy conocidos cdigos de fuente, de naturaleza
binaria, como el ASCII, el EBCDIC, el Baudot, etc. que son de largo fijo; esto es, todos los
smbolos del alfabeto son codificados con la misma cantidad de bits.
Esta estructura es slo eficiente cuando los diferentes smbolos son
equiprobables. Un cdigo es adaptado a la fuente cuando la codificacin de los smbolos
tiene diferente longitud, en atencin a las distintas probabilidades de ellos.
Veamos un ejemplo sencillo de un alfabeto de cuatro smbolos.
Smbolo
Probabilidad
Cdigo N 1
0 0
0 1
1 0
1 0
1 1 0
1 1
1 1 1
1
1
1
2
4
Cdigo N 2
TIC 4
Para el cdigo N 1 , de largo fijo, el nmero promedio de bits por smbolo es:
1
1
1
1
H1 2 2 2 2 2 bit smbolo (resultado obvio ya que es largo fijo!)
2
4
8
8
Para el cdigo N 2 , de largo variable, el nmero promedio de bits por smbolo es:
1
1
1
1
H 2 1 2 3 3 1.75 bit smbolo
2
4
8
8
H
1.75
1.75
0.875 f
1 (lo ideal)
H 2 1.75
2
TIC 5
p's
p's
de 0.5. Y as
sucesivamente.
S1
0 0
0.25
0's
S2
0.25
0 1
S3
0.125
1 0 0
0's
S4
0.125
1 0 1
S5
0.0625
1 1 0 0
1' s
S6
0's
1 1 0 1
0.0625
1' s
S7
1 1 1 0
0.0625
1' s
S8
0.0625
1 1 1 1
cdigo de largo fijo que podra usar y compare con el cdigo de largo variable calculado.
Algunas tcnicas de codificacin de fuente, entre muchas otras, adems de
la Shannon-Fano son: Gilbert Moore, Binaria Shanon, Codificacin de redundancia mnima
de Huffman, etc.
Un buen cdigo fuente reduce la cantidad de bits que se requiere utilizar
para enviar la misma informacin. La codificacin de fuente consigue que el canal reciba la
informacin con la menor redundancia binaria posible, obtenindose as mayor eficiencia en
trminos de ancho de banda v/s velocidad de transmisin.
TIC 6
0.5
1 p 1
0
0.3
pc
0.1
1 p 0.2
pd
0.03
pe
0.03
pf
0.02
pg
0.01
ph
0.01
pb
p 0.5
Cdigo
0
0
1
p 0.1
p 0.06
p 0.04
p 0.02
1
00
011
01000
01001
01011
010100
010101
TIC 7
Codificacin extendida
Supongamos un simple alfabeto de tres smbolos, con sus probabilidades de 0.73, 0.25, y
0.02. La figura que sigue muestra el rbol y el consiguiente cdigo de Huffman.
Se puede verificar que H f es 0.9443biit simb. , que H c resulta igual a 1.31bit smbolo y
por lo tanto la eficiencia es slo 72% lo que no es muy bueno.
Smbolo
pa
0.73
pb
0.25
pc
0.02
Cdigo
0
1 p 1
10
1 p 0.27
11
Smbolo
p aa
0.5329
p ab
0.1825
pba
0.1825
pbb
0.0625
p ac
0.0146
p ca
0.0146
pbc
0.0050
p cb
0.0050 0
p cc
0.0004
0
0
0
0
0
0
0
1 p 0.025
1 p 0.0104
1 p 1
1 p 0.4671
1 p 0.2842
1 p 0.1021
p 0.0396
Cdigo de duplas
0
11
100
1010
10111
101100
1011011
10110100
10110101
1 p 0.0054
Se puede ver que para el nuevo cdigo de duplas H CDup 1.9326 bits 2 simb. que equivale a
0.9663 bits simb. . Luego la eficiencia de este cdigo de duplas ser 0.9443 0.9663 , lo que d
97.7% que es mucho mejor que el 72% de eficiencia del cdigo no-extendido anterior.
En algunas aplicaciones de lenguaje escrito se pueden definir tripletas, segn las
particularidades del idioma (en Ingls: and, the, ing, you,.......etc.)
TIC - 6
4 CAPACIDAD DE CANAL
Dado un canal de capacidad C y una fuente de R biit seg de
razn de informacin promedio (o velocidad de entropa) entonces si R C , existe algn
modo de codificar tal que la transmisin se puede efectuar con una tasa de error
arbitrariamente pequeo (Teorema N 9 de Shannon.)
Si es la duracin de cada mensaje y si N es el nmero de mensajes
permitidos, luego la mxima velocidad de entropa ser:
1
log 2 N
Luego:
1
C lim log 2 N biits seg
N t nr
Entonces
1
r
C lim log 2 n r log 2 n
C B log2 1 S
biits seg
TIC - 7
3C
10 dB ; en cambio si B.W . 10 K Hz , entonces,
B
10 K
3 dB solamente!.
10 K
S
C B log 2 1
TIC - 8
S B
C
log
1
2
S
B
B
S
log 2 1
li m 1 x
ya que
x 0
lim C
B
S
log 2 e 1.44
5 CODIFICACIN DE CANAL
De acuerdo con el teorema N 9 de Shannon deberamos poder
transmitir informacin digital con una pe arbitrariamente pequea.
Veamos un ejemplo introductorio.
Supongamos un modulador-demodulador DPSK que puede operar a:
1200 bps con una pe 2 104 ; 2400 bps con pe 4 104 y 3600 bps con pe=8 104 ( B.W .
)
Si transmitimos a rb 1200 bps tendremos la mejor pe de 2 104 .
Pero si utilizamos un codificador que transmita 3bits por cada bit de
bx
0
1
000
111
Rx
b
x
000
001
010
100
011
101
110
111
TIC - 9
3
3
qc 2 1 qc qc3
4
q
10
,
donde
2
3
c
3qc 2 2qc3
Pe 1.92 106 , lo cual es mucho mejor que la Pe de 2 104 original sin la codificacin.
Conclusin:
Es posible detectar e, incluso, es posible corregir errores binarios producidos en
la transmisin usando bits adicionales (redundancia).
No es posible detectar y corregir todos los errores que ocurran en transmisin.
La adicin de bits reduce la velocidad efectiva de datos por el canal.
La codificacin de canal tienen como propsito detectar errores al recibir
los datos y, en ciertos casos, corregir los errores a partir de los datos errneos recibidos.
Todo ello mediante la adicin de bits al transmitir los datos.
Las causas de los errores son, por lo general, ruido, interferencias y
distorsin.
En cuanto al ruido, podemos distinguir:
trmico
errores aleatorios; independencia intersmbolo.
shot
Ruido gaussiano
transientes
errores en rfagas; dependencia intersmbolo.
conmutacin
Ruido impulsivo
TIC - 10
Bloques
Cdigos
Cdigos Convolucionales
En el codificador bloque (lado transmisor) el bloque de n bits de salida
est formado por el bloque de k bits de entrada ms un grupo de r bits de chequeo. stos
son derivados del bloque de bits de entrada (bits de informacin) mediante alguna operacin
matemtica. En el decodificador (lado receptor) los bits de chequeo son usados para verificar
si los bits de informacin que llegan en el bloque, tienen o no errores. En el codificador
(transmisor) cada nuevo bloque de entrada genera un nuevo bloque de salida, que slo est
relacionado con el bloque de entrada actual y con ninguno de los bloques de entrada
precedentes.
En los cdigos convolucionales el procedimiento es semejante, salvo que
cada bloque de salida est relacionado (es dependiente) con el bloque de entrada actual y con
una cierta cantidad de bloques de entrada precedentes.
TIC - 11
En cambio los ltimos n k bits de C son generados desde los k bits de mensaje segn
alguna regla predeterminada, esto es:
C k 1 p11 d 1 p 21 d 2 ........................... p k 1 d k
C k 2 p12 d 1 p 22 d 2 ........................... p k 2 d k
TIC - 12
Los coeficientes pij pueden ser 0 o 1, mientras que las sumas son en mdulo 2. De
este modo, los Ck ' s resultantes son 0 o 1.
Combinando estas ecuaciones y escribindola en forma matricial.
1
0
.
c1 , c2 , .............. , cn d1 , d 2 , .............. , d k .
.
.
O sea:
0 0 ........ 0
p11
p12
1 0 ........ 0
p21
p22
0 1 ........ 0
p31
p32
0 0 ........ 1
pk 1
........
pk 2
p1, n k
p2,n k
.
.
.
.
.
pk ,n k
C D G
G Ik Pkn
I k en la matriz identidad de orden k y P es una matriz, de 1s y 0s, arbitraria
k n k . Una vez especificada P, el cdigo queda completamente especificado.
1 0 0 0 1 1
G 0 1 0 1 0 1
0 0 1 1 1 0
, encuentre
D
Mensajes
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
C
Mensajes codificados
0
0
0
0
1
1
0
0
1
1
0
0
0
1
0
1
0
1
0
1
1
0
0
1
0
1
0
1
1
0
0
0
1
1
1
1
1 1 0 1 1 0
1 1 1 0 0 0
TIC - 13
1 0 0 0 1 1
C 0 1 0 0 1 0 1 0 1 C 0 1 0 1 0 1
0 0 1 1 1 0
p1,n k
p21
pk1
p22
pk 2
p2,nk
pk ,nk
H PT
1 0 0 0
0 1 0 0
0 0 0 1
I nk
n k n
C HT 0
Sea, por ej. un vector C (palabra de cdigo) transmitido, que al ser recibido
aparece con error, como el vector recibido R:
RCE
donde E es el error.
S RH T C E H T CH T EH T
S EH T
El resultado S es un vector sndrome de (n-k), que slo es cero, si R no tiene
error: o sea si R es una de las palabras C vlidas; sin embargo R podra ser del C
original. Significa que hay errores binarios, pero stos no fueron detectados
TIC - 14
Ejemplo:
Sea un cdigo bloque 7, 4 generado por
1
0
G
0
0
1
0
0
0
0
1
0
0
0
0
1
1
1
1
0
I4
1
1
0
1
1
1 1 1 0 1 0 0
0
, con H 1 1 0 1 0 1 0
1
1 0 1 1 0 0 1
I3
PT
C D G 1 0 1 1 0 0 1
Para este vector de cdigo, el sndrome S (comprobar!), ser
S C H
Pero, si por ejemplo, el tercer bit del vector C sufriese un error durante la
transmisin, entonces:
R 1 0 0 1 0 0 1
1 0 1 1 0 0 1 0 0 1 0 0 0 0 C E
En consecuencia, el sndrome de R ya no ser slo de 0s; concretamente S es:
S R H T 1 0 1 E H T
Obsrvese que, para este cdigo (no para todos), el error en el tercer dgito de C
produjo un sndrome S que coincide con la tercera columna de H. (comprobar con errores
binarios en otras posiciones del C transmitido si acaso se cumple lo mismo!).
Es posible demostrar, para el ejemplo anterior, que un error simple en R puede ser
corregido, pero un error mltiple no puede corregirse.
Veamos algunas definiciones:
TIC - 15
TIC - 16
2nk 1 n
n k log 2 n 1
o bien
n k log 2 n 1
n : entero .
Ejemplo: Disee un cdigo cloque con d min 3 y para mensajes con largo de bloque (k) de 8
bits.
1
0
1
1
P
0
H T
1
I n k
0
1
0
0
o Luego
n 8 log 2 n 1
1
0
0
P
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
0
0
1
1
0
1
0
1
1
0
0
0
1
1
1
0
1
0
0
0
1
1
0
1
0
1
1
0
0
1
0
0
0
1
1
0
1
0
1
0
0
1
1
1
0
0
0
1
1
1
0
1
1
0
1
0
1
1
0
0
1
1
0
1
0
TIC - 17
7 CDIGOS CCLICOS
Constituyen una subclase de los cdigos bloques lineales.
Tienen dos ventajas:
La codificacin y la determinacin del sndrome pueden implementarse
usando registros de desplazamiento y realimentaciones.
Obedecen a una estructura matemtica que permite disear cdigos con
propiedades detectoras y, tambin, correctoras de error.
Un cdigo bloque lineal n, k es un cdigo cclico si:
el vector V V0 , V1 , V2 , Vn 1
es un vector del cdigo C
entonces
el vector V 1 Vn 1 , V0 , V1 , V2 , Vn 2
tambin es vector del cdigo C
y en general
V Vn i , Vn i 1 , V0 , V1 , Vn i 1
i
V V x V0 V1 x V2 x2 Vn1 xn1
V V x Vni Vni 1 x V0 xi V1 xi 1 Vni 1 xn1
i
x iV
q x
(i)
TIC - 18
V x X nk D x r x
Siendo r(x) el polinomio residuo que contiene los bits de chequeo o de paridad, y que resulta
de la divisin:
nk
x
x
q x
r x
g
[]
Dado que el polinomio (vector de salida) de cdigo V(x) est dado por:
V x r x xnk D x
[]
luego, segn la ecc. [] la generacin de V(x) tiene los siguientes pasos: -a) se generan los
bits del residuo r(x) segn la divisin sealada en la ecc. [] y -b) se le suman los bits de
D(x) previamente desplazados (elevados) en potencia al multiplicar D(x) por x(n-k) .
La divisin polinomial requerida para generar r x puede efectuarse mediante un simple
registro de desplazamiento como se muestra en seguida:
TIC - 19
compuerta
g2
g1
r0
r1
realimentacin
antes del
desplazamiento
g3
rn k 1
r2
polinomio
2 de
mensaje de
entrada D x
salida
V x
TIC - 20
n 7,
compuerta
i input;
r0 o
g 1 1,
o output
r2i
r1i
r0
g 0 1,
g1
r0i
k 4,
r2
r1
o
1
r
mensaje de
entrada D x
r2 o
r0 o
salida
V x codificada
r2 o
r0i
r1i
1
0
0
1
1
1
0
1
paridad
1
r1o
ltimo
Finalmente V x 1
0
1
1
0
primero
1 0 0 1 0
r
r2i
o - o - o - o - o
Con relacin al clculo del sndrome, para la deteccin de error y correccin de
error tenemos lo siguiente.
Si un vector de cdigo V es transmitido por un canal ruidoso, el vector recibido R
puede ser distinto. Entonces el receptor debe, primero, calcular el sndrome de la palabra
recibida para detectar si ella pertenece o no al cdigo.
El sndrome S x del vector recibido R x es el residuo resultante de dividir R x
por g x . Vale decir:
R x
g x
P x
g x
y entonces:
R
g
x
x
x
V
g
x
x
E
g
x
x
x g x
g x
E
g
x
x
TIC - 21
De modo que:
Despejando queda:
x
E
S
g
x
x
R
g
x
x
E
g
x
x
x g x
x .
La relacin anterior muestra que hay una dependencia entre el sndrome obtenido S x y el
error E x . O sea, que S x contiene informacin acerca del error, lo cual puede resultar til
para el propsito de efectuar la correccin del error.
Desde el punto de vista electrnico, la generacin de S x , en el receptor, puede
lograrse con circuitos simples basados en registros de desplazamiento como el siguiente:
compuerta
1
g1
R x
vector
recibido
g2
g n k 1
2
S0
S1
S n k 1
compuerta
S x
salida de
sndrome
Los estados (abierto o cerrado) de g1, g 2, etc... se programan de acuerdo a los valores
de los coeficientes del polinomio g x escogido (lo mismo que en el codificador).
El registro es previamente inicializado en estado de reset.
En seguida con la compuerta 2 abierta (off) y la 1 cerrada (on), comienzan a ingresar
los bits del vector recibido R x y se va realizando la divisin de R x por g x . Debido a
que la compuerta 2 est abierta (off) no hay bits de salida an. Despus que todos los bits
del vector R han ingresado, el contenido que queda en los registros son los bits del residuo
S x resultante de la divisin mencionada.
Entonces, ahora con la compuerta 2 cerrada (on) y la 1 abierta, no hay ms divisin
y los bits el polinomio S x son desplazados hacia afuera.
Si S x es 0's entonces existe al menos un error (al menos un 1). Un simple flip-flop
R-S conectado a la salida cambiar de estado cuando salga un bit de S x de 0 .
Cuando se desea, adems, corregir el error, la operacin es ms compleja. Un posible
esquema de correccin se muestra a continuacin.
TIC - 22
conexiones de realimentacin
REGISTRO DE SNDROME
1
2
1
vector
de
entrada
R x
REGISTRO BUFFER
vector
corregido
8 CDIGOS CONVOLUCIONALES
En los cdigos bloques, el bloque de n bits generado por el codificador, en un instante
dado, depende slo del bloque de k bits del mensaje de entrada en ese instante.
En los cdigos convolucionales el bloque de n bits generado por el codificador depende,
no slo de los k dgitos del bloque de entrada en un instante dado, sino que adems de
" N 1" bloques de entrada precedentes N 1 .
TIC - 23
CODIFICADOR
"k "
bits
CONVOLUCIONAL
CODIFICADOR
n, k
"n"
bits
X0
k 1
n3
cdigo
3,1
y2 D0 D1
y1 D0
y0 D0 D1 D2
b)
X0
y2 X 0
X1
y1 X 1
y0
1
0
x0 X 1
1
k 2
n3
cdigo
3, 2
c)
y1
X
Z
y0 y0 x
k 1
n2
cdigo
2,1
TIC - 24
y0
0
0
1
1
0
1
0
1
z
0 00
0
1
1
0
0 00
0 ' s 00 ' s
0
1
1 10
0 01
Nomenclatura
1 10
X Y1Y0
1 11
0 00
1 10
0 01
1 11
0 01
1 11
0 00
1 10
0 00
1 10
0 01
1 11
0 01
1 11
0 00
1 10
0 01
1 11
0 00
1 10
0 00
1 10
0 01
1 11
00
, 0
01
, 0
10
, 0
11
00
01
1 ,
10
1
11
TIC - 25
0
00 0
con 0
1
0
con 1
01 0
1
10
En realidad hay
slo 4 estados
vlidos que
son:
11
0
1
00
00
01
1
10
1
11
01
1 0
10
1
1 0
11
00
01 0
1
0
1
1
10 0
1
0
1
1 0
11
TIC - 26
0 0 0 1 1 1 1 0
00 00 00 10 11 1 1 11 00
TIC - 27
d ''
00 00
01
1
10
1
11
00
00
0
b
d '
10
10
1
11
11
1
0
1
11
Apuntes:
Profesor Raimundo Villarroel V.
Ayudante Rodrigo Bustos F.
Ao 2009.