Guia L3_diagrama de Ojo

Share Embed Donate


Short Description

Download Guia L3_diagrama de Ojo...

Description

UNIVERSIDAD NACIONAL DE INGENIERIA ESCUELA DE TELECOMUNICACIONES LABORATORIO DE TELECOMUNICACIONES II (IT564) LABORATORIO 4. EL EFECTO DE ISI Y DEL RUIDO MEDIANTE LA OBSERVACIÓN DEL DIAGRAMA DE OJO La realización del laboratorio es grupal, se llevará a cabo en función de un programa ejecutable que resuelve el problema, que muestre de forma clara y ordenada las respuestas exigidas. Se recomienda la utilización de los comandos disp(‘texto’), disp(‘var’), pause, title, xlabel, ylabel, legend, clg y clc. en los ficheros .m para documentar los resultados presentados en pantalla. OBJETIVOS El objetivo de este laboratorio consiste en hacer comprender al alumno el efecto que el canal y el ruido tienen sobre las señales de comunicaciones digitales. Así mismo trata sobre el estudio de receptores y de sus prestaciones (probabilidad de error). En particular se estudiarán: • • • •

Las causas más comunes de distorsión en los sistemas de comunicaciones digitales El efecto de la ISI y del ruido mediante la observación del diagrama de ojo. Los receptores basados en el filtro adaptado Prestaciones de receptores no adaptados.

Preguntas para el Informe Previo: 1. Cuando y para que se obtiene el diagrama de ojos? 2. Que es el Jitter? 3. Que representa el BER o tasa de bit en error? 4. Defina la interferencia inter simbolo. NOTA: Si le falta algun dato asuma un valor. Preguntas para el Informe Final: 1. Que información obtiene del diagrama de ojo? 2. En qué casos se usa? 1. SIMULACION DE CANALES.

N(t) ruido Filtro transmisor

señal

CANAL

Filtro receptor

Figura 1. Etapas analógicas de un sistema de comunicaciones digitales en banda base Uno de los resultados más interesantes del procesado de señal es que es posible procesar señales continuas mediante filtros digitales (ver Figura 2). Esto es, dado un

1

sistema LTI continuo con respuesta al impulso h(t) y respuesta en frecuencia H(f) que para una entrada x(t) da una salida y(t), es posible sustituirlo por un sistema en tiempo discreto equivalente, siempre que la señal x(t) se muestree cumpliendo el criterio de Nyquist.

x(t)

Sistema continuo

y(t)

H(f)

x(t)

A/D

Sistema discreto H(ω)

D/A

y(t)

