Está en la página 1de 14

UNIVERSIDAD PRIVADA

DOMINGO SAVIO

Proyecto Final – Códigos de Líneas

Estudiante: Giancarlo Terrazas Carrasco


Materia: Comunicaciones Digitales
Docente: Augusto Zarate Coronado
Carreras: Ing. en Redes y Telecomunicaciones
Semestre: 6º Semestre
Índice:

1. Introducción:............................................................................3
2. Objetivos:.................................................................................3
2.1. Objetivo General:...............................................................3
2.2. Objetivos Específicos:.........................................................3
3. MARCO TEORICO.....................................................................3
3.1. Transmisión Digital:............................................................3
3.1.1. Codificación de la Señal:...............................................4
3.1.2. Códigos de Líneas..........................................................5
3.2. Plataforma de Programación:............................................8
3.2.1. MATLAB:........................................................................8
3.3. Códigos de Línea Programados:.........................................8
3.3.1. Código RZ-Unipolar:......................................................8
3.3.2. Código Bifase-L o Manchester:.....................................9
4. Programación del código:........................................................9
5. Demostración de la Aplicación:.............................................13
6. Link del código de programación en la página oficial de
MATLAD:......................................................................................14
7. Conclusión:.............................................................................15
8. Anexos:...................................................................................15
1. Introducción:

En el presente proyecto se demostrará la programación de los códigos de líneas en el


sistema de programación matemático de Matlab, el propósito de este proyecto es conocer
los diferentes tipos de codificación para la transmisión de mensajes en los sistemas
digitales.

También se hablará un poco acerca de la plataforma que fue elegida para demostrar el
procedimiento de programación de los dos tipos de códigos de líneas, que serán una
pequeña demostración de los distintos códigos de línea que existen en la codifican de
señales, y sobre su forma e estructura de transmisión.

2. Objetivos:
2.1. Objetivo General:

El principal objetivo del proyecto es la demostrar el proceso de programación de los


códigos de líneas, pero también dar una breve introducción acerca de la codificación y de
su importancia en el área de las telecomunicaciones.

2.2. Objetivos Específicos:

 Realizar una investigación de sus respectivos conceptos y características de los


códigos de línea que se programaran.
 Explicar paso a paso el proceso de programación en la plataforma de Matlab, y de
las ventajas de usar este laboratorio matemático.
 Dar una demostración de su ejecución y funcionamiento del código de
programación de los dos códigos elegidos.

3. MARCO TEORICO
3.1. Transmisión Digital:

La transmisión digital o comunicación digital es la transmisión física de datos a través de


un canal de comunicación entre un transmisor y un receptor que intercambian
información en forma de señales digitales. Por lo tanto, para la transmisión de los datos,
las señales analógicas deben ser convertidas a señales digitales para una mejor
transmisión.

La conversión de analógico a digital consiste en la transcripción de las señales analógicas


en una señal digital para facilitar el proceso de codificación de los datos, y así crear una
mejor versión de la señal original, siendo está más inmune al ruido y otras interferencias.

Pero debido a que la información en la señal digital no puede ser enviada en forma de
unos y ceros, es por eso que debe ser codificada en la forma de una señal con dos tipos de
estados, es decir, que la señal es representada por dos niveles de voltaje. Esta conversión
de información binaria en una señal con dos estados se lo realiza a través de un DCE,
también conocido como decodificador de banda base.

3.1.1. Codificación de la Señal:

La codificación de la señal digital es una técnica para facilitar la transmisión de la


señal, debido a que la información viaja en forma de señales, por lo tanto, esta debe
ser transformada antes de ser enviada a través de un medio de comunicación físico.

Como las operaciones informáticas están cifradas en código binario, o están


combinadas más o menos de unos y ceros que ocurren constantemente. El proceso
de codificación es muy utilizado actualmente para la transcripción de las señales
analógicas a digital. Para este procedimiento conlleva tres fases:

 Muestreo, es la toma de muestras de la amplitud de la señal de entrada


