Verilog: FFT com comprimento de transformação de 32 K-Point

author-image

Por

Este exemplo descreve uma transformação fourier rápida de 32 K(FFT) usando o núcleo FFT Intel® FPGA propriedade intelectual (IP). O FFT é um algoritmo de transformação de Fourier (DFT) discreto que reduz o número de computação necessária de O(N2) para O(NlogN) por decomposição. A DFT de uma sequência x(n) é dada pela seguinte equação:

Equation for the DFT of a sequence x(n)onde k = 0, 1, ... N-1 e N é o comprimento da transformação.

Neste exemplo de projeto, o comprimento da transformação, N, é 32768. Usando o método de dizimação no tempo (DIT), o projeto divide a sequência de entrada em amostras estranhas e até mesmo que se alimentam dos dois blocos FFT individuais de 16 K-point implementados em paralelo usando o núcleo FFT Intel FPGA IP. Os resultados do núcleo Intel FPGA IP FFT são recombinados e reordenados para obter a saída FFT final. Isso é mostrado na Figura 1. Semelhante ao núcleo de Intel FPGA IP FFT, o exemplo de design usa interfaces de entrada e saída compatíveis com a Atlantic.

Baixe os arquivos usados neste exemplo:

O uso deste design é regido e sujeito aos termos e condições do Contrato de licença de design de referência de hardware da Intel® Hardware .

Os arquivos no zip download incluem:

  • fft_32K.v — arquivo de projeto de alto nível que implementa o FFT de 32 K-point
  • parse_fft_input.v — reordena a amostra de entrada em amostras ainda e ímpares para se alimentar nos dois blocos FFT menores de 16 K-point
  • fft_small.v — arquivo Wrapper gerado pelo arquivo FFT Intel FPGA IP. O núcleo é configurado para implementar o comprimento de transformação de 16K e usa a estrutura de fluxo de dados de E/S de transmissão.
  • combine_fft.v — recombine a saída dos blocos FFT individuais de 16 K-point usando os fatores de twiddle apropriados
  • fft_32K_streaming_tb.v — Testbench para simulação de RTL
  • fft_32K_streaming_vo_msim.tcl — script TCL para automatizar o processo de simulação de RTL no software ModelSim-Intel FPGA
  • fft_32K_tb.m — modelo MATLAB para verificar os resultados da simulação de RTL

A Figura 1 mostra o diagrama de alto nível do exemplo de projeto FFT de 32 K.

Figura 1. Diagrama de alto nível do design FFT de 32 K-Point.

A Tabela 1 lista as portas e fornece uma descrição para cada uma.

Links relacionados

Para obter mais informações sobre recursos relacionados usados neste exemplo de projeto em seu projeto, acesse:

O conteúdo desta página é uma combinação de tradução humana e por computador do conteúdo original em inglês. Este conteúdo é fornecido para sua conveniência e apenas para informação geral, e não deve ser considerado completo ou exato. Se houver alguma contradição entre a versão em inglês desta página e a tradução, a versão em inglês prevalecerá e será a determinante. Exibir a versão em inglês desta página.