You are on page 1of 8

Prctica

2
Objetivos

Redes de Computadores

Cdigos de lnea
Estudio de la distorsin introducida por el medio fsico en la transmisin de una seal digital en banda base.

El anlisis espectral es un concepto bsico para entender algunos de los efectos que se producen en la transmisin de datos a travs de un medio fsico, como por ejemplo distintos tipos de cables. En esta prctica se pretende que el alumno entienda el proceso de transmisin de seales digitales en banda base sobre canales guiados, y sea capaz de interpretar el efecto de factores tales como ancho de banda del canal, relacin sealruido y velocidad de transmisin en la calidad de la seal recibida en el destino. Para ello utilizaremos como herramienta la aplicacin Matlab, que ofrece todo el soporte necesario para realizar este estudio.

Descripcin Terica
En telecomunicaciones, un cdigo en lnea (modulacin en banda base) es un cdigo elegido para ser usado en un sistema de comunicacin como soporte para la transmisin. Los cdigos en lnea son frecuentemente usados para el transporte digital de datos. Estos cdigos consisten en representar la amplitud de la seal digital transportada respecto al tiempo. La representacin de la onda se suele realizar mediante un nmero determinado de impulsos. Estos impulsos representan los 1s y los 0s digitales. Los tipos ms comunes de codificacin en lnea son el NRZ, AMI y Manchester. Las figuras siguientes ilustran un ejemplo de modulacin NRZ polar y de modulacin AMI.

Figura 1. Ejemplo de codificacin NRZ polar.

Figura 2. Ejemplo de codificacin AMI (bipolar).

Despus de la codificacin en lnea, la seal se manda a travs de la capa fsica. A veces las caractersticas de dos canales aparentemente muy diferentes son lo suficientemente parecidas para que el mismo cdigo sea usado por ellos. La seal en lnea codificada puede tener las siguientes utilidades en diversos campos: Puede ser puesta directamente en una transmisin de lnea, en forma de variaciones de voltaje o corriente. Est lo bastante modulada para crear una seal de radiofrecuencia que puede ser transmitida libremente al espacio Puede ser usada para encender y apagar una luz en Redes Inalmbricas pticas (en ingls Free Space Optics FSO-), ms conocidas como infrarrojos. Puede convertirse en campos magnticos en un disco duro. Puede ser impresa para crear cdigos de barras. Puede ser convertida en puntos en discos pticos (CD)

Modos de eliminar la componente continua Desgraciadamente, la mayora de las canales de comunicaciones a largas distancias no pueden transportar una componente continua. El cdigo de lnea ms simple, el unipolar, que no tiene lmites en lo que respecta a su componente continua, da muchos errores en los sistemas. Por ello, la mayora de los cdigos en lnea eliminan la componente continua. Hay dos modos de eliminar la componente continua: Disear cada cdigo transmitido de tal forma que contenga el mismo nmero de impulsos positivos que negativos, as se anulara la componente continua. Un ejemplo de este tipo de cdigos es el Manchester. Usar un cdigo de paridades emparejadas o cdigo alternante. En otras palabras, un cdigo en el que algunos o todos los dgitos o caracteres estn representados por dos conjuntos de dgitos, de paridad opuesta, que se utilizan en una secuencia de manera que se minimice la paridad total de una larga cadena de dgitos. Ejemplos de este tipo de cdigos es el cdigo AMI, 8B10T, 4B3T, etc.

Sincronismo de la seal Los cdigos en lnea deberan hacer posible que el receptor se sincronice en fase con la seal recibida. Si la sincronizacin no es ideal, entonces la seal decodificada no tendr diferencias ptimas, en amplitud, entre los distintos dgitos o smbolos usados en los cdigos en lneas. Esto incrementar la probabilidad de error en los datos recibidos. Para que la recuperacin del reloj sea fiable en el receptor, normalmente se impone un nmero mximo de ceros o unos consecutivos razonables. El periodo de reloj se recupera observando las transiciones en la secuencia recibida, hasta que el nmero mximo permitido de 0s o 1s seguidos garantice la recuperacin del reloj, mientras que las secuencias sin estas restricciones pueden empeorar la calidad del cdigo. Tambin es recomendable que los cdigos en lnea tengan una estructura de sincronismo para que sea posible detectar errores.

Desarrollo de la prctica
Esta prctica se llevar a cabo en un entorno Matlab. Matlab es una aplicacin ampliamente utilizada en el sector de telecomunicaciones y en muchos otros, y permite realizar estudios bastante detallados de sistemas de comunicaciones, especialmente en lo que se refiere al procesamiento de la seal. La prctica se divide en 3 partes, donde lo que cambia de una parte a la siguiente son esencialmente los objetivos que se persiguen. As, en la primera parte se busca que el alumno utilice una secuencia de bits muy corta para que observe el impacto del ruido y del ancho de banda del canal en la seal que se recibe en el destino, observando adems las variaciones percibidas en el espectro de frecuencias de la seal. En la segunda parte el anlisis se centrar en el anlisis espectral, y se propone un estudio comparativo entre diferentes cdigos de lnea. Finalmente, en la tercera parte se trata el proceso de decodificacin con el objetivo de observar la variacin del Bit Error Rate (BER) a medida que hacemos variar los parmetros del canal.

Material necesario Para la realizacin de esta prctica el alumno deber descargar una serie de scripts en lenguaje Matlab que estn disponibles en la pgina web de la asignatura: http://www.redes.upv.es/rds El material se encuentra en el fichero codigos_linea.zip que se encuentra junto a los boletines de prcticas. Deber descargar este fichero y extraer los ficheros .m (M-files) en una carpeta local o en el disco W. Scripts principales (modificar cuando as se indique): encoding.m: contiene el script principal para la primera parte spectral_analysis.m: contiene el script principal para la segunda parte ber_calc.m: contiene el script principal para la tercera parte

Scripts auxiliares (no modificar en el trascurso de la prctica): modulb.m: funcin que genera los distintos cdigos de lnea a partir de una secuencia de bits ideal_filter.m: funcin que modela un filtro ideal de cualquier tipo decode_seq.m: funcin que permite decodificar cdigos de lnea isodd.m: funcin que permite determinar si un nmero es impar

La ejecucin e interaccin con el programa a desarrollar se har en modo consola, por lo que deber arrancar el Matlab y modificar el directorio de trabajo de manera que pueda acceder a estos ficheros descargados.

Parte I: Efecto del canal fsico sobre la seal modulada Un canal fsico se suele caracterizar por un ancho de banda, por la distancia entre emisor y receptor y por el nivel de ruido en l presente. Estos dos ltimos factores (distancia y ruido), juntamente con un cierto nivel de potencia de la seal en la fuente, nos permiten calcular la relacin seal-ruido (SNR) en el receptor. Por lo tanto, podemos representar nuestro canal fsico de la siguiente manera: Noise
Binary input sequence (seq)

Line coding

Filtering
y(t) yn(t) ynd(t)

Received signal (encoded)

Analizando el script encoding.m podemos encontrar las instrucciones que nos permiten seguir esta misma secuencia representada. Pasamos a comentar las principales instrucciones: Inicialmente se definen algunos parmetros bsicos, como
dr = 1000; % tasa de entrada de datos, en bits/segundo fs = 25*dr; % una vez que en Matlab estamos simulando el proceso, tenemos que definir una tasa de muestreo que sea bastante superior a dr (en este caso 25 veces superior) snr = 5; % relacin seal ruido en el destino (suponiendo ruido blanco gaussiano) % Caracterizacin del canal (frecuencias de corte) fmin = 0; % valor en Hz, 0 significa que es un filtro pasa-bajo fmax = 4000; % valor en Hz, frecuencia mxima de corte

Despus se procede a definir el cdigo de lnea deseado, as como la secuencia binaria usada en las pruebas:

% lncds es un vector que contiene los cdigos de lnea implementados lncds = {'unipolar_nrz'; ... %1 'bipolar_nrz'; ... '4level_nrz'; ... 'bipolar_rz'; ... 'unipolar_rz'; ... %5 'ami'; ... 'manchester'; ... 'miller'; ... 'unipolar_nyquist'; ... 'bipolar_nyquist'; ... % 10 'bipolar_nrzi'; ... 'b8zs'; ... 'hdb3'; ... '2b1q'}; %14 linecode = 1; % mediante esta variable elegiremos qu cdigo de lnea queremos probar (en este caso 1 corresponde a NRZ unipolar). seq = [[1 0 1 0 0 1 1 0 1 0 1 0 0 1 0 0 1 1]; % secuencia binaria de entrada usada para pruebas esta ser nuestra

Finalmente se obtiene la seal modulada y(t), as como la seal con ruido yn(t) y la seal distorsionada por el filtro que representa el propio canal ynd(t).
% % Primero creamos la seal modulada y(t) % [y,t] = modulb(seq,dr,fs,lncds{linecode}); % % Despus aadimos ruido segn el valor de SNR indicado % sigrms = sqrt(mean(y.^2)); % Signal power in rms % scale power in noise relative to signal npow = sigrms*10^(-snr/20); % Noise power in rms yn = y+npow*randn(size(y)); % Add scaled noise to signal % % Finalmente distorsionamos la seal de acuerdo con el canal definido, en este caso simulado mediante un filtro ideal % ynd = idealfilter(yn,fmin*max(size(seq))/dr,fmax*max(size(seq))/dr);

Paso 1: En la lnea de comandos de Matlab ejecute la instruccin encoding. Deber obtener 6 figuras, donde las 3 ltimas (4,5 y 6) son la representacin espectral de las 3 primeras (1,2, y 3). En la figura 1 se muestra la seal modulada generada por el emisor. La figura 2 permite observar el efecto del ruido sobre la seal, y la figura 3 el efecto del ancho de banda. Segn la figura 6, cul es el rango de frecuencias que el canal deja pasar? ____________________________________ Paso 2: Manteniendo el mismo cdigo de lnea, haga variar la relacin seal ruido (SNR). Pruebe con los valores -10, -3, 0, 3, 10, 20 y 100. A partir de qu valor cree que la tasa de error ser elevada? ______________________

A partir de qu valor cree que no tiene sentido aumentar la potencia en la fuente? ___________________ Paso 3: Reponga el valor de SNR a 5dB. Haga variar la frecuencia mxima (corte) del canal, probando con los valores 100, 500, 1000, 2000 y 8000. Para este caso, cul cree que sera la frecuencia de corte ptima? _____________

Parte II: Anlisis espectral de diferentes tcnicas de modulacin En esta segunda parte el objetivo es caracterizar los diferentes cdigos de lnea en trminos de su eficiencia espectral. Para eso el alumno deber partir del script spectral_analysis.m, y modificarlo cuando sea necesario. Para empezar ejecute una vez la instruccin spectral_analysis desde la lnea de comandos de Matlab. Obtendr una grfica de la amplitud de la representacin de esta seal en el dominio de las frecuencias. A continuacin se muestra el espectro de frecuencias para NRZ unipolar despus de realizar zoom y translacin sobre la figura obtenida.
Single-Sided Amplitude Spectrum of y(t)

0.8

|Y(f)|

0.6

0.4

0.2

100

200

300

400 500 600 700 Frequency (Hz)

800

900

1000

Como se puede verificar, este cdigo de lnea requiere un ancho de banda de 1000 Hz, y s tiene una componente continua importante. Repita el mismo anlisis para diferentes cdigos de lnea, y rellene la siguiente tabla. Tcnica de modulacin NRZ unipolar (#1) NRZ bipolar (#2) AMI (#6) Manchester (#7) NRZI bipolar (#11) B8SZ (#12) HDB3 (#13) 2B1Q (#14)
1

Ancho de banda ocupado1 (Hz)

Componente DC nula (Si/No)

Hasta el primer cruce por amplitud cero en el espectro de frecuencias.

Parte III: Efecto del canal sobre la tasa de errores de bit (BER) En este punto vamos a utilizar nuestro simulador para ver grficamente cmo afecta el ancho de banda y la atenuacin introducida por el cable a la seal transmitida. Para este anlisis utilizaremos el script ber_calc.m. Para el proceso de decodificacin se invoca el script decode_seq.m, que como puede verificar slo implementa un subconjunto de los cdigos de lnea listados por el vector lncds. Paso 1: Utilizando los cdigos de lnea NRZ unipolar (#1) y AMI (#6), calcule la tasa de errores de bit a medida que hacemos variar la relacin seal-ruido y complete la siguiente grfica:

Notas: Hacer pruebas con los valores de SNR: -3, -1, 1, 3, 5 y 10 dB. Colocar ambas lneas en la misma figura. El ancho de banda del canal debe ser [0,4000] Hz.

Paso 2: Utilizando los cdigos de lnea NRZ unipolar (#1) y AMI (#6), calcule la tasa de errores de bit a medida que hacemos variar el ancho de banda de un canal pasa-bajo (modelado en trminos de frecuencias por [0,fmax]) y complete la siguiente grfica:

Nota: Colocar el valor de SNR a 10 dB. Probar con los valores indicados en la figura.

Paso 3: Repita el paso anterior cambiando el tipo de canal a pasa-banda (modelado en trminos de frecuencias por [fmin, 1000]) y complete la siguiente grfica:

Nota: Colocar el valor de SNR a 10 dB y el valor de fmax a 1000 Hz. Probar con los valores indicados en la figura. Cul de los dos cdigos de lnea es ms adecuado para la transmisin sobre canales pasa-banda? __________________

Ampliaciones opcionales sobre la prctica


1. Implementar nuevos cdigos de lnea no contemplados y analizar su comportamiento espectral. 2. Comparar los resultados obtenidos con el filtro ideal con otros filtros ms realistas: Butterworth, Chebychev, etc. 3. Implementar decodificadores para ms cdigos de lnea (ver en decode_seq.m los que quedan por implementar) y caracterizarlos en trminos de BER.

You might also like