A system for calculating fast Fourier transforms includes a non-final stage
calculating means for repetitively performing in-place butterfly
calculations for n-1 stages as well as a final stage calculating means for
performing a final stage of butterfly calculations. The final stage
calculating means includes a first loop and a second loop. The first loop
performs a portion of the final stage butterfly calculations by iterating
on a table of first loop index values consisting of values that
bit-reverse into themselves. The first loop also includes control logic to
select inputs for groups of butterfly calculations based on the first loop
index values. The second loop performs a remaining portion of the final
stage butterfly calculations by iterating on a table of second loop index
value pairs consisting of two values that bit-reverse into each other. The
second loop includes control logic to select inputs for two groups of
butterfly calculations based on the two second loop index pair values
respectively.
Un système pour Fourier rapide calculateur transforme inclut une étape non-finale calculant des moyens d'exécuter répétitivement des calculs sur place de papillon pour les étapes n-1 aussi bien qu'une étape finale calculant des moyens d'exécuter une étape finale des calculs de papillon. L'étape finale calculant des moyens inclut une première boucle et une deuxième boucle. La première boucle exécute une partie des calculs de papillon d'étape finale en réitérant sur une table des premières valeurs d'index de boucle se composant des valeurs qui peu-renversé dans lui-même. La première boucle inclut également la logique de commande pour choisir des entrées pour des groupes de calculs de papillon basés sur les premières valeurs d'index de boucle. La deuxième boucle exécute une partie restante des calculs de papillon d'étape finale en réitérant sur une table des deuxièmes paires de valeur d'index de boucle se composant de deux valeurs qui peu-renversé dans l'un l'autre. La deuxième boucle inclut la logique de commande pour choisir des entrées pour deux groupes de calculs de papillon basés sur les deux seconde valeurs de paire d'index de boucle respectivement.