28.07.2009, 15:13
Hallo Allerseits,
wir setzen hier im Labor unter anderem 2 ADVANTECH-Devices USB-4716 zur Erfassung von EMG-Daten (ElektroMyoGraphie) ein. Das heißt die Daten werden an den je 16 Analog-Input-Kanälen (AI-Kanälen) parallel mit einem externen Trigger von 4000Hz abgetastet. Diese hohe Abtastfrequenz benötigen wir unter anderem wegen Fourieranalyse der digitalisierten EMG-Daten.
Dummerweise bin ich nicht in der Lage mit den von ADVANTECH gelieferten Beispielen eine LabVIEW-Applikation zu programmieren, mit der die EMG-Siganle an den oben genannten 32 AI-Kanälen über eine Zeit von 10 Minuten kontinuierlich, mit einer Abtastrate von 4kHz, erfasst und anschließend abgespeichert werden.
Der beigefügte Screenshot zeigt das Blockdiagramm des Acquire-N-ScansLoop.vi, das ich gemäß der ADVANTECH-Hilfe "Intermediate Analog Input VIs" nachprogrammiert habe. Dabei habe ich zur kontinuierlichen Erfassung der Daten "ADV AI Read.vi" in eine While-Loop gepackt.
Die Speicherung der digitalisierten Muskelspannungen (EMG) wäre nicht das Problem, da sie nach der kontinuierlichen Erfassung der digitalisierten Messwerte (hier Waveform) erfolgen kann. Der RAM-Speicher des notebooks hat ausreichend Größe zur kontinuierlichen Erfassung der Waveform-Data bzw. 2D-ASCII-Array. Mit "ADV AI Read.vi" können maximal 8192 Daten erfasst werden. Diese 8192 Datenwerte müssen nun in SHIFT-Registern der WHILE-Loop gespeichert werden. Die dazu notwendigen Operationen bremsen die Datenerfassung aus, da jeder (im uns zur Verfügung stehenden WINDOWS-System) ca. 1ms Arbeitszeit benötigt.
Es wäre schön, wenn hier jemand ein Beispiel-VI posten könnte, mit dem die kontinuierliche Datenerfassung mittels USB-4716 realisiert ist, bei externer Triggerung von 4kHz bzw. mindestens 2kHz. Auch für jeden Hinweis wie ich das oben geschilderte Problem mit "Bordmitteln" von LabVIEW lösen kann, bin ich sehr dankbar.
Vielen Dank für Eure Hilfe,
BeFu
P.S.: Aktuell nutzen wir hier im Labor LabVIEW 8.6
wir setzen hier im Labor unter anderem 2 ADVANTECH-Devices USB-4716 zur Erfassung von EMG-Daten (ElektroMyoGraphie) ein. Das heißt die Daten werden an den je 16 Analog-Input-Kanälen (AI-Kanälen) parallel mit einem externen Trigger von 4000Hz abgetastet. Diese hohe Abtastfrequenz benötigen wir unter anderem wegen Fourieranalyse der digitalisierten EMG-Daten.
Dummerweise bin ich nicht in der Lage mit den von ADVANTECH gelieferten Beispielen eine LabVIEW-Applikation zu programmieren, mit der die EMG-Siganle an den oben genannten 32 AI-Kanälen über eine Zeit von 10 Minuten kontinuierlich, mit einer Abtastrate von 4kHz, erfasst und anschließend abgespeichert werden.
Der beigefügte Screenshot zeigt das Blockdiagramm des Acquire-N-ScansLoop.vi, das ich gemäß der ADVANTECH-Hilfe "Intermediate Analog Input VIs" nachprogrammiert habe. Dabei habe ich zur kontinuierlichen Erfassung der Daten "ADV AI Read.vi" in eine While-Loop gepackt.
Die Speicherung der digitalisierten Muskelspannungen (EMG) wäre nicht das Problem, da sie nach der kontinuierlichen Erfassung der digitalisierten Messwerte (hier Waveform) erfolgen kann. Der RAM-Speicher des notebooks hat ausreichend Größe zur kontinuierlichen Erfassung der Waveform-Data bzw. 2D-ASCII-Array. Mit "ADV AI Read.vi" können maximal 8192 Daten erfasst werden. Diese 8192 Datenwerte müssen nun in SHIFT-Registern der WHILE-Loop gespeichert werden. Die dazu notwendigen Operationen bremsen die Datenerfassung aus, da jeder (im uns zur Verfügung stehenden WINDOWS-System) ca. 1ms Arbeitszeit benötigt.
Es wäre schön, wenn hier jemand ein Beispiel-VI posten könnte, mit dem die kontinuierliche Datenerfassung mittels USB-4716 realisiert ist, bei externer Triggerung von 4kHz bzw. mindestens 2kHz. Auch für jeden Hinweis wie ich das oben geschilderte Problem mit "Bordmitteln" von LabVIEW lösen kann, bin ich sehr dankbar.
Vielen Dank für Eure Hilfe,
BeFu
P.S.: Aktuell nutzen wir hier im Labor LabVIEW 8.6