(analógica), un parámetro importante en esta fase es el número de muestras por
segundo (frecuencia de muestreo).

 Cuantificación, consiste en la evaluación del valor de cada una de las muestras


de modo que se asigna uno de los posibles valores de la señal digital resultante
a cada una de las muestras. Esto provoca ruido de cuantificación provocada por
el recorte del número de posibles valores de la señal analógica a digital.

 Codificación, consiste en reducir los valores obtenidos en el proceso de


cuantificación al sistema binario, mediante la utilización de una serie de
códigos preestablecidos. De este modo al finalizar el procedimiento, se obtiene
la señal conversión de la señal analógica a digital

Existen varios sistemas de codificación para este propósito, los cuales se pueden
dividir en dos categorías: la codificación de dos niveles, donde la señal solo puede
tomar un valor estrictamente negativo o estrictamente positivo (-X o +X, donde X
representa el valor de la cantidad física utilizada para transportar la señal) y la
codificación de tres niveles, donde la señal solo puede tomar un valor estrictamente
negativo, nulo o estrictamente positivo (-X, 0 o +X).
3.1.2.Códigos de Líneas

Los códigos de línea surgen ante la necesidad de trasmitir señales digitales a través
de diversos medios de transmisión. Una señal digital es una secuencia de pulsos de
tensión discretos y discontinuos, donde cada pulso es un elemento de la señal. Los
datos binarios se transmiten codificando cada bit de datos en cada elemento de
señal.

En el caso más sencillo, habrá una correspondencia uno a uno entre los bits y
dichos elementos, un cero se representa mediante un nivel bajo de tensión y un uno
se representa por un nivel de tensión mayor. En conclusión, un código de línea es
un tipo de codificación usado en sistemas de comunicación para la transmisión
digital en banda base y está conformado por pulsos rectangulares que siguen un
determinado patrón de codificación, el cual asigna niveles de tensión a los bits que
entrega la fuente

Clasificación de los códigos de línea:

Los códigos de línea se emplean para realizar una adecuación a la información


digital que se va a transmitir, de modo que el canal de comunicación se encuentre
activo la mayor parte del tiempo. De este modo es como se clasifican los códigos de
línea:

No retorno a cero (NRZ): Se caracteriza porque el voltaje no vuelve a cero entre


bits consecutivos de valor uno. Este tipo de código es la forma más frecuente y fácil
de transmitir señales digitales mediante la utilización de un nivel diferente de
tensión para cada uno de los bits. Los códigos que siguen esta estrategia comparten
la propiedad de que el nivel de tensión se mantiene constante durante la duración
del bit, es decir, no hay transiciones.

Tipos de NRZ:
 NRZ-L (L de nivel)
 NRZ-M (M de marca)
 NRZ-S (S de espacio)

Retorno a cero (RZ): Este tipo de codificación se caracteriza porque la señal que
representa a cada bit retorna a cero en algún instante dentro del tiempo del intervalo
de bit. Existe un mejor sincronismo, pero el ancho de banda del medio debe ser el
doble.
Tipos de RZ:
 RZ-Unipolar
 RZ-Bipolar
 RZ-AMI

Codificación en fase: Los códigos de fase o bifase se caracterizan por representar a


los dígitos mediante una o más transiciones. Aumenta el sincronismo, debido a la
transición que se produce durante un intervalo de tiempo del bit. Pero el ancho de
banda necesario es mayor.
Tipos de codificación en fase:
 Bi--L o Manchester
 Bi--M (bi-phase-mark)
 Bi--S (bi-phase-space)
 Manchester Diferencial

Técnicas de Altibajos: Se caracteriza reemplazar las secuencias de bits que den


lugar a niveles de tensión constante por otras secuencias que proporcionen
suficiente número de transiciones arriba y abajo. Este tipo de codificación se usan
frecuentemente en las comunicaciones a larga distancia.
Tipos de codificación en fase:
 B8ZS (Bipolar with 8-zeros)

 HDB3

3.2. Plataforma de Programación:


