le 05-21-2014 04:21 AM
Bonjour je suis étudiant en CPGE TSI et dans le cadre de mon TIPE, j'utilise labview 2012 SP1 avec la carte d'acquisition USB-6008. je suis novice avec ce logiciel, donc ne vous moquez pas de mon incompétence 🙂
ce que j'aimerais faire :
capter un son par micro et regénérer ce signal mais en opposé dans un haut parleur
ce que je fais :
je branche mon micro sur l'entrée différentielle ai0- et ai0+ et mon haut parleur sur la sortie ao1 et sur GND.
au niveau logiciel, j'utilise l'assistant DAQ sur l'entrée utilisée, je relie les données à un bloc "opposé" puis le résultat est injecté dans un assistant DAQ de sortie, sur la sortie a01.
mes problèmes :
lorsque je tente d'éxectuer en continu, j'ai l'erreur suivante: le nombre de voie en entrée (100) ne correspond pas au nombre de voie en sortie (1) 
après un test, je me suis rendu compte que le terme "voie" fait référence au nombre d'échantillon de mon échantillonnage du signal d'entrée.
l'assistant de sortie m'oblige à rester sur 1 échantillon (sur demande) sinon il parle d'un erreur dans le cadencement de l'horloge que je n'arrive absolument pas à corriger.
je change donc l'échantillonnage d'entrée sur 1 échantillon (sur demande) pour régler ce problème, seulement une autre erreur survient, plus compréhensible:
la sortie sélectionnée ne peut générer qu'un signal 0-5v alors que mon signal d'entrée peux avoir des valeurs négatives, vu que c'est un son. je n'arrive alors pas à m'en sortir.
pour tester si le logiciel fonctionnait tout de même, j'ai simulé une sinusoïde d'amplitude de 2v et d'offset 2.5v à 1000Hz et ai tenté de la faire sortir sur ma sortie a01. seulement je n'entend rien du tout et ne voit même pas de signal à l'oscilloscope. pourtant je ne devrais avoir aucun problème logiquement.
Je m'en remet donc à vous, experts en Lbview, pourriez vous m'aider à résoudre mes problèmes svp ?
je joins à ce message mon VI si vous voulez jeter un coup d'oeil.
Merci beaucoup d'avance pour vos réponses !
le 05-22-2014 03:38 AM
Bonjour GladOS,
Plusieurs choses :
1. L'exécution en continu est réservé à des fins de pur debugging, il n'est pas recommandé de l'utiliser pour une exécution (sinon, comment le programme pourra s'exécuter lorsqu'il sera converti en exécutable ?), il faut donc utiliser une boucle While.
2. Le terme "voie" correspond dans ton cas bel et bien à une voie physique
3. Pour de l'acquisition audio il FAUT bufferiser les données, Windows n'est pas capable d'aller chercher un échantillon toutes les 22,7µs (1/44000)
Donc, l'exemple : https://decibel.ni.com/content/docs/DOC-26326 est un premier pas, notamment pour l'acquiistion, ensuite il te faudra placer un VI "DAQmx Write" en lieu et place du "DAQmx Is Task Done ?".
Tiens nous informés !
le 05-27-2014 03:20 AM
Des nouvelles ? As-tu pu avancer ?
le 05-27-2014 06:12 AM
et bien à vrai dire je n'ai pas compris grand chose à la solution que tu m'as proposée, et vu la complexité du schéma, je me suis dit que ce n'était pas vraiment intéressant pour mon concours de passer trop de temps sur un schéma trop complexe, qui me limiterait de toute façon dans ma présentation.
donc pour l'instant je me suis tourné vers d'autres expériences plus simple à mettre en oeuvre, mais si jamais une solution plus simple est possible, je veux bien prendre 🙂 (mais je doute que ce soit possible vu ta première réponse)