Wie kann ich Spitzen von Signalen, die an verschiedenen Positionen gemessen wurden, automatisch klassifizieren?


10

Ich habe Mikrofone, die Schall über die Zeit an vielen verschiedenen Positionen im Raum messen. Die aufgenommenen Töne stammen alle von derselben Position im Raum, jedoch aufgrund der unterschiedlichen Pfade vom Quellpunkt zu jedem Mikrofon. Das Signal wird (zeitlich) verschoben und verzerrt. A-priori-Kenntnisse wurden verwendet, um die Zeitverschiebungen so gut wie möglich zu kompensieren, aber es gibt immer noch einige Zeitverschiebungen in den Daten. Je näher die Messpositionen sind, desto ähnlicher sind die Signale.

Ich bin daran interessiert, die Peaks automatisch zu klassifizieren. Damit meine ich, dass ich nach einem Algorithmus suche, der die beiden Mikrofonsignale in der folgenden Darstellung "betrachtet" und anhand von Position und Wellenform "erkennt", dass es zwei Haupttöne gibt, und deren Zeitpositionen meldet:

sound 1: sample 17 upper plot, sample 19 lower plot,
sound 2: sample 40 upper plot, sample 38 lower plot

Zu diesem Zweck plante ich, eine Chebyshev-Erweiterung um jeden Peak durchzuführen und den Vektor der Chebyshev-Koeffizienten als Eingabe für einen Cluster-Algorithmus (k-means?) Zu verwenden.

Als Beispiel sind hier Teile der Zeitsignale aufgeführt, die an zwei nahe gelegenen Positionen (blau) gemessen wurden, angenähert durch 5-Term-Chebyshev-Reihen über 9 Proben (rot) um zwei Peaks (blaue Kreise): Geben Sie hier die Bildbeschreibung ein

Die Annäherungen sind ziemlich gut :-).

Jedoch; Die Chebyshev-Koeffizienten für das obere Diagramm sind:

Clu = -1.1834   85.4318  -39.1155  -33.6420   31.0028
Cru =-43.0547  -22.7024 -143.3113   11.1709    0.5416

Und die Chebyshev-Koeffizienten für das untere Diagramm sind:

Cll = 13.0926   16.6208  -75.6980  -28.9003    0.0337
Crl =-12.7664   59.0644  -73.2201  -50.2910   11.6775

Ich hätte gerne Clu ~ = Cll und Cru ~ = Crl gesehen, aber dies scheint nicht der Fall zu sein :-(.

Vielleicht gibt es eine andere orthogonale Basis, die in diesem Fall besser geeignet ist?

Irgendwelche Ratschläge zur Vorgehensweise (ich benutze Matlab)?

Vielen Dank im Voraus für alle Antworten!


1
Es scheint, dass Sie von Natur aus davon ausgehen, dass die "Form" des Peaks, wenn sie im Vektorraum der Chebyshev-Polynomkoeffizienten ausgedrückt wird, kontinuierlich ist (dh eine kleine Änderung der Form eines Teils des Peaks bewirkt eine kleine Änderung in den Koeffizienten). Haben Sie Grund zu der Annahme, dass dies der Fall ist? Es hört sich so an, als hätten Sie Ihr Werkzeug ausgewählt, ohne sicherzustellen, dass es das vorliegende Problem löst.
Jason R

Um klar zu sein, auf welche Weise versuchen Sie, die Peaks zu "klassifizieren"? Versuchen Sie, Messungen von Ihren verschiedenen Sensoren zuzuordnen, die identischen Peaks entsprechen? Haben Sie andere Möglichkeiten, um die relative Zeitverzögerung a priori zu messen und diese Informationen dann zur Klassifizierung zu verwenden?
Jason R

Hallo Jason R. Ich habe meine Frage aktualisiert, um die Dinge etwas klarer zu machen.
Andy

Ich versuche tatsächlich, die Schritte in der Arbeit "Automatisierte strukturelle Interpretation durch Klassifizierung seismischer Horizonte" (Borgos et al.) Zu reproduzieren. Ich habe versucht, das Problem allgemeiner zu erklären.
Andy

@Andy Kannst du bitte erklären, wie diese Koeffizienten den hier gezeigten roten Linien entsprechen? Sie scheinen nicht zu korrelieren ...
Spacey

Antworten:


2

yi[n]

yi[n]=hi[n]x[n]
hi[n]ist die Impulsantwort der Übertragungsfunktion von der Quelle zum Mikrofon "i". Diese Übertragungsfunktionen haben unterschiedliche Amplituden- und Phasenantworten. Wenn sie unterschiedlich genug sind, sind auch die einzelnen Mikrofonsignale sehr unterschiedlich, und es gibt keinen Grund zu der Annahme, dass die Spitzen tatsächlich an derselben Stelle auftreten. In den meisten akustischen Umgebungen sind sie "unterschiedlich", wenn die Mikrofone für die interessierenden Frequenzen mehr als ein Viertel der Wellenlänge voneinander entfernt sind (oder wenn das Spektrum nicht triviale Energie enthält).

Wenn Sie die Übertragungsfunktionen messen können, können Sie jedes Mikrofonsignal mit der Umkehrung dieser Übertragungsfunktion filtern. Dies sollte die Mikrofonsignale viel ähnlicher machen und den Effekt der Filterung verringern.

Eine Alternative wäre, alle Mikrofonsignale zu einem Strahlformer zu kombinieren, der die Aufnahme von der Quelle optimiert, aber alles andere zurückweist. Dies sollte auch eine ziemlich "saubere" Version des Quellensignals liefern.

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.