LabVIEWForum.de
Signalabschnitte trennen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenerfassung (DAQ) (/Forum-Datenerfassung-DAQ)
+---- Thema: Signalabschnitte trennen (/Thread-Signalabschnitte-trennen)

Seiten: 1 2 3


Signalabschnitte trennen - Achim - 10.10.2013 09:13

Hallo zusammen,
ich bin nicht sicher, ob das hier ins Unterforum passt...

Folgendes:
Ich erfasse ein Sinussignal mit sich stufig ändernder Frequenz. Jede Stufe "steht" für ein paar Sekunden an. Mittels LabVIEW-Bordmitteln ermittle ich die Frequenz des Signal ("Extract Single Tone Information.vi"). Die Schrittweite zwischen den Stufen ist 1 Hz. Gestartet wird bei 5 Hz, der letzte Schritt sind 200 Hz. Je höher die Frequenz wird, desto größer ist deren Schwankung. Im unteren Bereich sind es ungefähr +- 0,1Hz, im oberen Bereich +- 1 Hz.

Ich kann das Signal leider nur mitloggen, d.h. ich habe keine Information, zu welchem Zeitpunkt sich die Stufe ändert. Der resultierende Frequenzverlauf sieht ungefähr so aus, das kann man auch beobachten wenn man sich das Originalsignal mit dem Oszi anschaut.
[attachment=46644]
Ich kann momentan nicht auf das Original-Signal zeigen, weil ich keine Hardware habe. Deswegen gibt es hier nur ein Bild aus einer Simulation, d.h. dt=1.

Als Beispiel für die Frequenzstufen hier mal ein Bild mit Schrittweite 5 Hz, weil man die tatsächliche Schrittweite von 1 Hz fast nicht sieht...
[attachment=46643]
Hat irgendwer eine Idee, wie man die Stufen sauber trennen kann, d.h. wie man Abschnitte bilden kann?Blink
Ziel ist, anhand der Abschnittsgrenzen zwei weitere Signale, die parallel aufgezeichnet werden, ebenso zu trennen um diese anschließend weiterzuverarbeiten.

Gruß
Achim


RE: Signalabschnitte trennen - GerdW - 10.10.2013 09:17

Hallo Achim,

ändert sich die Frequenz oder (wie im Bild) die Amplitude?

Beim Signal im Bild würde ich über den (gleitenden) Mittelwert des Signals filtern...


RE: Signalabschnitte trennen - Achim - 10.10.2013 09:34

Hi Gerd,
es ändert sich tatsächlich die Frequenz! Das was auf dem stufigen Graph zu sehen ist, ist die ermittelte Frequenz aus dem Sinussignal. Darum sieht man ja die Stufen. Als Mensch sieht man sofort, wo die Grenzen sind und könnte das trennen...aber wie bring ich das dem Rechenknecht bei? Ich habe oben noch mal ein Beispiel für das sich ändernde Sinussignal gepostet.

Tja...gleitender Mittelwert...dann kriegt man zwar ein saubereres Signal, aber trotzdem krieg ich es nicht hin, die Abschnitte zu trennen. Ich hab auch schon die Ableitung gebildet, um an Stellen mit großer Steigung evtl. die Trennung zu machen. Aber durch die Signalschwankungen gibts halt viele Peaks im "Steigungsgraph"...große und kleine...aber welche davon nehmen? Welche sind groß genug?

Gruß
Achim


PS: In jedem Abschnitt muss dann auch noch der Frequenzwert (d.h. das Mittel) gebildet werden, um das als "Header" vor die Ergebnisse der anderen Signale schreiben zu können.


RE: Signalabschnitte trennen - BsaiboT - 10.10.2013 09:44

Hallo Achim,

ich würde auch den gleitenden Mittelwert zu Hilfe nehmen.
Der Mittelwert ist ja quasi "konstant" über den Zeitraum einer Stufe. Beim Frequenzanstieg wird sich der Mittelwert signifikant erhöhen, so dass du bei der größten Steigung der Mittelwertgraphen deine Schnittstellen hast.

Gruß,
//Tobias


RE: Signalabschnitte trennen - GerdW - 10.10.2013 10:09

Hallo Achim,

gib uns doch mal ein "reales" Beispiel wie in deinem Bild. Dann kann man schon mal einen Plot eines MovAvg erstellen und daran eine "Erkennung" testen...


RE: Signalabschnitte trennen - Achim - 10.10.2013 10:15

(10.10.2013 09:44 )BsaiboT schrieb:  Der Mittelwert ist ja quasi "konstant" über den Zeitraum einer Stufe. Beim Frequenzanstieg wird sich der Mittelwert signifikant erhöhen, so dass du bei der größten Steigung der Mittelwertgraphen deine Schnittstellen hast.

Hm...das hab ich versucht...siehe Anhang:
[attachment=46645]

Vorschläge?

Ich bin ratlos...

A.


RE: Signalabschnitte trennen - GerdW - 10.10.2013 10:17

Vorschlag: bitte als LV2011...


RE: Signalabschnitte trennen - Achim - 10.10.2013 10:29

[attachment=46646]

bitte schön...


RE: Signalabschnitte trennen - GerdW - 10.10.2013 10:45

Hallo Achim,

hier etwas zum Weiterspielen...


Im Grunde reicht doch die (saubere) Erkennung eines einzigen Sprunges aus, wenn die Sprünge äquidistant erfolgen. Du kannst die Erkennung also noch verbessern/verifizieren, wenn du alle erkannten Sprünge auf ihren Abstand hin überprüfst...


RE: Signalabschnitte trennen - Achim - 10.10.2013 12:06

Hi Gerd,
vielen Dank schon mal, ich schaus mir an. Sieht ganz gut aus.

Die Erkennung nur der ersten Stufe reicht aber nicht aus, weil die Sprünge nur ca. gleich lang sind. Da hängt ne Maschine dran, und die läuft zeitlich "neben" der Erfassung, d.h. komplett asynchron. Leider kriegt man auch keinen Trigger raus...

A.