LabVIEWForum.de - Amplitudenverlauf über Zeit darstellen

LabVIEWForum.de

Normale Version: Amplitudenverlauf über Zeit darstellen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo und vorab schonmal Danke für alle hilfreichen Tipps!Angel_not

Ich möchte von einem Eingangssignal den Amplitudenverlauf in einem Diagramm darstellen.
Das Eingangssignal habe ich mit dem "Einfachen Funktionsgenerator" simuliert. Nun möchte ich wie gesagt gerne den Verlauf der Amplitude von jedem aufgenommenen Wert darstellen. Mit der Funktion "Amplitude und Pegel" bekomme ich aber nur einen Wert oder den Low-/High-Pegel.

Kann mir hier jemand weiter helfen?

Gruß
klotsche
Hallo klotsche,

herzlich willkommen im Forum!

Zitat:Nun möchte ich wie gesagt gerne den Verlauf der Amplitude von jedem aufgenommenen Wert darstellen.
Wenn du jedes Sample sehen willst, musst du es doch nur plotten:
[attachment=61202]
Oder habe ich deine Anforderung evtl. zu stark vereinfacht?
Hallo GerdW und Danke!

Ich hatte einen Denkfehler und viel zu kompliziert gedacht Lol

Besten Dank!
Wobei... vielleicht doch nicht.

Also ich möchte ein Drucksignal aufnehmen, mit zum Beispiel 1k Samples pro Sekunde und möchte mir dann den Verlauf der Druckamplitude, also der maximalen Druckschwankung anzeigen lassen. War das etwas verständlicher formuliert?
Hallo klotsche,

Zitat:zum Beispiel 1k Samples pro Sekunde und möchte mir dann den Verlauf der Druckamplitude, also der maximalen Druckschwankung anzeigen lassen.
Willst du jetzt den Verlauf der Amplitude oder den Verlauf von "Druckschwankungen" (also irgendwelche Differenzen) anzeigen?
Willst du pro Sekunde 1000 Samples plotten - oder nur einen Wert pro Sekunde? (Wenn nur einer: welcher?)

Irgendwie musst du deine Anforderungen mal genauer definieren…
Sorry GerW, ich muss mich besser ausdrücken.

Also ich fange nochmal an:
Ich möchte ein Drucksignal 120 Sekunden lang mit 1000 Samples pro Sekunde aufnehmen. Dann möchte ich die 120 Sekunden in 8 Sekunden "Schnipsel" unterteilen.
Aus diesen 8 Sekunden möchte ich jetzt die Differenz zwischen dem höchsten gemessenen Druck und dem niedrigsten (Laut Physiklexikon heißt das "Druckamplitude").
Dann sollen sich die einzelnen 8 Sekunden Schnipsel noch 4 Sekunden überlappen. Am Ende sollen die gemessenen "Druckamplituden" in ein Signalverlaufsdiagramm über die Zeit abgetragen werden, sodass ich nach 120 Sekunden also 30 Werte haben müsste (Alle 4 Sekunden einen Wert).
Danach möchte ich mir vom gesamten Drucksignal noch die FFT anschauen und irgendwie über den gemessenen Druck an den Drehklang kommen, aber eins nach dem anderen.

Aktuell frage ich mich, wie ich die Differenz aus High-Pegel und Low-Pegel in das Signalverlaufsdiagramm eintragen könnte.

Oder ist das mit LabVIEW gar nicht möglich?
Hallo klotsche,

Zitat:Ich möchte ein Drucksignal 120 Sekunden lang mit 1000 Samples pro Sekunde aufnehmen. Dann möchte ich die 120 Sekunden in 8 Sekunden "Schnipsel" unterteilen.
Aus diesen 8 Sekunden möchte ich jetzt die Differenz zwischen dem höchsten gemessenen Druck und dem niedrigsten (Laut Physiklexikon heißt das "Druckamplitude").
Dann sollen sich die einzelnen 8 Sekunden Schnipsel noch 4 Sekunden überlappen. Am Ende sollen die gemessenen "Druckamplituden" in ein Signalverlaufsdiagramm über die Zeit abgetragen werden, sodass ich nach 120 Sekunden also 30 Werte haben müsste (Alle 4 Sekunden einen Wert).
So langsam wird der Nebel klarer…
Was du als "Amplitude" bezeichnest, bezeichnet ein Elektriker wie ich als "peak to peak". Die Amplitude ist dagegen der positive Spitzenwert einer gleichmäßigen Schwingung, siehe Wikipedia.