Figura 2. Simulación digital de un sistema continuo. Por tanto sustituiremos en nuestra simulación los sistemas en tiempo continuo por sus equivalentes discretos. Es más, como la entrada al filtro transmisor es una señal en tiempo discreto (los símbolos) podemos eliminar el A/D y sustituir el filtro transmisor por su equivalente discreto (de hecho, en la mayoría de los sistemas reales de Comunicaciones Digitales los filtros transmisor y receptor se implementan digitalmente. De igual manera podemos sustituir el canal por su sistema digital equivalente, añadir a la señal de salida un ruido generado digitalmente de la misma densidad espectral de potencia del que existe en la realidad y filtrar la señal resultante por un filtro receptor digital. Si esta simulación digital se lleva a cabo cuidadosamente, el efecto es exactamente igual al del sistema continuo. Adicionalmente, podremos enviar a la tarjeta de sonido cualquiera de las señales con el fin de observarlas en el osciloscopio y comprobar la veracidad de las simulaciones. Nota: Para que el entorno de simulación funcione adecuadamente es necesario inicializar una serie de variables globales ejecutando el comando iniciar. Al ejecutar iniciar el programa le solicitará el número de experimento: >>Introduzca el número de experimento debe introducir un #. El programa deberá responder: >>================================================= >> En esta sesión de MATLAB se utilizan 10 muestras por símbolo. >> Asumiendo un régimen binario de 800 bits/seg, la frecuencia >> de muestreo es 8 [kHz]. >> La componente frecuencial más alta que pueden manejar las >> rutinas MATLAB es menor o igual que 4.00 [kHz]. >> >>=================================================== Se utilizan 10 muestras por símbolo, con lo que una señal de comunicaciones binaria a 800 baudios se muestreará a 8 KHz (ancho de banda de simulación 4 KHz). En el caso de que el programa no se comporte de esta manera, ejecute el comando clear global y repita la operación. Si sigue sin dar los resultados previstos pregunte al profesor. Recuerde que si en algún momento ejecuta el comando clear o abandona Matlab deberá ejecutar de nuevo iniciar.

2

En esta sección vamos a analizar el efecto de un canal en la señal transmitida utilizando la función channel: channel (entrada, ganancia, potencia de ruido, ancho de banda) donde se definen la ganancia del filtro (normalmente se fija a 1), la potencia de ruido que introduce el canal y el ancho de banda del mismo. Si se ejecuta la función channel sin variable de salida dibuja la respuesta en frecuencia y fase del filtro de canal: channel([],1,0,2500) a) Efecto del ancho de banda en la forma de onda transmitida: Vamos a comprobar el efecto de un canal limitado en banda sobre la señal de comunicaciones: b=binary(10); x=wave_gen (b,'polar_nrz'); % Señal NRZ polar de 800 bps (recuerde “iniciar”) y=channel(x,1,0,3300); subplot(211), waveplot(x) subplot(212), waveplot(y) envia([x ,y']/2,10000);pause;cierra(0) % Observe ambas señales en el osciloscopio b) Repita el apartado a) para diferentes anchos de banda: {2500, 1500,1000 y 500}. Observe el retardo introducido por el canal y la dispersión e interferencia entre símbolos que provoca. Observe las distintas señales en el osciloscopio y responda a la pregunta del cuestionario. 2. DIAGRAMA DE OJO. El diagrama de ojo es una herramienta muy útil para apreciar la distorsión introducida por el canal en nuestra señal de comunicaciones. El diagrama de ojo se obtiene dibujando superpuestas partes de la forma de onda siguiendo los disparos de una señal de reloj. La anchura de cada tramo es ligeramente superior que el período de símbolo Ts. En esta simulación el diagrama de ojo se obtiene con una anchura de 2Ts. Los parámetros básicos en un diagrama de ojo son:

Figura 3. Diagrama de ojo. A:

Intervalo de tiempo en el que se puede muestrear la señal para decidir.

3

B:

Margen de ruido

C:

Distorsión de los cruces por cero

D:

Pendiente: Sensibilidad a errores en el instante de muestreo

E:

Distorsión máxima

t*:

Instante óptimo de muestreo medido con respecto al origen de tiempos. Si el período de símbolo es Ts, la forma de onda se muestreará en t*, en t*+Ts, t*+2Ts,... para recuperar la información transmitida.

a) Diagrama de ojo de una señal nrz polar: Generemos una señal polar_NRZ conocida b=[1 0 0 1 0 1 1 0]; x=wave_gen (b, 'polar_nrz'); subplot(211), waveplot(x); subplot(212), eye_diag(x); El diagrama de ojo que se ha obtenido es lo que se espera de una forma de onda no distorsionada. Para observar como se genera un diagrama de ojo y como refleja la distorsión introducida por el canal en la señal x ejecute: y=channel(x,1,0,3900); subplot(211),waveplot(y) subplot(212),eye_diag(y,-1) Si el segundo argumento de la función eye_diag es negativo, se debe pulsar la tecla de retorno para que se dibuje el siguiente segmento de señal. No pase este apartado sin entender perfectamente como se genera un diagrama de ojo. En los siguientes apartados se utilizará codlin para observar el diagaram de ojo (así como la señal en línea y su DEP) de distintas señales y el efecto del ruido y del canal. Recuerde que para ello codlin también utiliza las funciones wave_gen, channel, eye_diagram, waveplot y envia, etc. b) Usando codlin genere el diagrama de ojo de una señal NRZ polar de 4410 bps muestreada a 44100 muestras/s para valores de potencia de ruido σ2 = {0.02, 0.1} sin limitación en el ancho de banda (use Ancho de Banda = 21000Hz) y para σ2 = 0.01 con anchos de banda Bw={5000, 10000}. Obsérvelo también en el osciloscopio. Para poder sincronizar el osciloscopio utilice como disparo la señal del canal derecho (seleccione la opción reloj en el cuadro Disparo de codlin para observar ojos y la opción pulso para observar la señal en línea) c) Repita el apartado anterior con código manchester (se muestrea en uno de los dos ojos). NOTA: Recuerde que, estrictamente, para observar el diagrama de ojo tendríamos que tener en cuenta también el efecto del filtro receptor, y no sólo el filtro transmisor y el canal.

