17
LABORATORIO DE SISTEMAS Y SEÑALES UNIVERSIDAD DE CUNDINAMARCA Ingeniería Electronica Fusagazuga Curso I-2011 PRACTICA 2 28/10/2010 METODOLOGÍA La realización de la prácticas es individual, aunque la evaluación se hará por parejas y se llevará a cabo en función de la entrega resuelta de la hoja de respuestas (una por pareja) y de un programa ejecutable que resuelve el epígrafe "PROBLEMA" (X:\practica2\problema1.m y X:\practica2\problema2.m), que muestre de forma clara y ordenada las respuestas exigidas y que se dejará en la propia cuenta de cada alumno (las parejas dejarán el mismo programa en ambas cuentas). 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 esta práctica 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 y señales de comunicaciones. 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. 1. SIMULACION DE CANALES. En los primeros apartados de la práctica anterior se debe simular digitalmente señales en tiempo continuo. En esta ocasión haremos lo propio con los sistemas continuos que aparecen en la Figura 1: el filtro transmisor, el canal y el filtro receptor. Prof. Jailer Edintongh Jimenez.Ing 1

practica2jailer (2)solucio awgn

Embed Size (px)

Citation preview

Page 1: practica2jailer (2)solucio awgn

LABORATORIO DE SISTEMAS Y SEÑALES

UNIVERSIDAD DE CUNDINAMARCAIngeniería ElectronicaFusagazugaCurso I-2011

PRACTICA 228/10/2010

METODOLOGÍA

La realización de la prácticas es individual, aunque la evaluación se hará por parejas y se llevará a cabo en función de la entrega resuelta de la hoja de respuestas (una por pareja) y de un programa ejecutable que resuelve el epígrafe "PROBLEMA" (X:\practica2\problema1.m y X:\practica2\problema2.m), que muestre de forma clara y ordenada las respuestas exigidas y que se dejará en la propia cuenta de cada alumno (las parejas dejarán el mismo programa en ambas cuentas). 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.

OBJETIVOSEl objetivo de esta práctica 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 y señales de comunicaciones. 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.

1. SIMULACION DE CANALES.

En los primeros apartados de la práctica anterior se debe simular digitalmente señales en tiempo continuo. En esta ocasión haremos lo propio con los sistemas continuos que aparecen en la Figura 1: el filtro transmisor, el canal y el filtro receptor.

Figura 1. Etapas analógicas de un sistema de comunicaciones digitales en banda de 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 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.

Prof. Jailer Edintongh Jimenez.Ing 1

Page 2: practica2jailer (2)solucio awgn

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, p.e. en el laboratorio con Matlab). 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.

ATENCION

>>=================================================>> 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.

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

Prof. Jailer Edintongh Jimenez.Ing 2

Page 3: practica2jailer (2)solucio awgn

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.B: Margen de ruidoC: Distorsión de los cruces por ceroD: Pendiente: Sensibilidad a errores en el instante de muestreoE: Distorsión máximat*: 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.

Prof. Jailer Edintongh Jimenez.Ing 3

Page 4: practica2jailer (2)solucio awgn

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.

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)

Prof. Jailer Edintongh Jimenez.Ing 4

Page 5: practica2jailer (2)solucio awgn

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.

Figura 4. Sistema de comunicaciones banda base.

Prof. Jailer Edintongh Jimenez.Ing 5

Page 6: practica2jailer (2)solucio awgn

ATENCIONPara que el entorno de simulación funcione adecuadamente es necesario inicializar

una serie de variables globales que el estudiante debe investigar.

>>=================================================>> 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:

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.

Prof. Jailer Edintongh Jimenez.Ing 6

Page 7: practica2jailer (2)solucio awgn

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?

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.

Prof. Jailer Edintongh Jimenez.Ing 7

Page 8: practica2jailer (2)solucio awgn

Vamos, pues, a implementar el receptor completo y a calcular la probabilidad de error que obtenemos, tanto de forma teórica como por simulación. Recuerde ejecutar la opción (Rb=1000 bits/s, fs=8000 muestras/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 (es preferible observarlo sin ruido), 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 proporcione, para un valor x de entrada, el valor de Q(x). Utilice como punto de partida la función erfc(x) de Matlab. Compare los resultados obtenidos en b) con los teóricos. Si observa que la variabilidad de los resultados 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).

NOTA:

Recuerde que la potencia de ruido en discreto coincide con la potencia del ruido continuo a la salida de un filtro paso bajo ideal cuyo ancho de banda es igual a la mitad de la frecuencia de muestreo que hemos utilizado, es decir,

2 = WNo,

donde W=fs/2 es, en este caso, 4 KHz.

Prof. Jailer Edintongh Jimenez.Ing 8

Page 9: practica2jailer (2)solucio awgn

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 cómo 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 : ejecutando iniciar con experimento 1.

SAMPLING_FREQ = 8000 muestras/sBINARY_DATA_RATE = 800 bpsSAMPLING_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.

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 blanco gaussiano de media cero y potencia 2=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

Prof. Jailer Edintongh Jimenez.Ing 9

TransmisorRaiz CuadradaCoseno alzado

r=1

b x

n

Filtro RxAdaptado b_adz_ad

Filtro RxRC 1er orden

W=1 KHz

z_rc

Decisort, v_th

b_rcDecisort, v_th

y

Page 10: practica2jailer (2)solucio awgn

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.

Prof. Jailer Edintongh Jimenez.Ing 10