Вы находитесь на странице: 1из 15

PRACTICA # 4

ASIGNATURA: PRACTICAS DE COMUNICACIONES DIGITALES


RESULTADO DE APRENDIZAJE DE LA PRÁCTICA: (VER SÍLABO)
TIEMPO PLANIFICADO EN EL SILABO: 3 HORAS
TIEMPO DE LA PRÁCTICA POR GRUPO: 2
NUMERO DE ESTUDIANTES POR GRUPO: 2 ESTUDIANTES

1. TEMA: CÓDIGOS DE LÍNEA

2. OBJETIVOS:

 Desarrollar programas para simular diferentes tipos de códigos de línea


 Graficar en Matlab los resultados de los diferentes tipos de codificación lineal.

3. Materiales y Reactivos – Por Grupo 4. Equipos y herramientas – Por Grupo


 Ordenador
 Software Matlab

5. INSTRUCCIONES:
6. ACTIVIDADES POR DESARROLLAR:
a) Generar un código unipolar NRZ
b) El código será h=[1 0 0 1 1 0 1 0 1 0]
c) Graficar el código unipolar NRZ (no retorno a cero)
d) Generar un código unipolar RZ
e) El código será h=[1 0 0 1 1 0 1 0 1 0]
f) Graficar el código
g) Generar un código polar NRZ
h) El código será h=[1 0 0 1 1 0 1 0 1 0]
i) Graficar el código
j) Generar un código bipolar RZ
k) El código será h=[1 0 0 1 1 0 1 0 1 0]
l) Graficar el código
m) Generar un código AMI NRZ
n) El código será h=[1 0 0 1 1 0 1 0 1 0]
o) Graficar el código
p) Generar un código AMI RZ
q) El código será h=[1 0 0 1 1 0 1 0 1 0]
r) Graficar el código
s) Generar un código MANCHESTER
t) El código será h=[1 0 0 1 1 0 1 0 1 0]
u) Graficar el código

7. MARCO TEÓRICO:
Codificación en línea y sus técnicas
Propiedades Deseables de los códigos de Linea

Auto sincronización: Debe poseer suficiente información de temporización incorporada al


código de manera que se pueda diseñar la sincronización para extraer la señal de
sincronización o de reloj.

Baja probabilidad de error de bits: Se pueden diseñar receptores para recuperar datos
binarios con una baja probabilidad de error de bits cuando la señal de datos de entrada se
corrompe por ruido o ISI (Interferencia InterSimbolo).

Un espectro adecuado para el canal: Por ejemplo, si el canal es acoplado de ca, la densidad
espectral de potencia de la señal de codificación de líneas será insignificante a frecuencias
cercanas a cero.

Ancho de banda del canal de transmisión: Debe ser tan pequeño como sea posible. Esto
facilita la transmisión de la señal en forma individual o la multicanalización.

Capacidad de detección de errores: Debe ser posible poner en práctica esta característica
con facilidad para la adición de codificadores y decodificadores de canal, o debe
incorporarse al código de línea.
Transparencia: El protocolo de datos y el código de líneas están diseñados de modo que
toda secuencia posible de datos se reciba fiel y transparentemente.

La codificación de digital a digital se divide en tres tipos unipolar, polar y bipolar:

La codificación unipolar
Es muy sencilla y muy primitiva. Aunque actualmente es casi obsoleta, permite representar
los conceptos usados con los sistemas de codificación más complejos y permite examinar
los tipos de problemas que se deben resolver en los sistemas de transmisión digital.
Usando lógica positiva, el “1” binario se representa con un nivel alto de voltaje (+V Volts) y
un “0” binario con un nivel de cero Volts.

+
1 0 1 1

Unipolar NRZ
• Se trata de una señal unipolar y sin retorno a cero
• Se debe efectuar un muestreo en el receptor para determinar el valor de cada
bit de información
• Esta señal tiene su origen en el telégrafo
La codificación polar
Usa dos niveles de voltaje: uno positivo y uno negativo. Estos dos niveles en su mayoría de
los métodos de codificación polar se reducen el nivel de voltaje medio de la línea y se alivia
el problema de la componente DC.

1 0 1 1
+V

-V

Polar NRZ o NRZ-L inverso


• Se trata de una señal polar y sin retorno a cero
• También se usa un muestreo para reconocer cada bit de información
• El umbral de decisión es cero

Polar RZ
• Se trata de una señal polar con retorno a cero
• Este tipo de señal se llama autosincronizante, el reloj del receptor queda
sincronizado por los pulsos que emite el transmisor

Bipolar RZ
• Se trata de una señal bipolar con retorno a cero
• Los unos se codifican con pulsos positivos y negativos alternados y ocupan solo
parte del bit. Los ceros son la ausencia de señal
• La energía transmitida es menor

