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!
16.07.2010, 07:18 (Dieser Beitrag wurde zuletzt bearbeitet: 16.07.2010 07:19 von Matze.)
Ich habe einen Signalverlauf und möchte die Abtastfrequenz daraus ermitteln.
Versucht habe ich es über f = 1/dt (LabVIEW verunstaltet beim Exportieren die Anschlüsse etwas):
snip09
Nur komme ich so nie auf die Abtastrate, die eingestellt ist.
Um Rundungsfehler handelt es sich meiner Meinung nach nicht, da die Werte zu stark abweichen.
z.B. eingestellt: 1700 Hz, berechnet: 1724,14 Hz
Wie kann ich genau auf die 1700 Hz zurück rechnen?
Ich möchte den Wert mit dem vergleichen, den ich dem DAQmx-Timing-VI zuweise.
Zitat:Anzahl Samples pro Kanal gibt die Anzahl der zu lesenden Samples an. Wenn Sie diesen Eingang offen lassen oder auf -1 setzen, wird die Anzahl der Samples automatisch bestimmt, und zwar je nachdem, ob fortlaufend Samples erfasst werden sollen oder nur eine bestimmte Anzahl.
Bei der fortlaufenden Erfassung von Samples, liest das VI bei der Einstellung dieses Eingangs auf -1 alle Samples aus, die sich gerade im Puffer befinden.
Wenn mit dem Task eine bestimmte Anzahl von Samples erfasst wird und Sie diesen Eingang auf -1 setzen, wartet das VI bis zur Erfassung der angegebenen Anzahl von Samples und liest diese dann aus. Ist die Eigenschaft Alle verfügbaren Werte einlesen TRUE, liest das VI nur die Samples im Puffer aus und wartet nicht bis zum Eintreffen aller Samples.
Gruß SeBa
Dieser Beitrag soll weder nützlich, informativ noch lesbar sein.
Er erhebt lediglich den Anspruch dort wo er ungenau ist, wenigstens eindeutig ungenau zu sein.
In Fällen größerer Abweichungen ist es immer der Leser, der sich geirrt hat.
Rette einen Baum!
Diesen Beitrag nur ausdrucken, wenn unbedingt nötig!
ich möchte jedoch die Sample-Anzahl vorgeben beim Einlesen.
Aktuell ist es bei mir so:
Ich erstelle einen Task z.B. mit 50 Hz, 10 Samples (kontinuierlich).
Nun frage ich ab, welche minimale Frequenz die Karte unterstützt. Sind das z.B. 1,6 kHz, korrigiere ich die Sample-Anzahl automatisch auf ca. 320, da bei der Frequenz eine Sample-Anzahl von 10 schnell zum RAM-Überlauf führen würde (1600 * 10 / 50).
Beim Auslesen möchte ich überprüfen, ob die ankommenden Werte mit der Frequenz abgetastet wurden, die eingestell ist. Ist das nicht der Fall, sollen die Werte von 1,6 kHz auf 50 Hz herunter gesampled werden, damit ich ein 50 Hz-Signal erhalte.
1.) Zur Ermittlung der wahren Taktrate muß man weder die Waveforms analysieren, noch in Handbüchern nach Formeln suchen. Dafür gibt es im Eigenschaftsknoten "DAQmx Timing" die Eigenschaft "Sample Takt Rate" (lesend)
2.) Du bist hier grundsätzlich auf dem Holweg. Wenn sich eine eingegebene Taktrate außerhalb des Bereiches befindet, den die Karte kann, dann kommt es zum Fehler. Dann ist Fehlerbehandlung angesagt, und nicht Waveform-Untersuchung. Es kommt nämlich gar keine Waverform mehr heraus.