Verilog: FFT con longitud de transformación de punto de 32K

author-image

Por

Este ejemplo describe una transformación rápida de Fourier (FFT) de 32K con el núcleo FFT Intel® FPGA propiedad intelectual (IP). El FFT es un algoritmo discreto de transformación de Fourier (DFT) que reduce la cantidad de computación necesaria de O(N2) a O(NlogN) por la degradación. El DFT de una secuencia x(n) se da mediante la siguiente ecuación:

Equation for the DFT of a sequence x(n)donde k = 0, 1, ... N-1 y N son la longitud de la transformación.

En este ejemplo de diseño, la extensión de transformación, N, es 32768. Utilizando el método de diezmación en tiempo (DIT), el diseño divide la secuencia de entrada en muestras extrañas e incluso que se alimentan en dos bloques FFT individuales de 16K punto implementados en paralelo utilizando el núcleo FFT Intel FPGA IP. Los resultados del núcleo de Intel FPGA IP FFT se recombinan y reordenan para obtener el resultado final de FFT. Esto se muestra en la Figura 1. Al igual que el núcleo de Intel FPGA IP FFT, en el ejemplo de diseño se utilizan interfaces de entrada y salida compatibles con La 10.

Descargue los archivos utilizados en este ejemplo:

El uso de este diseño se rige por los términos y condiciones del Contrato de licencia de diseño de referencia de hardware de Intel® .

Los archivos de la descarga zip incluyen lo siguiente:

  • fft_32K.v: Archivo de diseño de nivel superior que implementa la FFT de 32K de puntos
  • parse_fft_input.v: reordena la muestra de entrada en muestras pares e impares para alimentarlos en dos bloques FFT más pequeños de punto de 16 K
  • fft_small.v: archivo contenedor generado por la Intel FPGA IP FFT. El núcleo está configurado para implementar la longitud de transformación de 16 K, y utiliza la estructura de flujo de datos de E/S de transmisión.
  • combine_fft.v: Recombina la salida de los bloques FFT individuales de punto de 16K utilizando los factores de twita elote adecuados.
  • fft_32K_streaming_tb.v: Testbench para simulación de RTL
  • fft_32K_streaming_vo_msim.tcl: script de TCL para automatizar el proceso de simulación de RTL en el software ModelSim- Intel FPGA
  • fft_32K_tb.m: modelo de MATLAB para verificar los resultados de la simulación RTL

La Figura 1 muestra el diagrama de nivel superior del ejemplo de diseño FFT de punto de 32K.

Figura 1. Diagrama de nivel superior del diseño FFT de punto 32K.

La Tabla 1 enumera los puertos y ofrece una descripción de cada uno.

Enlaces relacionados

Para obtener más información sobre las características relacionadas que se utilizan en este ejemplo de diseño en su proyecto, vaya a:

El contenido de esta página es una combinación de la traducción humana y automática del contenido original en inglés. Este contenido se ofrece únicamente para su comodidad como información general y no debe considerarse completa o precisa. Si hay alguna contradicción entre la versión en inglés de esta página y la traducción, prevalecerá la versión en inglés. Consulte la versión en inglés de esta página.