Simulink Moving Average Beispiel


Ich bin neu bei Simulink. Ich möchte den Durchschnitt der eingehenden Daten (die nach einigen Intervallen kommt) von einem Block zu tun. Zum Beispiel sind ununterbrochene gerahmte Daten von 42 Proben von einem Block entfernt. Zusammen mit den gerahmten Daten gibt es einen weiteren Ausgang (Tag), der besagt, dass diese Framesamples zu welcher Kategorie gehören. Tags sind Zahlen von 1-6. Die Ausgabe ist zufällig. Ich möchte die gleiche Kategorie Daten Durchschnitt. Wie der erste Frame ist von cat1, dann nach 4 Frames Kat1 Frame wieder kommt. Nun, wie sollte ich diesen neuen Rahmen mit dem vorherigen Ich möchte dies für alle Kategorien zu tun Durchschnitt. Bitte helfen Sie mir heraus in diesem. Eine schnelle und schmutzige Lösung wäre, eine Arraylist für jede Kategorie implementieren. Initialisieren Sie die Liste mit NaNs und halten Sie einen Zähler für die letzte Probe aus jeder Kategorie. Mit Hilfe der Mittelfunktion können Sie den Mittelwert aller Messungen erhalten. Wenn Sie nur den Durchschnitt des aktuellen Rahmens und des vorherigen Rahmens wollen, können Sie einfach (cat1 (n1) cat1 (n11)) bedeuten, wobei cat1 der Arraylist für Frames aus der 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 (nennen Sie sie av1, av2 usw.) und berechnen Sie av1 alphaav1 (1-alpha) cat1 (n11) (wobei alpha das Gewicht ist Bis zum vorherigen Durchschnitt (alphalt1) und cat1 (n11) ist die neue Messung), wenn ein cat1-Rahmen kommt. Beantwortet Mar 26 14 um 17: 39Moving-Average Filter von Verkehrsdaten Dieses Beispiel zeigt, wie man Verkehrsfluss Daten mit einem gleitenden durchschnittlichen Filter mit einem 4-Stunden-Schiebefenster zu glätten. Die folgende Differenzgleichung beschreibt einen Filter, der die aktuelle Stunde und die drei vorhergehenden Datenstunden mittelt. Importieren Sie die Verkehrsdaten und ordnen Sie die erste Spalte der Fahrzeugzählungen dem Vektor x zu. Erstellen Sie die Filterkoeffizientenvektoren. Berechnen Sie den 4-Stunden-gleitenden Durchschnitt der Daten und zeichnen Sie die ursprünglichen Daten und die gefilterten Daten. MATLAB und Simulink sind eingetragene Warenzeichen von The MathWorks, Inc. Bitte lesen Sie mathworkstrademarks für eine Liste anderer Marken, die Eigentum von The MathWorks, Inc. sind. Andere Produkt - oder Markennamen sind Warenzeichen oder eingetragene Warenzeichen der jeweiligen Eigentümer. Wählen Sie Ihren CountryWeighted Moving Average aus (Obsolete) Hinweis: Der Weighted Moving Average Block ist veraltet. Dieser Block wurde aus der Diskrete Bibliothek in R2008a entfernt und durch den diskreten FIR-Filterblock ersetzt. Bestehende Modelle, die den Weighted Moving Average Block enthalten, funktionieren jedoch weiterhin für die Abwärtskompatibilität. Verwenden Sie den Block für diskrete FIR-Filter in neuen Modellen. Verwenden Sie die Slupdate-Funktion, um Weighted Moving Average mit Discrete FIR Filter in vorhandenen Modellen zu ersetzen. Die gewichteten Moving Average-Blockproben und hält die N neuesten Eingaben, multipliziert jeden Eingang mit einem angegebenen Wert (angegeben durch den Parameter "Weight") und stapelt sie in einem Vektor. Dieser Baustein unterstützt sowohl Single-Input-Single-Output - (SISO) als auch Single-Inputmulti-Output (SIMO) - Modi. Für den SISO-Modus wird der Weights-Parameter als Zeilenvektor angegeben. Für den SIMO-Modus werden die Gewichte als Matrix angegeben, wobei jede Zeile einem separaten Ausgang entspricht. Sie können wählen, ob der Datentyp und die Skalierung der Gewichte im Dialog mit dem Parameter Gain-Datentyp spezifiziert werden sollen oder nicht. Der Parameter Initial condition liefert die Anfangswerte für alle Zeiten vor der Startzeit. Sie legen das Zeitintervall zwischen den Samples mit dem Parameter Sample time fest. Der gewichtete Moving Average-Block multipliziert zuerst seine Eingaben mit dem Parameter "Gewichte", wandelt diese Ergebnisse mit den angegebenen Rundungs - und Überlaufmodi in den Ausgabedatentyp um und führt dann die Summation aus. Unterstützung des Datentyps Der Block "Gewichteter Verschiebungsdurchschnitt" unterstützt alle numerischen Datentypen, die Simulink x00AE unterstützt, einschließlich Festkomma-Datentypen. Parameter Legen Sie die Gewichte des gleitenden Durchschnitts einer Zeile pro Ausgabe fest. Der Parameter "Gewichte" wird von Doubles in den angegebenen Datentyp offline umgewandelt, indem Round-to-Nearest und Sättigung verwendet werden. Geben Sie die Anfangswerte für alle Zeiten vor der Startzeit an. Der Parameter Initial condition wird vom Doubles in den Inputdatentyp Offline über Round-to-Nearest und Sättigung konvertiert. Geben Sie das Zeitintervall zwischen den Samples an. Um die Abtastzeit zu erben, setzen Sie diesen Parameter auf -1. Weitere Informationen finden Sie unter Angeben der Beispielzeit in der Online-Dokumentation. Ausgabedatentyp Geben Sie den Ausgabedatentyp an. Sie können Folgendes festlegen: Eine Regel, die einen Datentyp erbt, z. B. 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-Assistent anzeigen, um den Datentyp-Assistenten anzuzeigen. Mit dem Sie den Parameter Ausgabedatentyp einstellen können. Sperren der Ausgabeskalierung gegen Änderungen mit dem Autokalibrierungswerkzeug Wählen Sie diese Option, um die Skalierung der Ausgänge gegen Änderungen mit dem Fixpunkt-Werkzeug zu sperren. Integer-Rundungsmodus Rundungsmodus für die Fixpunktausgabe. Weitere Informationen finden Sie unter Rundung. Sättigung auf max oder min, wenn Überläufe auftreten Wenn ausgewählt, fixpunktüberläufe sättigen. Andernfalls wickeln sie. Geben Sie den Datentyp des Parameters "Gewichte" an. Sie können Folgendes festlegen: Eine Regel, die einen Datentyp erbt, z. B. 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-Assistent anzeigen, um den Datentyp-Assistenten anzuzeigen. Mit dem Sie den Parameter Gain-Datentyp einstellen können. (Weitere Informationen finden Sie unter Datentypen mit Hilfe des Datentypassistenten.) Angenommen, Sie möchten diesen Block 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 x22C5 u (k x2212 2) Der zweite Ausgang ist gegeben durch y 2 (k) a 2 x22C5 u (k) b 2 x22C5 u (k x2212 1) und die Anfangswerte von u (k - 1) und u (k - 2) sind durch ic1 und ic2 gegeben. beziehungsweise. Um den Block für den gewichteten Moving Average für diesen Fall zu konfigurieren, müssen Sie den Parameter Weight als a1 b1 c1 a2 b2 c2 mit c2 0 und den Parameter Initial condition als ic1 ic2 angeben. Charakteristik

Comments