Anda di halaman 1dari 10

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.

Señal de
línea
Filtro
Figura 1. Etapas analógicas de un sistema de comunicaciones digitales en banda de base

Uno transmisor
CANAL
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


Sistema continuo
x(t)
h(t), H(f)

Figura 2. Simulación digital de un sistema continuo.

Sistema discreto
x(t) A/D
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
h[n], H(ω)
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


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

Prof. Jailer Edintongh Jimenez.Ing 3


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


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.

bits
Prof. Jailer Edintongh Jimenez.Ing 5 Map
ATENCION
Para 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


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


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


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/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 Decisor
Adaptado z_ad t, v_th
b_ad
Transmisor
b Raiz Cuadrada x y
Coseno alzado
Filtro Rx b_rc
r=1
RC 1er orden
z_rc Decisor
n t, v_th
W=1 KHz

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.

Prof. Jailer Edintongh Jimenez.Ing 9


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.

Prof. Jailer Edintongh Jimenez.Ing 1

Anda mungkin juga menyukai