www.matpic.com www.youtube.com/diegokillemall
13
SIMULACIÓN DE CÓDIGOS DE LÍNEA EN MATLAB
Diego Orlando Barragán GuerreroLoja - Ecuador diegokillemall@yahoo.com
RESUMEN
El presente artículo tiene como finsimular algunos códigos de línea en Matlab.Asimismo, programar una interfaz gráfica quegenere bits aleatorios para su posterior codificación.
INTRODUCCIÓN
La transmisión de datos en formadigital implica una cierta codificación. A laforma de transmisión donde no se usa una portadora se la conoce como transmisión en banda base.Los códigos de línea son usados paraeste tipo de transmisión. Existen varios tiposde códigos, entre ellos Unipolar NRZ, Polar NRZ, Unipolar RZ, Bipolar RZ (AMI),Manchester, CMI, etc. Algunos de estoscódigos se muestran en la figura 1.
Fig.1. Códigos de línea usuales.
Algunas de las característicasdeseables de los códigos de línea son:
Autosincronización:
contenidosuficiente de señal de temporización(reloj) que permita identificar el tiempocorrespondiente a un bit.
Capacidad de detección de errores:
ladefinición del código incluye el poder dedetectar un error.
Inmunidad al ruido:
capacidad dedetectar adecuadamente el valor de laseñal ante la presencia de ruido (baja probabilidad de error).
Densidad espectral de potencia:
igualación entre el espectro de frecuenciade la señal y la respuesta en frecuenciadel canal de transmisión.
Ancho de banda:
contenido suficientede señal de temporización que permitaidentificar el tiempo correspondiente aun bit.
Transparencia:
independencia de lascaracterísticas del código en relación a lasecuencia de unos y ceros que transmita.
FUNCIÓN UNRZ(h)
El código Unipolar sin retorno a cerorepresenta un 1 lógico (
1L
) con un nivel de+V durante todo el periodo de bit y un cerológico (
0L
) con un nivel de 0 V durante todoel periodo de bit. La función siguiente simulaesta codificación:
functionUNRZ(h)clf;n=1;l=length(h);h(l+1)=1;whilen<=length(h)-1;t=n-1:0.001:n;ifh(n) == 0ifh(n+1)==0y=(t>n);else y=(t==n);end d=plot(t,y);gridon;title('Line code UNIPOLAR NRZ');set(d,'LineWidth',2.5);holdon;axis([0 length(h)-1 -1.5 1.5]);disp('zero');else
Leave a Comment