Friday 17 November 2017

Matlab Moving Average Signalverarbeitung


Mit MATLAB, wie kann ich den 3-tägigen gleitenden Durchschnitt einer bestimmten Spalte einer Matrix finden und den gleitenden Durchschnitt an diese Matrix anschließen Ich versuche, den 3-tägigen gleitenden Durchschnitt von unten nach oben der Matrix zu berechnen, die ich mir zur Verfügung gestellt habe Code. Geben Sie die folgende Matrix a und mask. Ich habe versucht, die Umsetzung der Conv-Befehl, aber ich bin ein Fehler Hier ist der Conv-Befehl habe ich versucht, auf der 2. Spalte der Matrix a verwenden. Die Ausgabe, die ich wünsche, ist in der Folgende Matrix. Wenn Sie irgendwelche Vorschläge haben, würde ich es sehr dankbar sein Danke. Für Spalte 2 der Matrix a, ich berechnen die 3-Tage gleitenden Durchschnitt wie folgt und Platzierung des Ergebnisses in Spalte 4 der Matrix ein Ich benannte Matrix a als WantedOutput nur zur Veranschaulichung Der 3-Tages-Durchschnitt von 17, 14, 11 ist 14 der 3-Tages-Durchschnitt von 14, 11, 8 ist 11 der 3-Tages-Durchschnitt von 11, 8, 5 ist 8 und der 3-Tage-Durchschnitt von 8, 5, 2 ist 5 Es gibt keinen Wert in den unteren 2 Zeilen für die 4. Spalte, da die Berechnung für den 3-tägigen gleitenden Durchschnitt beginnt Die untere Die gültige Ausgabe wird nicht angezeigt, bis mindestens 17, 14 und 11 Hoffentlich macht dies Sinn Aaron Jun 12 13 bei 1 28. Im Allgemeinen würde es helfen, wenn Sie den Fehler zeigen In diesem Fall tun Sie zwei Dinge falsch. Erste Ihre Faltung muss durch drei oder die Länge des gleitenden Durchschnittes geteilt werden. Zweitens, bemerken Sie die Größe von c Sie können nicht einfach passen c in a Die typische Art, einen gleitenden Durchschnitt zu bekommen wäre, dasselbe zu verwenden. Aber das tut nicht Schauen Sie wie das, was Sie wollen. Stattdessen sind Sie gezwungen, ein paar Zeilen zu benutzen. Ich muss einen gleitenden Durchschnitt über eine Datenreihe berechnen, innerhalb einer for-Schleife muss ich den gleitenden Durchschnitt über N 9 Tage bekommen. Das Array I m computing in Ist 4 Serien von 365 Werten M, die selbst Mittelwerte eines anderen Satzes von Daten sind, die ich die Mittelwerte meiner Daten mit dem gleitenden Durchschnitt in einer Handlung zeichnen möchte. Ich gehe ein bisschen über bewegte Mittelwerte und den Konv-Befehl und fand etwas Die ich versuchte, in meinem code. So grundsätzlich zu berechnen, berechne ich mein Mittel und plot es mit aw Rong gleitenden Durchschnitt Ich wählte den WTS-Wert direkt von der Mathworks-Website, so dass ist falsche Quelle Mein Problem aber ist, dass ich nicht verstehe, was diese wts ist Könnte jemand erklären Wenn es etwas mit den Gewichten der Werte zu tun hat Ungültig in diesem Fall Alle Werte sind gleich gewichtet. Und wenn ich das ganz falsch mache, könnte ich etwas Hilfe mit ihm bekommen. Mein aufrichtiger Dank. Schicht Sep 23 14 am 19 05.Using Conv ist eine hervorragende Möglichkeit, um eine Bewegung zu implementieren Durchschnitt In dem Code, den Sie verwenden, ist wts, wie viel Sie jeden Wert wiegen, wie Sie erraten, die Summe von diesem Vektor sollte immer gleich Eins Wenn Sie möchten, um jeden Wert gleichmäßig Gewicht und machen eine Größe N bewegten Filter dann würden Sie wollen Zu tun. Um das gültige Argument in conv wird dazu führen, dass Sie weniger Werte in Ms als Sie haben in M ​​Verwenden Sie das gleiche, wenn Sie don t mind die Auswirkungen der Null-Padding Wenn Sie die Signalverarbeitung Toolbox können Sie cconv verwenden, wenn Sie versuchen möchten Ein kreisförmiger gleitender Durchschnitt Etwas wie. Sie sollten t lesen Er conv und cconv Dokumentation für weitere Informationen, wenn Sie Port bereits. Sie können Filter verwenden, um einen laufenden Durchschnitt zu finden, ohne eine for-Schleife zu verwenden Dieses Beispiel findet den laufenden Durchschnitt eines 16-Element-Vektors, mit einer Fenstergröße von 5,2 glatt als Teil Der Curve Fitting Toolbox, die in den meisten Fällen verfügbar ist. yy glatt y glättet die Daten in der Spalte Vektor y mit einem gleitenden Durchschnitt Filter Ergebnisse werden in der Spalte Vektor yy zurückgegeben Die Standardspanne für den gleitenden Durchschnitt ist 5.In viele Experimente in Wissenschaft, die wahren Signalamplituden y-Achsen-Werte ändern sich ziemlich glatt als eine Funktion der x-Achsen-Werte, während viele Arten von Rauschen als schnelle, zufällige Änderungen in der Amplitude von Punkt zu Punkt innerhalb des Signals gesehen werden. In der letzteren Situation kann es sein In einigen Fällen nützlich sein, um zu versuchen, das Rauschen durch einen Prozess zu reduzieren, der als Glättung bezeichnet wird. Beim Glätten werden die Datenpunkte eines Signals so modifiziert, dass einzelne Punkte, die höher sind als die unmittelbar benachbarten Punkte, vermutlich weil o F-Rauschen reduziert und Punkte, die niedriger sind als die angrenzenden Punkte erhöht werden. Dies führt natürlich zu einem glatteren Signal und einer langsameren Sprungantwort auf Signaländerungen. Solange das wahre unterliegende Signal tatsächlich glatt ist, dann ist das wahre Signal nicht viel Verzerrt durch Glättung, aber das Hochfrequenzrauschen wird reduziert. In Bezug auf die Frequenzkomponenten eines Signals wirkt ein Glättungsvorgang als Tiefpaßfilter, der die Hochfrequenzkomponenten reduziert und die niederfrequenten Bauteile mit wenig änderung verläuft. Schichtung Algorithmen Die meisten Glättungsalgorithmen basieren auf der Verschiebungs - und Multiplikationstechnik, bei der eine Gruppe von benachbarten Punkten in den ursprünglichen Daten Punkt für Punkt um einen Satz von Zahlenkoeffizienten multipliziert wird, die die glatte Form definiert, die Produkte addiert und geteilt werden Durch die Summe der Koeffizienten, die zu einem Punkt von geglätteten Daten wird, dann wird der Satz von Koeffizienten um einen Punkt nach unten auf die ursprünglichen Daten verschoben und der Prozeß wird wiederholt Plast Glättung Algorithmus ist die rechteckige Boxcar oder ungewichtet gleitend Durchschnitt glatt es einfach ersetzt jeden Punkt in das Signal mit dem Durchschnitt von m benachbarten Punkten, wobei m ist eine positive ganze Zahl genannt die glatte Breite Zum Beispiel für eine 3-Punkt glatt m 3 Für j 2 bis n-1, wobei S j der j-te Punkt im geglätteten Signal, Y j der j-te Punkt im ursprünglichen Signal und n die Gesamtzahl der Punkte im Signal ist. Ähnliche glatte Operationen können für konstruiert werden Beliebige glatte Breite, m Normalerweise ist m eine ungerade Zahl Wenn das Rauschen in den Daten weißes Rauschen ist, das gleichmäßig über alle Frequenzen verteilt ist und seine Standardabweichung D ist, dann ist die Standardabweichung des Rauschs, das im Signal nach dem ersten Durchgang verbleibt Von einem ungewichteten gleitenden Durchschnitt glatt wird etwa s über die Quadratwurzel von m D sqrt m, wobei m ist die glatte Breite Trotz seiner Einfachheit ist diese glatte ist eigentlich optimal für das gemeinsame Problem der Reduzierung von weißen Rauschen unter Beibehaltung der schärfsten Schritt re Die Antwort auf eine Stufenänderung ist in der Tat linear, so dass dieser Filter den Vorteil hat, vollständig ohne jeglichen Response-Effekt zu reagieren, der seiner Reaktionszeit entspricht, die gleich der glatten Breite ist, dividiert durch die Abtastrate. Die dreieckige glatte ist wie die rechteckige glatte, Oben, außer dass es eine gewichtete Glättungsfunktion implementiert Für eine 5-Punkt-glatte m 5. für j 3 bis n-2 und ähnlich für andere glatte Breiten siehe die Kalkulationstabelle In beiden Fällen ist die Ganzzahl im Nenner die Summe Der Koeffizienten im Zähler, was zu einer Einheitsverstärkung glatt führt, die keine Auswirkung auf das Signal hat, wo es eine gerade Linie ist und die den Bereich unter den Peaks bewahrt. Es ist oft nützlich, einen Glättungsvorgang mehr als einmal anzuwenden Ist, um ein bereits geglättetes Signal zu glätten, um längere und kompliziertere Glätten zu bauen. Zum Beispiel ist das 5-Punkt-Dreieck glatt oben gleich zwei Durchgängen eines 3-Punkt-rechteckigen glatten Drei Durchgänge eines 3-Punkt-Rechtecks ​​s Mooth führt zu einem 7-Punkt-Pseudo-Gauß - oder Heuhaufen, der glatt ist, für den die Koeffizienten im Verhältnis 1 3 6 7 6 3 1 liegen. Die allgemeine Regel ist, dass n Pässe von aw-width glatten Ergebnissen in einer kombinierten glatten Breite von nw - N 1 Zum Beispiel führen 3 Durchgänge eines 17-Punkt-Glattes zu einem 49-Punkt-Glatt Diese Multi-Pass-Glätten sind effektiver bei der Reduzierung von hochfrequenten Rauschen im Signal als ein rechteckiges Glatt, zeigen aber eine langsamere Sprungantwort. In all diesen Glätten Wird die Breite des glatten ms als eine ungerade ganze Zahl gewählt, so dass die glatten Koeffizienten symmetrisch um den zentralen Punkt herum ausgeglichen sind, was wichtig ist, weil sie die x-Achsenposition von Peaks und anderen Merkmalen im Signal bewahrt. Dies ist besonders Kritisch für analytische und spektroskopische Anwendungen, da die Peakpositionen oft wichtige Messobjekte sind. Hinweis, dass wir hier davon ausgehen, dass die x-Achsen-Intervalle des Signals einheitlich sind, das heißt, dass die Differenz zwischen den x-Achsenwerten von adj Akzente Punkte sind während des gesamten Signals gleich. Dies wird auch in vielen der anderen in diesem Aufsatz beschriebenen Signalverarbeitungstechniken angenommen, und es ist eine sehr häufige, aber nicht notwendige Eigenschaft von Signalen, die von automatisierten und computergesteuerten Geräten erfasst werden. Die Savitzky - Golay glatt basiert auf der kleinsten Quadrate Anpassung von Polynomen an Segmente der Daten Der Algorithmus wird diskutiert Im Vergleich zu den gleitenden durchschnittlichen Glätten, ist die Savitzky-Golay glatt weniger effektiv bei der Reduzierung von Lärm, aber effektiver bei der Beibehaltung der Form von Das ursprüngliche Signal Es ist in der Lage zu differenzieren sowie Glättung Der Algorithmus ist komplexer und die Rechenzeiten sind größer als die glatten Typen oben diskutiert, aber mit modernen Computern ist der Unterschied nicht signifikant und Code in verschiedenen Sprachen ist weit verbreitet online Siehe. Die Form eines beliebigen Glättungsalgorithmus kann bestimmt werden, indem man diese glatte zu einer Delta-Funktion ein Signal anwendet, das aus allen Nullen besteht, mit Ausnahme von on E Punkt, wie durch das einfache Matlab Octave Skript gezeigt wird DeltaTest m Rauschunterdrückung Glättung reduziert in der Regel das Rauschen in einem Signal Wenn das Rauschen weiß ist, das gleichmäßig über alle Frequenzen verteilt ist und seine Standardabweichung D ist, dann ist die Standardabweichung des verbleibenden Rauschens In dem Signal nach einem Durchgang eines rechteckigen glatten wird ungefähr D sqrt m, wobei m die glatte Breite ist Wenn ein dreieckiges Glatt stattdessen verwendet wird, wird das Rauschen etwas weniger sein, etwa D 0 8 sqrt m Glättungsoperationen können mehr angewendet werden Als einmal das ist, kann ein vorher geglättetes Signal wieder geglättet werden. In manchen Fällen kann dies nützlich sein, wenn es sehr viel hochfrequentes Rauschen im Signal gibt. Allerdings ist die Rauschunterdrückung für das weiße Rauschen in jedem aufeinanderfolgenden glatten Fortsatz geringer Beispielsweise reduzieren drei Durchgänge eines rechteckigen Glattes das weiße Rauschen um einen Faktor von etwa D 0 7 sqrt m, nur eine leichte Verbesserung gegenüber zwei Durchgängen. Die Häufigkeitsverteilung des Rauschens, die durch Rauschfarbe bezeichnet wird Wesentlich beeinflusst die Fähigkeit der Glättung, um das Rauschen zu reduzieren Die Matlab Octave Funktion NoiseColorTest m vergleicht die Wirkung eines 20-Punkt-Boxcar ungewichteten gleitenden Durchschnittes glatt auf die Standardabweichung von Weiß, Rosa und Blau Rauschen, die alle eine ursprüngliche ungehemmte Standardabweichung haben Von 1 0 Da Glättung ein Tiefpaßfilter ist, wirkt es auf niederfrequentes rosa und rotes Rauschen weniger und wirkt auf hochfrequente blaue und violette Rauschen mehr, als es weißes Rauschen ist. Beachten Sie, dass die Berechnung der Standardabweichung unabhängig ist Die Reihenfolge der Daten und damit der Häufigkeitsverteilung, die einen Satz von Daten sortiert, ändert seine Standardabweichung nicht. Die Standardabweichung einer Sinuswelle ist unabhängig von ihrer Frequenz. Die Glättung ändert jedoch sowohl die Häufigkeitsverteilung als auch die Standardabweichung eines Datensatzes. End-Effekte und das Problem der verlorenen Punkte In den obigen Gleichungen ist die 3-Punkt-Rechteck-Glatt nur für j 2 bis n-1 definiert. Es gibt nicht genügend Daten in den s Um einen vollständigen 3-Punkt-Reibung für den ersten Punkt im Signal j 1 oder für den letzten Punkt jn zu definieren, da es keine Datenpunkte vor dem ersten Punkt oder nach dem letzten Punkt gibt. Ähnlich ist ein 5-Punkt-Glatt nur für definiert J 3 bis n-2, und daher kann für die ersten beiden Punkte oder für die letzten beiden Punkte kein Glattes berechnet werden. Im allgemeinen gilt für eine m-Breite glatt m -1 2 Punkte am Anfang des Signals Und m -1 2 Punkte am Ende des Signals, für das eine komplette m-Breite glatt nicht die übliche Art und Weise berechnet werden kann. Was zu tun Es gibt zwei Ansätze Einer ist, den Verlust von Punkten zu akzeptieren und diese Punkte zu beenden oder zu ersetzen Mit Nullen in der glatten Signal Das ist der Ansatz in den meisten der Figuren in diesem Papier genommen Der andere Ansatz ist es, schrittweise kleinere Glätten an den Enden des Signals verwenden, zum Beispiel 2, 3, 5, 7 Punkt glatt für Signal zu verwenden Punkte 1, 2, 3 und 4 und für Punkte n, n-1, n-2, n-3 Die spätere Annäherung kann pref Erkennbar, wenn die Kanten des Signals kritische Informationen enthalten, aber es erhöht die Ausführungszeit Die unten beschriebene Fastenmechanik kann eine dieser beiden Methoden verwenden. Beispiele für die Glättung Ein einfaches Beispiel der Glättung ist in Abbildung 4 dargestellt. Die linke Hälfte dieses Signals ist a Lauter Peak Die rechte Hälfte ist die gleiche Spitze, nachdem sie einen dreieckigen Glättungsalgorithmus durchlaufen hat. Das Rauschen wird stark reduziert, während der Peak selbst kaum verändert wird. Das reduzierte Rauschen ermöglicht es, die Signalcharakteristiken, die Höhe, die Breite, den Bereich usw., genauer zu messen Visuelle Inspektion. Bildung 4 Die linke Hälfte dieses Signals ist ein lärmender Peak Die rechte Hälfte ist die gleiche Spitze nach einem Glättungsalgorithmus Das Rauschen ist stark reduziert, während der Peak selbst kaum verändert wird, wodurch es einfacher ist, die Peakposition, Höhe zu messen , Und breite direkt durch grafische oder visuelle Schätzung, aber es verbessert nicht die Messungen, die durch die kleinsten Quadrate Methoden gemacht werden, siehe unten. Die glatte Breite, th Je größer die Rauschunterdrückung, sondern auch die Möglichkeit, dass das Signal durch den Glättungsvorgang verzerrt wird. Die optimale Wahl der glatten Breite hängt von der Breite und Form des Signals und dem Digitalisierungsintervall ab. Für Spitzenwertsignale ist der kritische Faktor Ist das glatte Verhältnis das Verhältnis zwischen der glatten Breite m und der Anzahl der Punkte in der Halbwertsbreite des Peaks. Im Allgemeinen verbessert das Erhöhen des Glättungsverhältnisses das Signal-Rausch-Verhältnis, bewirkt jedoch eine Verringerung der Amplitude und eine Erhöhung der Bandbreite des Peaks Beachten Sie, dass die glatte Breite auf zwei verschiedene Arten a als die Anzahl der Datenpunkte oder b als x-Achsen-Intervall für spektroskopische Daten in der Regel in nm oder in Frequenzeinheiten ausgedrückt werden kann. Die beiden sind einfach mit der Anzahl von Datenpunkte ist einfach das x-Achsen-Intervall mal das Inkrement zwischen benachbarten x-Achsen-Werten Das glatte Verhältnis ist in beiden Fällen gleich. Die obigen Figuren zeigen Beispiele für die Wirkung von drei verschiedenen glatten Breiten Auf laute Gauß-förmige Gipfel In der Figur auf der linken Seite hat die Spitze eine wahre Höhe von 2 0 und es gibt 80 Punkte in der Halbwertsbreite der Spitze Die rote Linie ist die ursprüngliche ungeglättete Spitze Die drei überlagerten grünen Linien sind die Ergebnisse der Glättung dieser Spitze mit einer dreieckigen glatten Breite von oben nach unten 7, 25 und 51 Punkte Da die Peakbreite 80 Punkte beträgt, sind die glatten Verhältnisse dieser drei Glätten 7 80 0 09, 25 80 0 31 und 51 80 0 64 Wenn die glatte Breite zunimmt, wird das Rauschen schrittweise reduziert, aber auch die Peakhöhe wird leicht reduziert. Für die grösste Glatte ist die Peakbreite leicht erhöht In der Figur rechts ist der ursprüngliche Peak in Rot richtig Höhe von 1 0 und eine halbe Breite von 33 Punkten Es ist auch weniger laut als das Beispiel auf der linken Seite Die drei überlagerten grünen Linien sind die Ergebnisse der gleichen drei dreieckigen Glätten der Breite von oben nach unten 7, 25 und 51 Punkte Aber da die Höchstbreite in diesem Fall nur 33 Punkte beträgt, Die glatten Verhältnisse dieser drei Glätten sind größer - 0 21, 0 76 und 1 55. Sie können sehen, dass die Peakverzerrungseffektreduktion der Peakhöhe und der Anstieg der Peakbreite für den schmaleren Peak größer ist, da die glatten Verhältnisse höher sind Glatte Verhältnisse von größer als 1 0 werden selten wegen übermäßiger Spitzenverzerrung verwendet. Beachten Sie, dass auch im schlimmsten Fall die Spitzenpositionen nicht unter der Annahme gemacht werden, dass die ursprünglichen Peaks symmetrisch waren und sich nicht von anderen Peaks überlappten. Wenn die Form des Peaks beibehalten wird Wichtiger als die Optimierung des Signal-Rausch-Verhältnisses, hat der Savitzky-Golay den Vorteil gegenüber gleitend-glatten Glätten In allen Fällen bleibt die Gesamtfläche unter dem Peak unverändert Wenn die Peak-Breiten stark variieren, eine adaptive Glatt, die das Glatte ermöglicht Breite, um über das Signal zu variieren, kann verwendet werden. Das Problem mit Glättung ist, dass es oft weniger vorteilhaft ist, als Sie vielleicht denken Es ist wichtig, darauf hinzuweisen, dass Glättung Ergebnisse wie illustrieren D in der obigen Abbildung kann trügerisch beeindruckend sein, weil sie eine einzelne Probe eines verrauschten Signals verwenden, das zu verschiedenen Graden geglättet wird. Dies bewirkt, dass der Betrachter den Beitrag von niederfrequenten Geräuschen unterschätzt, was schwer zu schätzen ist, weil es so wenige gibt Niederfrequente Zyklen im Signaldatensatz Dieses Problem kann durch Aufzeichnen einer Anzahl von unabhängigen Samples eines Rauschsignals, bestehend aus einem einzigen Peak, visualisiert werden, wie in den beiden folgenden Figuren dargestellt ist. Diese Figuren zeigen zehn überlagerte Diagramme mit dem gleichen Peak, aber mit unabhängigem Weiß Lärm, jeder mit einer anderen Linienfarbe aufgetragen, links geglättet und rechts geglättet Die Inspektion der geglätteten Signale auf der rechten Seite zeigt deutlich die Variation der Spitzenposition, der Höhe und der Breite zwischen den 10 Samples, die durch das verbleibende niederfrequente Rauschen verursacht wurden In den geglätteten Signalen Ohne das Rauschen würde jeder Peak eine Peakhöhe von 2, Peak Center bei 500 und Breite von 150 haben, nur weil ein Signal aussieht Glatt bedeutet nicht, dass es kein Rauschen gibt Niederfrequenzrauschen, das in den Signalen nach dem Glätten verbleibt, wird immer noch die präzise Messung von Spitzenposition, - höhe und - breite beeinträchtigen. Die generierenden Skripte unterhalb jeder Figur erfordern, dass die Funktionen Gaussian m, Whitenoise m und Fastsmooth m heruntergeladen werden. Es sollte klar sein, dass Glättung kann selten vollständig eliminieren Rauschen, weil die meisten Lärm über eine breite Palette von Frequenzen und Glättung verteilt ist Reduziert einfach das Rauschen in einem Teil seines Frequenzbereichs Nur für einige sehr spezifische Gerätetypen zB diskrete Frequenzrauschen oder Einpunktspitzen gibt es Hoffnung auf irgendetwas in der Nähe der vollständigen Rauschbeseitigung. Die Abbildung rechts unten ist ein weiteres Beispielsignal, das veranschaulicht Einige dieser Prinzipien Das Signal besteht aus zwei Gaußschen Gipfeln, einer bei x 50 und die zweite bei x 150. Beide Peaks haben eine Peakhöhe von 1 0 und eine Peak-Halbwertsbreite von 10 und ein normal verteiltes zufälliges weißes Rauschen mit Eine Standardabweichung von 0 1 wurde dem gesamten Signal hinzugefügt. Das x-Achsen-Abtastintervall ist jedoch für die beiden Peaks, die s 0 1 für den ersten Peak von x 0 bis 100 und 1 0 für den zweiten ist, verschieden Peak von x 100 bis 200 Dies bedeutet, dass der erste Peak durch zehnmal mehr Punkte gekennzeichnet ist, dass der zweite Peak es aussehen kann wie der erste Peak ist lauter als der zweite, aber das ist nur eine Illusion der Signal-Rausch-Verhältnis für Beide Spitzen sind 10 Der zweite Peak sieht weniger laut aus, weil es dort weniger Lärmproben gibt und wir die Unterbrechung von kleinen Proben unterschätzen. Das Ergebnis ist, dass das zweite Peak viel häufiger verzerrt wird, wenn das Signal geglättet wird Durch die Glatte wird es kürzer und breiter als der erste Peak Der erste Peak kann eine viel breitere glatte Breite tolerieren, was zu einem größeren Grad an Rauschreduzierung führt. Ähnlich, wenn beide Peaks mit dem kleinsten Quadrate Kurvenanpassungsverfahren gemessen werden, wird die Passung von Der erste Peak ist stabiler mit dem Rauschen und die gemessenen Parameter dieses Peaks werden etwa 3 mal genauer als der zweite Peak sein, denn es gibt 10 mal mehr Datenpunkte in diesem Peak und die Messgenauigkeit impr Oves grob mit der Quadratwurzel der Anzahl der Datenpunkte, wenn das Rauschen weiß ist Sie können die Datendatei udx im TXT-Format oder im Matlab-MAT-Format herunterladen. Optimierung der Glättung Wenn die glatte Breite zunimmt, erhöht sich das Glättungsverhältnis, das Rauschen wird schnell reduziert Zunächst langsam, und die Peakhöhe wird auch langsam reduziert, dann schneller, dann schneller Die Rauschunterdrückung hängt von der glatten Breite, dem glatten Typ zB rechteckig, dreieckig usw. und der Rauschfarbe, aber der Peakhöhe ab Reduktion hängt auch von der Spitzenbreite ab. Das Ergebnis ist, dass das Signal-zu-Rauschen, das als das Verhältnis der Peakhöhe der Standardabweichung des Rauschens definiert wird, schnell ansteigt und dann ein Maximum erreicht. Dies ist in der Animation auf der linken Seite dargestellt Für einen Gaußschen Gipfel mit weißem Rauschen, das von diesem Matlab Octave-Skript erzeugt wird Die maximale Verbesserung des Signal-Rausch-Verhältnisses hängt von der Anzahl der Punkte in der Spitze ab, je mehr Punkte im Peak, desto größer ist die glatte Breite Und die größere Rauschreduzierung Diese Figur verdeutlicht auch, dass der Großteil der Rauschunterdrückung auf Hochfrequenzkomponenten des Rauschens zurückzuführen ist, während ein Großteil des niederfrequenten Rauschens im Signal bleibt, auch wenn es geglättet wird. Das ist das am besten glatte Verhältnis Es hängt vom Zweck der Peakmessung ab Wenn das Ziel der Messung ist, die Peakhöhe oder - breite zu messen, dann sollten glatte Verhältnisse unter 0 2 verwendet werden und die Savitzky-Golay glatt ist bevorzugt Aber wenn das Ziel der Maße t Ist es, den Peak-Position-X-Achsen-Wert des Peaks zu messen, grßere glatte Verhältnisse können, falls gewünscht, verwendet werden, da die Glättung wenig Einfluss auf die Peak-Position hat, wenn der Peak nicht asymmetrisch ist oder die Erhöhung der Peakbreite so sehr ist, daß sie benachbarte Peaks verursacht Zu überlappen Wenn der Peak tatsächlich aus zwei zugrunde liegenden Peaks gebildet wird, die so viel überlappen, dass sie ein Peak zu sein scheinen, dann ist die Kurvenanpassung die einzige Möglichkeit, die Parameter des Basiswerts zu messen Peaks Leider entspricht das optimale Signal-Rausch-Verhältnis einem reibungslosen Verhältnis, das den Peak signifikant verzerrt, weshalb die Kurvenanpassung der ungeglätteten Daten oft bevorzugt ist. In quantitativen chemischen Analyseanwendungen, die auf der Kalibrierung durch Standardproben basieren, ist die Peak-Höhenreduzierung Verursacht durch Glättung ist nicht so wichtig Wenn die gleichen Signalverarbeitungsvorgänge auf die Samples und die Standards angewendet werden, ist die Peakhöhenreduktion der Standardsignale genau die gleiche wie die der Sample-Signale und der Effekt wird genau in Solche Fälle können ggf. glatte Breiten von 0 5 bis 1 0 verwendet werden, um das Signal-Rausch-Verhältnis weiter zu verbessern, wie in der Abbildung links dargestellt, für eine einfache gleitende, rechteckige, glatte, glatte, praktische analytische Chemie, absolute Peakhöhe Messungen sind selten erforderlich Kalibrierung gegen Standard-Lösungen ist die Regel Erinnern Sie sich an das Ziel der quantitativen Analyse ist nicht, ein Signal zu messen, sondern rathe R, um die Konzentration des Unbekannten zu messen Es ist jedoch sehr wichtig, genau die gleichen Signalverarbeitungsschritte auf die Standardsignale wie die Abtastsignale anzuwenden, sonst kann ein großer systematischer Fehler auftreten. Für einen genaueren Vergleich aller vier Glättung Typen, die oben betrachtet werden, siehe. Wenn du ein Signal gibst, gibt es zwei Gründe, um ein Signal zu glätten. A aus kosmetischen Gründen, um eine schönere oder dramatischere Grafik eines Signals für visuelle Inspektion oder Publikationen vorzubereiten, insbesondere um langfristiges Verhalten kurzfristig oder b zu betonen, wenn das Signal nachträglich durch eine Methode analysiert wird Durch das Vorhandensein von zu viel Hochfrequenzrauschen im Signal verschlechtert werden würde, zum Beispiel wenn die Höhen der Peaks visuell oder grafisch oder unter Verwendung der MAX-Funktion bestimmt werden sollen, wird die Breiten der Peaks durch die Halbwellenfunktion gemessen , Oder wenn die Lage von Maxima, Minima oder Wendepunkten im Signal automatisch durch Erfassen von Nulldurchgängen in Ableitungen des Signals bestimmt werden soll. Die Optimierung der Menge und Art der Glättung ist in diesen Fällen wichtig Computer ist verfügbar, um quantitative Messungen zu machen, ist es besser, kleinste Quadrate Methoden auf die nicht geglätteten Daten zu verwenden, anstatt grafische Schätzungen auf geglätteten Daten Wenn ein kommerzielles Instrument die Möglichkeit hat, Die Daten für Sie zu glätten, ist es am besten, die Glättung zu deaktivieren und aufzuzeichnen und die nicht geglätteten Daten zu speichern, die Sie immer später für die visuelle Darstellung glatt machen können, und es wird besser sein, die ungeglätteten Daten für eine kleinste Quadrate oder andere Verarbeitung zu verwenden Vielleicht möchten Sie später machen Glättung kann verwendet werden, um Peaks zu lokalisieren, aber es sollte nicht verwendet werden, um peaks. Care muss in der Gestaltung von Algorithmen, die Glättung verwenden verwendet werden, zum Beispiel in einer beliebten Technik für Peak-Finding und Messspitzen befinden sich Durch Erfassen von Abwärts-Nulldurchgängen in der geglätteten ersten Ableitung, aber die Position, die Höhe und die Breite jedes Peaks wird durch die kleinste Quadrate-Kurvenanpassung eines Segments der ursprünglichen nicht geglätteten Daten in der Nähe des Nulldurchgangs bestimmt Wenn eine schwere Glättung notwendig ist, um eine zuverlässige Unterscheidung gegen Rauschspitzen zu gewährleisten, werden die durch die Kurvenanpassung extrahierten Spitzenparameter nicht durch die Glättung verzerrt. Wenn sollten Sie NICHT ein Signal verteilen, Auf Situation, wo Sie sollten nicht glatt Signale ist vor statistischen Verfahren wie kleinste Quadrate Kurvenanpassung, weil. Eine Glättung wird die Genauigkeit der Parametermessung durch kleinste Quadrate-Messungen zwischen separaten unabhängigen Signalabtastungen nicht wesentlich verbessern, b alle Glättungsalgorithmen sind zumindest etwas verlustbehaftet, was zumindest eine gewisse Änderung der Signalform und der Amplitude bedeutet, c ist es schwieriger, die zu bewerten Durch die Inspektion der Residuen, wenn die Daten geglättet werden, weil geglättetes Rauschen für ein aktuelles Signal verwechselt werden kann und d Glättung des Signals wird ernsthaft unterschätzen die Parameter Fehler vorhergesagt durch Ausbreitung-von-Fehler-Berechnungen und die Bootstrap-Methode. Dealing mit Spikes und Ausreißer Manchmal sind Signale mit sehr hohen, schmalen Spikes oder Ausreißern, die in zufälligen Intervallen und mit zufälligen Amplituden auftreten, verunreinigt, aber mit Breiten von nur einem oder wenigen Punkten. Es sieht nicht nur hässlich aus, sondern auch die Annahmen der kleinsten Quadrate Berechnungen, weil es Ist nicht normal verteiltes zufälliges Rauschen Diese Art von Interferenz ist schwer zu beseitigen mit dem oben genannten Smoot Hing-Methoden, ohne das Signal zu verzerren. Allerdings kann ein Median-Filter, der jeden Punkt im Signal mit dem Median anstelle des Mittelwertes von m benachbarten Punkten ersetzt, enge Spikes mit wenig Veränderung des Signals vollständig eliminieren, wenn die Breite der Spikes ist Nur ein oder ein paar Punkte und gleich oder kleiner als m Siehe Die Killspikes m-Funktion verwendet einen anderen Ansatz, den sie lokalisiert und eliminiert die Spikes durch Patches über sie mit linearer Interpolation aus dem Signal vor und nachher Im Gegensatz zu herkömmlichen Glätten können diese Funktionen profitabel sein Angewendet vor den kleinsten Quadraten Anpassungsfunktionen Auf der anderen Seite, wenn es sich um die Spikes handelt, die eigentlich das Signal von Interesse sind, und andere Komponenten des Signals stören ihre Messung, siehe Eine Alternative zur Glättung, um das Rauschen im Set zu reduzieren Von zehn nicht geglätteten Signalen, die oben verwendet werden, ist eine Ensemble-Mittelung, die in diesem Fall sehr einfach durch die Matlab-Oktav-Code-Kurve x durchgeführt werden kann, Mittelwert y das Ergebnis zeigt eine Reduzierung In weißes Rauschen um etwa sqrt 10 3 2 Dies ist genug zu beurteilen, dass es einen einzigen Peak mit Gaußsche Form gibt, die dann durch Kurvenanpassung gemessen werden kann, die in einem späteren Abschnitt mit dem Matlab Octave Code peakfit xmean y, 0,0 bedeckt ist , 1 mit dem Ergebnis, das eine ausgezeichnete Übereinstimmung mit der Position 500, der Höhe 2 und der Breite 150 des Gaußschen Gipfels zeigt, der in der dritten Zeile des erzeugenden Skripts über links entstanden ist. Ein großer Vorteil der Ensemble-Mittelung ist, dass das Rauschen bei allen Frequenzen nicht reduziert wird Nur das hochfrequente Rauschen wie bei der Glättung. Konaldichte überabgetastete Signale Manchmal werden Signale dichter aufgezeichnet, dh mit kleineren x-Achsen-Intervallen als wirklich notwendig, um alle wichtigen Merkmale des Signals zu erfassen Dies führt zu mehr als notwendigen Daten Größen, die die Signalverarbeitungsprozeduren verlangsamen und die Speicherkapazität steuern können. Um dies zu korrigieren, können überabgetastete Signale in der Größe reduziert werden, indem entweder Datenpunkte beseitigt werden, wenn man jeden anderen Punkt oder jeden fällt Dritten Punkt oder durch das Ersetzen von Gruppen von benachbarten Punkten durch ihre Mittelwerte Der spätere Ansatz hat den Vorteil, anstatt die Entfernung von Fremddatenpunkten zu verwenden, und er wirkt wie Glättung, um ein Maß an Rauschunterdrückung zu liefern. Wenn das Rauschen im ursprünglichen Signal weiß ist und Das Signal wird durch Mittelung aller n Punkte kondensiert, das Rauschen wird im kondensierten Signal durch die Quadratwurzel von n reduziert, aber ohne Änderung der Häufigkeitsverteilung des Rauschens Das Matlab Octave Skript Testcondense m zeigt die Wirkung von Boxcar Mittelung mit dem Kondenkt m Funktion, um das Rauschen zu reduzieren, ohne die Rauschfarbe zu ändern Zeigt an, dass der Kastenwagen das gemessene Rauschen, das die Hochfrequenzkomponenten entfernt, reduziert, aber wenig Einfluss auf die Peakparameter hat. Die Least-Quadrate-Kurvenanpassung an den kondensierten Daten ist schneller und führt zu einem geringeren Anpassungsfehler Keine genauere Messung der Peak-Parameter. Video Demonstration Dieses 18-Sekunden-3-MByte-Video zeigt die Wirkung von Triangula R Glättung auf einem einzigen Gaußschen Peak mit einer Peakhöhe von 1 0 und Peakbreite von 200 Die anfängliche weiße Rauschamplitude beträgt 0 3, was ein anfängliches Signal-Rausch-Verhältnis von etwa 3 3 ergibt. Ein Versuch, die Peakamplitude und den Peak zu messen Breite des verrauschten Signals, die am unteren Rand des Videos gezeigt wird, sind anfangs wegen des Rauschens anfänglich ungenau. Da die glatte Breite erhöht wird, verbessert sich jedoch das Signal-Rausch-Verhältnis und die Genauigkeit der Messungen der Spitzenamplitude und des Peaks Die Breite ist verbessert. Über eine glatte Breite von etwa 40 glattem Verhältnis 0 2 bewirkt die Glättung, dass der Peak kürzer als 1 0 und breiter als 200 ist, obwohl das Signal-Rausch-Verhältnis sich weiter verbessert, wenn die glatte Breite ist Erhöht Diese Demonstration wurde in Matlab 6 erstellt 5.SPECTRUM, die Freeware-Macintosh-Signalverarbeitungsanwendung, enthält rechteckige und dreieckige Glättungsfunktionen für beliebig viele Punkte Spreadsheets Die Glättung kann in Kalkulationstabellen mit dem Shift und Mult durchgeführt werden Ipeth-Technik, die oben beschrieben wurde In den Tabellenkalkulationen und dem Satz von Multiplikationskoeffizienten ist in den Formeln enthalten, die die Werte jeder Zelle der geglätteten Daten in den Spalten C und E berechnen. Die Spalte C führt eine 7-fache rechteckige glatte 1 1 1 1 1 1 1 durch Und Spalte E ein 7-Punkt dreieckig glatt 1 2 3 4 3 2 1, angewendet auf die Daten in Spalte A Sie können eingeben oder kopieren und fügen Sie alle Daten, die Sie in Spalte A, und Sie können die Kalkulationstabelle auf längere Spalten verlängern Von Daten durch Ziehen der letzten Zeile der Spalten A, C und E nach Bedarf Aber um die glatte Breite zu ändern, müssten Sie die Gleichungen in den Spalten C oder E ändern und die Änderungen in die gesamte Spalte kopieren. Es ist üblich, Dividieren Sie die Ergebnisse durch die Summe der Koeffizienten, so dass die Nettoverstärkung einheitlich ist und die Fläche unter der Kurve des geglätteten Signals beibehalten wird. Die Kalkulationstabellen enthalten eine Sammlung von Einheitsgewinn-Faltungskoeffizienten für rechteckige, dreieckige und Gaußsche Glätte der Breite 3 bis 29 in bot H vertikale Spalte und horizontale Zeile Format Sie können kopieren und fügen Sie diese in Ihre eigenen Kalkulationstabellen. Die Kalkulationstabellen und zeigen eine flexiblere Methode, in der die Koeffizienten sind in einer Gruppe von 17 benachbarten Zellen in Zeile 5, Spalten I bis Y, so dass es enthalten Einfacher, die glatte Form und Breite bis zu einem Maximum von 17 zu ändern. In dieser Kalkulationstafel wird die Glätte dreimal hintereinander angewendet, was zu einer effektiven glatten Breite von 49 Punkten führt, die auf die Säule angewendet werden. Gpared to Matlab Octave, Kalkulationstabellen sind viel langsamer, weniger Flexibel und weniger leicht automatisiert Zum Beispiel in diesen Kalkulationstabellen, um das Signal oder die Anzahl der Punkte im Signal zu ändern oder die glatte Breite oder den Typ zu ändern, müssen Sie die Kalkulationstabelle an mehreren Stellen ändern, während Sie das gleiche tun müssen Mit der Matlab Octave Fastsmooth Funktion unten, müssen Sie nur ändern die Eingabe Argumente einer einzigen Zeile Code Und die Kombination von verschiedenen verschiedenen Techniken in eine Kalkulationstabelle ist komplizierter als Schreiben ein Matlab Octave-Skript, das das Gleiche macht Glättung in Matlab und Octave Die benutzerdefinierte Funktion fastsmooth implementiert Verschiebung und Multiplikationstypen glatt mit einem rekursiven Algorithmus Klicken Sie auf diesen Link, um den Code zu überprüfen, oder klicken Sie mit der rechten Maustaste zum Download für den Einsatz in Matlab Fastsmooth ist ein Matlab Funktion der Form s fastsmooth a, w, type, edge Das Argument a ist der Eingangssignalvektor w ist die glatte Breite ein positiver ganzzahliger Typ bestimmt den glatten Typ Typ 1 gibt einen rechteckigen gleitenden Durchschnitt oder Boxcar glatt Typ 2 gibt ein dreieckiges Glatt, äquivalent zu zwei Durchgängen eines gleitenden Mitteltyps 3 gibt eine Pseudo-Gaußsche glatte, äquivalent zu drei Durchgängen eines gleitenden Mittelwertes, die diese Formen in der Figur links verglichen werden. Siehe für einen Vergleich dieser Glättungsmodi Die Argumentkante steuert wie Die Kanten des Signals die ersten w 2 Punkte und die letzten w 2 Punkte werden gehandhabt Wenn Rand 0, die Kanten sind Null In diesem Modus ist die verstrichene Zeit unabhängig von der glatten Breite Dies gibt Die schnellste Ausführungszeit Wenn Kante 1, die Kanten werden mit fortschreitend kleineren Glätten geglättet, desto enger bis zum Ende In diesem Modus erhöht sich die Ausführungszeit mit zunehmenden glatten Breiten Das geglättete Signal wird als Vektor zurückgegeben Sie können die letzten beiden Eingabeargumente verlassen Fastsmooth Y, w, Typ glättet mit Rand 0 und fastsmooth Y, w glättet mit Typ 1 und Kante 0 Im Vergleich zu faltungsbasierten glatten Algorithmen verwendet fastsmooth einen einfachen rekursiven Algorithmus, der typischerweise viel schnellere Ausführungszeiten bietet, besonders bei großen glatten Breiten Kann ein 1.000.000-Punkt-Signal mit einem 1.000-Punkt-Gleit-Durchschnitt in weniger als 0 1 Sekunde gleiten. Hier ist ein einfaches Beispiel von Fastenmooth, das die Wirkung auf die weiße Rauschen-Grafik demonstriert. SegmentedSmooth m auf der rechten Seite dargestellt, isa segmentierte Mehrfachbreite d ata Glättungsfunktion, basiert Auf dem fastsmoo th-Algorithmus, der nützlich sein kann, wenn die Breiten der Peaks oder der Rauschpegel im wesentlichen über das Signal variieren. Die Syntax ist die s ame as fastsmooth m except that the second input argument smoothwidths can be a vector SmoothY SegmentedSmooth Y, smoothwidths, type, ends The function divides Y into a number of equal-length regions defined by the length of the vector smoothwidths , then smooths each region with a smooth of type type and width defined by the elements of vector smoothwidths In the graphic example in the figure on the right, smoothwidths 31 52 91 which divides up the signal into three regions and smooths the first region with smoothwidth 31, the second with smoothwidth 51, and the last with smoothwidth 91 Any number of smooth widths and sequence of smooth widths can be used Type help SegmentedSmooth for other examples examples DemoSegmentedSmooth m demonstrates the operation with different signals consisting of noisy variable-width peaks that get progressively wider, like the figure on the right. SmoothWidthTest m is a simple script that uses the fastsmooth function to demonstrate the effect of smoothing on peak height, noise, and signal-to-noise ratio of a peak You can change the peak shape in line 7, the smooth type in line 8, and the noise in line 9 A typical result for a Gaussian peak with white noise smoothed with a pseudo-Gaussian smooth is shown on the left Here, as it is for most peak shapes, the optimal signal-to-noise ratio occurs at a smooth ratio of about 0 8 However, that optimum corresponds to a significant reduction in the peak height which could be a serious problem A smooth width about half the width of the original unsmoothed peak produces less distortion of the peak but still achieves a reasonable noise reduction SmoothVsCurvefit m is a similar script, but is also compares curve fitting as an alternative method to measure the peak height without smoothing. This effect is explored more completely by the text below, which shows an experiment in Matlab or Octave that creates a Gaussian peak, smooths it, compares the smoothed and unsmoothed version, then uses the max, ha lfwidth and trapz functions to print out the peak height, halfwidth, and area max and trapz are both built-in functions in Matlab and Octave, but you have to download halfwidth m To learn more about these functions, type help followed by the function name. x 0 1 10 y exp - x-5 2 plot x, y ysmoothed fastsmooth y,11,3,1 plot x, y,x, ysmoothed, r disp max y halfwidth x, y,5 trapz x, y disp max ysmoothed halfwidth x, ysmoothed,5 trapz x, ysmoothed.1 1 6662 1 7725 0 78442 2 1327 1 7725 These results show that smoothing reduces the peak height from 1 to 0 784 and increases the peak width from 1 66 to 2 13 , but has no effect on the peak area, as long as you measure the total area under the broadened peak. Smoothing is useful if the signal is contaminated by non-normal noise such as sharp spikes or if the peak height, position, or width are measured by simple methods, but there is no need to smooth the data if the noise is white and the peak parameters are measured by least-squares methods, because the results obtained on the unsmoothed data will be more accurate see. The Matlab Octave user-defined function condense m condense y, n returns a condensed version of y in which each group of n points is replaced by its average, reducing the length of y by the factor n For x, y data sets, use this function on both independent variable x and dependent variable y so that the features of y will appear at the same x values. The Matlab Octave user-defined function medianfilter m medianfilter y, w performs a median-based filter operation that replaces each value of y with the median of w adjacent points which must be a positive integer killspikes m is a threshold-based filter for eliminating narrow spike artifacts The syntax is fy killspikes x, y, threshold, width Each time it finds a positive or negative jump in the data between y n and y n 1 that exceeds threshold , it replaces the next width points of data with a linearly interpolated segment spanning x n to x n width 1 , See killspikesdemo T ype help killspikes at the command prompt. ProcessSignal is a Matlab Octave command-line function that performs smoothing and differentiation on the time-series data set x, y column or row vectors It can employ all the types of smoothing described above Type help ProcessSignal Returns the processed signal as a vector that has the same shape as x, regardless of the shape of y The syntax is Processed ProcessSignal x, y, DerivativeMode, w, type, ends, Sharpen, factor1, factor2, SlewRate, MedianWidth. iSignal is an interactive function for Matlab that performs smoothing for time-series signals using all the algorithms discussed above including the Savitzky-Golay smooth, a median filter, and a condense function, with keystrokes that allow you to adjust the smoothing parameters continuously while observing the effect on your signal instantly, making it easy to observe how different types and amounts of smoothing effect noise and signal, such as the height, width, and areas of peaks Other functi ons include differentiation, peak sharpening, interpolation, least-squares peak measurement, and a frequency spectrum mode that shows how smoothing and other functions can change the frequency spectrum of your signals The simple script iSignalDeltaTest demonstrates the frequency response of iSignal s smoothing functions by applying them to a single-point spike allowing you to change the smooth type and the smooth width to see how the the frequency response changes View the code here or download the ZIP file with sample data for testing. Use the A and Z keys to increase and decrease the smooth width, and the S key to cycle through the available smooth types Hint use the Gaussian smooth and keep increasing the smooth width until the peak shows. Note you can right-click on any of the m-file links on this site and select Save Link As to download them to your computer for use within Matlab Unfortunately, iSignal does not currently work in Octave. An earlier version of his page is available in French, at courtesy of Natalie Harmann and Anna Chekovsky Last updated February, 2017 This page is part of A Pragmatic Introduction to Signal Processing , created and maintained by Prof Tom O Haver Department of Chemistry and Biochemistry, The University of Maryland at College Park Comments, suggestions, bug reports, and questions should be directed to Prof O Haver at Unique visits since May 17, 2008.

No comments:

Post a Comment