Programa do Curso
• Objetivos deste curso
Após a conclusão deste curso, o aluno deve ser capaz de abordar muitos dos problemas de pesquisa atualmente em aberto na área de engenharia de comunicações, pois ele/adquire as seguintes habilidades no mínimo:
• Mapear e manipular expressões matemáticas complexas que aparecem frequentemente na literatura de engenharia de comunicações
• Capacidade de utilizar as capacidades de programação oferecidas pelo MATLAB para reproduzir os resultados de simulação de outros artigos ou, no mínimo, aproximar-se desses resultados.
• Criar modelos de simulação para ideias auto-propostas.
• Empregar as habilidades de simulação adquiridas de maneira eficiente, em conjunto com as poderosas capacidades do MATLAB, para projetar códigos MATLAB otimizados em termos de tempo de execução enquanto se economiza espaço de memória.
• Identificar os principais parâmetros de simulação de um determinado sistema de comunicação, extraí-los do modelo do sistema e estudar o impacto desses parâmetros no desempenho do sistema considerado.
• Estrutura do Curso
O material fornecido neste curso é extremamente correlacionado. Não se recomenda que um aluno participe de um nível a menos que ele/adquira e compreenda profundamente o nível anterior, a fim de garantir a continuidade do conhecimento adquirido. O curso é estruturado em três níveis, começando com uma introdução à programação MATLAB até o nível de simulação completa do sistema, conforme segue.
Nível 1: Matemática das Comunicações com MATLAB
Sessões 01-06
Após a conclusão desta parte, o aluno será capaz de avaliar expressões matemáticas complexas e construir facilmente os gráficos adequados para diferentes representações de dados, como plots de tempo e domínio da frequência; plots de BER (Taxa de Erro de Bit), padrões de radiação de antenas, etc.
Conceitos Fundamentais
1. O conceito de simulação
2. A importância da simulação na engenharia de comunicações
3. MATLAB como ambiente de simulação
4. Sobre a representação matricial e vetorial de sinais escalares em matemática de comunicações
5. Representações matriciais e vetoriais de sinais de banda base complexos no MATLAB
Área de Trabalho do MATLAB (MATLAB Desktop)
6. Barra de ferramentas
7. Janela de comandos
8. Espaço de trabalho
9. Histórico de comandos
Declaração de variáveis, vetores e matrizes
10. Constantes predefinidas do MATLAB
11. Variáveis definidas pelo usuário
12. Arrays, vetores e matrizes
13. Entrada manual de matrizes
14. Definição de intervalo
15. Espaço linear
16. Espaço logarítmico
17. Regras de nomenclatura de variáveis
Matrizes especiais
18. A matriz uns (ones)
19. A matriz zeros (zeros)
20. A matriz identidade
Manipulação elemento a elemento e matriz a matriz
21. Acesso a elementos específicos
22. Modificação de elementos
23. Eliminação seletiva de elementos (Truncamento de matrizes)
24. Adição de elementos, vetores ou matrizes (Concatenação de matrizes)
25. Encontrar o índice de um elemento dentro de um vetor ou matriz
26. Redimensionamento de matrizes
27. Truncamento de matrizes
28. Concatenação de matrizes
29. Inversão da esquerda para a direita e da direita para a esquerda
Operadores matriciais unários
30. O operador Soma
31. O operador Expectativa
32. Operador Min (Mínimo)
33. Operador Max (Máximo)
34. O operador Traço (Trace)
35. Determinante da matriz |.|
36. Inversa da matriz
37. Transposta da matriz
38. Hermiteana da matriz
39. ...etc
Operações matriciais binárias
40. Operações aritméticas
41. Operações relacionais
42. Operações lógicas
Números complexos no MATLAB
43. Representação de banda base complexa de sinais de banda passante e up-conversão de RF, uma revisão matemática
44. Formação de variáveis, vetores e matrizes complexas
45. Exponenciais complexas
46. O operador parte real
47. O operador parte imaginária
48. O operador conjugado (.)*
49. O operador absoluto |.|
50. O operador argumento ou fase
Funções embutidas do MATLAB
51. Vetores de vetores e matrizes de matrizes
52. A função raiz quadrada
53. A função sinal (sign)
54. A função "arredondar para inteiro"
55. A função "inteiro inferior mais próximo"
56. A função "inteiro superior mais próximo"
57. A função fatorial
58. Funções logarítmicas (exp, ln, log10, log2)
59. Funções trigonométricas
60. Funções hiperbólicas
61. A função Q(.)
62. A função erfc(.)
63. Funções de Bessel Jo (.)
64. A função Gama
65. Comandos Diff, mod
Polinômios no MATLAB
66. Polinômios no MATLAB
67. Funções racionais
68. Derivadas de polinômios
69. Integração de polinômios
70. Multiplicação de polinômios
Plots em escala linear
71. Representações visuais de sinais tempo-contínuo e amplitude-continua
72. Representações visuais de sinais aproximados por degraus (escada)
73. Representações visuais de sinais tempo-discreto e amplitude-discreta
Plots em escala logarítmica
74. Plots dB-década (BER)
75. Plots década-dB (Plots de Bode, resposta em frequência, espectro do sinal)
76. Plots década-década
77. Plots dB-linear
Plots Polares 2D
78. (Padrões de radiação de antena plana)
Plots 3D
79. Padrões de radiação 3D
80. Plots paramétricos cartesianos
Seção Opcional (concedida sob demanda dos aprendizes)
81. Diferenciação simbólica e diferenciação numérica no MATLAB
82. Integração simbólica e numérica no MATLAB
83. Ajuda e documentação do MATLAB
Arquivos MATLAB
84. Arquivos de script do MATLAB
85. Arquivos de função do MATLAB
86. Arquivos de dados do MATLAB
87. Variáveis locais e globais
Loops, controle de fluxo condicional e tomada de decisão no MATLAB
88. O loop for end
89. O loop while end
90. A condição if end
91. As condições if else end
92. A declaração switch case end
93. Iterações, erros de convergência, operadores de soma multidimensional
Comandos de exibição de entrada e saída
94. O comando input(' ')
95. Comando disp
96. Comando fprintf
97. Caixa de mensagens msgbox
Nível 2: Operações de Sinais e Sistemas (24 horas)
Sessões 07-14
Os principais objetivos desta parte são os seguintes:
• Gerar sinais de teste aleatórios, necessários para testar o desempenho de diferentes sistemas de comunicação.
• Integrar muitas operações elementares de sinal que podem ser combinadas para implementar uma única função de processamento de comunicação, como codificadores, randomizadores, interleavers (intercaladores), geradores de códigos espalhados, etc., no transmissor, bem como suas contrapartes no terminal receptor.
• Conectar adequadamente esses blocos para realizar uma função de comunicação.
• Simulação de modelos de canal estreito (narrowband) determinísticos, estatísticos e semi-aleatórios internos e externos.
Geração de sinais de teste de comunicações
98. Geração de uma sequência binária aleatória
99. Geração de sequências inteiras aleatórias
100. Importação e leitura de arquivos de texto
101. Leitura e reprodução de arquivos de áudio
102. Importação e exportação de imagens
103. Imagem como uma matriz 3D
104. Transformação RGB para escala de cinza
105. Fluxo serial de bits de uma imagem em escala de cinza 2D
106. Sub-framing de sinais de imagem e reconstrução
Condicionamento e Manipulação de Sinais
107. Escalonamento de amplitude (ganho, atenuação, normalização de amplitude...etc.)
108. Deslocamento do nível DC
109. Escalonamento de tempo (compressão de tempo, rarefação)
110. Deslocamento de tempo (atraso de tempo, avanço de tempo, deslocamento circular de tempo à esquerda e à direita)
111. Medição da energia do sinal
112. Normalização de energia e potência
113. Escalonamento de energia e potência
114. Conversão serial-para-paralelo e paralelo-para-serial
115. Multiplexação e desmultiplexação
Digitalização de Sinais Analógicos
116. Amostragem no domínio do tempo de sinais analógicos de banda base contínuos no MATLAB
117. Quantização de amplitude de sinais analógicos
118. Codificação PCM de sinais analógicos quantizados
119. Conversão decimal-para-binário e binário-para-decimal
120. Molde de pulso (pulse shaping)
121. Cálculo da largura de pulso adequada
122. Seleção do número de amostras por pulso
123. Convolução usando os comandos conv e filter
124. A autocorrelação e correlação cruzada de sinais limitados no tempo
125. As operações da Transformada Rápida de Fourier (FFT) e IFFT
126. Visualização do espectro de um sinal de banda base
127. Efeito da taxa de amostragem e da janela de frequência adequada
128. Relação entre a convolução, correlação e as operações FFT
129. Filtragem no domínio da frequência, apenas filtragem passa-baixa
Funções Auxiliares de Comunicações
130. Randomizadores e des-randomizadores
131. Puncturers (cortadores de bits) e des-puncturers
132. Codificadores e decodificadores
133. Interleavers (intercaladores) e de-interleavers
Moduladores e demoduladores
134. Esquemas de modulação digital de banda base no MATLAB
135. Representação visual de sinais modulados digitalmente
Modelagem e Simulação de Canais
136. Modelagem matemática do efeito do canal sobre o sinal transmitido
• Adição – canais de ruído gaussiano branco aditivo (AWGN)
• Multiplicação no domínio do tempo – canais de desvanecimento lento, deslocamento Doppler em canais veiculares
• Multiplicação no domínio da frequência – canais de desvanecimento seletivo em frequência
• Convolução no domínio do tempo – resposta ao impulso do canal
Exemplos de modelos de canais determinísticos
137. Perda de caminho no espaço livre e perda de caminho dependente do ambiente
138. Canais de bloqueio periódico
Caracterização Estatística de Comuns Canais Multipercursos de Estacionários e Quase-Estacionários Desvanecimento
139. Geração de uma VRL (Variável Aleatória) distribuída uniformemente
140. Geração de uma VRL real com distribuição gaussiana
141. Geração de uma VRL complexa com distribuição gaussiana
142. Geração de uma VRL com distribuição de Rayleigh
143. Geração de uma VRL com distribuição de Rice
144. Geração de uma VRL com distribuição Lognormal
145. Geração de uma VRL com distribuição arbitrária
146. Aproximação de uma função densidade de probabilidade (PDF) desconhecida de uma VRL por um histograma
147. Cálculo numérico da função de distribuição acumulada (CDF) de uma VRL
148. Canais de ruído gaussiano branco aditivo (AWGN) reais e complexos
Caracterização do Canal pelo seu Perfil de Atraso de Potência
149. Caracterização do canal pelo seu perfil de atraso de potência
150. Normalização de potência do PDP (Perfil de Atraso de Potência)
151. Extração da resposta ao impulso do canal a partir do PDP
152. Amostragem da resposta ao impulso do canal por uma taxa de amostragem arbitrária, amostragem não correspondida (mismatched) e quantização de atraso
153. O problema da amostragem não correspondida da resposta ao impulso do canal de canais de banda estreita
154. Amostragem de um PDP por uma taxa de amostragem arbitrária e compensação de atraso fracionário
155. Implementação de vários modelos de canais internos e externos padronizados pela IEEE
156. (Modelos de Canal COST – SUI – Banda Ultra-Larga...etc.)
Nível 3: Simulação em Nível de Enlace de Sistemas de Comunicação Práticos (30 horas)
Sessões 15-24
Esta parte do curso trata da questão mais importante para pesquisadores, ou seja, como reproduzir os resultados de simulação de outros artigos publicados por meio de simulação.
Desempenho de Taxa de Erro de Bit (BER) de Esquemas de Modulação Digital de Banda Base
1. Comparação de desempenho de diferentes esquemas de modulação digital de banda base em canais AWGN (Estudo comparativo abrangente via simulação para verificar expressões teóricas); plots de dispersão (scatter plots), taxa de erro de bit
2. Comparação de desempenho de diferentes esquemas de modulação digital de banda base em diferentes canais de desvanecimento estacionários e quase-estacionários; plots de dispersão, taxa de erro de bit (Estudo comparativo abrangente via simulação para verificar expressões teóricas)
3. Impacto dos canais com deslocamento Doppler no desempenho de esquemas de modulação digital de banda base; plots de dispersão, taxa de erro de bit
Comunicações Helicóptero-Satélite
4. Artigo (1): Sistema de Voz e Dados em Tempo Real de Baixo Custo para Serviço Móvel Satelital Aeronáutico (AMSS) – Declaração do problema e análise
5. Artigo (2): Combinação de Diversidade de Tempo Pré-detecção com AFC Preciso para Comunicações Helicóptero-Satélite – A primeira solução proposta
6. Artigo (3): Um Esquema de Modulação Adaptativa para Comunicações Helicóptero-Satélite – Uma abordagem de melhoria de desempenho
Simulação de Sistemas de Espalhamento Espectral
1. Arquitetura típica de sistemas baseados em espalhamento espectral
2. Sistemas baseados em espalhamento espectral de sequência direta (DSSS)
3. Geradores de sequências binárias pseudo-aleatórias (PBRS)
• Geração de sequências de comprimento máximo
• Geração de códigos Gold
• Geração de códigos Walsh
4. Sistemas baseados em espalhamento espectral por salto de tempo (TH-SS)
5. Desempenho da Taxa de Erro de Bit de sistemas baseados em espalhamento espectral em canais AWGN
• Impacto da taxa de codificação r no desempenho do BER
• Impacto do comprimento do código no desempenho do BER
6. Desempenho da Taxa de Erro de Bit de sistemas baseados em espalhamento espectral em canais de desvanecimento Rayleigh Lento multipercursos com deslocamento Doppler zero
7. Análise de desempenho da taxa de erro de bit de sistemas baseados em espalhamento espectral em ambientes de desvanecimento de alta mobilidade
8. Análise de desempenho da taxa de erro de bit de sistemas baseados em espalhamento espectral na presença de interferência multiusuário
9. Transmissão de imagens RGB sobre sistemas de espalhamento espectral
10. Sistemas OCDMA (CDMA Óptico)
• Códigos ortônicos ópticos (OOC)
• Limites de desempenho dos sistemas OCDMA; desempenho da taxa de erro de bit dos sistemas OCDMA síncronos e assíncronos
Sistemas SS de Banda Ultra-Larga (UWB)
Sistemas Baseados em OFDM
11. Implementação de sistemas OFDM usando a Transformada Rápida de Fourier
12. Arquitetura típica de sistemas baseados em OFDM
13. Desempenho da Taxa de Erro de Bit de Sistemas OFDM em canais AWGN
• Impacto da taxa de codificação r no desempenho do BER
• Impacto do prefixo cíclico no desempenho do BER
• Impacto do tamanho da FFT e do espaçamento entre subportadoras no desempenho do BER
14. Desempenho da Taxa de Erro de Bit de Sistemas OFDM em canais de desvanecimento Rayleigh Lento multipercursos com deslocamento Doppler zero
15. Desempenho da Taxa de Erro de Bit de Sistemas OFDM em canais de desvanecimento Rayleigh Lento multipercursos com CFO (Deslocamento de Frequência do Portador)
16. Estimativa de Canal em Sistemas OFDM
17. Equalização no Domínio da Frequência em Sistemas OFDM
• Equalizador Zero Forcing
• Equalizadores MMSE
18. Outras Métricas Comuns de Desempenho em Sistemas Baseados em OFDM (Razão Pico-Média de Potência, Razão Portadora-Interferência...etc.)
19. Análise de desempenho de sistemas baseados em OFDM em ambientes de desvanecimento de alta mobilidade (como um projeto de simulação constituído por três artigos)
20. Artigo (1): Mitigação da interferência entre portadoras
21. Artigo (2): Sistemas MIMO-OFDM
Otimização de um Projeto de Simulação MATLAB
O objetivo desta parte é aprender como construir e otimizar um projeto de simulação MATLAB para simplificar e organizar o processo geral de simulação. Além disso, o espaço de memória e a velocidade de processamento também são considerados para evitar problemas de transbordo de memória em sistemas de armazenamento limitado ou tempos de execução longos decorrentes do processamento lento.
1. Estrutura típica de projetos de simulação de pequena escala
2. Extração de parâmetros de simulação e mapeamento teórico para simulação
3. Construção de um Projeto de Simulação
4. Técnica de Simulação Monte Carlo
5. Um Procedimento Típico para Testar um Projeto de Simulação
6. Técnicas de Gerenciamento de Espaço de Memória e Redução do Tempo de Simulação
• Simulação de Banda Base vs. Banda Passante
• Cálculo da largura de pulso adequada para formatos de pulso arbitrários truncados
• Cálculo do número adequado de amostras por símbolo
• Cálculo do Número Necessário e Suficiente de Bits para Testar um Sistema
Programação de Interface Gráfica do Usuário (GUI)
Tener o código MATLAB livre de erros de depuração (bugs) e funcionando corretamente para produzir resultados corretos é uma grande conquista. No entanto, um conjunto de parâmetros-chave em um projeto de simulação controla [o fluxo]. Por esta razão e outras, uma palestra extra sobre "Programação de Interface Gráfica do Usuário (GUI)" é oferecida para trazer o controle sobre várias partes do seu projeto de simulação às suas mãos, em vez de mergulhar em longos códigos-fonte cheios de comandos. Além disso, ter o seu código MATLAB mascarado por uma GUI ajuda a apresentar seu trabalho de uma maneira que facilita a combinação de múltiplos resultados em uma única janela mestre e torna mais fácil comparar dados.
1. O que é uma GUI do MATLAB
2. Estrutura do arquivo de função da GUI do MATLAB
3. Componentes principais da GUI (propriedades e valores importantes)
4. Variáveis locais e globais
Nota: Os tópicos abordados em cada nível deste curso incluem, mas não se limitam aos, aqueles declarados em cada nível. Além disso, os itens de cada palestra particular estão sujeitos a alterações dependendo das necessidades dos aprendizes e seus interesses de pesquisa.
Requisitos
Para adquirir a vasta quantidade de conhecimento incorporada neste curso, os participantes devem ter conhecimento geral sobre linguagens e técnicas de programação comuns. Recomenda-se fortemente uma compreensão profunda dos cursos de graduação em engenharia de comunicações.
Testemunhos de Clientes (2)
Os muitos exemplos e a construção do código do início ao fim.
Toon - Draka Comteq Fibre B.V.
Curso - Introduction to Image Processing using Matlab
Máquina Traduzida
Muitos exercícios úteis, bem explicados
Helene Meadows - European Investment Bank
Curso - MATLAB Programming
Máquina Traduzida