UNIVERSIDAD NACIONAL DE MISIONES Universidad Nacional de Misiones FACULTAD DE INGENIERÍA Carrera: Ingeniería en Computación Tema: Trabajo Integrador para la aprobación de materias Comunicación de Datos (IC323) y Señales y Sistemas (IC324) Estudiante: ● Becker, Ismael ● Ing. Moya, Sergio Eduardo ● Dr. Ing. Kolodziej, Javier Ernesto Docentes: Fecha de presentación: 13/12/23 2 Índice: Objetivo 3 Consigna y puntos a resolver 3 Desarrollo 4 1) Simular la tasa de error de un sistema de comunicación por OFDM con simetría hermitiana y canal de ganancia unitaria corrompido por AWGN para la constelación de datos solicitada. 4 Modulación 4 Envío por un canal de comunicación con ruido 6 Demodulación 6 Simulación 7 2) Investigar y explicar a qué valor de error máximo (en el BER) converge el sistema para SNR bajas y si este valor cambia en función al tipo de constelación de datos utilizada en la modulación. 9 Simulación: 9 3) Graficar el espectro de la señal presente en el canal, previo a la adición de ruido. Debe respetar la frecuencia de muestreo del sistema e indicar en el gráfico el ancho de banda utilizado en la transmisión. 10 4) Investigue qué es el PAPR (Peak-to-Average Power Ratio) y calcule cuánto vale para el sistema simulado. 11 5) Investigar y explicar el motivo de uso de un prefijo cíclico en el enlace ¿La tasa de error de ambos esquemas cambia cuando se modifica el prefijo cíclico? Trabajo Integrador para la aprobación de materias Comunicación de Datos (IC323) y Señales y Sistemas (IC324) - Becker Ismael 11 3 Objetivo Simular y fundamentar el funcionamiento conceptual de un sistema de comunicación OFDM con canal ideal corrompido por ruido blanco con distribución gaussiana (AWGN). Las especificaciones del modulador son las siguientes: ● Bloque FFT: 1024 ● Número de portadoras activas: 165 ● Primera portadora activa: 30 ● Prefijo cíclico: 20 símbolos. ● Frecuencia de muestreo del sistema: 15 MHz. El objetivo principal es evaluar el desempeño del sistema mediante la tasa de error (BER) para un tipo de codificación de datos equivalente a BPSK y cuya constelación se muestra a continuación: Consigna y puntos a resolver Debe responder al máximo de detalle posible cada una de las siguientes preguntas, siendo particularmente claro en sus respuestas y agregando gráficas en aquellos casos que sea necesario. 1) Simular la tasa de error de un sistema de comunicación por OFDM con simetría hermitiana y canal de ganancia unitaria corrompido por AWGN para la constelación de datos solicitada. 2) Investigar y explicar a qué valor de error máximo (en el BER) converge el sistema para SNR bajas y si este valor cambia en función al tipo de constelación de datos utilizada en la modulación. 3) Graficar el espectro de la señal presente en el canal, previo a la adición de ruido. Debe respetar la frecuencia de muestreo del sistema e indicar en el gráfico el ancho de banda utilizado en la transmisión. 4) Investigue qué es el PAPR (Peak-to-Average Power Ratio) y calcule cuánto vale para el sistema simulado. 5) Investigar y explicar el motivo de uso de un prefijo cíclico en el enlace ¿La tasa de error de ambos esquemas cambia cuando se modifica el prefijo cíclico? 6) Investigue qué es y cómo se calcula la tasa de bits y cómo se relaciona con la velocidad de transmisión para sistemas BPSK y 4-PSK. En el caso de las especificaciones del sistema, ¿Cuánto vale la tasa de bits y velocidad de información? Trabajo Integrador para la aprobación de materias Comunicación de Datos (IC323) y Señales y Sistemas (IC324) - Becker Ismael 4 Desarrollo 1) Simular la tasa de error de un sistema de comunicación por OFDM con simetría hermitiana y canal de ganancia unitaria corrompido por AWGN para la constelación de datos solicitada. La simulación se ha realizado en Python. A continuación, se desarrolla una detallada explicación del funcionamiento en lo respectivo a esta consigna. En primer lugar, se declararon todas las constantes iniciales para la simulación. Posteriormente se crea una Matriz de dimensiones FFTSize x FFTSize*k que contiene FFTSize*k filas de bloques de longitud FFTSize. Cada elemento de los bloques son 1, 0 o -1 dispuestos de forma tal que se cumpla con la simetría hermitiana: Modulación Una vez creada esta matriz, se aplicó la IFFT a todos los bloques, obteniendo una nueva matriz con las mismas dimensiones, pero donde los elementos son resultado de la aplicación de la IFFT, y como en este caso la matriz de entrada tiene simetría hermitiana en cada fila, los elementos en la nueva matriz son números reales. A esta nueva matriz se le modifican sus filas (bloques), con el fin de lograr la aplicación del prefijo cíclico. En primer lugar se concatenan los últimos Pc elementos de cada bloque a su inicio, y los primeros ws bloques a su final. Trabajo Integrador para la aprobación de materias Comunicación de Datos (IC323) y Señales y Sistemas (IC324) - Becker Ismael 5 Después, se crea una segunda matriz de iguales dimensiones, que tiene en cada bloque como primeros ws elementos a los primeros ws elementos de la ventana de hann, en forma ascendente desde 0 hasta llegar a 1; los últimos ws elementos de cada bloque son los últimos ws elementos de la ventana de hann, de forma descendente desde 1 hasta llegar a 0. Entonces se realiza la multiplicación entre los bloques de estas 2 matrices de iguales dimensiones, obteniendo así una copia de la primera matriz en multiplicación, con sus extremos atenuados por la ventana, pero con los bloques centrales de dimensión FFTsize intactos. Una vez realizada esta multiplicación, se realiza la segmentación de todas las filas de esta matriz resultante, y se disponen los bloques en serie sobre un único vector de longitud (Pc + FFTsize + ws) * FFTsize * k. Este vector es inicializado con ceros, y los bloques son dispuestos de forma tal que su primeros Pc elementos se suman con los últimos ws elementos del bloque anterior, es decir, existe un solapamiento y una suma entre los elementos de los bloques al disponerse sobre el nuevo vector. Este solapamiento reduce las dimensiones de cada bloque, dado que los últimos ws elementos de cada bloque se terminan sumando con los primeros ws elementos del Pc del bloque siguiente, y como ws es menor que Pc, los elementos del ws del bloque anterior permanecen solapados sobre el Pc del bloque siguiente. Las dimensiones de los bloques pasan de ser Pc + FFTsize + ws a simplemente Pc +FFTsize. Este comportamiento se repite hasta llegar al último bloque, que como no existe un bloque siguiente que superponga sus últimos ws elementos, es el único bloque que permanecerá con dimensión Pc + FFTsize + ws, pero que forzosamente más adelante perderá su últimos ws elementos, y de esta forma poseerá la misma nueva dimensión que los demás. Trabajo Integrador para la aprobación de materias Comunicación de Datos (IC323) y Señales y Sistemas (IC324) - Becker Ismael 6 Envío por un canal de comunicación con ruido Este vector contiene la señal a enviar por el canal de comunicación. Durante esta transferencia se contempla la suma del ruido, que modifica los valores originales de los elementos sobre la señal en serie Demodulación Se recibe la señal en serie, a la que se adicionó el ruido. Producto de la reducción en la longitud de los FFTsize*k bloques, se pudo observar que desde la posición (Pc + FFTsize + ws) * (FFTsize * k - 1) + (Pc + FFTsize + ws) en adelante, todos los elementos del vector de bloques en serie, eran originalmente ceros, antes de la adición del ruido. Como se redujo la longitud de cada bloque, se recorta la señal a un tamaño para que pueda paralizarse en bloques de longitud Pc + FFTSize. Este recorte sobre la señal da como resultado lo siguiente: Entonces ahora se procede a la paralelización de la señal recibida, en FFTsize*k bloques de longitud Pc FFTsize: Y se recorta el Prefijo Cíclico, obteniendo FFTsize*k bloques de longitud FFTsize: En este punto, se realiza el paso al dominio de la frecuencia de todos los bloques, obteniendo entonces una matriz de bloques, que dependiendo de cuánto haya sido la potencia del ruido aplicado sobre la señal cuando fue transferida en el canal, se parecerá más o menos a la matriz de bloques IFFT inicial: Trabajo Integrador para la aprobación de materias Comunicación de Datos (IC323) y Señales y Sistemas (IC324) - Becker Ismael 7 Entonces, se procede a almacenar los elementos ubicados únicamente sobre las portadoras activas, en las matrices de bloques IFFT enviados y recibidos: La segmentación se realiza en ambas matrices, y en cada caso se obtendrán matrices de estas dimensiones. Se comparan los signos de las filas (bloques) de ambas matrices, elemento por elemento, y se cuentan la cantidad de coincidencias. Finalmente, el BER (Bit Error Rate), es calculado en función de la cantidad de coincidencias determinada, y la cantidad de elementos en cuestión (FFTsize*k*Nc). Simulación Al ejecutar el código de Python, con las constantes iniciales indicadas, podemos obtener la siguiente simulación: ● Para SNR = 110 dB: se tiene una relación en dB que indica que la potencia de la señal es mucho mayor que la del ruido, por lo que la diferencia entre los bloques enviados y recibidos es prácticamente nula. En la imagen a continuación se puede ver como ejemplo la comparación entre el primer bloque enviado y el primer bloque recibido. Tenga en cuenta que como estos existen 1023 (FFTsize*k-1)pares de bloques más que se generaron durante la ejecución del código, y que han sido tenidos en cuenta para el cálculo del BER. El BER total calculado para este caso, con SNR = 110 dB ha sido: Esto indica que no existen diferencias entre todos los elementos de los 1024 bloques enviados y recibidos. El cálculo del BER en el código tiene en cuenta todos los bloques en cuestión, pero en la gráfica solo se están Trabajo Integrador para la aprobación de materias Comunicación de Datos (IC323) y Señales y Sistemas (IC324) - Becker Ismael 8 visualizando la emisión y la recepción del primer bloque. ● Para SNR = 30 dB: Se redujo el valor de la SNR, esto trae como consecuencia una mayor potencia del ruido por lo que los bloques enviados y los recibidos comienzan a diferir. Aun así, dado que el cálculo del BER solo toma las portadoras activas y el signo de los elementos, el BER no es demasiado alto, siendo: ● Para SNR = -10 dB: Se redujo aún más el valor de la SNR, por lo que la potencia del ruido se incrementa. Podemos observar que existe una diferencia de gran medida entre el primer bloque enviado y el primer bloque recibido: En este caso, el BER determinado resulta significativamente alto. La diferencia entre el primer bloque enviado y el primer bloque recibido es máxima: Trabajo Integrador para la aprobación de materias Comunicación de Datos (IC323) y Señales y Sistemas (IC324) - Becker Ismael 9 2) Investigar y explicar a qué valor de error máximo (en el BER) converge el sistema para SNR bajas y si este valor cambia en función al tipo de constelación de datos utilizada en la modulación. Para este punto en la simulación se realizó un proceso de variación de la SNR entre -25 dB y 50 dB, teniendo en cuenta la misma señal de bloques en serie. Se procedió a demodular esta señal de la forma descrita anteriormente, pero considerando la SNR en cuestión. Finalmente se hizo el contraste de los bloques demodulados con los bloques enviados (los bloques enviados son los mismos para todas las comparaciones, solamente van cambiando los bloques demodulados), se calcula el BER y se registra para qué valor de SNR corresponde. La ejecución total de este proceso es tardía, puesto que como se varía la SNR entre -25 dB y 50 dB, la computadora 76 veces debe: demodular la señal, y comparar los elementos de 2 matrices de 165x1024, determinar el BER, y registrar este valor para finalmente generar un gráfico que represente la evolución del BER respecto de la SNR. Simulación: Al ejecutar el código con las constantes iniciales de la consigna, y luego de esperar a que se concluya el proceso el gráfico obtenido es el siguiente: Se puede apreciar la tendencia del BER hacia 0,5 mientras más negativa es la SNR. Tiene sentido que ese sea el máximo de la curva, puesto que al estar analizando vectores con elementos que pueden alternar entre 2 valores, por máxima que sea la distorsión de la señal, y por ende, mayor sea la diferencia entre los bloques recibidos y enviados, la probabilidad de existencia de elementos en común, será del 50%. Trabajo Integrador para la aprobación de materias Comunicación de Datos (IC323) y Señales y Sistemas (IC324) - Becker Ismael 10 Este valor varía en función del tipo de constelación de datos a enviar. En el gráfico siguiente podemos observar una comparación entre curvas de BER para distintos tipos de constelaciones: Podemos concluir que constelaciones más densas son más sensibles al ruido, dado que si comparamos los gráficos para un mismo valor de SNR, podemos ver que mientras mayor sea la densidad de la constelación, mayor es el valor del BER, y que, en consecuencia, mayor será el valor al que finalmente tienda la curva. 3) Graficar el espectro de la señal presente en el canal, previo a la adición de ruido. Debe respetar la frecuencia de muestreo del sistema e indicar en el gráfico el ancho de banda utilizado en la transmisión. Trabajo Integrador para la aprobación de materias Comunicación de Datos (IC323) y Señales y Sistemas (IC324) - Becker Ismael 11 Se grafica el espectro de la señal presente en el canal, previo a la adición del ruido, teniendo en cuenta la frecuencia de muestreo Fs, y es por esta razón, que el espectro simétrico respecto del eje vertical, es representado hasta Fs/2, que en este caso es igual a 7.5 MHz. El Ancho de Banda se calcula como: 4) Investigue qué es el PAPR (Peak-to-Average Power Ratio) y calcule cuánto vale para el sistema simulado. El PAPR, que se traduce como "Relación de Potencia Pico a Promedio", se usa para cuantificar la variación de la potencia de la señal transmitida. Representa la relación entre la potencia máxima instantánea de la señal y su valor promedio. Un PAPR alto indica una mayor variabilidad en la amplitud de la señal, lo que implica picos de potencia más altos en comparación con la potencia promedio. Esto trae consigo efectos negativos, como por ejemplo el hecho de que la capacidad del canal puede estar limitada por una potencia máxima de transmisión, y picos de potencia elevados pueden exceder los límites de potencia permitidos, resultando en una mayor probabilidad de interferencia y afectando la calidad de la comunicación. Otro ejemplo de consecuencia negativa sería el consumo energético en dispositivos alimentados por batería, dado que señales con picos elevados pueden agotar rápidamente la energía de la batería debido a la necesidad de proporcionar suficiente potencia para los momentos de pico. Para su cálculo en el código se utilizó la fórmula: Al ejecutar la simulación, con las constantes iniciales indicadas, obtenemos un valor del PAPR de: 5) Investigar y explicar el motivo de uso de un prefijo cíclico en el enlace ¿La tasa de error de ambos esquemas cambia cuando se modifica el prefijo cíclico? El prefijo cíclico es una técnica utilizada para mitigar los efectos de la interferencia intersímbolo (ISI), un fenómeno que ocurre cuando los símbolos transmitidos se superponen en el dominio del tiempo y afectan negativamente a la demodulación y recuperación de la información en el receptor. Este prefijo consiste en copiar una porción del final de la secuencia de símbolos y pegarla al principio antes de transmitir la señal. El propósito principal del prefijo cíclico es reducir la interferencia causada por los caminos de propagación múltiple en los canales inalámbricos, y facilitar la detección de los símbolos en el receptor. Cuando se utilizan prefijos cíclicos, se introducen beneficios en términos de detección y corrección de errores. Estos prefijos permiten a los receptores identificar y corregir errores que puedan ocurrir durante la Trabajo Integrador para la aprobación de materias Comunicación de Datos (IC323) y Señales y Sistemas (IC324) - Becker Ismael 12 transmisión de datos. Además, facilitan la sincronización, lo que significa que los dispositivos de recepción pueden alinearse adecuadamente con la información transmitida. En cuanto a la tasa de error, la presencia del prefijo cíclico puede afectarla. En teoría, la adición de un prefijo cíclico mejora la capacidad de detección y corrección de errores, lo que debería resultar en una menor tasa de errores. Si se modifica el prefijo cíclico, se experimentan cambios en la tasa de error. Un prefijo cíclico más largo puede ofrecer una mejor capacidad de corrección de errores, pero también puede introducir una mayor sobrecarga en términos de ancho de banda. Por otro lado, un prefijo cíclico más corto puede reducir la sobrecarga, pero podría ser menos efectivo en términos de corrección de errores. 6) Investigue qué es y cómo se calcula la tasa de bits y cómo se relaciona con la velocidad de transmisión para sistemas BPSK y 4-PSK. En el caso de las especificaciones del sistema, ¿Cuánto vale la tasa de bits y velocidad de información? La tasa de bits (bit rate) es la cantidad de bits transmitidos por unidad de tiempo y se mide en bits por segundo (bps). La velocidad de transmisión (baud rate) es la cantidad de símbolos transmitidos por unidad de tiempo y se mide en baudios. En el caso de BPSK , como cada símbolo es representado con un único bit (1 o 0) la tasa de bits es igual a la velocidad de transmisión. Pero en otros esquemas como 4-PSK, como cada símbolo se constituye por 2 bits, la tasa de bits es 2 veces la velocidad de símbolos. Se concluye que la tasa de bits es igual a la velocidad de símbolos, multiplicada por la cantidad de bits por símbolo. Se tiene que: Trabajo Integrador para la aprobación de materias Comunicación de Datos (IC323) y Señales y Sistemas (IC324) - Becker Ismael