INSTITUTO POLITÉCNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA
INGENIERÍA EN COMUNICACIONES Y ELECTRÓNICA
“COMUNICACIONES DIGITALES ”
PROYECTO 2: CÓDIGOS DE LINEA
ALUMNO: Gonzalez Perez Mario
No BOLETA: 2015300752
PROFESOR: VASQUEZ TOLEDO LUIS ALBERTO
GRUPO:6CM5
INTRODUCCIÓN.-
Teniendo ya la señal discretizada en tiempo (muestreo) y discretizada en amplitud (cuantificación), se dispone
de una señal de M símbolos cuya tasa de transmisión se mide en baudios. Para convertir la señal a digital
faltaría convertir los símbolos a bits. Esto implica que los unos y ceros resultantes deben ser representados
con formas de onda específicas que influirán en: Potencia de transmisión, ancho de banda, facilidad de
recuperación del reloj en el receptor, detección y corrección de errores, etc.
A la asignación de formas de ondas arbitrarias para los unos y ceros se le llama Codificación de Línea por la
aplicación sobre sistemas de telefonía alambrados (líneas telefónicas)
Como uno de los efectos más importantes al aplicar codificación de línea es el ancho de banda de la señal
resultante, a continuación deduciremos la Densidad Espectral de Potencia de la señal aleatoria que resulta al
aplicar sobre la señal muestreada y cuantificada un proceso de codificación de línea.
Observe las siguientes formas de representar los unos y ceros:
La primera y segunda se les llama NRZ (Non Return to Zero) debido a que el nivel del uno o el cero es
constante durante todo el intervalo de bit (No baja a cero). Si es polar, el uno y el cero tienen
representaciones opuestas. La codificación RZ (Return to Zero) se caracteriza porque a la mitad del intervalo
de bit el nivel de uno o del cero va a cero. Finalmente el código AMI (Alternate Mark Inversion) se caracteriza
porque los unos van alternando entre +V y –V, mientras que el cero está asociado a cero voltios de manera
fija; este último código permite detectar algunos errores de transmisión al detectarse la violación del mismo
(p.e 2 unos seguidos con un mismo nivel); esto es posible debido a que tiene memoria de lo que ha ocurrido.
Ventajas y Desventajas de algunos códigos de línea:
NRZ Polar: Fácil de generar, buen desempeño frente al ruido, se necesita doble fuente de alimentación, si
vienen ráfagas de ceros o unos se puede perder el sincronismo, fuerte ocupación en las zonas de baja
frecuencia.
NRZ unipolar: Fácil de generar y con una sola fuente. Pobre recuperación del reloj. Se necesita acoplamiento
DC.
RZ Unipolar: Buena recuperación del reloj (existen líneas espectrales discretas): Ocupa el doble del ancho de
banda que NRZ Unipolar. Hay un gasto de potencia DC. Tiene fuerte ocupación de bajas frecuencias.
RZ Polar: Ocupa el doble del ancho de banda que NRZ Polar.
Un código, en general, debe cumplir determinadas condiciones. Las principales son:
1.- Tener el máximo espectral próximo a un submúltiplo del régimen binario, de forma tal que coincida, o se
aproxime, a la curva de atenuación/frecuencia del medio por donde va ser transmitido.
2.- Mínima longitud de secuencias sin impulsos, para evitar pérdidas de sincronismo.
3.- Cierta posibilidad de detección de errores.
4.- Eliminar la componente continua. (Espectro de valor cero para frecuencia cero)
Estas cualidades que se exigen a los códigos son primordiales cuando se trata de sistemas de transmisión
por cable.
De los códigos citados anteriormente, se utilizan normalmente los de tipo AMI y HDB3
Reservándose los otros para su uso en la circuitería interna de los equipos. En las y se muestran los
espectros de frecuencia de algunos de estos códigos.
- Códigos tipo AMI:
Estos códigos también son llamados seudoternarios por presentar tres niveles, aunque sólo dos estados.
El "0" lógico viene representado por el nivel 0, y el "1" lógico, alternativamente, por bitios positivos o
negativos.
Ventajas
- No existe componente continua.
- Proporciona cierto grado de detección de errores.
Inconvenientes
Una larga secuencia de "0" haría perder el sincronismo. No así la de “1” que al ser,
Alternativamente, bitios positivos y negativos permitirían mantenerlo.
El CCITT, normaliza un código denominado CMI para ser empleado en transmisión
De señales MIC de 140 Mbps.
El CMI es un código bipolar, NRZ de tipo diferencial. Codifica los "0" mediante una transición positiva, (de - a
+) y los "1" mediante valores, sucesivamente, positivos y negativos. Es decir, en el período T que corresponde
a un "0", un tiempo T/2 se está en un valor -1 y el T/2 restante en valor +1. Cuando el período corresponde a
un "1" se estará sucesivamente en valores +1 y -1 de un intervalo, T completo, de duración. En la se
proporciona una muestra de este tipo de código.
Otro código de tipo diferencial es el denominado Código bi-fase diferencial, que codifica, como el anterior, los
"0" mediante una transición de +1 a -1; y los "1" mediante transiciones alternadas +1
a -1 y -1 a +1.
Códigos tipo HDB3:
Estos códigos en general denominados HDBn, se utilizan, mayoritariamente en
Transmisión, dado su mejor rendimiento respecto a los anteriores. Son códigos Tipo AMI que corrigen las
largas secuencias de "0" introduciendo al n+1 "0" un bitio de la misma polaridad del último bitio generado.
Ya que esto, (dos bitios consecutivos de la misma polaridad) va contra la ley de formación del código, este
bitio es denominado "bitio de violación". En recepción, una vez obtenido el sincronismo, estos bitios se
eliminan.
El código más empleado es el HDB3 que, cuando se presenta una secuencia de más de
tres "0" seguidos; es decir la secuencia "0000", la codifica de acuerdo con lo siguiente:
1.- Convierte el último "0" de la secuencia en un bitio de violación.
2.- A continuación, siguiendo la regla AMI, inserta un "bitio de compensación" B, que
Compensa la aparición de componente continua motivada por la inserción de bitios V.
DESARROLLO.-
AMI.- Para la función del código AMI va a representa los unos lógico por medio de valores
alternadamente positivos (+V) y negativos (-V). Un cero lógico se representa con un nivel de 0 V.
CODIGO
input=(' programa codigos de linea');
h=[1 1 0 0 1 0 1 1 0 1 ];
figure (1)
%function original (h)
k=1;
L=length(h);
h(L+1)=1;
while k<=length(h)-1;
t=k-1:0.001:k;
if h(k) == 0
if h(k+1) ==0
Y=(t>k);
else
Y=(t==k);
end
f=plot(t,Y);
grid on;
title('señal original');
hold on;
axis([0 length(h)-1 -1.5 1.5]);
disp('cero');
else
if h(k+1)==0
Y=(t<k)-0*(t==k);
else
Y=(t<k)+1*(t==k);
end
f=plot(t,Y);
grid on;
title('señal original');
hold on;
axis ([0 length(h)-1 -1.5 1.5]);
disp('uno');
end
k=k+1;
end
figure (2)
%function AMI (S)
k=1;
L=length(h);
h(L+1)=1;
ami=-1;
while k<=length(h)-1;
t=k-1:0.001:k;
if h(k) == 0
if h(k+1)==0
Y=(t>k);
else
if ami==1
Y=-(t==k);
else
Y=(t==k);
end
end
f=plot(t,Y);
grid on;
title('codigo AMI');
hold on;
axis ([0 length(h)-1 -1.5 1.5]);
disp('cero');
else
ami=ami*-1;
if h(k+1)==0
if ami==1
Y=(t<k);
else
Y=-(t<k);
end
else
if ami==1
Y=(t<k)-(t==k);
else
Y=-(t<k)+(t==k);
end
end
f=plot(t,Y);
grid on;
title('codigo AMI');
hold on;
axis([0 length(h)-1 -1.5 1.5]);
disp('uno');
end
k=k+1;
end
figure (3)
%function manchester (S)
k=1;
h=~h;
L=length(h);
h(L+1)=1;
while k<=length(h)-1;
t=k-1:0.001:k;
if h(k) == 0
if h(k+1)==0
Y=-(t<k)+2*(t<k-0.5)+1*(t==k);
else
Y=-(t<k)+2*(t<k-0.5)-1*(t==k);
end
f=plot(t,Y);
grid on;
title('codigo manchester');
hold on;
axis([0 length(h)-1 -1.5 1.5]);
disp('uno');
else
if h(k+1)==0
Y=(t<k)-2*(t<k-0.5)+1*(t==k);
else
Y=(t<k)-2*(t<k-0.5)-1*(t==k);
end
f=plot(t,Y);
grid on;
title('codigo manchester');
hold on;
axis([0 length(h)-1 -1.5 1.5]);
disp('cero');
end
k=k+1;
end
Como resultado nos da la siguiente figura [1 1 0 0 1 0 1 1 0 1]
Manchester.-
El código Manchester representa un 1 lógico con un nivel de +V durante la mitad del periodo de
bit y un nivel de -V durante la otra mitad. Un cero lógico se representa con un nivel de - V
durante la primera mitad del periodo de bit y con +V durante la segunda mitad.
Como resultado nos da la siguiente figura [1 1 0 0 1 0 1 1 0 1]
La señal original que nos da como resultado al mandar [ 1 1 0 0 1 0 1 1 0 1]
CONCLUSIÓN:
Al realizar este proyecto pudimos observar y analizar que los códigos de línea tiene la necesidad de transmitir
señales digitales a través de diversos medios de transmisión, en la codificación Manchester pudimos apreciar
que usa la inversión en mitad de cada intervalo del bit para poder sincronizar y representar bits una transición
de negativo a positivo representa un 1 y de positivo a negativo representa un 0 binario, con respecto al código
AMI es más sencillo solo hacemos la inversión a 1 alterno , un voltaje 0 representa un 0 binario y los unos
binarios se representan alternando valores de voltajes positivos y negativos.
BIBLIOGRAFIA: http://prof.usb.ve/tperez/docencia/3413/contenido/CodigosLinea.pdf