LabVIEWForum.de
Zwei Signale trennen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Signaldarstellung (/Forum-Signaldarstellung)
+---- Thema: Zwei Signale trennen (/Thread-Zwei-Signale-trennen)



Zwei Signale trennen - Mark.Schaer - 23.02.2005 14:13

Guten Tag
Vorstellung
Ich bin neu in der Liste und stelle mich daher kurz vor:
Ich arbeite im Eidg. Institut für Schnee- und Lawinenforschung
und bin Bauingenieur ETH (also in hoher Mathematik nicht sehr
beschlagen).
Zurzeit analysiere ich Messungen von 1:1 Feldexperimenten
mit (Schnee-)Lawinen.

Ich kenne Lab-View seit 1999, habe aber die letzten Jahre (bis vor
kurzem) nicht mehr damit gearbeitet.

Problem
Eine Messreihe kann visuell als aus zwei (veränderlichen,
aber plus minus stetigen) Signalen (sowie Ausreissern) bestehend
erkannt werden.

Existieren in LabVIEW Werkzeuge, um die zwei Signale zu trennen?
Der Vorgang sollte automatisch erfolgen (für sehr viele Messungen)
und möglichst für allgemeine Verläufe der zwei Signale funktionieren.

Datenbeispiel (fiktive Daten):
46
166
49
177
52
492
211
215
188
192
202
237
88
88
225
222
245
94
225
297
119
105
234
272
269
255
77
282
128
251
150
149
296
271
153
187
186
290
305
318
188
437
295
305
330
14
209
341
203
351
198
16
308
92
346
208
205
339
354
355
211
476
359
430
394
365
204
376
52
404
202
199
413
375
409
423
403
206
33
399
396
204
412
208
418
413
418
205
316
205
446
457
462
204
349
487
216
96
479
469


Zwei Signale trennen - anton.lindner - 23.02.2005 16:13

Hallo Mark,

ich hab mal die Messpunkte als Graph dargestellt. Wenn ich dich richtig verstehe, möchtest du die beiden "Linien" voneinander trennen.
Ich denke dass ist mit LabVIEW möglich. Ich kenne zwar keine vorgefertigte Funktion, die das für dich erledigt aber es lässt sich bestimmt ein Algorithmus finden der dir helfen könnte.
Ich mach mal einfach den Anfang als Diskussionsbasis:

1) Nimm den ersten Punkt aus der Messreihe und vergleiche den y-Wert mit den y-Werten der nächsten a Punkte. (a=const.)
2) Wähle den Punkt mit dem geringsten Betrag von delta y aus und hänge ihn an den Punkt aus 1)
3) Beginne den Zyklus 1), 2) von vorne mit dem in 2 gefundenen Punkt als Startwert.
4) Abbruch sobald die x-achse durchlaufen ist.
Die gefundenen Punkte lassen sich in einem Array speichern und so von den restlichen Punkten der "zweiten" Kurve trennen.
Probleme: Der erste Punkt könnte ein Ausreisser sein; die Ausreisser müssen in einem weiteren Schritt von den Kurven entfernt werden; ...

Viel Erfolg,

Toni