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
- Die Autokorrelationsmethode
- YIN und all seine Abhängigkeiten
- 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:
- Trotzdem würde ich gerne verstehen, warum dies besser funktioniert.
- 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?)
- 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:
- 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?
Antworten:
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.
quelle