Nun zum Problem:
Du könntest doch recht einfach immer 4000 Samples einlesen, die dann 4s Messdauer entsprechen.
Du benutzt immer den vorigen Block von 4000 Samples und den aktuellen, um auf deine 8000 Samples (bzw. 8s Schnipsel) zu kommen.
Darauf dann einfach ArrayMinMax anwenden und die Differenz davon berechnen. Diese dann merken…
Nach 120s hast du dann so deine 30 gesuchten "Spitze-Tal-Werte".

Zitat:Danach möchte ich mir vom gesamten Drucksignal noch die FFT anschauen und irgendwie über den gemessenen Druck an den Drehklang kommen
Die FFT über 120k Werte ist einfach, da gibt es ja fertige Funktionen für.
Was ist jetzt wieder "Drehklang"? Meinst du ein Spektrogramm/Sonagramm/Campbell-Diagramm?
ok schon mal besten dank!

Ich bin schon ein ganzes Stück weiter gekommen, aber so richtig klappt es noch nicht.
Ich habe es mit einer Schleife versucht, die ich 30 mal ausführen lassen möchte und so dann 30 mal 4000 Werte gemessen werden und mir 30 Peak to Peak Werte ausgebracht werden, aber ich muss das Programm jedes mal neu ausführen um einen Wert zu bekommen. Huh

Ich hänge mal die Datei an, bestimmt fällt dir sofort ein Fehler auf..

Zitat:Was ist jetzt wieder "Drehklang"?

Der Drehklang ist in meinem Fall die Drehzahl der Pumpe multipliziert mit der Anzahl der Laufradschaufeln.
(Es geht bei dem Experiment um eine Tauchmotorpumpe, die abhängig von der Wellenleistung ihre Drehzahl ändert)
Hallo klotsche,

Zitat:Ich habe es mit einer Schleife versucht, die ich 30 mal ausführen lassen möchte und so dann 30 mal 4000 Werte gemessen werden und mir 30 Peak to Peak Werte ausgebracht werden, aber ich muss das Programm jedes mal neu ausführen um einen Wert zu bekommen.
Ist das nicht immer so? Man muss ein Programm ausführen, um ein Ergebnis angezeigt zu bekommen!? Kennst du Software, die sich in diesem Punkt anders verhält?

Wenn man dein VI öffnet, sieht man nirgends deine Zahlenangaben (30, 4000). Stattdessen stehen da Werte wie 0 und 1000…

Zitat:Ich hänge mal die Datei an, bestimmt fällt dir sofort ein Fehler auf..
Ja. Mehrere…

Warum hast du die Output-Tunnel der Loop so eingestellt, wie sie eingestellt sind? Und warum wundert dich dann, was dein VI so ausgibt?
Wieso berechnet sich t0 als Differenz zweier Zeitstempel?
Warum benutzt du nicht AutoCleanup?
Zitat:Wenn man dein VI öffnet, sieht man nirgends deine Zahlenangaben (30, 4000). Stattdessen stehen da Werte wie 0 und 1000…
Ja, das wurde beim speichern anscheinend nicht übernommen.

Zitat:Wieso berechnet sich t0 als Differenz zweier Zeitstempel?
Das habe ich aus einem anderen Forumsbeitrag übernommen und ausprobiert, verstanden habe ich es aber nicht.

Zitat:Warum hast du die Output-Tunnel der Loop so eingestellt, wie sie eingestellt sind? Und warum wundert dich dann, was dein VI so ausgibt?
Das kann ich dir nicht sagen. Ich bin Neueinsteiger und versuche noch die Sprache zu lernen.

Zitat:Warum benutzt du nicht AutoCleanup?
Werde ich in Zukunft tun.
Seiten: 1 2
Referenz-URLs