4

3. CONFORMACION CON COSENO ALZADO. En canales limitados en banda es importante utilizar filtros transmisores que den lugar a señales del menor ancho de banda posible, de forma que se use el ancho de banda disponible de la forma más eficiente. Una de las formas más utilizadas de conformar sin ISI consiste en que la respuesta conjunta del filtro transmisor y el receptor sea un filtro en coseno alzado. Estos filtros dependen de un parámetro llamado factor de "roll off" (exceso de ancho de banda) que varía entre 0 y 1. Utilice preferentemente la frecuencia de muestreo de 44100 Hz para que las señales se observen más estables en el osciloscopio. En este apartado vamos a generar señales de comunicaciones conformadas con un filtro en coseno alzado. Para ello el programa codlin hace uso de la función: nyq_gen( secuencia binaria, factor de roll off) a) Forma de onda y diagrama de ojo: Utilice codlin para generar una señal con 10 muestras por símbolo y conformada con un coseno alzado con r=0.25. Observe la señal (tanto en la pantalla como en el osciloscopio) y compárela con una NRZ polar de la misma velocidad de símbolo. Observando sus respectivos diagramas de ojo (en el ordenador y en el osciloscopio) se pueden apreciar las peculiaridades de cada sistema de transmisión. b) Observe el diagrama de ojo para señales conformadas en coseno alzado con r=[0.25 0.5 0.75 1]. Responda a las preguntas del cuestionario. c) Resulta interesante comparar las densidades espectrales de las señales en línea para conformaciones con pulsos rectangulares y con cosenos alzados. Calcule el ancho de banda necesario en cada caso del apartado b. Compare los espectros que se obtienen con los de la NRZ polar. EL FILTRO ADAPTADO En la Figura 4 repetimos el modelo de un sistema de comunicaciones digitales banda base: como se recordará la señal en el receptor es una versión ruidosa, distorsionada y atenuada de la enviada por el transmisor. La misión del filtro receptor es eliminar la mayor parte posible de ruido distorsionando lo menos posible la señal de comunicaciones. El muestreador recupera una versión distorsionada y ruidosa de la secuencia de salida del codificador, el decisor decide que símbolo fue transmitido en cada instante (por ejemplo en el caso de una señal multinivel {-3 -1 1 3} el decisor presenta tres umbrales en 2, 0 y -2: si la muestra obtenida es mayor que 2 decide que se ha envidado un 3; si menor que 2 y mayor que 0 un 1, y así sucesivamente). Finalmente el decodificador recupera los bits originales. La calidad de este sistema se mide en probabilidad de error, esto es, cuantos símbolos (o bits) transmitidos se recuperan erróneamente.

5

TRANSMISOR bits

Codificador

señal

Filtro transmisor

CANAL

N(t) ruido

bits recep.

Decodificador

decisor

muestreador

Filtro receptor

RECEPTOR

