Verwendung von Eigenvektoren zur Schätzung der Grundfrequenz eines Signals über MUSIC


14

Kontext:

(Haftungsausschluss: Dies ist KEIN Kommunikationsproblem).

Ich versuche, die Grundfrequenz eines realen, periodischen Signals abzuschätzen. Dieses Signal wurde konstruiert, indem ein Rohsignal mit dem eines Impulses abgeglichen wurde. (der passende Filter). Das resultierende Signal hat die folgenden Eigenschaften:

  • Es ist periodisch. (Fundamental ist 1 / Periode), und das ist es, was ich zu schätzen versuche.

  • Es ist nicht stationär in der Zeit. Insbesondere können die Amplituden der periodischen Impulse in der Amplitude variieren. (z. B. kann ein Impuls niedrig sein, während ein anderer hoch ist, und der nächste wieder niedrig und einer nach diesem Medium usw.).

  • Ich glaube, es ist in der Frequenz stationär (insofern, als Sie sich ändernde Amplituden akzeptieren, aber nicht die Bänder ändern).

  • Es hat harmonische Verzerrungen. Was ich hier meine, ist das (und korrigiere mich, wenn ich mich irre), aber dass die einzelnen Impulse innerhalb des Signals keine Sinuskurven sind, sondern 'funky' Formen wie eine Gaußsche, dreieckige, halbe Parabel usw .

Ich versuche die Grundfrequenz dieses Signals abzuschätzen.

Natürlich ist das Rohsignal manchmal nichts als Rauschen, aber es geht trotzdem durch den Pfad und wird trotzdem gefiltert abgeglichen. (Mehr dazu später).

Was ich ausprobiert habe:

Jetzt sind mir eine Vielzahl von fundamentalen Frequenzschätzern bekannt, wie z

  1. Die Autokorrelationsmethode
  2. YIN und all seine Abhängigkeiten
  3. FFT-Methode.

etc,

  • YIN: Ich habe YIN noch nicht ausprobiert.

  • FFT-Methode: Mit der FFT-Methode erhalten Sie alle Harmonischen und das Fundamental, aber ich habe festgestellt, dass es besonders bei diesem instationären Geschäft schwierig sein kann, da das Fundamental nicht immer der höchste Peak ist. Sehr schnell versuchst du herauszufinden, welcher der vielen Peaks der Grund ist, und es wird ein schwieriges Problem.

  • Autokorrelation: Die Autokorrelationsmethode scheint besser zu funktionieren als die FFT-Methode, ist jedoch immer noch empfindlich gegenüber Amplitudenunregelmäßigkeiten des Zeitdomänensignals. Die Autokorrelationsmethode misst den Abstand zwischen der mittleren Keule und der nächsthöheren Keule. Dieser Abstand entspricht der Grundschwingung. In nicht stationären Fällen kann diese Nebenkeule jedoch viel zu niedrig sein, und Sie können sie in einem bestimmten Schwellenwertschema übersehen.