3.2.1. MATLAB:
Matlab es una plataforma de programación computacional que ejecuta una gran
variedad de operaciones y tareas matemáticas. Su nombre significa Matrix
Laboratory (laboratorio de matrices), el cual fue diseñado en un principio para
trabajar con vectores y matrices, actualmente abarca mucha más características, pero
está más optimizada para resolver problemas científicos y de ingeniería. El lenguaje de
MATLAB, basado en matrices que es la forma más natural para expresar las
matemáticas computacionales.
MATLAB se encuentra presente en sistemas de seguridad activa de automóviles,
naves espaciales interplanetarias, dispositivos de monitorización de la salud, redes
eléctricas inteligentes y redes móviles LTE. Se utiliza para aprendizaje automático,
procesamiento de señales, procesamiento de imágenes, visión artificial,
comunicaciones, finanzas computacionales, diseño de control, robótica y muchos otros
campos.

3.3. Códigos de Línea Programados:


Los códigos de línea que fueron elegidos para programarlos en la plataforma de Matlab, y
demostrar paso a paso su construcción son:

3.3.1.Código RZ-Unipolar:
El código RZ-unipolar o con retorno a cero unipolar, se caracteriza debido a que la
señal que representa a cada bit retorna a cero en algún instante dentro del tiempo del
intervalo de bit. La mitad de la duración del bit permanece elevada, pero vuelve
inmediatamente a cero y no muestra ningún pulso durante la mitad restante de la
duración del bit.

En una codificación RZ-unipolar el digito 1 es representado con un pulso cuya


duración es la mitad del tiempo de bit mientras que un 0 es representado por la
ausencia de pulso. Es usado a menudo en las comunicaciones ópticas especialmente
en sistemas ópticos con láser, ya que ahorran mucha energía al transmitirlas.

3.3.2.Código Bifase-L o Manchester:


En la codificación Bi--L (bi-phase-level) el digito 1 es representado con un pulso
con la mitad de tiempo del bit en la primera parte del intervalo, mientras que el 0 se
representa con un pulso con la mitad del tiempo de bit en la segunda parte del
intervalo.

En la codificación Manchester la transición que va de negativo a positivo se lo


representa con 0, y cuando la transición va de positivo a negativo se lo representa
con 1. Se lo utiliza muchos para las transmisiones en redes LAN en los estándares de
telecomunicaciones IEEE 802.3 con bus CSMA/CD usando cable coaxial en banda
base o par trenzado.

0 = transición de alto a bajo en mitad del intervalo


1 = transición de bajo a alto en mitad del intervalo

4. Programación del código:


Para la programación del código en la plataforma de Matlab se utilizó la interfaz gráfica
GUIDE, el cual nos permite tener un control más sencillo (con uso de ratón) de las
aplicaciones de software, lo cual elimina la necesidad de aprender un lenguaje y escribir
comandos a fin de ejecutar una aplicación.

Parte Grafica:
Paso 1: Primero cree una interfaz gráfica con el comando GUIDE, el cual nos abre una
pequeña ventana para crear un interfaz desde cero.

Paso 2: Luego en la interfaz gráfica en blanco, procedí a añadir los a añadir algunos
componentes para tener una mejor interacción con la aplicación al ingresar la secuencia de
números binarios. Los componentes más importantes que elegí fueron:
 Editable Text, es una caja para introducir y editar texto.
 Pop-un menú, es una lista de opciones.
 Static Text, son unas cajas para de String para añadir comentarios.
 Axes, es una caja donde se dibujar las gráficas en los ejes cartesianos.
Parte de la programación:
Parte del Editable Text: En esta parte se programó para que el programa pueda leer la
secuencia de bits ingresada por el usuario en la parte gráfica.

Aquí extraemos las secuencias de bits en String.

Esta parte convierte la secuencia en una matriz de números.

Luego pasamos el array a una matriz handles, y lo guardamos en la sentencia guidata.

Parte del Pop-up menú: En esta parte del código, se está programando la elección de
codificación que el usuario elija entre RZ-Unipolar o Manchester.

Para iniciar se declara una variable para almacenar el valor ingresado en el edit text.

