Академический Документы
Профессиональный Документы
Культура Документы
2. OBJETIVOS:
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
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 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 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)
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
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