Dann kam mir der Gedanke, dass ich vielleicht eine Subspace-Methode wie MUSIC verwenden kann, um die Grundwelle abzuschätzen. Als ich dies testete, stellte ich fest, dass es wirklich einige sehr schöne Ergebnisse liefert - Spitzenwerte - robust - und sogar in instationären Fällen - bei Frequenzen, die der Grundwelle Ihres Signals entsprechen. (Setzen Sie die Anzahl der gesuchten Signale auf 2, und es wird die Grundschwingung ermittelt, dh wählen Sie die 2 höchsten Eigenvektoren (entsprechend den höchsten Werten der Eigenwerte) der Kovarianzmatrix der Signale aus, verwerfen Sie sie und konstruieren Sie die Rauschunterraum aus dem Rest, projizieren Sie Ihre Hypothese komplexer Sinuskurven gegen sie, nehmen Sie das Reziproke und voila (ein nettes Pseudospektrum).

Fragen & Probleme:

  1. Trotzdem würde ich gerne verstehen, warum dies besser funktioniert.
  2. In MUSIC verwerfen wir den Signal-Unterraum und verwenden den Rausch-Unterraum. Es scheint mir, dass die Eigenvektoren des Signal-Subraums tatsächlich eine Art "beste Anpassung" sind - sie sind tatsächlich optimal angepasste Filter. Also: Warum nicht einfach die Signal-Subraum-Eigenvektoren direkt verwenden? (Ich weiß, dass es nicht mehr MUSIK ist, aber warum wird der Rauschunterraum dann besser genutzt?)
  3. Das letzte Problem ist schließlich, dass, obwohl diese Methode für instationäre Signale (wie oben definiert) viel robuster zu funktionieren scheint, das Problem ist, dass ich jetzt IMMER eine Antwort bekomme - auch wenn nichts als Rauschen im System ist! (Ich habe oben erwähnt, dass das rohe vorab angepasste gefilterte Signal manchmal nur weißes Rauschen sein kann, wenn Sie kein periodisches Signal haben).

Welche Möglichkeiten könnten existieren, um dem entgegenzuwirken? Ich habe versucht, die Eigenwerte zu untersuchen, und in Fällen, in denen es nur Rauschen gibt, im Gegensatz zu Fällen, in denen ein Signal vorhanden ist, kommt es zu einer stärkeren Krümmung des Zerfalls, aber ich fürchte, es ist möglicherweise nicht robust genug.

Bonus:

  1. Wann sind die Eigenvektoren einer Kovarianzmatrix sinusouds VS etwas anderes? Was bestimmt, ob es sich um Sinuskurven handelt oder nicht? Warum sind sie keine Rechteckwellen? Oder fügen Sie hier andere Formsignale ein?

Mohammad: Können Sie bitte einige Änderungen / Klarstellungen vornehmen? Ich kann eine Stichelei in Bezug auf Terminologie sein, aber es ist wichtig für zukünftige Besucher. Neben "nice & clean" kann man auch harmonische Verzerrungen sagen. Anstatt sich zu wiederholen, können Sie periodisch sagen. Stationär kann sich auf zeitvariable Statistiken oder zeitvariable Spektren beziehen. Könntest Du das erläutern? Die Autokorrelationsmethode ist ein Alias ​​für die Yule-Walker-Methode. Wenn Sie "Anzahl der Signale" sagen, sind dies echte Sinuskurven oder komplexe Exponentiale? Können Sie den größten Eigenwert verwenden? Rank hat andere Bedeutungen in der linearen Algebra. Dasselbe gilt für "höchste Varianz" ...
Bryan

1
... (Fortsetzung) Eine wichtige Sache (und ich werde dies in meiner Antwort zur Klarstellung vermerken) ist, dass die MUSIC-Methode eine Rausch-Subraum-Methode ist. Im Idealfall werden die Signal-Subraum-Eigenvektoren, die mit den größten Eigenwerten versehen sind, nicht verwendet. Außerdem ist Ihr Signal eine Summe von Sinuskurven, wenn es periodisch ist. Wenn es periodisch ist, kann es durch eine Fourier-Reihe definiert werden, die eine Summe von diskreten Sinuskurven ist.
Bryan

@Bryan Entschuldigung für die Verzögerung bei der Rückkehr (langes Wochenende), ich werde die gesamte Frage bald überarbeiten und Sie wissen lassen - danke!
Spacey

@Bryan Ich habe endlich den gesamten Beitrag überarbeitet, deine Vorschläge hinzugefügt und auch vieles über den Kontext / das Problem geklärt. Bitte sehen Sie. Lassen Sie mich auf jeden Fall wissen, ob ich noch etwas klarstellen kann.
Spacey

@Mohammad Kann man anhand der "Stärke" der Eigenvektoren, dh der Eigenwerte, erkennen, ob ein Signal vorhanden ist oder nicht?
Jim Clay

Antworten:


8

f(t,s)=CÖv(X(t),X(s))=CÖv(X(t-u),X(s-u))=f(t-u,s-u)
f(t,s)=f(t-s,0)t-s
CÖv(X(s),X(t))=-eich(s-t)xdμ(x)

Die Intuition ist, dass eine Autokorrelationsmatrix, die für eine endliche Menge von Beobachtungen in einem Signal geschätzt wird, sich asymptotisch wie eine Zirkulationsmatrix verhält, da die Korrelation nur von den Zeitdifferenzen abhängt, nicht von den absoluten Positionen und Zirkulationsmatrizen mit diskreten Sinusoiden als Eigenvektoren (da sie Faltung sind) Betreiber). Dafür gibt es viele Beweise und dies ist eine skizzenhafte Intuition.

