Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Capitulo VI Códigos de Línea PDF
Capitulo VI Códigos de Línea PDF
6. CÓDIGOS DE LÍNEA∗
6.1. PRELIMINARES
Cuando las señales digitales son transmitidas a través de algún medio físico, las
características de éste pueden ocasionar problemas que hacen que la información
llegue con errores en el receptor. Se hace necesario entonces que el espectro de
la señal digital se adapte a las características del canal, y así mismo facilitar la
implementación de filtros de transmisión y recepción físicamente realizables.
Por ejemplo, si un canal tiene una pobre respuesta de amplitud (alta atenuación)
en el rango de baja frecuencia, usando un esquema de señalización con un alto
contenido de potencia en el rango de baja frecuencia resultará en filtros de
transmisión y recepción con una no razonable ganancia en el rango de baja
frecuencia. Este problema podría ser evitado si el espectro de la señal transmitida
es alterado de manera que tenga un pequeño contenido de baja potencia en las
bajas frecuencias. Aún más, al tratarse de datos digitales los que están siendo
transmitidos, es muy factible que la dispersión del canal ocasiones un traslape en
el tiempo entre símbolos sucesivos (ISI).
∗
Ver Anexo F.
228
Para esto se han desarrollado diversas técnicas que permiten una perfecta
recepción en ausencia de ruido utilizando circuitos denominados “conversores de
código”. El proceso en general es conocido como “codificación de línea o de
transmisión”.
En primera instancia, los códigos de línea deben cumplir propiedades como las
siguientes:
4to. símbolo sea ambigua, pues las secuencias pueden ser producidas por
combinaciones del 1º y 2º símbolo. Esto no sucede si ninguna palabra de
código forma la primera parte de cualquier otra palabra de código. La figura
79(b) muestra un código con decodificación única.
∞
x (t ) = ∑ A v(t − kT )
k = −∞
k (6.2)
Para simplificar y hacer más sencillo el análisis matemático, el pulso básico v(t) se
centra en el origen (t=0) y se normaliza de tal forma que v(0)=1.
⎧ a para el símbolo 1
Manchester (bifase level) Ak = ⎨
⎩− a para el símbolo 0
⎧ 3a para el símbolo 11
⎪ a
⎪ para el símbolo 10
Polar cuaternario Ak = ⎨
⎪ − a para el símbolo 01
⎪⎩− 3a para el símbolo 00
Tabla 15. Coeficientes Ak y forma del pulso básico para algunos códigos de línea.
232
La tasa de bits, medida en bps (bits por segundo), se define como la tasa a la cual
se transmiten los datos. Se denota Rb:
1
Rb = Tb : duración de 1 bit (6.3)
Tb
T = Tb log 2 M (6.4)
Correspondientemente:
Por lo tanto:
1 1 Rb
# de baudios = = = (6.6)
T Tb log 2 M log 2 M
aleatoria discreta estacionaria. Como tal ésta se caracteriza por tener como
función de autocorrelación promedio de todo el conjunto:
R A ( n) = E {Ak Ak − n } (6.7)
∑
1
R A ( n)e − j 2πnfT
2
Sx ( f ) = V( f ) (6.11)
T n = −∞
donde |V(f)| es la magnitud de la transformada de Fourier del pulso básico v(t). V(f)
y RA(n) dependen del tipo de señal PAM que se utilice.
P ( Ak = 0) = 1 y P( Ak = 1) = 1 (6.12)
2 2
De esta manera:
⎧Si n = 0
⎪
R A ( n) = ⎨
( ) 2
( )
E{Ak Ak } = (0 )(0 ) 1 + (a )(a ) 1 = a
2
2
2
( ) ( ) ( ) ( )
(6.13)
{ } ( )( ) ( )( ) ( )( ) ( )( )
2
⎪⎩Si n ≠ 0 E A A
k k −n = 0 0 1 + 0 a 1 + a 0 1 + a a 1 = a
4 4 4 4 4
Se observa que la señal NRZ no contiene transiciones para una serie de unos o
ceros consecutivos, lo cual representa una dificultad si se desea tener una
referencia para la generación de una señal de reloj (por ejemplo, la utilizada para
la generación del tren de pulsos binarios). Por lo tanto es necesario utilizar algún
236
procedimiento para la generación del reloj en el lado del receptor, y como tal se
dice que es un código sincrónico.
P ( Ak = 0) = 1 y P( Ak = 1) = 1 (6.14)
2 2
De esta manera:
⎧Si n = 0
⎪
R A ( n) = ⎨ 2
( )
E{Ak Ak } = (0 )(0 ) 1 + (a )(a ) 1 = a
2
2
( )
2
( ) ( ) ( ) ( )
(6.15)
⎪⎩Si n ≠ 0 E{Ak Ak − n } = (0)(0) 4 + (0 )(a ) 4 + (a )(0 ) 4 + (a )(a ) 1 4 = a 4
2
1 1 1
En cuanto al pulso básico para el código unipolar NRZ, tal como puede observarse
en la tabla 14, es rectangular, de amplitud unitaria y duración Tb, por tanto:
Al simplificar queda:
a 2 Tb a2
Sx ( f ) = sin c 2 ( fTb ) + δ(f ) (6.18)
4 4
Siendo (f) la función delta de Dirac en f=0, la cual se considera como la mitad de
la potencia contenida en la onda unipolar.
Por las razones expuestas se concluye que este código no es apto para la
transmisión por cable. Otras desventajas que presenta son su poca inmunidad a la
interferencia por ruido e intersimbólica y la imposibilidad para detectar errores.
6.3.2. Código unipolar RZ. Para el código unipolar RZ el nivel del pulso sólo
ocupa una fracción de la duración del símbolo, por lo general la mitad, así que la
señal de transmisión se aproxima a la del reloj. Así, para una frecuencia de reloj
de por ejemplo 34 Mbps, la velocidad de transmisión también tendrá este valor, y
por tanto el espectro de la señal presentará una frecuencia fundamental en 34
Mhz y n armónicos impares, es decir, en 102 Mhz, 170 Mhz, etc. En consecuencia
se puede usar la componente fundamental para la recuperación de la señal del
239
reloj, con la excepción para secuencias largas de ceros. La figura 82 ilustra este
caso específico.
a 2 Tb ⎛ T ⎞ a Tb ⎛ T ⎞ ∞ − j 2 nπfTb
2
Sx ( f ) =
16
sin c 2 ⎜ f b ⎟ +
⎝ 2⎠ 16
sin c 2 ⎜ f b ⎟∑
⎝ 2 ⎠ n = −∞
e
(6.20)
a 2 Tb ⎛ T ⎞ a2
= sin c 2 ⎜ f b ⎟ + δ(f )
16 ⎝ 2 ⎠ 16
240
El código polar representa los unos y los ceros binarios por medio de niveles
positivos (+ a ) y negativos (- a ) de igual magnitud. Por ejemplo, un 1 se
transmite con un pulso de amplitud a = 1 mientras que un 0 con un pulso de
amplitud a = -1.
Al igual que el código unipolar, también puede ser NRZ o RZ; NRZ si el nivel de
cada pulso se mantiene durante toda la duración del intervalo del símbolo, o RZ si
el nivel del pulso sólo ocupa una fracción de la duración del símbolo. La figura 84
ilustra este último caso.
241
⎧⎪Si n = 0 ( ) ( )
E{Ak Ak } = (a )(a ) 1 + (− a )(− a ) 1 = a 2
( ) ( ) ( ) ( )
R A (n) = ⎨ 2 2 (6.21)
⎪⎩Si n ≠ 0 E {A A
k k −n } = (a )(a ) 1
4
+ (− a )(a ) 1
4
+ (a )(− a ) 1
4
+ (− a )(− a ) 1 = 0
4
242
En cuanto al pulso básico, este es igual al descrito en la ecuación (6.15), por tanto:
S x ( f ) = a 2Tb sin c 2 ( fTb ) (6.22)
Al igual que el código polar, los pulsos transmitidos pueden ocupar la duración
completa del símbolo, que es el caso NRZ, o emplear pulsos con retorno a cero
(RZ). La elección entre NRZ y RZ depende del espectro de potencia exhibido por
243
a2
R A ( 0) = (6.23)
2
Para n = 1 (el caso de bits adyacentes) y las secuencias de datos (1,1),(1,0),(0,1)
y (0,0), los productos AkAk-1 posibles son – a 2, 0, 0, 0. Cada una de estas
secuencias ocurre con una probabilidad de ¼. Por consiguiente:
Para n > 1, los bits considerados no son adyacentes, y los productos AkAk-n son
± a 2, 0, 0, 0, y ocurren con una probabilidad de ¼. Luego:
( ) ⎛1⎞
( ⎛1⎞
) ⎛1⎞ ⎛1⎞ ⎛1⎞
R A ( n) = a 2 ⎜ ⎟ + − a 2 ⎜ ⎟ + (0 )⎜ ⎟ + (0)⎜ ⎟ + (0 )⎜ ⎟ = 0 (6.25)
⎝8⎠ ⎝8⎠ ⎝4⎠ ⎝4⎠ ⎝4⎠
La forma básica del pulso continúa siendo igual a los casos vistos para códigos
polar y unipolar, según la ecuación (6.15). Reemplazando los valores obtenidos en
la ecuación (6.11), para el caso bipolar NRZ:
a2
Sx ( f ) = Tb sin c 2 ( fTb )(1 − cos( fTb ) )
2 (6.26)
= a 2 Tb sin c 2 ( fTb ) sen 2 ( fTb )
245
Por su parte, para el caso bipolar RZ, suponiendo que el pulso tenga una duración
igual a la mitad de la duración del símbolo, de acuerdo a la ecuación (6.19), se
obtendrá:
a2 ⎛ T ⎞
Sx ( f ) = Tb sin c 2 ⎜ f b ⎟(1 − cos( fTb ) )
8 ⎝ 2⎠
(6.27)
a 2Tb ⎛ T ⎞
= sin c 2 ⎜ f b ⎟ sen 2 ( fTb )
4 ⎝ 2⎠
- La señal del reloj puede extraerse con facilidad al convertir el formato bipolar
en una forma unipolar RZ rectificando la señal recibida. Sin embargo las
señales bipolares no son transparentes, es decir, una cadena de ceros hará
que se pierda la señal del reloj. Como veremos más adelante esta dificultad se
soluciona con la utilización de “señalización bipolar n de alta densidad (HDBn),
donde una cadena de más de n ceros consecutivos es reemplazada por una
secuencia de “relleno” que contiene algunos pulsos.
Algunas desventajas de las señales bipolares son que el receptor debe distinguir
entre tres niveles (+ a , - a y 0) y no en dos como en los códigos polar y unipolar ya
estudiados. Se ha encontrado también que requiere 3 db más de potencia de
señal que una señal polar para la misma probabilidad de error de bits.
⎛ t + Tb 4 ⎞ ⎛ t − Tb 4 ⎞
v(t ) = ∏⎜⎜ ⎟⎟ − ∏⎜⎜ ⎟⎟ (6.28)
⎝ Tb 2 ⎠ ⎝ Tb 2 ⎠
Tb ⎛ Tb ⎞ jwTb / 4 Tb ⎛ T ⎞
V( f ) = sin c⎜ f ⎟e − sin c⎜ f b ⎟e − jwTb / 4
2 ⎝ 2⎠ 2 ⎝ 2 ⎠
(6.29)
⎛ Tb ⎞ ⎛ Tb ⎞
= jTb sin c⎜ f ⎟ sen⎜ w ⎟
⎝ 2⎠ ⎝ 4⎠
La función de autocorrelación, dado que los posibles valores del pulso son + a y –
a , equivale a la encontrada para el código polar, es decir:
⎧⎪Si n = 0 ( ) ( )
E{Ak Ak } = (a )(a ) 1 + (− a )(− a ) 1 = a 2
( ) ( ) ( ) ( )
R A (n) = ⎨ 2 2 (6.30)
⎪⎩Si n ≠ 0 E {A A
k k −n } = (a )(a ) 1
4
+ (− a )(a ) 1
4
+ (a )(− a ) 1
4
+ (− a )(− a ) 1 = 0
4
1 ⎡1 2 1 2⎤ a2
R A ( 0) = (a ) + (− a ) =
2 ⎢⎣ 2 2 ⎥ 2
⎦
1 ⎡1 ⎤ a
2
R A (1) = (a )(a ) +
1
(− a )(− a ) =
4 ⎢⎣ 2 2 ⎥ 4
⎦ (6.32)
1 ⎡1 ⎤ 1 ⎡1 ⎤
R A (2) = ⎢ (a )(− a ) + (− a )(a )⎥ + ⎢ (a )(a ) + (− a )(− a )⎥ = 0
1 1
8 ⎣2 2 ⎦ 8 ⎣ 2 2 ⎦
R A (n), n ≥ 2 = 0
donde es más importante una entrega rápida de la información. Con este propósito
es que se decide emplear el código duobinario para aplicaciones en tiempo real.
C K = a k − a k −2 (6.34)
ak ak-2 Ck = ak – ak-
2
0 0 0
0 1 -1
1 0 1
1 1 0
- Si Ck = 1, ak debe ser 1.
- Si Ck = -1, ak debe ser 0.
- Si Ck = 0, ak debe ser igual a ak-2.
a K = C k + a k −2 (6.35)
253
b k = a k ⊕ bk − 2 (6.36)
C k = bk − b k − 2
(6.37)
= (a k ⊕ bk − 2 ) − bk − 2
Tabla 17. Valores de salida para el código duobinario modificado con señal de
entrada precodificada.
Ck puede tomar entonces los valores 0, 1 ó –1, bajo las siguientes condiciones:
- Cada vez que hay una transición de “1” binario a “0” binario, la señal se
representa con polaridad positiva.
- Cada vez que hay una transición de “0” binario a “1” binario, la señal se
representa con polaridad negativa.
- Transiciones entre dos “1” o dos “0” se representan con 0 voltios.
La figura 92 ilustra un ejemplo del código dicode para una secuencia de entrada
1000110011.
El código CMI (Code Mark Inversión), conocido también como código bifase mark,
es un código binario bipolar muy similar al código Manchester o bifase level. Se
representa con dos niveles de señal, + a y – a , y obedece a la siguiente ley de
formación:
0 → Tx → 01
1 → Tx → 00 ó 11 alternativamente
La figura 95 muestra otro ejemplo de codificación CMI con una señal de reloj de
140 Mbps y su respectivo espectro.
258
Se codifica igual que el código bifase mark (CMI) con la diferencia de que son los
“0” binarios los que se transmiten alternadamente con valores + a y – a durante
todo el ciclo completo del símbolo, y los “1” binarios se codifican con nivel + a
durante medio ciclo y – a durante la otra mitad del ciclo.
Recuérdese que una de las desventajas del código bipolar (AMI) visto atrás es la
pérdida de la señal de reloj al presentarse cadenas largas de ceros binarios. Para
resolver este problema se utiliza el código bipolar de alta densidad, también
conocido como HDB(n) (High Density Bipolar), donde n representa un número
entero (n = 1, 2, 3,...). El más utilizado es con n = 3, es decir el HDB3.
Puede concluirse que la inserción de las sucesiones 100V y 000V tienen como fin
eliminar la componente de directa, teniendo éstas polaridades positivas y
negativas alternadamente, y darle la transparencia necesaria al código para la
recuperación de la señal del reloj.
Otras características del código HDB3 son: Permite detectar errores cuando las
violaciones tengan algún error; este código es utilizado como estándar para el 1º,
2º y 3º orden de PCM jerarquía europea (2.048, 8.448 y 34.368 Mbps).
262
I M = log 2 ( M ) (6.39)
Entre otras cosas, el código 2B1Q es una aplicación práctica del código Gray y es
el código de línea recomendado por la ITU para la RDSI de acceso básico (2B+D)
y de acceso primario (30B+D).
BINARIO TERNARIO
000 -+
001 -0
010 0-
011 0+
100 --
101 ++
110 +0
111 +-
No utilizada 00
ENTRADA S1 S S2 S S3 S S4 S
S
0001 0-+ 1 0-+ 2 0-+ 3 0-+ 4
0111 -+0 1 -+0 2 -+0 3 -+0 4
0100 +-0 1 -+0 2 -+0 3 -+0 4
0010 1 +-0 2 +-0 3 +-0 4
1011 +0- 1 +0- 2 +0- 3 +0- 4
1110 0+- 1 0+- 2 0+- 3 0+- 4
1001 +-+ 2 +-+ 3 +-+ 4 --- 1
0011 00+ 2 00+ 3 00+ 4 --0 2
1101 0+0 2 0+0 3 0+0 4 -0- 2
1000 +00 2 +00 3 +00 4 0-- 2
0110 --+ 2 --+ 3 --+ 4 --+ 3
1010 ++- 2 ++- 3 ++- 2 ++- 3
1111 ++0 3 00- 1 00- 2 00- 3
0000 +0+ 3 0-0 1 0–0 2 0-0 3
0101 0++ 3 -00 1 -00 2 -00 3
1100 +++ 4 -+- 1 -+- 2 -+- 3