INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

verzögerte Signalausgabe



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

29.01.2015, 11:35 (Dieser Beitrag wurde zuletzt bearbeitet: 29.01.2015 11:38 von GerdW.)
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: verzögerte Signalausgabe
Hallo Heribert,

erst einmal etwas simple Mathematik: Zeit zum Lesen eines Datenblocks = Blockgröße/Frequenz

Deine Beispiele:
10 Werte/ 500Hz = 20ms
2 Werte/1000Hz = 2ms
100 Werte/1000Hz = 100ms

ABER: Zu diesen Zeiten zum Messen der Samples addiert (oder besser: überlagert) sich der Aufwand zum Kopieren der Werte in dein Programm (Hardware-Treiber+Software-Layer…). Dieser Aufwand ist relativ konstant und unabhängig von der Blockgröße. Ich würde ihn mal auf ca. 5ms schätzen.
UND: Du hattest noch eine zusätzliche Wartezeit in deinem VI von 20ms. Auch diese stört dich hier.

Was passiert nun?
Du versuchst z.B. jeweils 2 Werte bei einer Samplerate von 1kHz zu lesen. Damit ist der Aufwand zum Abholen der Messwerte größer als der für die eigentliche Messung: es staut sich ein Buffer mit Messwerten auf, die du immer stärker zeitverzögert abholst. Wenn du lang genug wartest, wird es auch noch einen Buffer-Overflow-Fehler geben. Um im Beispiel zu bleiben: die reine Messzeit dauert 2ms, deine Schleife braucht aber 20ms (wg. der Wartezeit) zum Lesen der Daten: Faktor 10 zu langsam!

Noch einmal:
Zitat:Ganz allgemeine Daumenregel: man liest Daten in 0.1s-Blöcken ein. Bei einer Samplerate von 20kHz bedeutet das eine Blockgröße von 2000 Samples…

Noch ein Tipp:
Wenn es auf möglichst gute Ausnutzung der Rechenkapazität deines PCs ankommt (z.B. wg. größerer Datenmengen und aufwendiger Signalaufbereitung), dann bietet sich immer eine Entkopplung von DAQ-Schleife und Datenverarbeitung durch Queues an!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Nachrichten in diesem Thema
verzögerte Signalausgabe - Heribert - 28.01.2015, 15:27
RE: verzögerte Signalausgabe - GerdW - 28.01.2015, 15:40
RE: verzögerte Signalausgabe - GerdW - 29.01.2015 11:35
RE: verzögerte Signalausgabe - GerdW - 30.01.2015, 09:27

Gehe zu: