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 complicadas que aparecen con frecuencia en la literatura de ingeniería de comunicaciones
- Capacidad para utilizar las funciones de programación ofrecidas por MATLAB con el fin de reproducir los resultados de simulación de otros papers o al menos aproximarse a dichos resultados.
- Crear modelos de simulación para ideas propuestas por el mismo estudiante.
- Emplear las habilidades de simulación adquiridas de manera eficiente, conjuntamente con las potentes capacidades de MATLAB, para diseñar códigos MATLAB optimizados en términos de tiempo de ejecución del código, al tiempo que se ahorra espacio de memoria.
- Identificar los parámetros de simulación clave 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 es extremadamente correlacionado. No se recomienda que un estudiante asista a un nivel a menos que haya asistido y comprendido a profundidad el nivel previo, a fin de garantizar la continuidad de los conocimientos adquiridos. El curso está estructurado en tres niveles, desde una introducción a la programación en MATLAB hasta el nivel de simulación completa de sistemas, de la siguiente manera.
Matemáticas para Comunicaciones con MATLAB
Sesiones 01-06
Al finalizar esta parte, el estudiante será capaz de evaluar expresiones matemáticas complicadas y construir fácilmente los gráficos adecuados para diferentes representaciones de datos, como gráficos de 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 matricial y vectorial de señales escalares en matemáticas de comunicaciones
- Representaciones matriciales y vectoriales 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 en 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 element-wise (elemento por elemento) y matrix-wise (matriz por matriz)
- Acceso a elementos específicos
- Modificación de elementos
- Eliminación selectiva de elementos (truncamiento de matriz)
- Añadir elementos, vectores o matrices (concatenación de matrices)
- Localización del índice de un elemento dentro de un vector o una matriz
- Redimensionamiento de matrices
- Truncamiento de matrices
- Concatenación de matrices
- Voltear de izquierda a derecha y de derecha a izquierda
Operadores unarios de matriz
- El operador Suma
- El operador esperanza (expectation)
- Operador Min
- Operador Max
- El operador traza
- Deteminante de matriz |.|
- Inversa de matriz
- Transpuesta de matriz
- Hermitiana de matriz
Operaciones binarias de matriz
- 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 hacia arriba de RF, una revisión matemática
- Formación de variables, vectores y matrices complejas
- Exponenciales complejas
- El operador parte real
- El operador parte imaginaria
- El operador conjugado (.)*
- El operador absoluto |.|
- El operador argumento o fase
Funciones integradas en MATLAB
- Vectores de vectores y matriz 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 a escala lineal
- Representaciones visuales de señales de tiempo continuo - amplitud continua
- Representaciones visuales de señales aproximadas tipo escalera
- Representaciones visuales de señales de tiempo discreto - amplitud discreta
Gráficos a 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-lineal
Gráficos polares 2D
- (Patrones de radiación de antena planar)
Gráficos 3D
- Patrones de radiación 3D
- Gráficos paramétricos cartesianos
Sección opcional (se ofrece según la demanda de los aprendices)
- 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 de visualización
- El comando input(' ')
- El comando disp
- El comando fprintf
- El cuadro de mensaje msgbox
Operaciones de Señales y Sistemas
Sesiones 07-14
Los objetivos principales 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ñal que pueden integrarse para implementar una única función de procesamiento de comunicaciones, tales como codificadores, aleatorizadores, entrelazadores, generadores de códigos de dispersió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 interiores y exteriores deterministas, estadísticos y semi-aleatorios
Generación de señales de prueba de comunicaciones
- Generación de una secuencia binaria aleatoria
- Generación de secuencias de enteros aleatorias
- Importar y leer archivos de texto
- Leer y reproducir archivos de audio
- Importar y exportar imágenes
- Imagen como una matriz 3D
- Transformación de RGB a escala de grises
- Flujo de bits serial de una imagen en escala de grises 2D
- Sudivisión en subcuadros 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 de CC (DC)
- Escala de tiempo (compresión temporal, rarefacción)
- Desplazamiento temporal (retardo de tiempo, anticipación de tiempo, 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-paralelo y paralelo-serial
- Multiplexado y desmultiplexado
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 de binario a decimal
- Formado de pulsos
- 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 de un espectro de 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 des-aleatorizadores
- Punterizadores y des-punterizadores
- Codificadores y decodificadores
- Entrelazadores y des-entrelazadores
Moduladores y demoduladores
- Esquemas de modulación digital de banda base en MATLAB
- Representación visual de señales moduladas digitalmente
Modelado y simulación de canal
- Modelado matemático del efecto del canal en la señal transmitida
- Adición - canales de ruido gaussiano blanco aditivo (AWGN)
- Multiplicación en el dominio del tiempo - canales de desvanecimiento lento, desplazamiento de Doppler en canales vehiculares
- Multiplicación en el dominio de la frecuencia - canales de desvanecimiento selectivo en frecuencia
- Convolution 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ódico
Caracterización estadística de canales comunes de desvanecimiento multipath estacionarios y cuasi-estacionarios
- Generación de una RV (variable aleatoria) distribuida uniformemente
- Generación de una RV de valor real distribuida gaussianamente
- Generación de una RV compleja distribuida gaussianamente
- Generación de una RV distribuida de Rayleigh
- Generación de una RV distribuida de Rice
- 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 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 a una tasa de muestreo arbitraria, muestreo y retardo no coincidentes
- Cuantización
- El problema del muestreo no coincidente de la respuesta al impulso del canal de 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 interiores y exteriores estandarizados por IEEE
- (COST – SUI - Modelos de Canal Ultra Ancho Banda…etc.)
Simulación a nivel de enlace de sistemas de comunicaciones prácticos
Sesiones 15-24
Esta parte del curso se ocupa del problema más importante para los estudiantes de investigación, a saber, cómo reproducir los resultados de simulación de otros papers publicados mediante simulación.
Rendimiento de Tasa de Error de Bit de los 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 exhaustivo mediante simulación para verificar expresiones teóricas); gráficos dispersos, tasa de error de bit
- Comparación de rendimiento de diferentes esquemas de modulación digital de banda base en diferentes canales de desvanecimiento estacionarios y cuasi-estacionarios; gráficos dispersos, tasa de error de bit (Estudio comparativo exhaustivo mediante simulación para verificar expresiones teóricas)
- Impacto de los canales de desplazamiento de Doppler en el rendimiento de los esquemas de modulación digital de banda base; gráficos dispersos, tasa de error de bit
- Comunicaciones de Helicóptero a Satélite
- Paper (1): Sistema de voz y datos en tiempo real de bajo costo para Servicio de Satélite Móvil Aeronáutico (AMSS) – Enunciado y análisis del problema
- Paper (2): Combinación de diversidad temporal pre-detección con AFC precisa para comunicaciones de satélite con helicóptero – La primera solución propuesta
- Paper (3): Un esquema de modulación adaptativa para comunicaciones de helicóptero-satélite – Un enfoque de mejora del rendimiento
Simulación de sistemas de espectro disperso
- Arquitectura típica de sistemas basados en espectro disperso
- Sistemas basados en espectro disperso de secuencia directa
- Generadores de secuencias binarias pseudoaleatorias (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 disperso de salto temporal
- Rendimiento de Tasa de Error de Bit de sistemas basados en espectro disperso 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 disperso en canales de desvanecimiento multipath lentos de Rayleigh con desplazamiento de Doppler cero
- Análisis de rendimiento de tasa de error de bit de sistemas basados en espectro disperso en entornos de desvanecimiento de alta movilidad
- Análisis de rendimiento de tasa de error de bit de sistemas basados en espectro disperso en presencia de interferencia de multiusuario
- Transmisión de imagen RGB sobre sistemas de espectro disperso
- Sistemas CDMA óptico (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 SS 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 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 multipath lentos de Rayleigh con desplazamiento de Doppler cero
- Rendimiento de Tasa de Error de Bit de Sistemas OFDM en canales de desvanecimiento multipath lentos de Rayleigh con CFO
- Estimación de canal en sistemas OFDM
- Ecualización en el dominio de la frecuencia en sistemas OFDM
- Ecualizador Zero Forcing
- Ecualizadores MMSE
- Otros métricas de rendimiento comunes en sistemas basados en OFDM (Ratio de Potencia Pico a Promedio, Ratio 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 papers)
- Paper (1): Mitigación de interferencia entre portadoras
- Paper (2): Sistemas MIMO-OFDM
Optimización de un proyecto de simulación de MATLAB
El objetivo de esta parte es aprender a construir y optimizar un proyecto de simulación de MATLAB para simplificar y organizar el proceso general de simulación. Además, se consideran también 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 de 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 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 Por esta razón y más, se imparte una lección adicional sobre "Programación de Interfaz Gráfica de Usuario (GUI)" para llevar el control sobre las diferentes partes de su proyecto de simulación a sus fingertips (puntas de los dedos) en lugar de bucear 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 lo 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, los que se enumeran 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 conjunto de conocimientos contenidos en este curso, los participantes deben poseer conocimientos generales de lenguajes y técnicas de programación comunes. Se recomienda encarecidamente una comprensión profunda de las asignaturas de grado 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