LabVIEWForum.de - Input auf Output direkt ausgeben - PXIe-6259 - viel zu LANGSAM

LabVIEWForum.de

Normale Version: Input auf Output direkt ausgeben - PXIe-6259 - viel zu LANGSAM
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

ich habe ein Problem, an dem ich mir schon die ganze Woche die Zähne ausbeiße.

Ich möchte ein gemessenes Signal einlesen und direkt, mit möglichst niedriger Latenz, wieder ausgeben. Leider erreiche ich mit meinem Programm lediglich 10 kHz Sampling-Frequenz. Ich benötige aber 40 kHz oder mehr.

Habe inzwischen alles mögliche ausprobiert. Mit und ohne Queue, interner vs. externer Sample-Takt... und noch vieles mehr. Kurzum, ich komme nicht über ca. 10 kHz.

Ein weiterer Effekt ist, dass die tatsächliche Samplingfrequenz immer viel niedriger ist als die eingestellte. Eine sinnvolle Implementierung von Filtern ist somit auch hinfällig. Sad

Habe auch schon die Beispiele "Multi-Function-Synch- AI-AO.vi" und "Simultaneous Sound IO.vi" betrachtet. Wirklich was gebracht hat es nicht.

Weiß jemand, warum keine höhere Samplingfrequenz erreicht wird und warum eingestellte und tatsächliche Samplingfrequenz voneinander abweichen???

Vielen Dank,
Thomas
Wie sieht der Rest deiner Hardware/Software aus?
Wo steckt die PXIe-Karte drin?
Auf welcher Software-Plattform hast du das VI laufen? Windows? RT?

Gruß, Jens
Es läuft auf einem PXIe-1071 System mit Dual-Core-Celeron und RT-System.

Grüße!
Gut, RT-System, das erklärt dein RT-Wait-VI.

Trotzdem hast du immer noch einen DAQmx-Treiber, der dir die eingelesenen Werte erst einmal gepuffert liefern muss, und dann auch wieder gepuffert rausschreiben muss.

Ich habe jetzt etwas länger mit deinem VI (natürlich nur mit einer simulierten Karte und unter Windows) herumgespielt, und selbst da lief die Schreibschleife immer zu langsam.

Nach Ansicht von Bsp aus dem NI-Examplefinder habe ich für das Write-Task einmal die Position des Start-VI verschoben, und schon war dieser Effekt weg.

Anbei das abgeänderte VI, das ich auch so umgestellt habe, dass die Lese-Schleife immer genau dieselbe Anzahl von Werten ausliest. Damit hast du schon fast genau denselben Takt wie per Wait-VI.

Schau mal, wie es damit unter RT unter realer Hardware aussieht.

Gruß, Jens
Referenz-URLs