Bipolar con Inversión de marca alternada (AMI) Es la forma más sencilla de codificación
bipolar, AMI significa inversión a 1alterno. Un valor neutral, es decir, un voltaje O,
representa el O binario. Los unos binarios se representan alternando valores de voltaje
positivos y negativos.

Codificación Bipolar
Bipolar NRZ (código AMI)
• Señal bipolar sin retorno a 0. Llamado AMI “alternative Mark Inversion”
• ‘1s’ se codifican con pulsos de polaridad alternada, los 0 ausencia de señal
• Cada uno fuerza transición, el receptor se sincroniza en dicha transición
• La cadena larga de ceros es un problema. No hay componente de continua
• Menor ancho de banda que NRZ

Codificacion Manchester:

Cada “1” binario se representa con un pulso de período de medio bit positivo seguido por
un pulso de período de medio bit negativo. Del mismo modo, el “0” binario se representa
con un pulso de período de medio bit negativo seguido por un pulso de período de medio
bit positivo.
Código de Manchester
• 1 se representa por una transición positiva en la mitad del intervalo, 0 por una
transición negativa
• Se puede sincronizar la señal de reloj (un pulso por bit).
• Elimina la componente continua de la señal (niveles +A,-A)

Ventajas e inconvenientes de las señales NRZ


Ventajas:
 Fáciles de implementar.
 Utilización eficaz del ancho de banda.
Inconvenientes:
 Presencia de una componente en continua.
 Ausencia de capacidad de sincronización.
 Se usan con frecuencia en las grabaciones magnéticas.
 No se suelen utilizar en la transmisión de señales

Ventajas e inconvenientes de la codificación bifase (Manchester)


Ventajas:
 Sincronización, debido a que la transición ocurre durante el intervalo de duración
de un bit (códigos auto-sincronizados).
 No tienen componente en continua.
 Detección de errores:
 Ausencia de la transición esperada.
Inconvenientes:
 Al menos una transición por cada bit, pudiendo tener hasta dos en ese mismo
periodo.
 La velocidad de modulación máxima es el doble que en los NRZ.
 El ancho de banda necesario es, por tanto, mayor.

8. RESULTADOS OBTENIDOS
Codigo en Matlab
UNRZ

function UNRZ(h)
clf;
n=1;
h=[1 0 0 1 1 0 1 0 1 0];
l=length(h);
h(l+1)=1;
while n<=length(h)-1;
t=n-1:0.001:n;
if h(n) == 0
if h(n+1)==0
y=(t>n);
else
y=(t==n);
end
d=plot(t,y);grid on;
title('Line code UNIPOLAR NRZ');
set(d,'LineWidth',2.5);
hold on;
axis([0 length(h)-1 -1.5 1.5])
disp('zero');
else
if h(n+1)==0
y=(t<n)-0*(t==n);
else
y=(t<n)+1*(t==n);
end
d=plot(t,y);grid on;
title('Line code UNIPOLAR NRZ');
set(d,'LineWidth',2.5);
hold on;
axis([0 length(h)-1 -1.5 1.5])
disp('one');
end
n=n+1;
%pause;
end

URZ

function URZ(h)
clf;
n=1;
h=[1 0 0 1 1 0 1 0 1 0];
l=length(h);
h(l+1)=1;
while n<=length(h)-1;
t=n-1:0.001:n;
%Graficación de los CEROS (0)
if h(n) == 0
if h(n+1)==0
y=(t>n);
else
y=(t==n);
end
d=plot(t,y);grid on
title('Line code UNIPOLAR RZ');
set(d,'LineWidth',2.5);
hold on;
axis([0 length(h)-1 -1.5 1.5]);
disp('zero');
%Graficación de los UNOS (1)
else
if h(n+1)==0
y=(t<n-0.5);
else
y=(t<n-0.5)+1*(t==n);
end
d=plot(t,y);grid on;
title('Line code UNIPOLAR RZ');
set(d,'LineWidth',2.5);
hold on;
axis([0 length(h)-1 -1.5 1.5]);
disp('one');
end
n=n+1;
%pause;
end
end

PNRZ

function PNRZ(h)
clf;
n=1;
h=[1 0 0 1 1 0 1 0 1 0]
l=length(h);
h(l+1)=1;
while n<=length(h)-1;
t=n-1:0.001:n;
if h(n) == 0
if h(n+1)==0
y=-(t<n)-(t==n);
else
y=-(t<n)+(t==n);
end
d=plot(t,y);grid on;
title('Line code POLAR NRZ');
set(d,'LineWidth',2.5);
hold on;
axis([0 length(h)-1 -1.5 1.5]);
disp('zero');
else
if h(n+1)==0
y=(t<n)-1*(t==n);
else
y=(t<n)+1*(t==n);
end
d=plot(t,y);grid on;
title('Line code POLAR NRZ');
set(d,'LineWidth',2.5);
hold on;
axis([0 length(h)-1 -1.5 1.5]);
disp('one');
end
n=n+1;
%pause;
end
BRZ

