LabVIEWForum.de - Signal mit 100kHz erfassen aber nur mit 2kHz schreiben

LabVIEWForum.de

Normale Version: Signal mit 100kHz erfassen aber nur mit 2kHz schreiben
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ich habe ein LabVIEWproblem, welches ich gerne mit eurer Hilfe lösen möchte.
Ich taste ein Signal mit 100kHz ab, möchte aber dann nur jeden 50. Wert protokollieren, also in eine Datei schreiben,
sodass dann quasi das signal mit 2kHz abtastrate mitgeschrieben wird.

Habe das leider nicht hinbekommen und hoffe auf eure Hilfe.

Gruß

Bommelstrick

Version 9
und Version ab 8.2
Ich würde es mit zwei Schleifen und einer Queue mache.
Man könnte einen Counter mitzählen lassen und jeden 50. Wert dann in eine Queue schreiben um diesen Wert dann in der anderen Schleife weiterzuverarbeiten.

Schau Dir mal die Beispiele zur Erzeuger-Verbraucher-Methode an. Dort findest du alles für Queues und einen Yähler in einer Whilschleife laufen lassen ist ja dank Schieberegister auch keine Raketenwissenschaft. :-)
Wenn Du LabVIEW 2009 hast, dann bitte Profil_ergaenzen.

Gruß Markus

' schrieb:Version 9
[attachment=23975]

Gruß, Jens
Hi...

Das generelle Problem was ich bei der Idee sehe, ist das jede menge informationen verloren gehen (Aliasing)

Sampelst du die Daten mit einem Anti-aliasing Hardwarefilter?
Normalerweise liegt die cut-off frequenz dort bei 0.45 mal der Samplefrequenz.

Das bedeutet wenn du mit 100k Hz sampelst wird der ganze noise oberhalb der 45 kHz abgeschnitten.

Wenn du jetzt einfach jedes 50te Sampel abgreifst, verlierst du ne MENGE informationen.

Am besten musst du das digitale Signal zuerst digital filtern, hierfuer wahrscheinlich bester Filter ist der Butterworth-filter in 8ter Ordnung.

Danach kannst du problemlos jedes 50te sample abgreifen ohne grossartig informationen zuverlieren!

Falls der Aliasing Effekt nicht gelæufig ist, schau mal bei Wikipedia nach, die beschreiben das ganz verstændlichSmile

Den Filter findest du einfach in "signal processing" - "filters"
Den Sample compressor in "express" - Signal manipulation - Sample compression.
(so zummindest bei 2009 - hab leider keinen Vergleich zu ælteren Versionen - bin absoluter Neuling in LV)

Falls jemand ne bessere Idee hat, bin ich sehr offen fuer Vorschlæge, da mich in naher Zukunft das Selbe Problem erwarten wird...

Gruss aus dem Norden
Kai
Hi Jens,

vielen Dank, genau das habe ich gesucht.

Gruß

Bommelstrick
Deine LabVIEW-Version im Profil ist immer noch nicht geändert. -_-

Gruß Markus
ich mache einen mittelwert nach dem filter um die datenmenge zu reduzieren
' schrieb:ich mache einen mittelwert nach dem filter um die datenmenge zu reduzieren
Was Du machen willst ist normalerweis die einfachste Sache der Welt, dazu brauchst Du keine Filter-VIs.
Die in den Puffer eingeschriebenen Daten werden in einer Schleife 50-Stückweise gelesen, davon wird der Mittelwert gebildet und in die Queue geschrieben.
[attachment=24164]
Eine gute Frage ist natürlich, wie man mit Deinem Express-VI die Daten 50-stückweise liest. Ich weiß das nicht, aber das kann Dir vielleicht jemand sagen.
Um den Zaunslatteneffekt zu vermeiden, ist es übrigens immer sinnvoll, statt mir niedriger Datenrate mit hoher Datenrate (oversampling) aufzunehmen und dann durch Mittelwertbildung auf die gewünschte Rate zu reduzieren. Daran sollte sich jeder Messtechniker gewöhnen - aber Du hast ja das Richtige vor.
Referenz-URLs