250 likes | 386 Views
Transformada Rápida de Fourier para FPGA. Aluno: Arthur Umbelino Alves Rolim(auar@cin.ufpe.br) Orientador: Manoel Eusébio de Lima(mel@cin.ufpe.br). Roteiro. FFT FloPoCo Trabalho realizado Test Bench Complex Adder Complex Multiplier Butterfly Butterfly (1,0) Butterfly (0,-1) FFT8
E N D
Transformada Rápida de Fourierpara FPGA Aluno: Arthur Umbelino Alves Rolim(auar@cin.ufpe.br) Orientador: Manoel Eusébio de Lima(mel@cin.ufpe.br)
Roteiro • FFT • FloPoCo • Trabalho realizado • Test Bench • Complex Adder • Complex Multiplier • Butterfly • Butterfly (1,0) • Butterfly (0,-1) • FFT8 • Trabalho a ser realizado
Fast Fourier Transform(FFT) • Maneira mais eficiente de calcular um DFT com complexidade O(nlogn ) • Domínio do Tempo -> Domínio da Freqüência • Uma família de algoritmos • Cooley-Tukey • Prime-factor • Bruun's • Rader's • Bluestein's
Fast Fourier Transform(FFT) Extensivamente utilizada em várias aplicações de DSP Análise de espectro Convolução de alta-velocidade (filtro linear) Detecção e estimativa de sinais Identificação de sistemas Compressão de áudio Síntese de modelo espectral de som
Radix-2 FFT • Diagrama Borboleta DIF(Decimation in Frequency) DIT(Decimation in Time)
FloPoCo (Floating-Point Cores) • Gerador de cores aritméticos em VHDL com opções de: • Frequência • Fabricante do FPGA( Altera ou Xilinx ) • Pipeline • Uso ou não de blocos DSP • Padrão IEEE e LNS (logarithm number system) • Implementa todas as operações(+,*,/,sqr) • Parametrizada( tamanho de expoente e mantissa variáveis ) • Tratamento de exceções(+∞,-∞,NaN)
Trabalho realizado • Implementação dos algoritmos de DFT e FFT em C++ • Construção do modelo de referência em SystemC • Testes na biblioteca FloPoCo • Construção dos blocos básicos da FFT no FPGA • Geração de test benchs • Construção da FFT
Test bench Modelo de Referência C++ Comparador Relatório Saída Saída Entrada Simulador HDL
a + real c b + imag d Complex Adder
Relatório de Síntese Complex Adder • 32 bits • 64 bits Frequência 303.538MHz Frequência 304.095MHz
a x c + real b x d a x d + imag b x c Complex Multiplier
Relatório de Síntese Complex Multiplier • 32 bits • 64 bits Frequência 173.136MHz Frequência 125.653MHz
Complex Adder Complex Adder Complex Mult ButterFly
Relatório de Síntese Butterfly • 32 bits • 64 bits Frequência 173.136MHz Frequência 125.653MHz
Complex Adder Complex Adder ButterFly (1,0)
Relatório de Síntese Butterfly (1,0) • 32 bits • 64 bits Frequência 303.538MHz Frequência 304.095MHz
Complex Adder Complex Adder Change ButterFly (0,-1)
Relatório de Síntese Butterfly (0,-1) • 32 bits • 64 bits Frequência 303.538MHz Frequência 304.095MHz
Relatório de Síntese FFT8 32 bits • Normal • Otimizado Frequência 162.633MHz Frequência 172.662MHz
Relatório de Síntese FFT8 64 bits • Normal • Otimizado Frequência 126.276MHz Frequência 172.662MHz
Trabalho a ser realizado • Finalizar implementação de um case para validação • Finalizar escrita da dissertação