function BRZ(h)
clf;
n=1;
h=[1 0 0 1 1 0 1 0 1 0];
l=length(h);
h(l+1)=1;
while n<=length(h)-1;
t=n-1:0.001:n;
if h(n) == 0
if h(n+1)==0
y=-(t<n-0.5)-(t==n);
else
y=-(t<n-0.5)+(t==n);
end
d=plot(t,y);grid on;
title('Line code BIPOLAR RZ');
set(d,'LineWidth',2.5);
hold on;
axis([0 length(h)-1 -1.5 1.5]);
disp('zero');
else
if h(n+1)==0
y=(t<n-0.5)-1*(t==n);
else
y=(t<n-0.5)+1*(t==n);
end
d=plot(t,y);grid on;
title('Line code BIPOLAR RZ');
set(d,'LineWidth',2.5);
hold on;
axis([0 length(h)-1 -1.5 1.5]);
disp('one');
end
n=n+1;
%pause;
end

AMINRZ

function AMINRZ(h)
clf;
n=1;
h=[1 0 0 1 1 0 1 0 1 0];
l=length(h);
h(l+1)=1;
ami=-1;
while n<=length(h)-1;
t=n-1:0.001:n;
if h(n) == 0
if h(n+1)==0
y=(t>n);
else
if ami==1
y=-(t==n);
else
y=(t==n);
end
end
d=plot(t,y);grid on;
title('Line code AMI NRZ');
set(d,'LineWidth',2.5);
hold on;
axis([0 length(h)-1 -1.5 1.5]);
disp('zero');
else
ami=ami*-1;
if h(n+1)==0
if ami==1
y=(t<n);
else
y=-(t<n);
end
else
if ami==1
y=(t<n)-(t==n);
else
y=-(t<n)+(t==n);
end
end
d=plot(t,y);grid on;
title('Line code AMI NRZ');
set(d,'LineWidth',2.5);
hold on;
axis([0 length(h)-1 -1.5 1.5]);
disp('one');
end
n=n+1;
%pause;
end

AMIRZ

function AMIRZ(h)
h=[1 0 0 1 1 0 1 0 1 0];
clf;
n=1;
l=length(h);
h(l+1)=1;
ami=-1;
while n<=length(h)-1;
t=n-1:0.001:n;
if h(n) == 0
if h(n+1)==0
y=(t>n);
else
if ami==1
y=-(t==n);
else
y=(t==n);
end
end
d=plot(t,y);grid on;
title('Line code AMI RZ');
set(d,'LineWidth',2.5);
hold on;
axis([0 length(h)-1 -1.5 1.5]);
disp('zero');
else
ami=ami*-1;
if h(n+1)==0
if ami==1
y=(t<n-0.5);
else
y=-(t<n-0.5);
end
else
if ami==1
y=(t<n-0.5)-(t==n);
else
y=-(t<n-0.5)+(t==n);
end
end
d=plot(t,y);grid on;
title('Line code AMI RZ');
set(d,'LineWidth',2.5);
hold on;
axis([0 length(h)-1 -1.5 1.5]);
disp('one');
end
n=n+1;
%pause;
end

MANCHESTER

function MANCHESTER(h)
h=[1 0 0 1 1 0 1 0 1 0];
clf;
n=1;
h=~h;
l=length(h);
h(l+1)=1;
while n<=length(h)-1;
t=n-1:0.001:n;
if h(n) == 0
if h(n+1)==0
y=-(t<n)+2*(t<n-0.5)+1*(t==n);
else
y=-(t<n)+2*(t<n-0.5)-1*(t==n)
end
d=plot(t,y);grid on;
title('Line code MANCHESTER');
set(d,'LineWidth',2.5);
hold on;
axis([0 length(h)-1 -1.5 1.5]);
disp('one');
else
if h(n+1)==0
y=(t<n)-2*(t<n-0.5)+1*(t==n);
else
y=(t<n)-2*(t<n-0.5)-1*(t==n)
end
d=plot(t,y);grid on;
title('Line code MANCHESTER');
set(d,'LineWidth',2.5);
hold on;
axis([0 length(h)-1 -1.5 1.5]);
disp('zero');
end
n=n+1;
%pause;
end

Resultados Graficos
UNRZ

URZ
PNRZ

BRZ