Se obtiene el tamaño de la matriz, y almacenar el largo d la cadena de bits que el usuario ingrese.
Especificamos que se va a graficar en la figura Axes.

Definimos la posición de las líneas 2D de los datos con respecto a los ejes horizontal (x) y vertical (y), y
con hold le decimos al programa que los dos códigos se graficaran en la misma figura.

Desde ahora se esa programando las dos opciones que podemos elegir, la primera es para
Manchester, y la segunda para RZ-Unipolar:

Usamos la sentencia Switch para elegir que acción queremos ejecutar. Si elegimos la primera opción que
en este caso es Manchester. Primero declaramos algunas variables que nos ayudaran en la parte gráfica.

Entonces iniciamos bucle for para ir revisando la cadena por si tiene 1 o 0 para ejecutar una acción. En
caso que el bucle detecte un 1, se empezara a graficar desde 1 a -1. También indica que se graficara una
línea en vertical cuando el numero siguiente también es 1.

Aquí revisara si el numero en la cadena no es 1, sino 0. Entonces se graficará desde -1 a 1, e igualmente


graficara una línea en vertical, por si el número después es 0.
En esta parte del código indica que en eje x se graficara en la mitad del intervalo, y también indicamos en
el eje y las variables que se graficaran. Y definimos en plot el ancho de las líneas, y le pedimos al
programa que le coloque un título al gráfico.

En la parte final del caso 1 programamos las gráficas de las líneas en vertical cuando se repita el mismo
bit.

Para el caso 2 o RZ-Unipolar:

Iniciamos el bucle for, si el bit a codificar es 1 entonces definimos los cálculos para el eje X que define la
anchura del rectángulo, y Y define la altura.

En caso que el bit a codificar sea 0 entonces realiza la misma acción que la anterior.

Y en la parte final del caso 2, le decimos al programa el ancho de las líneas, el titulo para el grafico,
cerramos el bucle for y la sentencia switch.

Para finalizar de programar la parte gráfica definimos los límites de los ejes con el comando axis,
activamos las cuadriculas y apagamos la conservación de los gráficos.
5. Demostración de la Aplicación:
Ahora veremos una pequeña demostración del funcionamiento del código: Podemos
observar que se generan correctamente los gráficos para la codificación Manchester y RZ-
Unipolar.
6. Link del código de programación en la página oficial de MATLAD:

https://la.mathworks.com/matlabcentral/fileexchange/89862-
codigos-de-lineas

7. Conclusión:
En conclusión, en mi opinión puedo decir que los códigos de línea son de gran importancia
para la transmisión de datos, por parte de los sistemas digitales. Debido a que las señales
analógicas tienen menores ventajas a la hora de intercambiar información, en cambio las
señales digitales están ganando mayor importancia, porque son más simples de generarlos,
consumen un menor ancho de banda, y tienen menos posibilidades de llegar al destino con
errores que pueden retrasarnos a la hora de enviar a gran velocidad.

8. Anexos:
http://www.utm.mx/~vero0304/HCPM/MATLAB_GUIDE.pdf

https://la.mathworks.com/help/matlab/ref/linespec.html#:~:text=Los%20gr%C3%A1ficos
%20de%20MATLAB%C2%AE,hexagrama%20y%20los%20cuatro%20tri
%C3%A1ngulos).

https://upcommons.upc.edu/bitstream/handle/2117/192916/tema_4_interficie_grafica_con_
el_usuario-5154.pdf?sequence=6&isAllowed=y

https://la.mathworks.com/matlabcentral/fileexchange/13553-data-encoding-ami-nrz-rz-
polar-bipolar-manchester?s_tid=srchtitle

http://www2.caminos.upm.es/Departamentos/matematicas/Fdistancia/PIE/matlab/temasmat
lab/TEMA%205.pdf

https://www.youtube.com/watch?
v=qQSJ9Ik2XO8&list=PLNfQrqBNue2j64aWpE8rngcQfxp_qG6OA&index=15&t=229s

También podría gustarte