UNIVERSIDAD DE CUNDINAMARCA
Ingeniería Electronica
Fusagazuga
Curso I-2011
PRACTICA 2
28/10/2010
METODOLOGÍA
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.
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.
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
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:
b=[1 0 0 1 0 1 1 0];
x=wave_gen (b, 'polar_nrz');
subplot(211), waveplot(x);
subplot(212), eye_diag(x);
y=channel(x,1,0,3900);
subplot(211),waveplot(y)
subplot(212),eye_diag(y,-1)
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.
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.
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
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.
r=wave_gen(1, 'polar_nrz');
subplot(311), waveplot(r)
subplot(312), match('polar_nrz');
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.
r=wave_gen(1, 'triangle');
subplot(311), waveplot(r)
subplot(312), match('triangle');
rm=match('triangle', r);
subplot(313), waveplot(rm);
5. DETECCION DE SEÑALES
b= binary(10);
x=wave_gen(b,'polar_nrz');
subplot(311), waveplot(x)
y=x+sqrt(2)*randn(length(x),1);
subplot(312), waveplot(y);
z=match('polar_nrz',y);
subplot(313),waveplot(z);
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' );
y=x+sqrt(0.5)*randn(length(x),1);
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...
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.
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
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.
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) ).
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.