Tuesday 25 July 2017

Gewichtet Gleitend Durchschnittlich Matlab Simulink


Ich bin neu bei Simulink. Ich möchte den Durchschnitt der eingehenden Daten (die nach einigen Intervallen kommt) von einem Block aus machen. Zum Beispiel sind kontinuierliche gerahmte Daten von 42 Samples aus einem Block. Zusammen mit den gerahmten Daten gibt es eine andere Ausgabe (Tag), die besagt, dass diese Framesamples zu welcher Kategorie gehören. Tags sind Zahlen von 1-6. Die Ausgabe ist zufällig. Ich möchte die gleichen Kategorie Daten. Wie der erste rahmen von cat1 ist, dann kommt nach 4 rahmen cat1 rahmen wieder Nun, wie soll ich diesen neuen Rahmen mit dem vorherigen bezahlen, den ich für alle Kategorien machen möchte. Bitte helfen Sie mir in diesem. Fragte Mar 26 14 um 13:35 Eine schnelle und schmutzige Lösung wäre, einen Arraylisten für jede Kategorie zu implementieren. Initialisieren Sie die Liste mit NaNs und halten Sie einen Zähler für die letzte Probe aus jeder Kategorie. Mit der mittleren Funktion kannst du den Durchschnitt aller Messungen erhalten. Wenn du nur den Durchschnitt des aktuellen Rahmens und des vorherigen Rahmens willst, kannst du einfach bedeuten (cat1 (n1) cat1 (n11)) wobei cat1 der Arraylist für Frames aus Kategorie 1 ist und n1 der Index des vorherigen Frames in cat1 ist . Wenn Sie einen gewichteten gleitenden Durchschnitt für eine Echtzeitimplementierung wünschen, erstellen Sie für jede Kategorie eine durchschnittliche Variable (rufen Sie av1, av2 usw.) an und berechnen Sie av1 alphaav1 (1-alpha) cat1 (n11) (wobei alpha das gewichtete Gewicht ist Auf den vorherigen Durchschnitt (alphalt1) und cat1 (n11) ist die neue Messung), wenn ein cat1-Rahmen kommt. Antwortete Mar 26 14 bei 17: 39Weighted Moving Average (Obsolete) Hinweis: Der Weighted Moving Average Block ist veraltet. Dieser Block wurde aus der diskreten Bibliothek in R2008a entfernt und durch den diskreten FIR Filterblock ersetzt. Allerdings bestehen bestehende Modelle, die den Block "Weighted Moving Average" enthalten, weiterhin für die Abwärtskompatibilität. Verwenden Sie den diskreten FIR Filterblock in neuen Modellen. Betrachten Sie die Verwendung der slupdate-Funktion, um Weighted Moving Average mit diskretem FIR Filter in bestehenden Modellen zu ersetzen. Der gewichtete Moving Average-Block sperrt und hält die N aktuellsten Eingänge, multipliziert jede Eingabe mit einem vorgegebenen Wert (angegeben durch den Wert "Gewichte") und stapelt sie in einen Vektor. Dieser Block unterstützt sowohl Single-Outputs Single-Output - (SISO) als auch Single-InputMulti-Output (SIMO) - Modi. Für den SISO-Modus wird der Wert Weights als Zeilenvektor angegeben. Für den SIMO-Modus werden die Gewichte als Matrix angegeben, wobei jede Zeile einer separaten Ausgabe entspricht. Sie können wählen, ob der Datentyp und die Skalierung der Gewichte im Dialog mit dem Gain-Datentyp-Parameter angegeben werden sollen oder nicht. Der Initial Condition-Parameter liefert die Anfangswerte für alle Zeiten vor der Startzeit. Sie legen das Zeitintervall zwischen den Samples mit dem Sample Time Parameter fest. Der Weighted Moving Average-Block multipliziert seine Eingaben zuerst mit dem Wert "Weights", wandelt diese Ergebnisse mit den angegebenen Rundungs - und Überlaufmodi in den Ausgabedatentyp um und führt dann die Summierung aus. Datentyp-Unterstützung Der Weighted Moving Average-Block unterstützt alle numerischen Datentypen, die Simulink x00AE unterstützt, einschließlich Festpunkt-Datentypen. Parameter Geben Sie die Gewichte des gleitenden Durchschnitts eine Zeile pro Ausgang an. Der Wert "Gewichte" wird von der Verdoppelung zum angegebenen Datentyp offline unter Verwendung von Rund-zu-Nächsten und Sättigung umgewandelt. Geben Sie die Anfangswerte für alle Zeiten vor der Startzeit an. Der Anfangsbedingungsparameter wird von Doppel - zu dem Eingabedatentyp offline unter Verwendung von Rund-zu-Nächsten und Sättigung umgewandelt. Geben Sie das Zeitintervall zwischen den Samples an. Um die Sample-Zeit zu erben, setzen Sie diesen Parameter auf -1. Weitere Informationen finden Sie unter Sample Time in der Online-Dokumentation. Ausgabedatentyp Geben Sie den Ausgabedatentyp an. Sie können es festlegen: Eine Regel, die einen Datentyp erbt, zB Inherit: Inherit über Backpropagation Der Name eines Datentypobjekts, z. B. ein Simulink. NumericType-Objekt Ein Ausdruck, der beispielsweise einen Datentyp auswertet , Fixdt (1,16,0) Klicken Sie auf die Schaltfläche Datentyp anzeigen, um den Datentyp-Assistenten anzuzeigen. Die Ihnen hilft, den Output Datentyp Parameter zu setzen. Sperrausgangsskalierung gegen Änderungen durch das Autokalibrierwerkzeug Auswählen, um die Skalierung der Ausgänge gegen Änderungen durch das Festpunkt-Werkzeug zu sperren. Integer-Rundungsmodus Rundungsmodus für den Festkomma-Ausgang Weitere Informationen finden Sie unter Rundung. Sättigen Sie auf max oder min, wenn Überläufe auftreten Wenn ausgewählt, feste Punktüberläufe sättigen. Ansonsten wickeln sie ein. Geben Sie den Datentyp des Wertes "Gewichte" an. Sie können es festlegen: Eine Regel, die einen Datentyp erbt, zB Inherit: Inherit über interne Regel Der Name eines Datentypobjekts, z. B. ein Simulink. NumericType-Objekt Ein Ausdruck, der beispielsweise einen Datentyp auswertet , Fixdt (1,16,0) Klicken Sie auf die Schaltfläche Datentyp anzeigen, um den Datentyp-Assistenten anzuzeigen. Die Ihnen hilft, den Gain-Datentyp-Parameter festzulegen. (Siehe Datentypen mit Datentyp-Assistenten für weitere Informationen angeben.) Angenommen, Sie wollen diesen Baustein für zwei Ausgänge (SIMO-Modus) konfigurieren, wobei der erste Ausgang durch y 1 (k) a 1 x22C5 u (k) b 1 x22C5 gegeben ist (K x2212 1) c 1 x 22C5 u (k x 2212 2) Der zweite Ausgang ist gegeben durch y 2 (k) a 2 x 22C5 u (k) b 2 x 22C5 u (k x 2212 1) und die Anfangswerte von u (k - 1) und u (k - 2) sind durch ic1 und ic2 gegeben. beziehungsweise. Um den Weighted Moving Average-Block für diesen Fall zu konfigurieren, müssen Sie den Wert Weights als a1 b1 c1 a2 b2 c2 mit c2 0 und den Initialzustandsparameter als ic1 ic2 angeben. MerkmaleDokumentation Moving Average Methode 8212 Mittelungsmethode Schiebefenster (Standard) Exponentielle Gewichtung Schiebefenster 8212 Ein Fenster der Länge Die Fensterlänge bewegt sich über die Eingabedaten entlang jedes Kanals. Bei jedem Sample fährt das Fenster vorbei, der Block berechnet den Durchschnitt über die Daten im Fenster. Exponentielle Gewichtung 8212 Der Block multipliziert die Samples mit einem Satz von Gewichtungsfaktoren. Die Größe der Gewichtungsfaktoren nimmt exponentiell ab, wenn das Alter der Daten zunimmt und niemals Null erreicht. Um den Durchschnitt zu berechnen, summiert der Algorithmus die gewichteten Daten. Festlegen der Fensterlänge 8212 Kennzeichen zur Angabe der Fensterlänge auf (Standardeinstellung) aus Wenn Sie dieses Kontrollkästchen markieren, entspricht die Länge des Schiebefensters dem Wert, den Sie in der Fensterlänge angeben. Wenn Sie dieses Kontrollkästchen deaktivieren, ist die Länge des Schiebefensters unendlich. In diesem Modus berechnet der Baustein den Mittelwert des aktuellen Samples und alle vorherigen Samples im Kanal. Fensterlänge 8212 Länge des Schiebefensters 4 (Standard) positive Skalar-Ganzzahl Die Fensterlänge gibt die Länge des Schiebefensters an. Dieser Parameter wird angezeigt, wenn Sie das Kontrollkästchen Fensterlänge festlegen auswählen. Vergessensfaktor 8212 Exponentieller Gewichtungsfaktor 0,9 (Standard) positiver realer Skalar im Bereich (0,1 Dieser Parameter gilt, wenn Sie die Methode auf die Exponentialgewichtung einstellen. Ein Vergessensfaktor von 0,9 gibt den älteren Daten mehr Gewicht als ein Vergessensfaktor von 0,1 Ein Vergessungsfaktor von 1.0 zeigt den unendlichen Speicher an, alle vorherigen Samples werden gleich gewichtet, dieser Parameter ist einstellbar, auch wenn es sich bei der Simulation um einen Wert ändert. Simulieren mit 8212 Simulationsart zur Ausführung der Codegenerierung (Standard) Interpretierte Ausführung Simulieren Modell mit generiertem C-Code Das erste Mal, wenn Sie eine Simulation durchführen, erzeugt Simulink x00AE den C-Code für den Block. Der C-Code wird für nachfolgende Simulationen wiederverwendet, solange sich das Modell nicht ändert. Diese Option erfordert zusätzliche Startzeit, aber schneller Simulationsgeschwindigkeit als interpretierte Ausführung Simulieren Sie das Modell mit dem MATLAB x00AE-Interpreter. Diese Option verkürzt die Startzeit, hat aber eine langsamere Simulationsgeschwindigkeit als die Codegenerierung. Mehr über Algorithmen Schiebefensterverfahren Bei der Schiebefenstermethode ist der Ausgang für jede Eingangsabtastung der Mittelwert des aktuellen Samples und der Len - 1 vorherigen Samples. Len ist die Länge des Fensters. Um die ersten Len - 1 - Ausgänge zu berechnen, wenn das Fenster noch nicht genügend Daten enthält, füllt der Algorithmus das Fenster mit Nullen. Als Beispiel, um den Durchschnitt zu berechnen, wenn die zweite Eingabe Probe kommt, füllt der Algorithmus das Fenster mit Len - 2 Nullen. Der Datenvektor, x. Sind dann die beiden Datenmuster, gefolgt von Len - 2 - Nullen. Wenn Sie die Eigenschaft SpecifyWindowLength auf false setzen. Der Algorithmus wählt eine unendliche Fensterlänge. In diesem Modus ist der Ausgang der gleitende Durchschnitt des aktuellen Samples und alle vorherigen Samples im Kanal. Exponentielles Gewichtungsverfahren Bei der exponentiellen Gewichtungsmethode wird der gleitende Durchschnitt rekursiv unter Verwendung dieser Formeln berechnet: w N. x03BB x03BB w N x2212 1. x03BB 1. x x00AF N. x03BB (1 x2212 1 w N. x03BB) x x00AF N x2212 1. x03BB (1 w N. x03BB) x N x x00AF N. x03BB 8212 Bewegender Mittelwert bei der aktuellen Probe x N 8212 Aktuelle Dateneingabebeispiel x x00AF N x2212 1. x03BB 8212 Gleitender Durchschnitt bei der vorherigen Probe 955 8212 Vergessensfaktor w N. x03BB 8212 Gewichtungsfaktor, der auf die aktuelle Datenprobe angewendet wird (1 x2212 1 w N. x03BB) x x00AF N x2212 1. x03BB 8212 Effekt der vorherigen Daten im Durchschnitt Für die erste Probe, bei der N1, wählt der Algorithmus w N. x03BB 1. Für die nächste Probe wird der Gewichtungsfaktor aktualisiert und verwendet, um den Mittelwert nach der rekursiven Gleichung zu berechnen. Wenn das Alter der Daten zunimmt, nimmt die Größe des Gewichtungsfaktors exponentiell ab und erreicht niemals Null. Mit anderen Worten, die jüngsten Daten haben mehr Einfluss auf den aktuellen Durchschnitt als die älteren Daten. Der Wert des Vergessensfaktors bestimmt die Änderungsrate der Gewichtungsfaktoren. Ein Vergessensfaktor von 0,9 gibt den älteren Daten mehr Gewicht als ein Vergessensfaktor von 0,1. Ein Vergessensfaktor von 1,0 zeigt unendlichen Speicher an. Alle bisherigen Proben erhalten ein gleiches Gewicht. Systemobjekte Wählen Sie Ihr Land aus

No comments:

Post a Comment