Monday, 29 May 2017

Smoothing Moving Durchschnitt Matlab


Ein einfacher (ad hoc) Weg ist, nur einen gewichteten Durchschnitt (abstimmbar durch alpha) an jedem Punkt mit seinen Nachbarn: oder eine Variation davon. Ja, um anspruchsvoller zu sein, können Sie Fourier transformieren Sie Ihre Daten zuerst, dann schneiden Sie die hohen Frequenzen. So etwas wie: Dies schneidet die höchsten 20 Frequenzen. Achten Sie darauf, sie symmetrisch auszuschneiden, sonst ist die inverse Transformation nicht mehr real. Sie müssen sorgfältig wählen Sie die Cutoff-Frequenz für die richtige Ebene der Glättung. Dies ist eine sehr einfache Art der Filterung (Box-Filterung im Frequenzbereich), so können Sie versuchen, sanft abschwächen hohe Ordnung Frequenzen, wenn die Verzerrung inakzeptabel ist. Antwortete FFT ist nicht eine schlechte Idee, aber sein vermutlich overkill hier. Laufende oder sich bewegende Durchschnitte geben allgemein schlechte Ergebnisse und sollten für alles außer späten Hausaufgaben (und weißem Rauschen) vermieden werden. Id verwenden Savitzky-Golay-Filterung (in Matlab sgolayfilt (.)). Dies gibt Ihnen die besten Ergebnisse für das, was Sie suchen - einige lokale Glättung unter Beibehaltung der Form der Kurve. Was ist Glättung und wie kann ich es tun Ich habe ein Array in Matlab, die das Magnitude-Spektrum eines Sprachsignals ( Die Grße von 128 Punkten der FFT). Wie glätte ich dieses mit einem gleitenden Durchschnitt Von dem, was ich verstehe, sollte ich ein Fenster Größe einer bestimmten Anzahl von Elementen nehmen, durchschnittlich, und dies wird das neue 1. Element. Dann verschieben Sie das Fenster nach rechts um ein Element, nehmen Sie den Durchschnitt, der das 2. Element wird, und so weiter. Ist das wirklich, wie es funktioniert Ich bin mir nicht sicher, da, wenn ich das tun, in meinem Endergebnis werde ich weniger als 128 Elemente haben. Also, wie funktioniert es und wie es hilft, um die Datenpunkte zu glätten Oder gibt es eine andere Art und Weise kann ich tun, Glättung der Daten gefragt Okt 15 12 at 6:30 migriert von stackoverflow Okt 15 12 at 14:51 Diese Frage kam von unserem Website für professionelle und enthusiast Programmierer. Für ein Spektrum möchten Sie wahrscheinlich gemeinsam (in der Zeitdimension) mehrere Spektren eher als ein laufender Durchschnitt entlang der Frequenzachse eines einzigen Spektrums ndash Endolith sind beide gültige Techniken. Die Mittelung im Frequenzbereich (manchmal auch als Danielle-Periodogramm bezeichnet) ist die gleiche wie das Fenstern im Zeitbereich. Die Mittelung von mehreren Periodogrammen (quotspectraquot) ist ein Versuch, die Ensemble-Mittelung des wahren Periodogramms nachzuahmen (dies wird als Welch-Periodogramm bezeichnet). Auch als eine Frage der Semantik würde ich argumentieren, dass quotsmoothingquot nicht-causual Tiefpaß-Filterung ist. Siehe Kalman Filterung vs Kalman Glättung, Wiener Filterung v Wiener Glättung, etc. Es gibt eine nichttriviale Unterscheidung und it39s Umsetzung abhängig. Ndash Bryan 12-18 um 19:18 Glättung kann in vielerlei Hinsicht getan werden, aber in sehr grundlegende und allgemeine Begriffe bedeutet es, dass Sie sogar ein Signal, indem sie ihre Elemente mit ihren Nachbarn. Sie smearblur das Signal ein wenig, um loszuwerden, Lärm. Zum Beispiel wäre eine sehr einfache Glättungstechnik sein, jedes Signalelement f (t) bis 0,8 des ursprünglichen Wertes, plus 0,1 von jedem seiner Nachbarn neu zu berechnen: Beachten Sie, wie die Multiplikationsfaktoren oder Gewichte, einem addieren. Also, wenn das Signal ist ziemlich konstant, Glättung nicht viel ändern. Aber wenn das Signal einen plötzlichen ruckartigen Wechsel enthielt, wird der Beitrag seiner Nachbarn dazu beitragen, das Rauschen ein wenig aufzuklären. Die Gewichte, die Sie in dieser Rekalkulationsfunktion verwenden, können als Kernel bezeichnet werden. Eine eindimensionale Gaußsche Funktion oder irgendein anderer Grundkern sollte in Ihrem Fall tun. Schönes Beispiel für eine besondere Art von Glättung: Oben: Ungelöstes Signal Unten: geglättetes Signal Beispiele für einige Kerne: Neben der netten Antwort von Junuxx möchte ich noch ein paar Notizen machen. Glättung bezieht sich auf die Filterung (leider ziemlich vage Wikipedia-Artikel) - Sie sollten die glatte wählen, basierend auf seinen Eigenschaften. Einer meiner Favoriten ist der Medianfilter. Dies ist ein Beispiel eines nicht-linearen Filters. Es hat einige interessante Eigenschaften, es bewahrt Kanten und ist sehr robust unter großen Lärm. Wenn Sie ein Modell haben, wie Ihr Signal verhält sich ein Kalman-Filter ist einen Blick wert. Seine Glättung ist tatsächlich eine Bayessche Maximum-Likelihood-Schätzung des Signals basierend auf Beobachtungen. Beantwortet Okt 15 12 am 11:07 1 für die Erwähnung der kalman Filter ndash Die Glättung impliziert die Verwendung von Informationen aus benachbarten Proben, um die Beziehung zwischen benachbarten Proben zu ändern. Für endliche Vektoren gibt es an den Enden keine benachbarten Informationen auf einer Seite. Ihre Entscheidungen sind: dont smoothfilter den Enden, eine kürzere resultierende geglättete Vektor akzeptieren, Daten bilden und glatt mit, dass (abhängig von der accuracyusefulness aller Prognosen von den Enden), oder vielleicht unterschiedliche asymmetrische Glättungskerne mit an den Enden (die endet Verkürzen den Informationsgehalt im Signal sowieso). Antwort # 2 am: Mai 15, 2010, 04:31:25 am »Andere haben erwähnt, wie Sie Glättung tun, Id wie zu erwähnen, warum Glättung funktioniert. Wenn Sie Ihr Signal richtig überspielen, variiert es relativ wenig von einer Probe zur nächsten (Beispielzeitpunkte, Pixel usw.) und es wird erwartet, dass sie ein insgesamt glattes Aussehen haben. Mit anderen Worten enthält Ihr Signal wenige hohe Frequenzen, d. H. Signalkomponenten, die mit einer Rate ähnlich zu Ihrer Abtastrate variieren. Messungen werden oft durch Rauschen verfälscht. In erster Näherung betrachten wir in der Regel das Rauschen einer Gaußschen Verteilung mit mittlerem Nullpunkt und einer bestimmten Standardabweichung, die einfach über dem Signal addiert wird. Um das Rauschen in unserem Signal zu reduzieren, machen wir gewöhnlich die folgenden vier Annahmen: Rauschen ist zufällig, nicht korreliert unter Samples, hat einen Mittelwert von Null, und das Signal ist ausreichend überabgetastet. Mit diesen Annahmen können wir einen gleitenden Mittelwertfilter verwenden. Man betrachte beispielsweise drei aufeinanderfolgende Proben. Da das Signal stark überabgetastet wird, kann angenommen werden, dass das darunterliegende Signal sich linear ändert, was bedeutet, dass der Mittelwert des Signals an den drei Abtastwerten dem wahren Signal am mittleren Abtastwert entspricht. Im Gegensatz dazu weist das Rauschen einen Mittelwert von Null auf und ist unkorreliert, was bedeutet, daß sein Durchschnitt zu Null neigen sollte. Somit können wir einen Gleitfilter mit drei Stichproben anwenden, wobei wir jede Probe mit dem Mittelwert zwischen sich und seinen zwei benachbarten Nachbarn ersetzen. Natürlich, je größer wir das Fenster, desto mehr Rauschen wird auf Null, aber desto geringer unsere Annahme der Linearität des wahren Signals hält. So müssen wir einen Kompromiss machen. Ein Weg, um zu versuchen, das Beste aus beiden Welten zu erhalten, ist ein gewichteter Durchschnitt zu verwenden, wo wir geben weiter weg Proben kleinere Gewichte, so dass wir Rauscheffekte aus größeren Bereichen Durchschnitt, während nicht wahr Signal Gewichtung zu viel, wo es von unserer Linearität abweicht Annahme. Wie Sie die Gewichte setzen sollte, hängt von dem Rauschen, dem Signal und der Rechenleistung ab, und natürlich von dem Kompromiss zwischen dem Beseitigen von Rauschen und dem Schneiden in das Signal. Beachten Sie, dass es wurde überhaupt eine Menge Arbeit in den letzten Jahren getan, damit wir einige der vier Annahmen zu entspannen, zum Beispiel durch die Gestaltung Glättungssysteme mit variablen Filterfenster (anisotrope Diffusion) oder Systeme, die wirklich Fenster nicht verwenden (Nichtlokale Mittel). Beantwortet Dec 27 12 at 15: 10Remove Rauschen und periodische Komponenten aus Datensätzen unter Beibehaltung der zugrunde liegenden Muster Smoothing Algorithmen werden oft verwendet, um periodische Komponenten aus einem Datensatz zu entfernen und gleichzeitig langfristige Trends zu erhalten. Beispielsweise zeigen Zeitreihendaten, die einmal im Monat abgetastet werden, oft saisonale Schwankungen. Ein zwölfmonatiger gleitender Durchschnittsfilter wird die saisonale Komponente unter Beibehaltung des langfristigen Trends entfernen. Alternativ können Glättungsalgorithmen verwendet werden, um ein beschreibendes Modell für die explorative Datenanalyse zu erzeugen. Diese Technik wird häufig verwendet, wenn es unpraktisch ist, ein Parametermodell anzugeben, das die Beziehung zwischen einem Satz von Variablen beschreibt. Signal - oder Zeitreihenglättungstechniken werden in einer Reihe von Disziplinen verwendet, einschließlich Signalverarbeitung, Systemidentifikation, Statistik und Ökonometrie. Gemeinsame Glättungsalgorithmen umfassen: LOWESS und Löss: Nichtparametrische Glättungsverfahren unter Verwendung von lokalen Regressionsmodelle Glättung Kernel: Nichtparametrische Ansatz eine glatte Verteilungsfunktion Glättung Splines zur Modellierung: Nichtparametrische Ansatz zur Kurvenanpassung Autoregressiven Moving Average (ARMA) Filter: Filter verwendet, wenn Daten zeigt serielle Autokorrelation Hodrick-Prescott-Filter: Filter verwendet, um ökonometrische Zeitreihe glätten durch die saisonalen Komponenten zu extrahieren SavitzkyGolay Glättungsfilter: Filter verwendet, wenn ein Signal Hochfrequenzinformationen hat, die Butterworth-Filter zurückgehalten werden sollten: Filter in der Signalverarbeitung verwendet, um Hochfrequenzrauschen Ihr Land entfernen Wählen

No comments:

Post a Comment