Die Menge der Autokorrelationsfunktionen, die durch Sinuskurven diagonalisiert werden, entspricht genau den stationären Prozessen, aber die Autokorrelationsfunktionen vieler anderer Prozesse werden durch Sinuskurven über ein gewisses Intervall ungefähr diagonalisiert. Diese Vorgänge entsprechen denen, die durch stationäre Vorgänge über ein Intervall angenähert werden können. Weitere Details finden Sie hier .

Allgemeine instationäre Prozesse können Autokorrelationsfunktionen aufweisen, die nicht durch Sinuskurven diagonalisiert werden müssen.

Lokal stationäre Prozesse haben entweder ein sich langsam änderndes Spektrum und / oder eine kleine Anzahl von gut beabstandeten abrupten Änderungen im Spektrum. Sprache, Tiergeräusche, Musik und viele andere natürliche Geräusche passen zu dieser Beschreibung. Der Grund, warum Subraum-Identifikationsalgorithmen funktionieren, liegt meines Wissens darin, dass eine Form der lokalen Stationarität (nicht streng) im Allgemeinen für die von uns analysierten Signaltypen gilt.


Die Antworten kommen allen zugute. Es ist nichts wert, dass Bochners Satz eine Verallgemeinerung des Vertrauten istμ

@MarkS Vielen Dank. Ich habe einige Folgemaßnahmen: 1) Können wir auf dieser Grundlage sagen, dass ein Prozess insofern stationär ist, als die Eigenvektoren seiner Kovarianzmatrix sinusförmig sind? Kann dies eine Art Maß für die Stationarität sein? 2) Sie erwähnen "... und zirkulierende Matrizen haben diskrete Sinuskurven als ihre Eigenvektoren (da sie Faltungsoperatoren sind) ..." Ich bin unklar, was dies bedeutet - welche Operatoren? Können Sie bitte klarstellen. 3) Wenn Sie "Die Menge der Autokorrelationsfunktionen" sagen, sprechen Sie von den Zeilen der Kovarianzmatrix? Danke noch einmal.
Spacey

@ Mohammad Cheers: 1) Ja, dies kann grob als ein Maß für die Stationarität angesehen werden. 2) Eine zirkulierende Matrix wird aus allen zyklischen Permutationen eines Vektors gebildet, so dass das Multiplizieren einer zirkulierenden Matrix mit einem anderen Vektor eine Faltung zwischen diesen beiden Vektoren ist. 3) Eine Autokorrelationsfunktion Corr (s, t) ist die Autokorrelation zwischen X (s) und X (t) für einen zufälligen Prozess X. Ich nenne es eine Funktion, weil ich den kontinuierlichen und diskreten Fall gleichzeitig behandeln möchte. Die Autokorrelationsmatrix der Stichprobe kann als diskrete Annäherung an diese Funktion angesehen werden.
Mark S

@Emre Dank für den Hinweis auf das Wiener-Khinchin_-Theorem, ich habe meine Fourier-Analyse zuerst für Gruppen gelernt und wurde in einer Signalverarbeitungsklasse nie offiziell eingeführt.
Mark S
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.