Simulink Moving Average Filter Block


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 anzeigt, dass diese Rahmen / Samples 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 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 Realzeit-Implementierung 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 at 17: 39Documentation Object Speichern und Laden saveObjectImpl definiert, welche Eigenschaft und Zustand Werte in einer MAT-Datei gespeichert werden, wenn Sie auf diesem Objekt speichern. Wenn Sie für Ihre Systemobjektklasse keine saveObjectImpl-Methode definieren, werden nur öffentliche Eigenschaften und Eigenschaften mit dem DiscreteState-Attribut gespeichert. Speichern Sie den Zustand eines Objekts nur, wenn das Objekt gesperrt ist. Wenn Sie das gespeicherte Objekt laden, lädt das Objekt in diesem gesperrten Zustand. In diesem Systemobjekt werden die Filterkoeffizienten gespeichert, wenn das Objekt gesperrt ist. LoadObjectImpl definiert, welche Systemobjekt-Eigenschaft und Zustandswerte beim Laden einer MAT-Datei geladen werden. LoadObjectImpl sollte Ihrem saveObjectImpl entsprechen, um sicherzustellen, dass alle gespeicherten Eigenschaften und Daten geladen werden. Hinweis: Sie müssen Access protected für diese Methode festlegen. Systemobjekt Verwendung in MATLAB Dieses Beispiel verwendet das Systemobjekt, um Rauschen aus einer verrauschten Impulsfolge zu entfernen. Die Länge des gleitenden Durchschnittsfilters beträgt 30 Proben. Wenn Sie den vordefinierten dspdemo. MovingAverageFilter verwenden. Ersetzen Sie diesen Namen für MovingAverageFilter im Klasse-Konstruktor, zum Beispiel movingAverageFilter dspdemo. MovingAverageFilter (WindowLength, 30). Simulink-Anpassungsmethoden Sie müssen ein paar Methoden definieren, um das Systemobjekt in einem Simulink MATLAB-Systemblock verwenden zu können. Diese Methoden sind nicht erforderlich, wenn Sie das System-Objekt nur in MATLAB verwenden. GetOutputSizeImpl gibt die Größe der einzelnen Ausgabeports zurück. Bei Systemobjekten mit einem Eingang und einem Ausgang und wo die Ein - und Ausgabegrößen gleich sein sollen, müssen Sie diese Methode nicht implementieren. Im Fall von MovingAverageFilter. Gibt es einen Eingang und Ausgang und die Größe von jedem ist das gleiche. Entfernen Sie daher diese Methode aus der Klassendefinition von MovingAverageFilter. GetDiscreteStateSpecificationImpl gibt die Größe, den Datentyp und die Komplexität einer Eigenschaft zurück. Diese Eigenschaft muss eine Eigenschaft von Discrete-State sein. Sie müssen diese Methode definieren, wenn Ihr Systemobjekt Eigenschaften von Discrete-State hat und im MATLAB-Systemblock verwendet wird. In diesem Beispiel wird das Verfahren verwendet, um die State-Eigenschaft zu definieren. Wähle dein Land

Comments

Popular Posts