Thursday 12 October 2017

Gauß Gleitender Durchschnittscode


Ich habe Daten in im Wesentlichen zufälligen Intervallen abgetastet. Ich möchte einen gewichteten gleitenden Durchschnitt mit numpy (oder andere Python-Paket) zu berechnen. Ich habe eine grobe Implementierung eines gleitenden Durchschnittes, aber ich habe Mühe, einen guten Weg zu finden, einen gewichteten gleitenden Durchschnitt durchzuführen, so dass die Werte in Richtung zur Mitte des Behälters mehr als Werte zu den Rändern gewichtet werden. Hier generiere ich einige Beispieldaten und dann einen gleitenden Durchschnitt. Wie kann ich am leichtesten implementieren einen gewichteten gleitenden Durchschnitt Dank der Ratschläge von crs17, um Gewichte in der np. average-Funktion verwenden, kam ich gewichtete durchschnittliche Funktion, die eine Gauß-Funktion verwendet, um die Daten Gewicht: Variationen auf dem Moving Average Das Bewegen - Filter ist mehr oder weniger perfekt zum Glätten von Daten in Gegenwart von Rauschen, wenn die nützlichen Informationen in Ihren Daten vollständig im Zeitbereich liegen. In diesem Fall sind Sie nicht über seine eher schlechte Leistung im Frequenzbereich interessieren. Fig. 1 zeigt die Impuls-, Schritt - und Frequenzreaktionen des grundlegenden gleitenden Durchschnittsfilters (mit drei zusätzlichen Abtastungen auf beiden Seiten, die nicht Teil des Impulses und der Schrittantworten sind, zur Klarheit). Manchmal müssen Sie jedoch mit Daten arbeiten, für die beide Domänen wichtig sind. Für diese Fälle gibt es gewichtete Versionen des gleitenden Mittelwerts, die im Zeitbereich mehr oder weniger gleichwertig sind, jedoch eine wesentlich bessere Leistung im Frequenzbereich aufweisen. Wiederholte Moving Average Das erste, was Sie tun können, um die Frequenzantwort des gleitenden Durchschnittes zu verbessern, ist, es mehrmals anzuwenden. Nach zwei Wiederholungen ergibt dies eine dreieckige Gewichtung der Koeffizienten (Abbildung 2). Da das Anwenden des gleichen Filters zweimal seine Wirkung verdoppelt, ist die erste Seitenkeule des Frequenzgangs nur halb so hoch wie diejenige von Fig. 1. Der Grund für die dreieckige Form ist, daß der gleitende Durchschnitt eine Faltung mit einem rechteckigen Impuls ist. Das zweimalige Anlegen bewirkt eine Konvolution dieses Rechteckimpulses mit sich selbst, was zu einem dreieckigen Fenster für den kombinierten Filter führt. Man beachte, daß Ive die gleiche Filterlänge in Fig. 2 wie in Fig. 1 genommen hat, wodurch die erste Null des Frequenzgangs verschoben wird. Eine echte Faltung des ursprünglichen rechteckigen Filters hätte zu einem längeren Filter geführt und die Nullen natürlich genau an derselben Stelle gehalten. Wenn der gleitende Mittelwertfilter mehrfach wiederholt wird, konvergieren seine Koeffizienten aufgrund des zentralen Grenzwertsatzes zu einem Gaußschen Fenster (Fig. 3). Natürlich erstreckt sich ein tatsächlicher Gaussian unendlich in beide Richtungen, so dass es keine andere Möglichkeit gibt, als es an einem gewissen Punkt zu schneiden (oder es vielleicht mit einem zweiten Fenster zu multiplizieren). Zusätzlich muss die Standardabweichung des Gaussian gewählt werden. Für diese Darstellung (und für die Implementierung des Filter-Designers) habe ich die Standardeinstellungen von MATLAB übernommen. In der Praxis möchten Sie vielleicht einfach wiederholt den gleitenden Durchschnitt anstatt ein Gaußfenster anwenden. Wenn es rekursiv umgesetzt wird, ist der gleitende Durchschnitt sehr effizient. Während das Gaußsche Fenster durch Faltung implementiert werden muß. Blackman-Fenster Eine andere Möglichkeit ist, eine der klassischen Fensterfunktionen auszuwählen, die für Fenster-sinc-Filter verwendet werden, und verwenden Sie diese als Filterkernel (siehe die ausgezeichnete Wikipedia-Seite auf Fensterfunktionen). Als Beispiel wählte Ive das Blackman-Fenster (Abbildung 4). Dies verbessert die Stoppbanddämpfung noch weiter und zeigt trotzdem eine glatte Zeitbereichsantwort ohne Klingeln oder Überschwingen. Abschließend, wenn Sie Daten glatt, aber eine bessere Frequenz Leistung als die grundlegenden gleitenden Durchschnitt zu bieten haben, sind mehrere Alternativen zur Verfügung. Filter Design Tool Dieser Artikel wird mit einem Filter Design Tool ergänzt. Experimentieren Sie mit den verschiedenen Fensterfunktionen und der Länge des Filters und sehen Sie den Effekt auf den Frequenzgang. Versuchen Sie es jetztAnmerkung auf gleitende durchschnittliche Modelle für Gaussian zufällige Felder Linda V. Hansen ein Thordis L. Thorarinsdottir b ,. Ein Zentrum für Stochastische Geometrie und Advanced Bioimaging, Aarhus University, Dänemark b Norwegian Computing Center, Oslo, Norwegen erhielt 20. Juli 2012. Überarbeitet 5. Dezember 2012. Akzeptiert 6. Dezember 2012. Verfügbar online 12. Dezember 2012. Die Klasse der gleitenden durchschnittlichen Modelle bietet eine Flexiblen Modellierungsrahmens für Gaußsche Zufallsfelder mit vielen bekannten Modellen wie der Matrn-Kovarianz-Familie und der Gaußschen Kovarianz, die unter diesen Rahmen fallen. Gleitende Durchschnittsmodelle können auch als Kernel-Glättung einer Lvy-Basis betrachtet werden, einem allgemeinen Modellierungsrahmen, der mehrere Typen von nicht-Gaußschen Modellen umfasst. Wir schlagen ein neues einparametriges räumliches Korrelationsmodell vor, das aus einem Potenzkern entsteht und zeigen, dass die zugehörige Hausdorff-Dimension der Sample-Pfade einen beliebigen Wert zwischen und annehmen kann. Als Ergebnis bietet das Modell eine ähnliche Flexibilität in den fraktalen Eigenschaften des resultierenden Feldes als Matrn-Modell. Korrelationsfunktion Hausdorff-Dimension Beweglicher Durchschnitt Power-Kernel Random field Copyright 2012 Elsevier B. V. Alle Rechte vorbehalten.

No comments:

Post a Comment