12.07.2010, 18:55
Beitrag #1
|
Matze
LVF-Team
Beiträge: 1.027
Registriert seit: Apr 2010
20xx
2010
DE_EN
7xxxx
Deutschland
|
Wie Anzahl der Messwerte verringern (Performance)?
Hallo zusammen,
ich kann Messwerte mit 1,6 kHz oder höher einlesen. Mir genügen jedoch z.B. 50 Hz. D.h. ich habe wahnsinnig viele Messwerte, die ich nicht benötige und die natürlich die Rechenzeit und den Speicherbedarf erhöhen.
Wie kann ich die Messwerte (= Signalverlauf) effizient verringern?
Ich dachte an den manuellen Weg über Array-Funktionen. Nur weiß ich nicht, was sich da anbietet. Ich könnte überflüssige Werte löschen, aber auch ein neues Array mit den relevanten Werten zusammen bauen.
Das folgende Blockdiagramm zeigt, was ich meine (ungetestet):
Hier gibt es auch die Möglichkeit zwischen den VIs "Array erstellen" oder "In Array einfügen".
Im Endeffekt kann ich das gezeigte Blockdiagramm mit beiden VIs lösen. Nur wie macht man es schnell?
Grüße
|
|
|
12.07.2010, 20:01
Beitrag #2
|
|
|
12.07.2010, 20:01
(Dieser Beitrag wurde zuletzt bearbeitet: 12.07.2010 20:04 von dimitri84.)
Beitrag #3
|
dimitri84
Astronaut
Beiträge: 1.496
Registriert seit: Aug 2009
2020 Developer Suite
2009
DE_EN
53562
Deutschland
|
Wie Anzahl der Messwerte verringern (Performance)?
' schrieb:ich kann Messwerte mit 1,6 kHz oder höher einlesen. Mir genügen jedoch z.B. 50 Hz.
Was ist denn das Problem, wenn du direkt 'ne Abtastrate von 50 Hz einstellst? Ne bestimmte Karte im Sinn?
Ansonsten nehme ich für sowas dieses VI.
Gruß dimitri
Edit: Boah, nur mit der linken Hand tippen nervt .... SeBa war schneller.
„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
|
|
|
12.07.2010, 20:03
Beitrag #4
|
Matze
LVF-Team
Beiträge: 1.027
Registriert seit: Apr 2010
20xx
2010
DE_EN
7xxxx
Deutschland
|
Wie Anzahl der Messwerte verringern (Performance)?
Wie geschrieben, kann ich nur mit min. 1,6 kHz einlesen (NI 9237).
Das VI schaue ich mir an, danke.
|
|
|
12.07.2010, 20:07
Beitrag #5
|
|
|
12.07.2010, 20:44
(Dieser Beitrag wurde zuletzt bearbeitet: 12.07.2010 20:46 von Matze.)
Beitrag #6
|
Matze
LVF-Team
Beiträge: 1.027
Registriert seit: Apr 2010
20xx
2010
DE_EN
7xxxx
Deutschland
|
Wie Anzahl der Messwerte verringern (Performance)?
' schrieb:Wieso? Wo steht das? Was klappt da nicht?
Die Karte packt eben nur 1,6 kHz bis 50 kHz. Frag mich nicht, wieso man nicht weniger einstellen kann.
Ich hatte 50 Hz eingestellt (mit Sample-Anzahl = 10) und wunderte mich, wieso der Puffer dauernd voll lief.
|
|
|
12.07.2010, 21:11
(Dieser Beitrag wurde zuletzt bearbeitet: 12.07.2010 21:27 von dimitri84.)
Beitrag #7
|
dimitri84
Astronaut
Beiträge: 1.496
Registriert seit: Aug 2009
2020 Developer Suite
2009
DE_EN
53562
Deutschland
|
Wie Anzahl der Messwerte verringern (Performance)?
Das steht also nicht in der Doku?
' schrieb:Die Karte packt eben nur 1,6 kHz bis 50 kHz. Frag mich nicht, wieso man nicht weniger einstellen kann.
Ich hatte 50 Hz eingestellt (mit Sample-Anzahl = 10) und wunderte mich, wieso der Puffer dauernd voll lief.
Besser hättest du dazu einen Thread aufgemacht. Bin mir ziemlich sicher, dass das geht.
Edit: Mit der simulierten Karte geht's.
„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
|
|
|
12.07.2010, 21:28
Beitrag #8
|
SeBa
LVF-Guru
Beiträge: 2.025
Registriert seit: Oct 2008
09SP1 & 10 FDS
2008
DE
65xxx
Deutschland
|
Wie Anzahl der Messwerte verringern (Performance)?
In der Anleitung steht:
Zitat:However, the data rate must remain within the appropriate data rate
range. Refer to the Specifications section for more information
about the data rate range. When using the internal master timebase
of 12.8 MHz, the result is data rates of 50 kS/s, 25 kS/s, 16.67 kS/s,
and so on down to 1.613 kS/s, depending on the value of n. When
using an external timebase with a frequency other than 12.8 MHz,
the NI 9237 has a different set of data rates.
Du musst also die timebase ändern.
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!
|
|
|
12.07.2010, 21:29
(Dieser Beitrag wurde zuletzt bearbeitet: 12.07.2010 21:33 von Matze.)
Beitrag #9
|
Matze
LVF-Team
Beiträge: 1.027
Registriert seit: Apr 2010
20xx
2010
DE_EN
7xxxx
Deutschland
|
Wie Anzahl der Messwerte verringern (Performance)?
dimitri84 schrieb:Das steht also nicht in der Doku?
[...]
Besser hättest du dazu einen Thread aufgemacht. Bin mir ziemlich sicher, dass das geht.
Was willst du mir damit sagen?
Ich bin sehr gespannt, ob du dir wirklich sicher bist. Noch glaube ich dir das nicht.
Anleitung:
Wie gesagt, wenn ich 50 Hz als Frequenz einstelle, wird mit 1,6 kHz abgetastet. Stelle ich die Sample-Anzahl hier auf 1600, erhalte ich die Werte im Sekundentakt.
Nachtrag: Das steht sogar bei NI mit der bereits genannten Lösung, die Anzahl der Werte zu reduzieren: http://digital.ni.com/public.nsf/allkb/593...62570DE005F6836
|
|
|
| |