Figura 4. Sistema de comunicaciones en banda de base. Nota. Para que el entorno de simulación funcione adecuadamente es necesario inicializar una serie de variables globales ejecutando la función iniciar. Al ejecutar iniciar el programa le solicitará el número de experimento: >>Introduzca el número de experimento debe introducir otro #. El programa debe responder: >>================================================= >> En esta sesión de MATLAB se utilizan 8 muestras por símbolo. >> Asumiendo un régimen binario de 1000 bits/seg, la frecuencia >> de muestreo es 8 [kHz]. >> La componente frecuencial más alta que pueden manejar las >> rutinas MATLAB es menor o igual que 4.00 [kHz]. >> >>=================================================== Se utilizan 8 muestras por símbolo, con lo que una señal de comunicaciones binaria a 1000 baudios se muestreará a 8 KHz (ancho de banda de simulación 4 KHz). En el caso de que el programa no se comporte de esta manera, ejecute el comando clear global y repita la operación. Si sigue sin dar los resultados previstos pregunte al profesor. Recuerde que si en algún momento ejecuta el comando clear o abandona Matlab deberá ejecutar de nuevo iniciar. 4. FILTRO ADAPTADO PARA PULSOS RECTANGULARES a) Genere un pulso rectangular de amplitud un voltio y duración 1 msegundo. r=wave_gen(1, 'polar_nrz'); Dibuje r y la respuesta al impulso de un filtro adaptado basado en r subplot(311), waveplot(r) subplot(312), match('polar_nrz'); Observe la salida del filtro adaptado si se le aplica r a su entrada:

6

rm=match('polar_nrz', r); subplot(313), waveplot(rm); Determine el instante de tiempo en que la salida del filtro alcanza su valor máximo. b) Repita los apartados anteriores para un filtro triangular de 1 milisegundo de duración: r=wave_gen(1, 'triangle'); subplot(311), waveplot(r) subplot(312), match('triangle'); rm=match('triangle', r); subplot(313), waveplot(rm); c) Repita nuevamente los comandos anteriores para un pulso de manchester de duración 1 milisegundos. Prediga la respuesta al impulso del filtro adaptado y verifique su predicción. d) Genere una señal NRZ polar que represente la secuencia [1 0 0 1 0]. x=wave_gen([1 0 0 1 0], 'polar_nrz'); subplot(211), waveplot(x); Aplique la señal x a un filtro adaptado. subplot(212), waveplot(match('polar_nrz', x)); Como se recordará, el filtro adaptado maximiza la relación señal a ruido en recepción de un pulso aislado. La necesidad de filtro receptor se pone de manifiesto en el siguiente apartado. 5. DETECCION DE SEÑALES a) Se genera una secuencia binaria de longitud 10 y la codificamos en NRZ polar: b= binary(10); x=wave_gen(b,'polar_nrz'); subplot(311), waveplot(x) b) Procese la señal x añandiéndole ruido aditivo, blanco y Gaussiano de potencia 2 W. Dibuje la salida del canal y=x+sqrt(2)*randn(length(x),1); subplot(312), waveplot(y); c) Filtre y con el filtro adaptado. Dibuje la señal resultante z=match('polar_nrz',y); subplot(313),waveplot(z); Sea T el período de símbolo. Compruebe (sobre la gráfica) cuantos errores se cometerían si muestreásemos la señal de salida del filtro adaptado en kT con k=1,..., 10. Utilice un criterio razonable de decisión. Y si para decidir utilizásemos las muestras de la señal sin filtrar, y, ¿cometeríamos más errores?, ¿resulta por tanto de utilidad el filtro adaptado?

7

