Receptores para Transmisión Digital en Banda Base PRÁCTICA 9 (1 sesión) Curso 2009/10 Laboratorio de Señales y Comunicaciones Tercer curso, Ingeniería de Telecomunicación
Tabla de Contenidos 1. Objetivos... 2 2. Cuestionario previo... 3 3. Transmisión y recepción en banda base... 4 3.1. Receptor óptimo: Filtro adaptado... 4 3.2. Receptor óptimo: Detector... 5 1. Objetivos Simular el receptor óptimo para los distintos códigos de línea utilizados para la transmisión en banda base en la práctica anterior (NRZ, RZ y Manchester). En concreto, en esta práctica se estudian los receptores óptimos para las modulaciones NRZ polar y unipolar, RZ polar y unipolar, y Manchester, revisándose los siguientes aspectos: 1. El filtro adaptado a la forma de onda de la señal transmitida como mecanismo para maximizar la SNR a la entrada del detector. 2. El instante de muestreo óptimo y el detector de umbral. 3. Las dos causas principales de degradación de la señal en el canal: el ruido aditivo blanco Gaussiano (AWGN) y la interferencia entre símbolos (ISI). 4. El concepto de relación E b /N 0, su cálculo y su relación con la probabilidad de error. 2
2. Cuestionario previo 2.1. Encuentre la expresión analítica para el filtro adaptado a cada uno de los códigos de línea siguientes suponiendo que se usan pulsos rectangulares. a) NRZ unipolar. b) NRZ polar. c) RZ unipolar. d) RZ polar. e) Manchester. Dibuje la forma de cada uno de los filtros adaptados, e indique el instante óptimo de muestreo tras el mismo y el valor de salida en dicho instante en ausencia de ruido. Indique también la energía media por bit (E b ) y dibuje la constelación para cada código de línea. 2.2. Desarrolle sobre el papel las funciones : a) matched, que devuelve el filtro adaptado para cada uno de los códigos de línea de la cuestión 2.1 (vea el ejercicio 3.1). Normalice el filtro adaptado para que tenga energía unidad. b) y detect, que implementa el detector de umbral óptimo (vea el ejercicio 3.6). Nota: Si lo necesita, la tasa binaria R b y la frecuencia de muestreo las puede recuperar de las variables globales BINARY_DATA_RATE y SAMPLING_FREQ. 2.3. Deduzca las fórmulas para la probabilidad de error de cada uno de los códigos de línea de la cuestión 2.1 (puede hacerlo a partir de sus constelaciones, viendo la distancia entre símbolos para cada uno de ellos, y aplicando el límite de la unión), y rellene la tabla de probabilidad de error frente a relación E b /N 0 que se muestra en la tabla del ejercicio 3.7. 2.4. Se desea simular un sistema de transmisión en banda base con tasa R b bits/segundo utilizando pulsos rectangulares con M muestras/bit. Suponiendo que el canal de comunicaciones tiene un ancho de banda de B Hz e introduce una potencia de ruido de 2 W, calcule la relación E b /N 0 cuando se utilizan los tres siguientes códigos de línea: RZ Unipolar, NRZ Unipolar y Manchester. Nota: la relación entre 2 y N 0 la puede encontrar en la sección 2.6 de la revisión de teoría. 3
3. Transmisión y recepción en banda base Al igual que en la práctica anterior, en esta práctica es necesario inicializar una serie de variables globales mediante la ejecución del programa start antes de la ejecución del resto de los programas de la práctica. Las principales variables inicializadas se recuerdan a continuación: 1. La tasa binaria R b, BINARY_DATA_RATE = 1000. 2. El factor de muestreo, SAMPLING_CONSTANT = 100. 3. La frecuencia de muestreo: SAMPLING_FREQ = BINARY_DATA_RATE SAMPLING_CONSTANT. 3.1. Receptor óptimo: Filtro adaptado El receptor óptimo para cualquier sistema de comunicaciones digitales está compuesto por dos elementos: un filtro adaptado y un detector. El filtro adaptado se encarga de maximizar la relación señal a ruido a su salida, de modo que el detector posterior disponga del mayor margen posible frente al ruido, y en consecuencia presente la menor probabilidad de error. En esta sección se analizan la construcción y el rendimiento del filtro adaptado para los diferentes códigos de línea. Ejercicio 3.1. Codifique la función h = matched( tipo_de_codigo ), que devuelve un vector con la respuesta impulsiva, muestreada a una tasa SAMPLING_CONSTANT veces superior al régimen de símbolos, del filtro adaptado a la forma de onda definida por el parámetro tipo_de_codigo, que puede tomar los siguientes valores: polar_nrz, unipolar_nrz, unipolar_rz, polar_rz y manchester. Utilizando la función waveplot(x) dibuje la respuesta impulsiva del filtro adaptado para cada código de línea y compruebe que coincide con lo esperado. Nota: h debe tener energía unidad. Ejercicio 3.2. Utilizando la sentencia x = wave_gen(b, polar_nrz,1000) genere un vector x que contenga 10 bits aleatorios de un código de línea NRZ polar con régimen de símbolos R b = 1000 bits/s. Utilizando la función y_match = filtro_adapt(h,x) calcule la salida del filtro adaptado para esta señal de entrada. Mediante el uso de los comandos subplot y waveplot visualice el código NRZ polar generado y la salida del filtro adaptado. A la vista del resultado, cuánto vale la amplitud máxima de la señal a la salida del filtro adaptado? Puede deducir cuál es su dependencia con R b? Si después del filtro adaptado se toma únicamente una muestra por símbolo, cuál es el instante óptimo de muestreo? 4
Ejercicio 3.3. Repita el ejercicio anterior para el resto de codificaciones: NRZ unipolar, RZ polar y unipolar, y Manchester. Varían la amplitud máxima de la señal de salida y el instante óptimo de muestreo con respecto al ejercicio anterior? Ejercicio 3.4. Utilizando la función y = channel(entrada, ganancia, pot_ruido, ancho_banda), ya vista anteriormente, simule la salida de un canal con ganancia en continua unidad, ancho de banda 4.9KHz y 2 W de potencia de ruido, cuando la entrada es la señal x correspondiente a 10 bits de un código NRZ polar. Visualice la señal de salida del canal, puede distinguir qué símbolos se transmitieron? Utilice la sentencia y_match = filtro_adapt(y,h) para calcular la salida del filtro adaptado cuando la entrada es la señal degradada por el canal. Visualice la señal de salida del filtro adaptado, puede deducir ahora qué símbolos se han transmitido? Vaya aumentando la potencia de ruido en pasos de 0.2 W hasta que no sea capaz de estimar los bits transmitidos a partir de la salida del filtro adaptado. Compare este resultado con los obtenidos en la práctica anterior. Qué conclusiones obtiene? 3.2. Receptor óptimo: Detector La segunda parte del receptor óptimo consiste en un detector de umbral. Básicamente el detector funciona quedándose con una única muestra por símbolo a la salida del filtro adaptado en aquel punto en que la SNR es máxima, y aplicando posteriormente un umbral a dichas muestras. En el caso binario, si la muestra supera el umbral se decide que el bit transmitido ha sido un 1, y en caso contrario se decide que ha sido un 0. En el caso M-ario existirán múltiples umbrales (M-1) que permitirán determinar cuál de los M símbolos posibles es el que se ha enviado con mayor probabilidad (y el que se decide en consecuencia). En este apartado se explora la construcción de un detector óptimo para el caso binario. Ejercicio 3.5. La función ym = muestras(y_match, instant_mues) devuelve un vector con una muestra por símbolo de la señal y_match (que es la salida del filtro adaptado), simulando la salida del muestreador. El instante en el que se toma la primera muestra (sincronismo de símbolo) está definido por el parámetro instant_mues, medido en segundos (asuma inicialmente que su valor es T b = 1/R b ). Genere 10 bits aleatorios y utilice la función muestras para visualizar la salida del muestreador para los siguientes códigos: NRZ unipolar, RZ polar y Manchester. Compárelo con la representación de los bits transmitidos para asegurarse de que la salida es correcta. Verifique con el diagrama de ojos, eye_diag(y_match), que el instante de muestreo es el adecuado. Ejercicio 3.6. Escriba la función xd = detect(ym, umbral), que devuelve una secuencia de bits correspondientes a la detección de la salida del muestreador. El algoritmo que debe codificar es: 5
1, xd ( n) 0, si si ym( n) umbral; ym( n) umbral. Utilice la función anterior para detectar 10 bits aleatorios codificados con un código NRZ polar, un código NRZ unipolar y un código Manchester. Compare la salida de esta función con los valores reales de los bits y compruebe que no existe ningún error. Repita el ejercicio si la señal modulada se pasa por un canal con 4.9 KHz de ancho de banda, ganancia unidad en continua y potencia de ruido 2 W. Sería fácil detectar la señal transmitida en este caso sin la ayuda del filtro adaptado?. Identifique el instante de muestreo óptimo con eye_diag. Ejercicio 3.7. Una de las principales causas de distorsión en el canal es el ruido. Genere 10 5 bits de manera aleatoria, modúlelos usando diferentes códigos de línea (NRZ polar, NRZ unipolar y Manchester), páselos a través de un canal con ganancia 1, ancho de banda 4.9 KHz y potencia de ruido necesaria para tener una relación E b /N o entre 0 y 10 db (con paso 2 db). Introduzca la salida del canal al receptor (filtro adaptado muestreador detector) y calcule la probabilidad de error para cada uno de los tres códigos de línea. Rellene la Tabla 3.1 y compruebe si los resultados obtenidos coinciden con las expresiones teóricas. A qué cree que se deben las diferencias existentes? E b /N o NRZ Polar NRZ Unipolar Manchester 0 2 4 6 8 10 Tabla 3.1: Probabilidad de error (simulada) para los diferentes códigos de línea en función de la E b /N o. Ejercicio 3.8. La segunda causa más importante de distorsión en canales paso bajo es la ISI. En este ejercicio se le pide que repita la simulación del ejercicio 3.7 manteniendo una potencia de ruido fija (la necesaria para conseguir una E b /N o de 10 db) y variando el ancho de banda del canal de comunicaciones, y que rellene la Tabla 3.2 de la página siguiente. 6
B (Hz) NRZ Polar NRZ Unipolar Manchester 500 1000 2000 4000 Tabla 3.2: Probabilidad de error (simulada) para los diferentes códigos de línea en función del ancho de banda del canal. Nota: Tenga en cuenta que el instante óptimo de muestreo va a variar en función del ancho de banda del canal. Puede estimar el instante de muestreo óptimo en cada caso generando unos pocos bits aleatorios (1000 por ejemplo), pasándolos a través del canal y el filtro adaptado, y viendo el diagrama de ojo a la salida del mismo. 7