LabVIEWForum.de
AI und Ausgabe über Soundkarte synchronisieren - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenerfassung (DAQ) (/Forum-Datenerfassung-DAQ)
+---- Thema: AI und Ausgabe über Soundkarte synchronisieren (/Thread-AI-und-Ausgabe-ueber-Soundkarte-synchronisieren)



AI und Ausgabe über Soundkarte synchronisieren - Bil_Bomba - 27.05.2008 13:04

Hallo

Zuerst mal zu meiner Vorgabe:
Ich will mit einem NI USB-6009 eine analoge Spannung einlesen (1kHz Samplingrate), diese durch ein Filter laufen lassen, und dann wieder über sie Soundkarte ausgeben.
mein vi sieht man am ersten bild im anhang.

nun funktioniert das ding am anfang ganz gut, und bei änderungen am eingang hört und sieht man das auch gleich. je länger das ganze läuft, je ruckeliger wird die grafik aktualisiert, und je länger dauert es, bis man eine änderung des eingangsignals auch hört.
an der Schleifendauer und der Ausgabezeit (siehe anhang) sieht man, das die schleifendurchlaufsdauer auf grund der gestiegenen ausgabe zeit steigt. bis schließlich beim einlesen ein timeout auftritt.

ich hab mir jetzt zusammengereimt, das da wohl die ausgabe samplingrate etwas kleiner ist, als die beim einlesen, wodurch mehr daten gelesen werden, als ausgegeben werden, bis schließlich der buffer im USB-6009 mal voll ist.
nun hab ich schon dein Audio timeout (siehe anhang) auf 0 gestezt, was dazu führen sollte, dass der blockdiagrammablauf schon wärend der audioausgabe fortgesetzt werden sollte. leider ist das aber nicht so.

wie kann ich es also schaffen, das das USB-6009 mit eder soundkarte synchronisiert wird, oder zumindest nicht auf die soundausgabe gewartet wird?

mfg Mike


AI und Ausgabe über Soundkarte synchronisieren - jg - 28.05.2008 11:08

1. Wie groß ist die History deines Charts? Mglw./Wahrscheinlich muss LV da mit der Zeit zu oft Speicher allozieren, dann wirds langsam.

2. Wandle mal das DAQmx-Task in LV-Code und hau alles, was mit Initialisierung zu tun hat, außerhalb der While-Schleife. Mglw. hängt da in deinem Task noch Initialisierung für AI drin, und das wird bei jedem Durchlauf bei dir unnötigerweise gestartet.

MfG, Jens