AMI NRZ
AMI RZ

MANCHESTER

9. DISCUSION
Para la realización de la presente practica se realizaron diferentes tipos de
codificaciones de línea lo cual nos ayudaría a comprender de mejor manera su
funcionamiento además de las diferencias que pueden existir entre todos y cada uno de
los códigos de línea, dentro de la practica el principal problema que se presento fue
dentro de la codificación AMI NRZ en la cual existía una línea de código faltante la cual
no permitia el funcionamiento de esta codificación el cual se logro resolver
satisfactoriamente añadiendo la línea de código de la secuencia de bits que se iba a
codificar
10. CONCLUSIONES

 La codificación de línea fue creada para satisfacer la necesidad de transmitir señales


digitales a través de variados medios de transmision
 Las codificaciones de línea son una manera útil de cuantificar la señal de manera que
sea más fácil la detección de errores y tener una señal segura
 La codificación NRZ es una manera muy simple de codificar pero no es muy ocupada
en la transmisión debido a que no posee capacidad de sincronización
 Los datos codificados deberán ser decodificados en el receptor por lo que a través del
mismo decodificador se podrá detectar si la señal recibida es correctao no siendo esta
una gran ventaja que proporciona la codificación

11. RECOMENDACIONES
 Tener en cuenta que los datos a codificar estén bien expresados dentro de la
codificación para evitar posibles fallos
 Dentro del programa se deberá ingresar los bits en manera de vector y tomar cada
componente del mismo para evitar problemas
 Tener en cuenta en que periodo se realiza el retorno a cero en los códigos RZ
 Tomar en cuenta la transición que deberá tomar la codificación según el bit a codificar
y según el tipo de codificacion
12. PREGUNTAS DE CONTROL
- En las líneas de comandos para el código AMINRZ. ¿Qué línea de comandos falta?
Falta la línea de comando que contiene la secuencia binaria que se codificara
h=[1 0 0 1 1 0 1 0 1 0];
- ¿Existen otros tipos de códigos de línea?
Si existen varios otros tipos de codificación de línea que se derivan de algunos tipos
estudiados en esta practica como NRZ invertido, manchester diferencial, Códigos
pseudoternarios, además existen otro tipo de códigos mas avanzados como Código
HDB-3 donde sólo se permiten tres ceros seguidos. Una secuencia de 4 ceros se
reemplaza por 000V o por R00V, V=bit de violación, R= bit de relleno y una larga
secuencia de ceros puede significar pérdida de sincronización..
- ¿Se puede reemplazar el 1 lógico por otro valor numérico?
El 1 logico es la representación del valor lógico de voltaje que en una señal digital
siempre se representara por dos niveles los cuales son 1 y 0 los cuales representaran
valores de voltaje mientras se hable de solo dos niveles lógico solo se podrá variar el
valor entre 0 y 1
- ¿Qué tipo de aplicaciones se puede utilizar los códigos de línea
Se puede utilizar en aplicaciones que utilicen transmisión en banda base lo que
significa que la señal es codificada antes de sufrir algún tipo de proceso de modulación
Los datos se codifican para solucionar los siguientes aspectos inherentes a la banda
base:
- Disminuir la componente continua
- Proveer sincronismo entre transmisor y receptor
- Permitir detectar la presencia de la señal en la línea
Como se trabaja con pulsos, de acuerdo al desarrollo de Fourier, se puede tener un
valor importante de la componente continua. Al codificar se trata de disminuir dicho
valor pues el sistema de transmisión puede poseer amplificadores y/o transformadores
que no tendrían en cuenta la componente continua y ello provocaría una deformación
de la señal.
Por ejemplo es utilizado en radio, satélite y comunicaciones celulares para disminuir el
ancho de banda que ocupan

- ¿Se podría realizar un GUIDE de Matlab en el cual el usuario solo tenga q ingresar los
datos a cuantificar?
Si se podría realizar dependiendo de las necesidades a partir de los datos de entrada se
podría hacer una guide para códigos de tamaño fijo o si se tiene mayor experiencia en
Matlab se podría realizar una guide para códigos de tamaño variable utilizando matrices

13. BIBLIOGRAFÍA:
 ESPINOZA GUTIERREZ, ALEX PAUL. “Desarrollo De Guías De Laboratorio De
Comunicaciones Digitales, Para La Facultad De Ingeniería Utilizando Matlab”. Escuela
Politécnica del Ejército. Faculta de Ingeniería Electrónica. Quito-Ecuador. 2005
 http:%www.mathworks.com/
 http://www3.uji.es/~redondo/redes/capitulo3_IS20.pdf
 https://www.textoscientificos.com/redes/senales/banda-base

Вам также может понравиться