Impulsion transitoire
- Mise à jour2025-12-03
- Temps de lecture : 3 minute(s)
L'impulsion transitoire, ou glitching, fait référence à la génération d'un signal où une combinaison d'anciens et de nouveaux échantillons est générée lors du passage des anciens échantillons du buffer aux nouveaux (plutôt que de ne générer que les nouveaux échantillons). Cette situation peut survenir lors de la génération continue d'échantillons si l'attribut/propriété d'écriture Mode de regénération est défini à Autoriser la regénération. L'impulsion transitoire survient à l'écriture de nouveaux échantillons quand un sous-ensemble de ces nouveaux échantillons est généré puis qu'un sous-ensemble des anciens échantillons est généré car l'écriture des nouveaux échantillons n'est pas terminée. Une fois l'opération d'écriture terminée, seuls les nouveaux échantillons sont générés.
NI-DAQmx diminue le risque d'impulsion transitoire en assurant que l'écriture de nouveaux échantillons ne rattrape pas la génération. Cette protection contre les impulsions transitoires fonctionne en interrompant temporairement l'écriture jusqu'à ce que la totalité des échantillons générés soit en avance de plus d'un buffer sur la position d'écriture actuelle. Cependant, NI-DAQmx ne garantit pas que la génération ne rattrape pas les nouveaux échantillons en train d'être écrits. Dans ce cas, un signal transitoire (glitch) se produit et NI-DAQmx rapporte la mise en garde kWarningPotentialGlitchDuringWrite (erreur 200015). Les suggestions suivantes peuvent vous aider à éviter la génération de signaux transitoires :
- Écrivez les nouveaux échantillons qui ont presqu'un buffer d'avance sur la totalité des échantillons générés. En écrivant les nouveaux échantillons avec près d'un buffer d'avance sur la totalité des échantillons générés, il y a moins de risque que la génération rattrape les nouveaux échantillons qui sont en train d'être écrits. Si vous rafraîchissez tout le buffer en même temps, écrivez les nouveaux échantillons après avoir attendu que l'attribut/propriété nombre total d'échantillons générés soit un échantillon de plus qu'un multiple entier de la taille du buffer. Par exemple, si le buffer a une taille de 1000 échantillons, attendez que le nombre total d'échantillons généré soit 1001, 2001, 3001, et ainsi de suite, avant d'écrire de nouveaux échantillons.
- Augmentez la taille du buffer. Si la taille du buffer est plus grande, il y a moins de risque que la génération rattrape les nouveaux échantillons qui sont en train d'être écrits.
- Diminuez la fréquence de l'horloge d'échantillonnage. Si la fréquence de l'horloge d'échantillonnage est plus basse, il y a moins de risque que la génération rattrape les nouveaux échantillons qui sont en train d'être écrits.
Dans les graphes suivants, le signal sinusoïdal est généré à partir des anciens échantillons et le signal carré est généré à partir des nouveaux. Le premier graphe illustre l'impulsion transitoire.
Le second graphe illustre les mêmes signaux sans impulsion transitoire.