Une voie, un échantillon
- Mise à jour2023-02-17
- Temps de lecture : 6 minute(s)
Une voie, un échantillon
Calcule la transformée de Fourier rapide (FFT) du signal en entrée point par point.
Entrées/Sorties

réinitialisation
Une valeur booléenne spécifiant s'il faut réinitialiser l'état interne du nœud.
| Vrai | Réinitialise l'état interne du nœud. |
| Faux | Ne réinitialise pas l'état interne du nœud. |
Default value: Faux
Comportement avec les entrées et les sorties de handshake
Les entrées et les sorties de handshake se comportent de la façon suivante pendant les cycles où réinitialisation est Vrai :
- entrée valide est ignorée.
- prêt pour la sortie est ignoré.
- sortie valide est Faux.
- prêt pour l'entrée est Faux, ce qui gère les cas où réinitialisation est maintenu Vrai pendant plus d'un cycle. Ce nœud est prêt pour les entrées une fois la réinitialisation terminée et que réinitialisation renvoie Faux.

données en entrée
Signal en entrée pour lequel vous voulez calculer la FFT.
Cette entrée accepte les types de données suivants :
- entier signé 8 bits
- entier non signé 8 bits
- entier signé 16 bits
- entier non signé 16 bits
- entier signé 32 bits
- nombre à virgule fixe
- nombre complexe à virgule fixe
La longueur de mot maximale pour cette entrée est de 32 bits.

entrée valide
Valeur booléenne qui décrit si le prochain élément de données est arrivé pour être traité. Câblez la sortie sortie valide d'un nœud en amont à cette entrée pour transférer des données du nœud en amont à ce nœud-ci.
| Vrai | Le prochain élément de données est arrivé pour être traité. |
| Faux | Le prochain élément de données n'est pas arrivé pour être traité. |

prêt pour la sortie
Valeur booléenne qui définit si les nœuds en aval sont prêts à ce que ce nœud-ci renvoie une nouvelle valeur. Utilisez un nœud de rétroaction pour câbler la sortie prêt pour l'entrée d'un nœud en aval à cette entrée du nœud actuel.
| Vrai | Les nœuds en aval sont prêts à ce que ce nœud-ci renvoie une nouvelle valeur. |
| Faux | Les nœuds en aval ne sont pas prêts à ce que ce nœud-ci renvoie une nouvelle valeur. |
Default value: Vrai

données en sortie
FFT du signal en entrée.
La longueur de mot maximale du résultat de la DFT est 32 bits.
Personnaliser la longueur de mot de la FFT
En général, la longueur de mot de la FFT est log2 (N)+1 bits de plus que les données en entrée, N étant la taille de la FFT. Vous pouvez personnaliser la longueur de mot de la FFT en cliquant sur le bouton Configurateur de complexes à virgule fixe à côté de la commande Précision dans la section Terminaux de l'onglet Élément.
Diminuer la longueur de mot de la sortie réduit l'utilisation des ressources FPGA mais réduit aussi la précision. NI vous conseille de simuler une configuration donnée pour vérifier que la précision obtenue répond à vos besoins de ressources FPGA et de cadencement.

Indice des données
Indice de l'intervalle FFT que ce nœud retourne.
Default value: 0

sortie valide
Valeur booléenne qui indique si ce nœud calcule un résultat qui peut être utilisé par les nœuds en aval.
Câblez cette sortie à l'entrée entrée valide d'un nœud en aval pour transférer les données du nœud au nœud en aval.
| Vrai | Les nœuds en aval peuvent utiliser le résultat que ce nœud calcule. |
| Faux | Ce nœud renvoie une valeur non définie que les nœuds en aval ne peuvent pas utiliser. Remarque Ce nœud peut renvoyer des valeurs non définies différentes selon qu'il s'exécute en mode simulation ou sur du matériel. |

prêt pour l'entrée
Valeur booléenne qui détermine si ce nœud est prêt à accepter de nouvelles données en entrée. Utilisez un nœud de rétroaction pour câbler cette sortie à l'entrée prêt pour la sortie d'un nœud en amont.
| Vrai | Ce nœud est prêt à accepter de nouvelles données en entrée. |
| Faux | Ce nœud n'est pas prêt à accepter de nouvelles données en entrée. |
Diagramme de cadencement
Le débit de transfert de ce nœud est d'un cycle par échantillon, ce qui signifie que ce nœud accepte des données à chaque fois qu'il est appelé. Le diagramme suivant montre le cadencement utilisé par ce nœud.
Éviter la perte de données pendant le calcul de la FFT
Ce nœud n'accepte pas et ne renvoie pas de valeurs lors du calcul de la FFT. Pendant ce temps, si le système ou un autre nœud lui envoie des données, il les rejette. Cela peut se produire si ce nœud reçoit des données dans le cadre d'un modèle complexe ou non uniforme.
Pour éviter les pertes de données, créez une FIFO pour conserver les données jusqu'à ce que ce nœud accepte de nouveau des valeurs. Assurez-vous que la FIFO que vous créez est suffisamment grande pour contenir tous les points de données collectés pendant que le nœud calcule la FFT. Pour estimer grossièrement la taille de la FIFO que vous devez créer, divisez la latence de ce nœud par le débit moyen du système. La latence se trouve à la section Performances de l'onglet Elément du panneau de configuration.
Optimisation de la précision, de l'utilisation des ressources ou du cadencement
Vous pouvez configurer ce nœud pour optimiser la précision, minimiser l'utilisation des ressources ou optimiser le cadencement dans la section Optimisation de l'onglet Élément du panneau de configuration.
Dans la section Objectif, vous pouvez configurer ce nœud pour optimiser la précision des données renvoyées ou minimiser l'utilisation des ressources lors de la détermination des longueurs de mots des données renvoyées. Le tableau suivant vous aide à choisir l'option appropriée pour votre cas.
| Cas d'usage | Option recommandée | Comportement du nœud | Résultat |
|---|---|---|---|
| Vous voulez optimiser la précision des derniers bits des données en sortie, même si cela augmente l'utilisation des ressources FPGA. | Précision | Ce nœud étend la longueur de mot des données en entrée à la longueur de mot en sortie en remplissant de zéros. Toutes les opérations de multiplication complexes internes utilisent cette longueur de mot. | Comparés à l'option Utilisation des ressources, les multiplieurs complexes conservent plus de bits, et ces log2(N)+1 bits dans les données en sortie sont plus précis. |
| Vous voulez réduire l'utilisation des ressources FPGA même si les données en sortie seront moins précises. | Utilisation des ressources | Ce nœud augmente la longueur de mot, étape par étape, de l'entrée à la sortie. Par conséquent, la largeur de bits des multiplieurs complexes augmente également étage par étage. | Les largeurs de bits des multiplieurs complexes et des registres internes sont plus petites qu'avec l'option Précision, ce qui réduit l'utilisation des ressources FPGA et peut augmenter la fréquence d'horloge FPGA au moment de la compilation. |
Si vous avez configuré l'objectif d'optimisation de ce nœud mais qu'il ne répond toujours pas à vos besoins de précision, de ressources ou de cadencement, vous pouvez ajuster les valeurs de Longueur de mot du twiddle factor et de Nombre d'étages de pipeline du papillon pour améliorer les performances du nœud.