Temario del curso
Resultados de este curso
Al finalizar este curso, el estudiante deberá ser capaz de abordar muchos de los problemas de investigación abiertos actualmente en el campo de la ingeniería de comunicaciones, ya que habrá adquirido al menos las siguientes habilidades:
- Mapear y manipular expresiones matemáticas complejas que aparecen con frecuencia en la literatura de ingeniería de comunicaciones
- Capacidad para utilizar las funciones de programación de MATLAB para reproducir los resultados de simulación de otros documentos o, al menos, acercarse a dichos resultados
- Crear modelos de simulación para ideas propuestas por el propio estudiante
- Aplicar eficientemente las habilidades de simulación adquiridas junto con las capacidades de MATLAB para diseñar códigos optimizados en términos de tiempo de ejecución, optimizando el uso del espacio de memoria
- Identificar los parámetros clave de simulación de un sistema de comunicaciones dado, extraerlos del modelo del sistema y estudiar el impacto de estos parámetros en el rendimiento del sistema considerado
Estructura del curso
El material proporcionado en este curso está altamente correlacionado. No se recomienda que un estudiante asista a un nivel sin haber asistido y comprendido a profundidad su nivel anterior, a fin de garantizar la continuidad del conocimiento adquirido. El curso está estructurado en tres niveles, desde la introducción a la programación en MATLAB hasta la simulación de sistemas completos, de la siguiente manera:
Matemáticas de comunicaciones con MATLAB
Sesiones 01-06
Al finalizar esta parte, el estudiante podrá evaluar expresiones matemáticas complejas y construir fácilmente los gráficos adecuados para diferentes representaciones de datos, como gráficos en dominio de tiempo y frecuencia; gráficos de BER, patrones de radiación de antenas, etc.
Conceptos fundamentales
- El concepto de simulación
- La importancia de la simulación en la ingeniería de comunicaciones
- MATLAB como entorno de simulación
- Sobre la representación de matrices y vectores de señales escalares en matemáticas de comunicaciones
- Representación de matrices y vectores de señales de banda base compleja en MATLAB
Escritorio de MATLAB
- Barra de herramientas
- Ventana de comandos
- Área de trabajo
- Historial de comandos
Declaración de variables, vectores y matrices
- Constantes predefinidas de MATLAB
- Variables definidas por el usuario
- Arreglos, vectores y matrices
- Ingreso manual de matrices
- Definición de intervalos
- Espacio lineal
- Espacio logarítmico
- Reglas de nomenclatura de variables
Matrices especiales
- La matriz de unos
- La matriz de ceros
- La matriz identidad
Manipulación elemento a elemento y por matriz
- Acceso a elementos específicos
- Modificación de elementos
- Eliminación selectiva de elementos (Truncamiento de matriz)
- Adición de elementos, vectores o matrices (Concatenación de matrices)
- Búsqueda del índice de un elemento dentro de un vector o una matriz
- Reconfiguración de matrices (Reshaping)
- Truncamiento de matrices
- Concatenación de matrices
- Volteo de izquierda a derecha y de derecha a izquierda
Operadores unarios de matrices
- El operador Suma
- El operador de esperanza (expectación)
- Operador Mínimo
- Operador Máximo
- El operador traza
- Deteminante de matriz |.|
- Inversa de matriz
- Traspuesta de matriz
- Hermitiana de matriz
Operaciones binarias de matrices
- Operaciones aritméticas
- Operaciones relacionales
- Operaciones lógicas
Números complejos en MATLAB
- Representación de banda base compleja de señales de banda pasante y conversión a RF, repaso matemático
- Formación de variables, vectores y matrices complejos
- Exponenciales complejas
- El operador de parte real
- El operador de parte imaginaria
- El operador conjugado (.)*
- El operador absoluto |.|
- El operador argumento o fase
Funciones integradas de MATLAB
- Matrices de vectores y matrices de matrices
- La función raíz cuadrada
- La función signo
- La función "redondeo a entero"
- La función "entero inferior más cercano"
- La función "entero superior más cercano"
- La función factorial
- Funciones logarítmicas (exp, ln, log10, log2)
- Funciones trigonométricas
- Funciones hiperbólicas
- La función Q(.)
- La función erfc(.)
- Funciones de Bessel Jo (.)
- La función Gamma
- Comandos Diff, mod
Polinomios en MATLAB
- Polinomios en MATLAB
- Funciones racionales
- Derivadas de polinomios
- Integración de polinomios
- Multiplicación de polinomios
Gráficos de escala lineal
- Representaciones visuales de señales de tiempo continuo y amplitud continua
- Representaciones visuales de señales aproximadas en escalera
- Representaciones visuales de señales de tiempo discreto y amplitud discreta
Gráficos de escala logarítmica
- Gráficos dB-decada (BER)
- Gráficos década-dB (Gráficos de Bode, respuesta en frecuencia, espectro de señal)
- Gráficos década-decada
- Gráficos dB-lineales
Gráficos polares 2D
- (Patrones de radiación de antenas planares)
Gráficos 3D
- Patrones de radiación 3D
- Gráficos paramétricos cartesianos
Sección opcional (según la demanda de los aprendices)
- Diferenciación simbólica y numérica en MATLAB
- Integración simbólica y numérica en MATLAB
- Ayuda y documentación de MATLAB
Archivos de MATLAB
- Archivos de guion (script) de MATLAB
- Archivos de función de MATLAB
- Archivos de datos de MATLAB
- Variables locales y globales
Bucles, control de flujo de condiciones y toma de decisiones en MATLAB
- El bucle for end
- El bucle while end
- La condición if end
- Las condiciones if else end
- La instrucción switch case end
- Iteraciones, convergencia de errores, operadores de suma multidimensionales
Comandos de entrada y visualización de salida
- El comando input(' ')
- Comando disp
- Comando fprintf
- Caja de mensajes msgbox
Operaciones de señales y sistemas
Sesiones 07-14
Los principales objetivos de esta parte son los siguientes:
- Generar señales de prueba aleatorias necesarias para probar el rendimiento de diferentes sistemas de comunicaciones
- Integrar muchas operaciones elementales de señales que pueden combinarse para implementar una única función de procesamiento de comunicaciones, como codificadores, aleatorizadores, entrelazadores, generadores de códigos de difusión, etc., tanto en el transmisor como en sus contrapartes en el terminal de recepción
- Interconectar estos bloques adecuadamente para lograr una función de comunicaciones
- Simulación de modelos de canal de banda estrecha en interiores y exteriores, determinísticos, estadísticos y semialeatorios
Generación de señales de prueba para comunicaciones
- Generación de una secuencia binaria aleatoria
- Generación de secuencias de enteros aleatorias
- Importación y lectura de archivos de texto
- Lectura y reproducción de archivos de audio
- Importación y exportación de imágenes
- Imagen como una matriz 3D
- Transformación de RGB a escala de grises
- Flujo de bits serial de una imagen de escala de grises 2D
- Submarcación de señales de imagen y reconstrucción
Condicionamiento y manipulación de señales
- Escala de amplitud (ganancia, atenuación, normalización de amplitud, etc.)
- Desplazamiento de nivel DC
- Escala de tiempo (compresión temporal, rarefacción)
- Desplazamiento temporal (retardo de tiempo, anticipación temporal, desplazamiento circular temporal a la izquierda y derecha)
- Medición de la energía de la señal
- Normalización de energía y potencia
- Escala de energía y potencia
- Conversión serial a paralelo y paralelo a serial
- Multiplexación y desmultiplexación
Digitalización de señales analógicas
- Muestreo en el dominio del tiempo de señales de banda base de tiempo continuo en MATLAB
- Cuantización de amplitud de señales analógicas
- Codificación PCM de señales analógicas cuantizadas
- Conversión de decimal a binario y binario a decimal
- Formación de pulsos (Pulse shaping)
- Cálculo del ancho de pulso adecuado
- Selección del número de muestras por pulso
- Convolución usando los comandos conv y filter
- Autocorrelación y correlación cruzada de señales de tiempo limitado
- Operaciones de Transformada Rápida de Fourier (FFT) y IFFT
- Visualización del espectro de una señal de banda base
- Efecto de la tasa de muestreo y la ventana de frecuencia adecuada
- Relación entre la convolución, la correlación y las operaciones FFT
- Filtrado en el dominio de la frecuencia, solo filtrado paso bajo
Funciones auxiliares de comunicaciones
- Aleatorizadores y desaleatorizadores
- Perforadores y des-perforadores (Puncturers y de-puncturers)
- Codificadores y decodificadores
- Entrelazadores y des-entrelazadores
Moduladores y desmoduladores
- Esquemas de modulación digital de banda base en MATLAB
- Representación visual de señales moduladas digitalmente
Modelado y simulación de canales
- Modelado matemático del efecto del canal en la señal transmitida
- Adición – ruido gaussiano blanco aditivo (AWGN)
- Multiplicación en el dominio del tiempo – canales de desvanecimiento lento, desplazamiento Doppler en canales vehiculares
- Multiplicación en el dominio de la frecuencia – canales de desvanecimiento selectivo en frecuencia
- Convolución en el dominio del tiempo – respuesta al impulso del canal
Ejemplos de modelos de canal determinísticos
- Pérdida de trayectoria en espacio libre y pérdida de trayectoria dependiente del entorno
- Canales de bloqueo periódicos
Caracterización estadística de canales comunes de desvanecimiento por multipath estacionarios y cuasi-estacionarios
- Generación de una variable aleatoria (RV) distribuida uniformemente
- Generación de una RV gaussiana real
- Generación de una RV gaussiana compleja
- Generación de una RV distribuida según Rayleigh
- Generación de una RV distribuida según Rice
- Generación de una RV distribuida lognormalmente
- Generación de una RV con distribución arbitraria
- Aproximación de una función de densidad de probabilidad (PDF) desconocida de una RV mediante un histograma
- Cálculo numérico de la función de distribución acumulada (CDF) de una RV
- Canales de ruido gaussiano blanco aditivo (AWGN) reales y complejos
Caracterización del canal por su perfil de retardo de potencia
- Caracterización del canal por su perfil de retardo de potencia
- Normalización de potencia del PDP
- Extracción de la respuesta al impulso del canal desde el PDP
- Muestreo de la respuesta al impulso del canal con una tasa de muestreo arbitraria, muestreo no coincidente y retardo
- Cuantización
- El problema del muestreo no coincidente de la respuesta al impulso del canal para canales de banda estrecha
- Muestreo de un PDP con una tasa de muestreo arbitraria y compensación de retardo fraccionario
- Implementación de varios modelos de canal en interiores y exteriores estandarizados por IEEE
- (COST – SUI - Modelos de canal de Banda Ultralatente, etc.)
Simulación de nivel de enlace de sistemas prácticos
Sesiones 15-24
Esta parte del curso se centra en el problema más importante para los estudiantes de investigación, a saber, cómo reproducir los resultados de simulación de otros documentos publicados mediante simulación.
Rendimiento de tasa de error de bit de esquemas de modulación digital de banda base
- Comparación del rendimiento de diferentes esquemas de modulación digital de banda base en canales AWGN (estudio comparativo integral mediante simulación para verificar expresiones teóricas); diagramas dispersos, tasa de error de bit
- Comparación del rendimiento de diferentes esquemas de modulación digital de banda base en diferentes canales de desvanecimiento estacionarios y cuasi-estacionarios; diagramas dispersos, tasa de error de bit (estudio comparativo integral mediante simulación para verificar expresiones teóricas)
- Impacto de los canales con desplazamiento Doppler en el rendimiento de los esquemas de modulación digital de banda base; diagramas dispersos, tasa de error de bit
- Comunicaciones Helyosatélite
- Documento (1): Sistema de voz y datos en tiempo real de bajo costo para Servicio Móvil Satelital Aeroespacial (AMSS) – Enunciado del problema y análisis
- Documento (2): Combinación de diversidad temporal de pre-detección con AFC preciso para comunicaciones satelitales de helicópteros – La primera solución propuesta
- Documento (3): Un esquema de modulación adaptable para comunicaciones helicóptero-satélite – Un enfoque de mejora de rendimiento
Simulación de sistemas de espectro expandido
- Arquitectura típica de sistemas basados en espectro expandido
- Sistemas basados en espectro expandido de secuencia directa
- Generadores de secuencia binaria pseudoaleatoria (PBRS)
- Generación de secuencias de longitud máxima
- Generación de códigos Gold
- Generación de códigos Walsh
- Sistemas basados en espectro expandido de salto temporal
- Rendimiento de tasa de error de bit de sistemas basados en espectro expandido en canales AWGN
- Impacto de la tasa de codificación r en el rendimiento de BER
- Impacto de la longitud del código en el rendimiento de BER
- Rendimiento de tasa de error de bit de sistemas basados en espectro expandido en canales de desvanecimiento lento por multipath Rayleigh con desplazamiento Doppler cero
- Análisis del rendimiento de la tasa de error de bit de sistemas basados en espectro expandido en entornos de desvanecimiento de alta movilidad
- Análisis del rendimiento de la tasa de error de bit de sistemas basados en espectro expandido en presencia de interferencia entre usuarios múltiples
- Transmisión de imágenes RGB sobre sistemas de espectro expandido
- Sistemas CDMA ópticos (OCDMA)
- Códigos ópticos ortogonales (OOC)
- Límites de rendimiento de sistemas OCDMA; rendimiento de tasa de error de bit de sistemas OCDMA síncronos y asíncronos
Sistemas de espectro expandido de banda ultralatente
Sistemas basados en OFDM
- Implementación de sistemas OFDM usando la Transformada Rápida de Fourier
- Arquitectura típica de sistemas basados en OFDM
- Rendimiento de tasa de error de bit de sistemas OFDM en canales AWGN
- Impacto de la tasa de codificación r en el rendimiento de BER
- Impacto del prefijo cíclico en el rendimiento de BER
- Impacto del tamaño de FFT y el espaciado de subportadoras en el rendimiento de BER
- Rendimiento de tasa de error de bit de sistemas OFDM en canales de desvanecimiento lento por multipath Rayleigh con desplazamiento Doppler cero
- Rendimiento de tasa de error de bit de sistemas OFDM en canales de desvanecimiento lento por multipath Rayleigh con CFO
- Estimación de canal en sistemas OFDM
- Ecuilibración en el dominio de la frecuencia en sistemas OFDM
- Ecualizador Forzador Cero (Zero Forcing)
- Ecualizadores MMSE
- Otras métricas de rendimiento comunes en sistemas basados en OFDM (Relación de Potencia Pico a Promedio, Relación de Portadora a Interferencia, etc.)
- Análisis de rendimiento de sistemas basados en OFDM en entornos de desvanecimiento de alta movilidad (como un proyecto de simulación que consiste en tres documentos)
- Documento (1): Mitigación de interferencia entre portadoras
- Documento (2): Sistemas MIMO-OFDM
Optimización de un proyecto de simulación en MATLAB
El objetivo de esta parte es aprender a construir y optimizar un proyecto de simulación en MATLAB para simplificar y organizar el proceso de simulación general. Además, se considera el espacio de memoria y la velocidad de procesamiento para evitar problemas de desbordamiento de memoria en sistemas con almacenamiento limitado o tiempos de ejecución largos derivados de un procesamiento lento.
- Estructura típica de proyectos de simulación a pequeña escala
- Extracción de parámetros de simulación y mapeo de teórico a simulación
- Construcción de un proyecto de simulación
- Técnica de simulación Monte Carlo
- Un procedimiento típico para probar un proyecto de simulación
- Técnicas de gestión del espacio de memoria y reducción del tiempo de simulación
- Simulación de banda base vs. banda pasante
- Cálculo del ancho de pulso adecuado para formas de pulso arbitrarias truncadas
- Cálculo del número adecuado de muestras por símbolo
- Cálculo del Número Necesario y Suficiente de Bits para probar un Sistema
Programación de GUI
Tener un código de MATLAB libre de errores de depuración y que funcione correctamente para producir resultados correctos es un gran logro. Sin embargo, un conjunto de parámetros clave en un proyecto de simulación controla el flujo de ejecución. Por esta y otras razones, se imparte una lección adicional sobre "Programación de Interfaz Gráfica de Usuario (GUI)" para poner el control de varias partes de su proyecto de simulación a su alcance, en lugar de ahogarse en códigos fuente largos llenos de comandos. Además, tener su código de MATLAB enmascarado con una GUI ayuda a presentar su trabajo de una manera que facilita combinar múltiples resultados en una ventana maestra y hace más fácil comparar datos.
- ¿Qué es una GUI de MATLAB?
- Estructura del archivo de función GUI de MATLAB
- Componentes principales de la GUI (propiedades y valores importantes)
- Variables locales y globales
Nota: Los temas cubiertos en cada nivel de este curso incluyen, pero no se limitan a, aquellos enunciados en cada nivel. Además, los elementos de cada lección particular están sujetos a cambios dependiendo de las necesidades de los aprendices y sus intereses de investigación.
Requerimientos
Para adquirir el vasto conocimiento contenido en este curso, se recomienda que los participantes cuenten con conocimientos generales sobre lenguajes y técnicas de programación comunes. Se recomienda encarecidamente una comprensión profunda de las materias de pregrado en ingeniería de comunicaciones.
Reseñas (2)
Que conocí temas que no sabía
Ernesto Alonso Ocana Valenzuela - Instituto Tecnologico Superior de Comalcalco
Curso - Introduction to Image Processing using Matlab
Muchos ejercicios útiles, bien explicados
Helene Meadows - European Investment Bank
Curso - MATLAB Programming
Traducción Automática