Temario del curso
Resultados de este curso
Al finalizar este curso, el estudiante estará en posición de abordar muchos de los problemas de investigación abiertos actualmente en el campo de la ingeniería de telecomunicaciones, habiendo adquirido al menos las siguientes habilidades:
- Mapear y manipular expresiones matemáticas complejas que aparecen con frecuencia en la literatura de ingeniería de telecomunicaciones.
- Capacidad de utilizar las herramientas de programación de MATLAB para reproducir los resultados de simulación de otros artículos o, al menos, acercarse a dichos resultados.
- Crear modelos de simulación para ideas propuestas por uno mismo.
- Aplicar eficientemente las habilidades de simulación adquiridas junto con las potentes capacidades de MATLAB para diseñar códigos optimizados en términos de tiempo de ejecución, ahorrando espacio en 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á extremadamente correlacionado. No se recomienda que un estudiante asista a un nivel específico a menos que haya asistido y comprendido profundamente el nivel previo, para garantizar la continuidad del conocimiento adquirido. El curso está estructurado en tres niveles, desde una introducción a la programación en MATLAB hasta el nivel de simulación de sistemas completos, de la siguiente manera.
Matemáticas para Comunicaciones con MATLAB
Sesiones 01-06
Al completar esta parte, el estudiante será capaz de evaluar expresiones matemáticas complejas y construir fácilmente los gráficos adecuados para diferentes representaciones de datos, como tramas de dominio de tiempo y frecuencia; tramas de BER (tasa de error de bits), 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 por matrices y vectores de señales escalares en matemáticas de comunicaciones
- Representaciones de matrices y vectores de señales de banda base complejas en MATLAB
Escritorio de MATLAB
- Barra de herramientas
- Ventana de comandos
- Workspace (Espacio de trabajo)
- Historial de comandos
Declaración de variables, vectores y matrices
- Constantes predefinidas de MATLAB
- Variables definidas por el usuario
- Matrices, vectores y arrays
- Entrada manual de matrices
- Definición de intervalos
- Espacio lineal (linspace)
- Espacio logarítmico (logspace)
- Reglas de nombramiento de variables
Matrices especiales
- La matriz de unos
- La matriz de ceros
- La matriz identidad
Manipulación element-wise y matrix-wise
- Acceso a elementos específicos
- Modificación de elementos
- Eliminación selectiva de elementos (Truncamiento de matrices)
- Añadimiento de elementos, vectores o matrices (Concatenación de matrices)
- Encontrar el índice de un elemento dentro de un vector o matriz
- Reformateo de matrices (Reshaping)
- Truncamiento de matrices
- Concatenación de matrices
- Voltear 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
- Determinante 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 RF up-conversion, una revisión matemática
- 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
- Vectores de vectores y matrices de matrices
- La función raíz cuadrada
- La función signo
- La función "redondeo a entero" (round)
- La función "entero inferior más cercano" (floor)
- La función "entero superior más cercano" (ceil)
- 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 - amplitud continua
- Representaciones visuales de señales aproximadas por escalera (stair case)
- Representaciones visuales de señales de tiempo discreto - amplitud discreta
Gráficos de escala logarítmica
- Tramas dB-decada (BER)
- Tramas decade-dB (Tramas de Bode, respuesta en frecuencia, espectro de señal)
- Tramas decade-decade
- Tramas 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 (se imparte según la demanda de los participantes)
- Diferenciación simbólica y diferenciación numérica en MATLAB
- Integración simbólica y numérica en MATLAB
- Ayuda y documentación de MATLAB
Archivos de MATLAB
- Archivos de 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 declaración switch-case-end
- Iteraciones, errores convergentes, operadores de suma multidimensionales
Comandos de entrada y 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 comunicación
- Integrar muchas operaciones elementales de señal que pueden combinarse para implementar una única función de procesamiento de comunicación, como codificadores, aleatorizadores, entrelazadores, generadores de códigos de dispersión ...etc. tanto en el transmisor como en sus contrapartes en el receptor.
- Interconectar estos bloques adecuadamente para lograr una función de comunicaciones
- Simulación de modelos de canal de banda estrecha interiores y exteriores, deterministas, estadísticos y pseudoaleatorios
Generación de señales de prueba de comunicaciones
- Generación de una secuencia binaria aleatoria
- Generación de secuencias de enteros aleatorios
- 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 a escala de grises 2D
- Sub-cuadriculación de señales de imagen y reconstrucción
Condicionalidad 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 de tiempo, rarefacción)
- Desplazamiento de tiempo (retardo de tiempo, adelantamiento de tiempo, desplazamiento circular de tiempo a 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 demultiplexación
Digitizació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 de binario a decimal
- Formado de pulso (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 duración limitada
- Operaciones de Transformada Rápida de Fourier (FFT) e 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 de paso bajo
Funciones Auxiliares de Comunicaciones
- Aleatorizadores y des-aleatorizadores
- Punturizadores y des-punturizadores
- 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
- Suma – canales con ruido blanco gaussiano 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 deterministas
- 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 de Desvanecimiento Multipath Comunes Estacionarios y Pseudo-Estacionarios
- Generación de una RV (variable aleatoria) distribuida uniformemente
- Generación de una RV de valor real distribuida según Gauss
- Generación de una RV compleja distribuida según Gauss
- Generación de una RV distribuida según Rayleigh
- Generación de una RV distribuida según Ricean
- Generación de una RV distribuida log-normalmente
- 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 blanco gaussiano aditivo (AWGN) reales y complejos
Caracterización de Canal por su Perfil de Retardo de Potencia
- Caracterización de canal por su perfil de retardo de potencia (PDP)
- 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 a una tasa de muestreo arbitraria, muestreo desfasado y retardo
- Cuantización
- El problema del muestreo desfasado de la respuesta al impulso del canal en canales de banda estrecha
- Muestreo de un PDP a una tasa de muestreo arbitraria y compensación de retardo fraccional
- Implementación de varios modelos de canal interior y exterior estandarizados por IEEE
- (COST – SUI - Modelos de Canal Ultra Banda Ancha...etc.)
Simulación de Nivel de Enlace de Sistemas Com. Prácticos
Sesiones 15-24
Esta parte del curso se centra en la cuestión más importante para los estudiantes de investigación, es decir, cómo reproducir los resultados de simulación de otros artículos publicados mediante simulación.
Rendimiento de Tasa de Error de Bits (BER) de Esquemas de Modulación Digital de Banda Base
- Comparación de rendimiento de diferentes esquemas de modulación digital de banda base en canales AWGN (Estudio comparativo integral vía simulación para verificar expresiones teóricas); gráficos dispersos, tasa de error de bits
- Comparación de rendimiento de diferentes esquemas de modulación digital de banda base en diferentes canales de desvanecimiento estacionarios y pseudo-estacionarios; gráficos dispersos, tasa de error de bits (Estudio comparativo integral vía simulación para verificar expresiones teóricas)
- Impacto de los canales de desplazamiento Doppler en el rendimiento de los esquemas de modulación digital de banda base; gráficos dispersos, tasa de error de bits
- Comunicaciones de Helicóptero a Satélite
- Artículo (1): Sistema de Voz y Datos en Tiempo Real de Bajo Costo para el Servicio Móvil Aeroespacial por Satélite (AMSS) – Enunciado y análisis del problema
- Artículo (2): Combinación de Diversidad Temporal Pre-Detección con AFC Preciso para Comunicaciones de Satélite de Helicóptero – La primera solución propuesta
- Artículo (3): Un Esquema de Modulación Adaptativa para Comunicaciones de Helicóptero a 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 en tiempo
- Rendimiento de Tasa de Error de Bits (BER) 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 Bits (BER) de sistemas basados en espectro expandido en canales de desvanecimiento lento de Rayleigh multipath con Cero Desplazamiento Doppler
- Análisis de rendimiento de tasa de error de bits de sistemas basados en espectro expandido en entornos de desvanecimiento de alta movilidad
- Análisis de rendimiento de tasa de error de bits de sistemas basados en espectro expandido en presencia de interferencia multiusuario
- Transmisión de imágenes RGB a través de sistemas de espectro expandido
- Sistemas de CDMA Óptico (OCDMA)
- Códigos ortogonales ópticos (OOC)
- Limites de rendimiento de sistemas OCDMA; rendimiento de tasa de error de bits de sistemas OCDMA síncronos y asíncronos
Sistemas de Espectro Expandido de Banda Ultra Ancha
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 Bits (BER) 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 la FFT y el espaciado de subportadoras en el rendimiento de BER
- Rendimiento de Tasa de Error de Bits (BER) de Sistemas OFDM en canales de desvanecimiento lento de Rayleigh multipath con Cero Desplazamiento Doppler
- Rendimiento de Tasa de Error de Bits (BER) de Sistemas OFDM en canales de desvanecimiento lento de Rayleigh multipath con CFO
- Estimación de Canal en Sistemas OFDM
- Ecuilibración en el Dominio de la Frecuencia en Sistemas OFDM
- Ecualizador de Forzamiento Cero (Zero Forcing)
- Ecualizadores MMSE
- Otras Métricas de Rendimiento Comunes en Sistemas Basados en OFDM (Relación de Potencia de Pico a Promedio, Relación 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 artículos)
- Artículo (1): Mitigación de interferencia entre portadoras
- Artículo (2): Sistemas MIMO-OFDM
Optimización de un Proyecto de Simulación de MATLAB
El objetivo de esta parte es aprender cómo construir y optimizar un proyecto de simulación en MATLAB para simplificar y organizar el proceso general de simulación. Además, se consideran el espacio de memoria y la velocidad de procesamiento para evitar problemas de desbordamiento de memoria en sistemas con almacenamiento limitado o largos tiempos de ejecución debido a 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 lo teórico a la simulación
- Construcción de un Proyecto de Simulación
- Técnica de Simulación Monte Carlo
- Un Proceso 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
Contar con un código de MATLAB libre de depuraciones 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. Por esta y otras razones, se imparte una lección adicional sobre "Programación de Interfaz Gráfica de Usuario (GUI)" para llevar el control sobre las diversas partes de su proyecto de simulación a su alcance, en lugar de sumergirse en largos códigos fuente llenos de comandos. Además, enmascarar su código de MATLAB con una GUI ayuda a presentar su trabajo de una manera que facilita la combinación de 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 de GUI de MATLAB
- Componentes principales de 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 enumerados en cada nivel. Además, los elementos de cada lección particular están sujetos a cambios dependiendo de las necesidades de los participantes y sus intereses de investigación.
Requerimientos
Para poder asimilar la vasta cantidad de conocimiento incluido en este curso, los participantes deben contar con conocimientos generales sobre lenguajes y técnicas de programación comunes. Se recomienda encarecidamente una comprensión profunda de los cursos universitarios de ingeniería de telecomunicaciones.
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