Discussions au sujet de NI LabVIEW

annuler
Affichage des résultats de 
Rechercher plutôt 
Vouliez-vous dire : 

acquisition de donnée a partir du module NI 9205

Résolu !
Accéder à la solution
Solution
Accepté par etiouboss

Bonjour,

 

Je confirme que vous devriez utiliser la fonction "décimer un tableau 1D" car votre code FPGA intercale les échantillons des 3 signaux dans la FIFO, mais pour que cela fonctionne votre boucle de lecture coté RT doit récupérer des paquets dont la taille est un multiple du nombre de signaux, sinon vous mélangez les échantillons entre vos trois signaux.

 

Hors dans votre dernier message on voit que vous récupérez des paquets de 2000 échantillons qui n'est pas un multiple de 3. Vous devriez essayer avec 2100 échantillons par lecture, la fonction "décimer" vous sortira alors 3 tableaux de 700 échantillons pour chacun de vos signaux.

 

Le Wait dans votre boucle de lecture ne sert à rien car votre boucle est déjà cadencée par le timeout du FIFO Read.

Yohann L.
0 Compliments
Message 21 sur 35
2 166 Visites

Bonjour, merci de votre aide. J'ai trouvé un exemple sur le net ce matin. Je l'ai mis en piece jointe pour que vous le voyez., Pensez vous que le programme de l'exemple puisse fonctionner ? Si oui, pour le nombre d'élément, est-ce que je remplace le controle '' Samples to read per channel'' par une constante ? d'ailleur je ne suis pas sur que cela soit un controle ou un indicateur ?

0 Compliments
Message 22 sur 35
2 147 Visites
Solution
Accepté par etiouboss

Cela devrait fonctionner oui.

 

Pour le controle '' Samples to read per channel'' c'est à vous de voir en fonction du contexte de votre programme. Personnellement j'enlèverais le Wait. C'est le  '' Samples to read per channel'' qui conditionnera la vitesse de la boucle. A vous de bien ajuster ce paramètre en fonction de la fréquence d'échantillonnage de votre boucle FPGA.

Yohann L.
Message 23 sur 35
2 134 Visites

Bonjour, j'arrive maintenant a avoir les résultats souhaiter, merci beaucoup

J'aurais cependant juste une question, je cherche la fréquence de chaque signaux avec la boite single tones information (voir capture), j'obtien ''24.00 m'', savez vous a quoi correspondrais le ''m'' sur mon resultat  ? Le résultat est sencé etre donné en hertz et mon générateur sort des signaux de 1 Khz.

Tout télécharger
0 Compliments
Message 24 sur 35
2 122 Visites

bonjour, j'ai pu terminer l'acquisition, j'aurais une nouvel question svp.

apres l'acquisition de 3 signaux ,je cherche a obtenir la fréquence de chaque signal. J'ai connecté la boite '' single tones information '' a la sortie de l'index arrray qui me donne respectivement chaque signal(voir capture). Je pense que le '' single tones information ''me sort la bonne amplitude mais pour la phase et la frequence, je ne suis pas sure. Comme résultat de frequence, j'obtien ''24.00 m'' ce qui ne me semble pas correcte. Savez vous a quoi correspondrais le ''m'' sur mon resultat  ?

Le résultat est sencé etre donné en hertz et mon générateur sort des signaux de 1 Khz.

Aussi, est-ce que vous pensez a un autre moyen pour obtenir la frequence de chaque signal ?

Tout télécharger
0 Compliments
Message 25 sur 35
2 097 Visites

Bonjour,

 

L'entrée de la fontion ''extract single tone information'' est un type waveform data. Cest un cluster qui comprend 3 éléments: t0, dt et un tableau Y.

 

Tu peux regarder les détails sur ce lien:

http://digital.ni.com/public.nsf/allkb/B965F316364DE17B862572DF00363B10

 

Donc, si tu veux que cette fonction puisse trouver la fréquence correcte, il faudrait lui donne la valeur correcte en ''dt".

 

La lettre ''m'' signifie milli.

 

Je te donne un exemple en simulation.

 

J'espère que ça t'aidera.

 

Lily

0 Compliments
Message 26 sur 35
2 070 Visites

Encor une fois le fichier vi fait bugger mon labview, il est mieux de me l'envoyer en capture d'écran svp,

Sinon la valeur de t0 est sencé etre une constante 0 ?

Pour dt je ne suis pas sur de comprendre ce qu'il signifie. Si pour un signal donnée, mon nombre d'echantillon est de 1000 et que la frequence au generateur est de 1000 hz, quel devrait etre mon dt ?

0 Compliments
Message 27 sur 35
2 051 Visites

Bonjour,

extrait frequency.png

extrait frequency.png

Je vous ai donné le lien pour que vous puissiez de comprendre le dt.

dt

A double numeric that describes the difference in time in milliseconds between each sample in the signal

 

Le t0 n'est pas important pour calculer la fréquence, c'est le temps de démarrage.

 

L'example que vous avez donné, le dt=1ms. T=1/f, f=1000Hz, T=1ms.

 

Bien à vous.

 

Lily

0 Compliments
Message 28 sur 35
2 045 Visites

Dans votre programme, je ne vois pas t0, ai-je besoin de t0 ? aussi les valeurs dans la boite ''single tone information'' sont données en date et non en seconde, comment pourrais-je faire la conversion ?

0 Compliments
Message 29 sur 35
2 041 Visites
Solution
Accepté par etiouboss

Bonjour,

 

t0, tu peux l'ignorer, c'est le temps de démarrage.

 

C'est le ''dt'' qui est important pour le calcul de fréquence, il est en seconde comme unité.

 

Bien à vous.

 

Lily

Message 30 sur 35
2 038 Visites