IE309 - Tópicos em Comunicações VI (Turma F)
Processamento Digital de Sinais com FPGA
2° Semestre de 2011
Ementa
AULA 1) 02/08
- Apresentação do curso
- Objetivos do curso
- Avaliações
- Material didático
- Referências bibliográficas
- Ementa
- Calendário
AULA 2) 09/08
- Histórico
- Avanços na área de processamento digital de sinais
- Primeiros DSPs
- Soluções atuais
- Aplicações atuais em DSP (áudio, imagem, radar, rádio)
- Requisitos dos sistemas atuais
- Comparação com as primeiras soluções de DSP
- Throughput, frequências de operação, custos, etc
- Padrões e tecnologias (LTE, SDR, CR)
- Tendências para o futuro...SoC, Virtex-7
Linhas gerais sobre DSP e suas aplicações. Enfoque informativo. Objetivo: criar uma visão geral sobre o avanço da tecnologia até os dias atuais e apresentar onde estamos (roadmap).
- Arquiteturas de DSP
- Arquiteturas analógicas (filtros passivos) e suas vantagens/desvantagens
- Arquiteturas digitais (vantagens/desvantagens)
- Elementos básicos de uma arquitetura de DSP (conversores A/D, D/A, e processador)
- Conceito de pré-processador e co-processador
- Arquiteturas modernas:
- FPGA
- FPGA/DSP
- FPGA/Embedded uP
- DSP
- Multicore DSP
- Multi FPGA
- Vantagens e desvantagens de cada arquitetura (comparações, etc)
- Exemplos reais: SDR, HPC, placas de desenvolvimento, produtos, etc
- Fluxo de processamento: paralelo e serial, controle
- Considerações sobre custos, consumo de potência, tempo de desenvolvimento, etc
Descrição das principais arquiteturas de processamento digital existentes. Tratar dos requisitos dos sistemas e sua evolução ao longo do tempo. Descrever as primeiras soluções analógicas e suas dificuldades e limitações. Apresentar as arquiteturas digitais e suas vantagens. Tratar das diferentes arquiteturas existentes no mercado (citar exemplos práticos na industria)
AULA 3) 16/08
- Revisão: Sinais e Sistemas
- O que é um sinal
- Analógico / Digital
- Continuo / Discreto
- Principais sinais: impulso, degrau unitário
- Conceitos de amostragem
- Ruído
- Sistemas e propriedades
- Convolução
- Sinais complexos
- Magnitude e ângulo
- Potência / Amplitude
- dBs e SNR
Avaliação: simulação em matlab (Ex. Proakis, DSP using matlab)
- Revisão: Amostragem periódica
- Amostragem
- Aliasing
- Teorema de Nyquist
- Superamostragem/ Subamostragem
- Filtros anti-aliasing e de reconstrução
Avaliação: simulação em matlab. Propor exercícios que verifiquem o efeito de alising e propor um exercício para IF sampling
AULA 4) 23/08
- DFT
- Conceitos de domínio temporal e de frequência
- DFT (direta e inversa)
- Propriedades
- Leakage e Processing Gain
- Windowing
- DFT resolution, zero padding
Avaliação: simulação em matlab. Propor exercício para calcular uma DFT de 8 pontos passo-a-passo. Propor exercício para verificação dos efeitos de leakage. Propor janelamento para correção. Propor exercío para verificação do Processing Gain. Propor exercício usando zero padding.
- FFT
- Vantagens FFT
- FFT e DFT
- Algoritmo
- Radix-2 / Radix-4
- Bit reversal
- Butterfly structure
- Tweedle factors
Avaliação: simulação em matlab. Propor exercício para comparação do esforço computacional entre uma DFT de 16 pontos e uma FFT de 16 pontos. Propor a implementação do algoritmo de FFT radix-2
AULA 5) 30/08
- Filtros Digitais
- Transformada Z
- FIR
- IIR
- Comparação FIR vs IIR
- Estruturas: direta, transposta e simétrica
- Projeto de filtros: parâmetros de projeto (banda passante, ripple, freq de corte, etc)
- Frequência (normalizada)
- Efeito de quantização de coeficientes
Avaliação: simulação em matlab. Propor o projeto de alguns filtros digitais usando a ferramenta FDATool. Propor análise de resultados para alguma entrada ruidosa no filtro
AULA 6) 13/09
- Precisão
- Faixa dinâmica e precisão
- Complemento de 2 (inteiros com e sem sinal)
- Ponto-fixo
- Ponto-flutuante
- Overflow / Underflow
- Arredondamento:
truncamento, round-up, round-down, round even
- Saturação
- Impacto da precisão nos resultados
- Algoritmos ADD / SUB
/ MUL / DIV
- Bit growth (ADD) e 2N-bit (MUL)
Tratar os principais conceitos de precisão e faixa dinâmica. Padrões de representação. Impacto no hardware. Técnicas de arredondamento. Algoritmos para operações elementares. Impacto dos métodos de representação e de arredondamento. Problemas de bit-growth em operações elementares. Avaliação: desenvolver em C ou Matlab uma biblioteca fracionária, avaliar problemas do padrão float, comparar desempenho, verificar efeitos de arredondamento.
AULA 7) 20/09
- VHDL Intro
- Apresentação da linguagem
- Descrição de circuitos
- Entidade
- Arquitetura
- Classes
- Tipos
- Operadores
- Atributos
- Vetores
- Processos
- Construções concorrentes e sequenciais
- Projeto estrutural
Projeto: codificação em VHDL e simulação. Elaborar um circuito para multiplicação e soma de dois números complexos.
AULA 8) 27/09
- FPGA Design
- Definição
- Características
- FPGA vs ASIC
- Estrutura
- Fluxo de projeto
- Exemplos
Projeto: elaborar um multiplicador IEEE-754. Separar o projeto em um controlador e um datapath.
- Ferramentas
- ISE Xilinx 13.1
AULA 9) 04/10
- FPGA Architecture
Virtex-5
- DCMs
- SRL
- FFD
- Memória (bloco e distribuída)
- IOs
- Slices
- DSP48
- Embedded Mults
- SERDES
-
Etc...
- Design for
performance
-
Velocidade
-
Área
-
Potência
-
Problemas de
Clocks
-
Problemas de
Reset
-
Sincronismo
-
Opções de Síntese
e PAR
Avaliação: prova
AULA 10) 11/10
- DSP para FPGA
- Aplicações
- Tecnologias
- DSP
- FPGA
- Comparações
- Desenvolvimento
- Métricas
- DSP vs FPGA
Avaliação: prova
Demais)
Projeto
Avaliação: projeto aberto. Filtro FIR serial, paralelo, FFT-16, DCT-16, qualquer outra sugestão viável...CORDIC...talvez...abs...deverá ser feito em VHDL