6. RECEPTOR BASADO EN FILTRO ADAPTADO Uno de los objetivos de la simulación de sistemas de comunicación es calcular las probabilidades de error de un determinado sistema de transmisión. Para ello se simula el envío de una determinada cantidad de símbolos y se calcula el número de errores cometidos en la transmisión. En general, si se buscan probabilidades de error del orden de ‘p’ hay que enviar, al menos, 10/p símbolos. Las probabilidades de error habituales oscilan entre 10-6 y 10-12 con lo que habría que enviar entre 10 millones y 10 millones de millones de símbolos para poder simular ese tipo de sistemas. Naturalmente nuestro simulador no puede manejar (en tiempos razonables) tal cantidad de bits. Por ello nos conformaremos con enviar 5000 símbolos y veremos las probabilidades de error que se alcanzan con potencias de ruido muy elevadas. Vamos, pues, a implementar el receptor completo y al calcular la probabilidad de error que obtenemos, tanto de forma teórica como por simulación. Recuerde ejecutar el comando iniciar con la opción 2 (Rb=100 bits/s, fs=8000 Kmuestras/s) a) Se genera un secuencia binaria b de logitud 5000 y una señal NRZ polar basada en b. b=binary(5000) x=wave_gen(b,'polar_nrz'); Sume a x ruido aditivo, blanco y Gaussiano de potencia 0.5 W. y=x+sqrt(0.5)*randn(length(x),1); Filtre y con su filtro adaptado. Dibuje el diagrama de ojo de la señal resultante. z=match('polar_nrz',y); clf, eye_diag(z); A partir del diagrama de ojo, determine los instantes de muestreo óptimos y el valor del umbral de decisión v_th para que el detector pueda recuperar la secuencia binaria transmitida b. Los instantes óptimos de muestreo se miden con respecto al origen de tiempos. Si el período de símbolo es T y el instante de muestreo t, el detector muestreará la señal en t, t+T, t+2T... A partir de esos valores estimados (v_th y t), utilice la función detect(z,v_th, t, b) para recuperar la señal transmitida. La función imprime la probabilidad de error estimada como el número de símbolos incorrectos partido por el número de símbolos transmitidos. b) Repita el apartado a) para potencias de ruido 1, 1.5 y 2 W, no es necesario que dibuje el diagrama de ojo, pues el sistema sigue siendo el mismo y por tanto los valores v_th y t anteriores siguen siendo adecuados. c) Si se produce un error en el instante de muestreo, la probabilidad de error aumenta. Simule este hecho utilizando valores para t que sean 0.9 y 0.5 veces el valor óptimo utilizado en los apartados a) y b). De este apartado se deduce la enorme importancia de diseñar circuitos adecuados de recuperación de sincronismo. d) Construya una función y=funcq(x) que nos de, para un parámetro x de entrada, el valor de Q(x). Utilice para ello la función erfc(x) de Matlab. Compare los resultados obtenidos en b) con los teóricos. Si considera que la diferencia es importante repita la simulación 10 veces para cada potencia de ruido y promedie las probabilidades de error obtenidas (o incremente la longitud de las secuencias binarias que utiliza).

8

NOTA: Recuerde que la potencia de ruido en discreto coincide con la potencia del ruido continuo que hemos muestreado. Por tanto, para calcular la potencia de ruido en tiempo discreto, se aplica la fórmula que nos da la potencia de ruido a la salida de un filtro paso bajo ideal: σ = WNo, 2

