Saturday 18 November 2017

Weighted Moving Average Signal Processing


Mit Gewichtsvektor Ich meine, der Vektor mit Gewichten, die Sie haben, um die Beobachtungen in dem Fenster, das über Ihre Daten mit gleitet multiplizieren, so dass, wenn Sie diese Produkte hinzufügen zusammen gibt es den Wert der EMA auf der rechten Seite des Fensters. Für einen linear gewichteten gleitenden Durchschnitt ist die Formel zur Ermittlung des Gewichtsvektors: (1: n) / sum (1: n) (im R-Code). Diese Folge der Länge n addiert sich zu 1. Für n10 wird sie 0.01818182 0.03636364 0.05454545 0.07272727 0.09090909 0.10909091 0.12727273 0.14545455 0.16363636 0.18181818 die Zahlen 1 bis 10/55 mit 55 die Summe der Zahlen 1 bis 10. Wie berechnen Sie das Gewicht Vektor für einen exponentiellen gleitenden Durchschnitt (EMA) der Länge n, wenn n die Länge des Fensters ist, dann ist alphalt-2 / (n1) und ilt-1: n EmaWeightVectorlt - ((alpha (1-alpha) (1-i ))) Ist das richtig Auch wenn die EMA nicht wirklich auf ein Fenster mit einem Start und einem Ende beschränkt ist, sollten nicht die Gewichte bis zu 1 hinzufügen, genau wie mit dem LWMA Danke Jason, irgendwelche Hinweise, wie man den EMA-Filter an irgendwelche anzunähern Gewünschte Präzision durch die Annäherung mit einem lang genug FIR-Filter Es gibt ein perl-Skript auf en. wikipedia. org/wiki/hellip, das das Bild des EMA-Gewichtsvektors gemacht hat, aber ich verstehe es nicht: wenn sie die Anzahl der Gewichte auf setzen 15 Warum gibt es 20 rote Balken statt 15 ndash MisterH Dez 19 12 um 22: 40Was ist Glättung und wie kann ich es tun Ich habe ein Array in Matlab, die das Magnitude-Spektrum eines Sprachsignals ist (die Größe von 128 Punkten 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 verschmieren / verschwimmen das Signal ein wenig, um loszuwerden, Lärm. Zum Beispiel wäre eine sehr einfache Glättungsmethode, jedes Signal-Element f (t) auf 0,8 des ursprünglichen Wertes plus 0,1 jeder seiner Nachbarn neu zu berechnen: Beachten Sie, wie sich die Multiplikationsfaktoren oder - gewichte zu eins 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: nicht glatt / Filter die Enden, akzeptieren einen kürzeren resultierenden geglätteten Vektor, bilden Daten und glatt mit dem (abhängig von der Genauigkeit / Nützlichkeit von Vorhersagen aus den Enden), oder vielleicht mit verschiedenen asymmetrischen Glättung Kerne an den Enden (Was letztlich den Informationsgehalt im Signal verkürzt). 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. Eine Möglichkeit, das Beste aus beiden Welten zu erhalten, besteht darin, einen gewichteten Mittelwert zu verwenden, wobei wir kleinere Gewichte weiter weg geben, sodass wir die Rauscheffekte von größeren Bereichen mitteln, während wir das wahre Signal nicht zu groß gewichten, 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 in den letzten Jahren eine Menge Arbeit geleistet wurde, um einige der vier Annahmen zu lösen, zum Beispiel durch Entwerfen von Glättungsschemata mit variablen Filterfenstern (anisotrope Diffusion) oder Schemata, die überhaupt keine Fenster verwenden (Nichtlokale Mittel). Beantwortet Dec 27 12 at 15: 10exponentiell gewichteten gleitenden Durchschnitt Sie können Ihre Watch-Liste als Threads, die Sie haben Lesezeichen zu denken. Sie können Tags, Autoren, Threads und sogar Suchergebnisse zu Ihrer Beobachtungsliste hinzufügen. Auf diese Weise können Sie leicht verfolgen Themen, die Sie interessiert sind in. Um Ihre Watch-Liste, klicken Sie auf die quotMy Newsreaderquot Link. Um Artikel zu Ihrer Watchlist hinzuzufügen, klicken Sie auf den Link "quotadd to watch listquot" am unteren Rand einer Seite. Wie füge ich ein Element zu meiner Watchlist hinzu Um Suchkriterien zu Ihrer Watchlist hinzuzufügen, suchen Sie den gewünschten Begriff im Suchfeld. Klicken Sie auf den quotAddd diese Suche zu meinem watch listquot Link auf der Suchergebnisseite. Sie können auch einen Tag zu Ihrer Überwachungsliste hinzufügen, indem Sie nach dem Tag mit der Anweisung quottag suchen: tagnamequot wobei tagname der Name des Tags ist, das Sie ansehen möchten. Um einen Autor zu Ihrer Beobachtungsliste hinzuzufügen, gehen Sie zur Autorenprofilseite und klicken Sie auf den quotAdd this author zu meinem watch listquot Link am oberen Rand der Seite. Sie können auch einen Autor zu Ihrer Watch-Liste hinzufügen, indem Sie zu einem Thread, dass der Autor gebucht hat und klicken Sie auf den quotAdd diesen Autor zu meinem watch listquot Link. Sie werden benachrichtigt, wenn der Autor eine Post macht. Um einen Thread zu Ihrer Watch-Liste hinzuzufügen, gehen Sie auf die Thread-Seite und klicken Sie auf den Link diesen Thread zu meinem watch listquot Link am oberen Rand der Seite. Über Newsgroups, Newsreader und MATLAB Central Was sind Newsgroups Die Newsgroups sind ein weltweites Forum, das allen offen steht. Newsgroups werden verwendet, um eine breite Palette von Themen zu diskutieren, Ankündigungen machen und Handelsdateien. Diskussionen sind Threaded, oder gruppiert in einer Weise, die Sie eine gebuchte Nachricht und alle ihre Antworten in chronologischer Reihenfolge lesen können. Dies macht es einfach, den Faden des Gesprächs zu folgen, und zu sehen, whatrsquos bereits gesagt, bevor Sie Ihre eigene Antwort posten oder eine neue Buchung. Newsgroup-Inhalte werden von Servern verteilt, die von verschiedenen Organisationen im Internet gehostet werden. Nachrichten werden unter Verwendung von offenen Standardprotokollen ausgetauscht und verwaltet. Keine einzelne Entität ldquoownsrdquo die Newsgroups. Es gibt Tausende von Newsgroups, die jeweils ein einziges Thema oder ein bestimmtes Thema behandeln. Der MATLAB Central Newsreader platziert und zeigt Nachrichten in der comp. soft-sys. matlab-Newsgroup an. Wie lese oder poste ich in den Newsgroups Sie können den integrierten Newsreader auf der MATLAB Central-Website verwenden, um Nachrichten in dieser Newsgroup zu lesen und zu posten. MATLAB Central wird von MathWorks gehostet. Nachrichten, die über den MATLAB Central Newsreader veröffentlicht werden, werden von allen Benutzern der Newsgroups gesehen, unabhängig davon, wie sie auf die Newsgroups zugreifen. Es gibt mehrere Vorteile der Verwendung von MATLAB Central. Ein Konto Das MATLAB Central-Konto ist mit Ihrem MathWorks-Konto verknüpft. Verwenden Sie die E-Mail-Adresse Ihrer Wahl Mit dem MATLAB Central Newsreader können Sie eine alternative E-Mail-Adresse als Ihre Buchungsadresse definieren, um Unfälle in Ihrer primären Mailbox zu vermeiden und Spam zu reduzieren. Spam-Kontrolle Die meisten Newsgroup-Spam wird vom MATLAB Central Newsreader gefiltert. Tagging-Nachrichten können von jedem angemeldeten Benutzer mit einem entsprechenden Label versehen werden. Tags können als Schlüsselwörter verwendet werden, um bestimmte Dateien von Interesse zu finden, oder als eine Möglichkeit, Ihre Bookmarking-Einträge zu kategorisieren. Sie können wählen, andere zu erlauben, Ihre Umbauten anzusehen, und Sie können otherrsquo Umbauten als auch die der Gemeinschaft an sehen oder suchen. Tagging bietet eine Möglichkeit, sowohl die großen Trends und die kleineren, mehr obskuren Ideen und Anwendungen zu sehen. Beobachtungslisten Durch das Einrichten von Überwachungslisten können Sie über Updates informiert werden, die für Beiträge erstellt wurden, die von Autor, Thread oder Suchvariablen ausgewählt wurden. Ihre Benachrichtigungswünsche können per E-Mail (täglich digest oder sofort), im My Newsreader oder per RSS-Feed gesendet werden. Andere Möglichkeiten, um auf die Newsgroups zugreifen Verwenden Sie einen Newsreader über Ihre Schule, Arbeitgeber oder Internet Service Provider Pay für Newsgroup-Zugriff von einem kommerziellen Anbieter Verwenden Sie Google Groups Mathforum. org bietet einen Newsreader mit Zugriff auf die comp. soft sys. matlab newsgroup Führen Sie Ihre eigenen Server. Für typische Anweisungen siehe: slyck / ng. phppage2 Wählen Sie Ihr Land aus

No comments:

Post a Comment