Wie messe ich die Übereinstimmung zwischen Kurven?


11

Ich habe Werte (unten dargestellt) der erwarteten RSSI-Werte über die Zeit, die ich mit meinen gemessenen RSSI-Werten vergleichen möchte. Was ich suchte, war eine Möglichkeit, es zu quantifizieren, damit ich Parameter ändern und verschiedene Ansätze vergleichen / gegenüberstellen kann.

Es ist ein schwieriges Problem in meinem Kopf, weil ich nicht weiß, wie ich die Signale vergleichen und dennoch die großen (Gesamtform) und kleinen (individuellen Schwankungen) Signale berücksichtigen soll.

Hier ist zum Beispiel eine Darstellung eines Satzes von Signalen: RSSI gegen Zeit

Auf dem Bild kann ich sehen, dass das rote Messsignal ungefähr dem Modell folgt, aber es kann auch einige der sinusförmigen Eigenschaften des Modells (an einigen Stellen) in Ordnung simulieren. Irgendwelche Gedanken?

<> Als Antwort auf die Kommentare von Pichenettes (die vernünftig erscheinen) habe ich einen Unterschied zwischen den beiden Werten genommen und die Bauchmuskeln (fft (diff)) aufgezeichnet und Folgendes erhalten: FFT

Ich bin mir allerdings nicht sicher, was ich davon halten soll. Da wir keine tatsächlichen Frequenzen haben, bin ich mir nicht sicher, wie ich die Achse skalieren soll. Wenn ja, welche Metrik würden Sie verwenden?


2
Was ist mit der Berechnung des quadratischen Fehlers in verschiedenen Frequenzbereichen (oder der Aufteilung des Unterschieds in verschiedene Frequenzbänder)? Im unteren Frequenzbereich werden die gesamten Tracking-Fähigkeiten gemessen - unabhängig von schnellen Unebenheiten. Bei der höheren Frequenz wird die Fähigkeit gemessen, abrupte Änderungen unabhängig von größeren Gleichstromfehlern zu verfolgen.
Pichenettes

OK, ich habe dem ursprünglichen Beitrag eine neue Handlung hinzugefügt (als Bearbeitung), um die fft (real (diff)) anzuzeigen, aber ich bin mir nicht ganz sicher, was ich davon halten soll.
toozie21

2
Ich würde beide zuerst glätten; dann erhalten Sie eine sehr gute Übereinstimmung (vorausgesetzt, das ist das gewünschte Ergebnis). PS Ich empfehle immer, die Daten zu teilen, die Sie für Ihre Diagramme verwendet haben, damit wir Ihnen leichter helfen können.
Emre

Wie sehr interessiert es Sie, die Phase bei höheren Frequenzen anzupassen? Ich habe das Gefühl, dass Sie das Zeitbereichssignal direkt (nach einem Tiefpassfilter) direkt vergleichen und dann den Frequenzbereich für höhere Frequenzen vergleichen möchten, wobei Sie möglicherweise nur die Größe betrachten und die Phase ignorieren möchten.
Dan Bryant

@ toozie21 Kennen Sie bereits die Zeitorte, an denen sich die Signaleigenschaften ändern? zB 8 ms, 17 ms .. so weiter.
user13107

Antworten:


1

Wenn die Signale nicht ausgerichtet sind, Sie jedoch eine Ahnung haben, dass sie mehr oder weniger dasselbe "bedeuten" oder auf ähnliche Daten verweisen, können Sie den DTW-Algorithmus (Dynamic Time Warping) verwenden, um eine bessere Korrespondenz zu erhalten (und dann einfach die Wert am selben Ort). Mithilfe dieser Entsprechungen können Sie RMS, MSE oder was auch immer Sie möchten messen. Für DTW möchten Sie möglicherweise Folgendes überprüfen: http://en.wikipedia.org/wiki/Dynamic_time_warping

Eine gute Möglichkeit, diese Idee auszuarbeiten, ist die Erdbewegungsentfernung (Earth Mover Distance, EMD), bei der der minimale Aufwand für die Ausrichtung der Signale als Entfernungsmaß berechnet wird. EMD wird hier vorgestellt: http://ai.stanford.edu/~rubner/emd/default.htm

EMD gibt Ihnen eine direkte Entfernung, die Sie für die weitere Analyse verwenden können.


0

Ich verwende den Effektivwert des Fehlervektors als Maß. Da ich mich mit komplexen Modulationsschemata beschäftige, verwende ich auch EVM als Maß.


0

Ich würde wahrscheinlich ein paar Ansätze kombinieren. Zuerst würde ich beide Wellenformen glätten oder eine Spline-Interpolation durchführen, um die großen Variationen zu entfernen. Möglicherweise möchten Sie einen weiteren Schritt nach dem einer Kreuzkorrelation kombinieren, um sie auszurichten, vorausgesetzt, die Zeitverschiebung spielt für Sie keine Rolle. Sobald Sie den Kreuzkorrelationspeak erhalten haben, können Sie diesen Peak sogar auf einer Parabelform interpolieren und dann eine Wellenform erneut abtasten, um sie an die andere anzupassen. Ich würde den RMSE zwischen den beiden Wellenformen an diesem Punkt berechnen und eine Metrik erzeugen, die das sich langsam ändernde Delta angibt.

Danach würde ich den interpolierten Wert vom Original subtrahieren, damit die Abweichungen auf kleinen Zeitskalen normalisiert werden. Von dort aus können Sie versuchen, sie gegeneinander zu rMSE oder sogar nur eine Varianz von jeder zu berechnen, um eine Vorstellung davon zu bekommen, wie viel "Rauschen" Sie über die sich langsam ändernde Wellenform haben, je nachdem, was Sie benötigen und was Sie tatsächlich versuchen messen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.