donde W es 4 KHz (ancho de banda de la simulación: la mitad de la frecuencia de muestreo). Se trata ahora de implementar un sistema de comunicaciones digitales real, en el cual un alumno actuará como transmisor y el otro como receptor. Para ello recuerde conectar la salida del alumno que transmite (cable TX) con la entrada del alumno que recibe (cable RX). e) Uno de los alumnos de la pareja utilizará el programa codlin_tx para generar distintas señales de comunicaciones digitales mientras que el otro alumno intentará recibirlas ejecutando codlin_rx. Utilice filtros raíz cuadrada de coseno alzado (roll_off=0.5), fs=44100 y 10 muestras por bit. Observe las distintas señales y diagramas de ojo (en la pantalla del transmisor, del receptor y en el osciloscopio). Reflexione sobre el problema denominado “baseline wander”: observe como se manifiesta en el receptor en la señal recibida, en la filtrada y en el diagrama de ojo (distorsión máxima del diagrama de ojo como muestra la figura 3). Medite cómo mitigar este fenómeno y conteste el cuestionario en consecuencia. PROBLEMAS ATENCION: Para realizar los problemas recuerde inicializar el entorno del laboratorio ejecutando iniciar con experimento # … (el primero) SAMPLING_FREQ = 8000 muestras/s BINARY_DATA_RATE = 800 bps SAMPLING_CONSTANT = 10 muestras/símbolo. 1. Genere dos secuencias b1 y b2 b1=[1 0 0 1], b2=[1 0 1 0]; y, a partir de las funciones utilizadas en esta práctica, genere y dibuje una señal que transmita ambas señales simultáneamente utilizando una transmisión banda base de cuatro niveles (-3,-1, 1 y 3). Repita la operación para conformación en coseno alzado con r=0.5 y compare el diagrama de ojo (tanto en pantalla como en el osciloscopio) para dos y cuatro niveles de la señal conformada (genere una señal de 1000 símbolos). Razone si la inmunidad a errores en el sincronismo se ve afectada por el incremento en el número de niveles. 2 En este problema se compararán las prestaciones de un receptor óptimo (el basado en el filtro adaptado) con las de un receptor cuyo filtro de entrada es un simple circuito RC.

Filtro Rx b

Transmisor Raiz Cuadrada Coseno alzado r=1

Adaptado

x

z_ad

Decisor

z_rc

Decisor

b_ad

t, v_th

y Filtro Rx n

RC 1er orden W=1 KHz

9

t, v_th

b_rc

a) Genere una señal x de 20000 bits a 800 bps conformada en raiz cuadrada de coseno alzado con roll_off=1 (utilize la función x=nyq_gen(b,roll_off,’sqrt’) ), súmele ruido 2 blanco gaussiano de media cero y potencia σ =1 wat. Para detectarla utilizará dos filtros distintos: el filtro adaptado y un filtro RC de 1er orden de 1 KHz de ancho de banda (utilize las funciones z_ad=nyq_match(y,roll_off,’sqrt’) y z_rc=rc(1000,y) ). b) Observe en la pantalla el diagrama de ojo y la DEP (use espect(señal,500) ) de la señal de comunicaciones sin ruido, x. Calcule con Matlab la energía de bit, Eb. c) Observe en la pantalla el diagrama de ojo y la DEP de la señal de comunicaciones con ruido, y . d) Observe en pantalla las señales filtradas sin ruido , su diagrama de ojo y la DEP. A partir de la gráfica de la señal (use waveplot(z) ) y del diagrama de ojo, determine el instante óptimo de muestreo t y el valor del umbral v_th para cada uno de los dos receptores (necesitará estos valores en los apartado e y g). e) Observe en pantalla el diagrama de ojo y la DEP de las señales filtradas con ruido, es decir, z_ad y z_rc. Detecte ambas señales utilizando la función detect. Obtenga la probabilidad de error en cada caso. f)

Repita los anteriores apartados para un filtro RC de 200 Hz de ancho de banda. Apunte el valor del instante óptimo de muestreo y umbral correspondiente a este filtro para utilizarlo en el apartado g.

g) Simule el comportamiento de los tres receptores (adaptado, RC 1KHz y RC 200 Hz) para potencias de ruido de 0.5, 1, 1.5, 2 y 5 vatios. No es necesario que presente ninguna gráfica de señales en este apartado. Presente en una gráfica la potencia de ruido en el eje horizontal y la BER de los tres receptores. Presente en pantalla otra gráfica con Eb/No (dB) en el eje horizontal y la BER de los tres receptores en escala logarítmica (use semilogy en lugar de plot). Dibuje en la misma gráfica la BER teórica.

10

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF