Tuesday 7 February 2017

Discrete Fir Filter Moving Average Simulink

Dokumentation dfilt. latticearma Das Wichtigste ist die Etikettenposition im Diagramm, die angibt, wo das Format zutrifft. Betrachten Sie als Beispiel das Label LatticeProdFormat, das immer einem Koeffizientenmultiplikationselement im Signalfluss folgt. Die Markierung zeigt an, daß Gitterkoeffizienten das Multiplikationselement mit der Wortlänge und Fraktionslänge verlassen, die mit Produktoperationen verbunden sind, die Koeffizienten enthalten. Aus der Überprüfung der Tabelle, sehen Sie, dass die LatticeProdFormat bezieht sich auf die Eigenschaften ProductWordLength. LatticeProdFracLength. Und ProductMode, die das Koeffizientenformat nach Multiplikations - (oder Produkt-) Operationen vollständig definieren. Eigenschaften In dieser Tabelle sehen Sie die mit der autoregressiven gleitenden Gitterimplementierung von dfilt-Objekten verknüpften Eigenschaften. Hinweis Die Tabelle listet alle Eigenschaften eines Filters auf. Viele der Eigenschaften sind dynamisch, dh sie existieren nur in Reaktion auf die Einstellungen anderer Eigenschaften. Möglicherweise sehen Sie nicht alle aufgelisteten Eigenschaften die ganze Zeit. Um alle Eigenschaften eines Filters jederzeit anzuzeigen, verwenden Sie wo hd ein Filter ist. Weitere Informationen zu den Eigenschaften dieses Filters oder eines beliebigen dfilt-Objekts finden Sie unter Fixed-Point-Filtereigenschaften. Setzt den Modus, der für die Reaktion auf Überlaufbedingungen in der Festkomma-Arithmetik verwendet wird. Wählen Sie entweder Sättigung (Begrenzung der Ausgabe auf den größten positiven oder negativen darstellbaren Wert) oder umwickeln (setzen Sie überlaufende Werte auf den nächsten darstellbaren Wert mittels modularer Arithmetik). Die Auswahl, die Sie treffen, wirkt sich nur auf die Akkumulator - und Ausgangsarithmetik aus. Koeffizient und Eingabearithmetik immer gesättigt. Schließlich werden Produkte nie überfließen8212they behalten volle Präzision. Für die Ausgabe von einer Produktoperation legt dies die Fraktionslänge fest, die für die Interpretation der Daten verwendet wird. Diese Eigenschaft wird schreibbar (Sie können den Wert ändern), wenn Sie ProductMode auf SpecifyPrecision festlegen. Legt fest, wie der Filter die Ausgabe von Produktoperationen verarbeitet. Wählen Sie aus der vollen Genauigkeit (FullPrecision), oder ob Sie das höchstwertige Bit (KeepMSB) oder das niedrigstwertige Bit (KeepLSB) im Ergebnis speichern, wenn Sie die Datenwörter verkürzen müssen. Damit Sie die Präzision (die Bruchlänge), die von den Ausgängen der Multiplikationen verwendet wird, einstellen können, setzen Sie ProductMode auf SpecifyPrecision. Gibt die Wortlänge an, die für Multiplikationsoperationsergebnisse verwendet werden soll. Diese Eigenschaft wird schreibbar (Sie können den Wert ändern), wenn Sie ProductMode auf SpecifyPrecision festlegen. Gibt an, ob die Filterzustände und der Speicher vor jedem Filtervorgang zurückgesetzt werden sollen. Sie können entscheiden, ob Ihr Filter Zustände aus früheren Filterläufen beibehält. False ist die Standardeinstellung. Legt den Modus fest, der verwendet wird, um numerische Werte zu quantisieren, wenn die Werte zwischen den darstellbaren Werten für das Datenformat (Wort - und Fraktionslängen) liegen. Ceil - Rund zur positiven Unendlichkeit. Konvergent - Runde auf die nächste darstellbare Integerzahl. Runden auf die nächste gerade gespeicherte Ganzzahl. Dies ist die am wenigsten voreingenommene Methode der in dieser Software verfügbaren Methoden. Fix - Rund gegen Null. Boden - Rund zur negativen Unendlichkeit. Nächstgelegene - Runde in Richtung nächste. Bindungen zu positiver Unendlichkeit. Runde - Runde in Richtung nächste. Bindungen in Richtung negativer Unendlichkeit für negative Zahlen und in Richtung positive Unendlichkeit für positive Zahlen. Die Auswahl, die Sie treffen, wirkt sich nur auf die Akkumulator - und Ausgangsarithmetik aus. Koeffizient und Eingabearithmetik immer rund. Schließlich werden Produkte nie überlaufen 8212 sie halten volle Präzision. Gibt an, ob der Filter signierte oder unsignierte Fixpunktkoeffizienten verwendet. Nur Koeffizienten geben diese Einstellung wieder. Wählen Sie Ihr LandDokumentation Für weitere Informationen zu jeder Struktur verwenden Sie die Syntaxhilfe diflt. Struktur an der MATLAB x00AE-Eingabeaufforderung oder verweisen Sie auf die Referenzseite. Methoden bieten Möglichkeiten, Funktionen direkt auf Ihrem dfilt-Objekt auszuführen, ohne die Filterparameter erneut angeben zu müssen. Sie können diese Methoden direkt auf die Variable anwenden, die Sie Ihrem dfilt-Objekt zugewiesen haben. Wenn Sie beispielsweise ein dfilt-Objekt erstellen, hd. Sie können überprüfen, ob es lineare Phase mit islinphase (Hd) hat. Sehen Sie ihre Frequenzgangdiagramm mit fvtool (Hd). Oder seine Frequenzantwortwerte mit hfreqz (Hd) erhalten. Sie können auf diese Weise alle nachfolgenden Methoden verwenden. Hinweis Wenn Ihre Variable ein 1-D-Array von dfilt-Filtern ist, wird die Methode auf jedes Objekt im Array angewendet. Nur freqz. Grpdelay Impz. Ist, Ordnung. Und stepz-Verfahren können auf Arrays angewendet werden. Das zplane-Verfahren kann nur dann auf ein Array angewendet werden, wenn es ohne Ausgänge verwendet wird. Einige der unten aufgeführten Methoden haben denselben Namen wie Signal Processing Toolboxx2122-Funktionen und sie verhalten sich ähnlich. Dies nennt man Überladen von Funktionen. Verfügbare Methoden sind: (Nur mit Simulink-Software verfügbar.) Realizemdl (Hd) erstellt ein Simulink-Modell, das eine Subsystem-Block-Realisierung Ihres dfilt enthält. Realizemdl (Hd, p1, v1, p2, v2) erzeugt den Block mit den Eigenschaften p1. P2. Und die Werte v1. V2. angegeben. Folgende Eigenschaften stehen zur Verfügung: Blockname gibt den Namen des Bausteins an. Der Standardwert ist Filter. Ziel gibt an, ob der Baustein einem aktuellen Simulink-Modell hinzugefügt, ein neues Modell erstellt oder der Baustein in einem vorhandenen Subsystem in Ihrem Modell platziert werden soll. Gültige Werte sind aktuell. neu. Oder den Namen eines existierenden Subsystems in Ihrem Modell. Der Standardwert ist aktuell. OverwriteBlock gibt an, ob ein vorhandener Block überschrieben werden soll, der von realizemdl erstellt wurde oder einen neuen Block erzeugt. Gültige Werte sind ein - und ausgeschaltet und der Standardwert ist deaktiviert. Beachten Sie, dass nur von realizemdl erstellte Blöcke überschrieben werden. Die folgenden Eigenschaften optimieren die Bausteinstruktur. Die Angabe on schaltet die Optimierung ein und aus schafft den Block ohne Optimierung. Die Voreinstellung für jede der folgenden ist aktiviert. OptimizeZeros entfernt Nullverstärkungsblöcke. OptimizeOnes ersetzt Unity-Gain-Blöcke durch eine direkte Verbindung. OptimizeNegOnes ersetzt negative Unity-Gain-Blöcke durch einen Vorzeichenwechsel am nächsten Summationsblock. OptimizeDelayChains ersetzt kaskadierte Ketten des Verzögerungsblocks durch einen einzigen Integer-Verzögerungsblock, der auf die entsprechende Verzögerung gesetzt ist. Entfernt eine Bühne von einer Kaskade oder parallelem dfilt. Siehe dfilt. cascade und dfilt. parallel. Überschreibt eine Stufe einer Kaskade oder parallelen dfilt. Siehe dfilt. cascade und dfilt. parallel. Konvertiert das dfilt in dfilt. Wenn Hd einen einzelnen Abschnitt hat, hat der zurückgegebene Filter dieselbe Klasse. Sos (Hd, flag) gibt die Reihenfolge der Abschnitte zweiter Ordnung an. Wenn flagUP. Die erste Zeile enthält die dem Ursprung am nächsten liegenden Pole, und die letzte Zeile enthält die dem Einheitskreis am nächsten liegenden Pole. Wenn Flagdown. Die Abschnitte sind in die entgegengesetzte Richtung geordnet. Die Nullen sind immer mit den ihnen am nächsten stehenden Polen gepaart. Sos (Hd, flag, scale) gibt die Skalierung der Verstärkung und der Zählerkoeffizienten aller Abschnitte zweiter Ordnung an. Skala kann keine sein. Inf (Unendlich-Norm) oder zwei (2-Norm). Die Verwendung von Infinity-Norm-Skalierung mit aufwärts Ordnung minimiert die Wahrscheinlichkeit des Überlaufs in der Realisierung. Die 2-Norm-Skalierung mit Down-Reihenfolge minimiert das Peak-Roundoff-Rauschen. Konvertiert das dfilt in den State-Space. Um die separaten A, B, C, D Matrizen für das Zustandsraummodell zu sehen, verwenden Sie A, B, C, Dss (Hd). Zeichnet die Sprungantwort in fvtool. Stepz (Hd, n) die ersten n Abtastwerte der Sprungantwort berechnet. Schrittz (Hd, n, Fs) die Zeitproben durch T 1Fs trennt. Wobei Fs in Hz angenommen wird. Konvertiert das dfilt in ein Filter-System-Objekt. Eine Liste der unterstützten Objekte finden Sie auf der Referenzseite. Um diese Methode verwenden zu können, muss die DSP System Toolbox-Software installiert sein. Wählen Sie Ihr CountryDocumentation-Objekt Speichern und Laden saveObjectImpl definiert, welche Eigenschaft - und Zustandswerte in einer MAT-Datei gespeichert werden, wenn Sie auf diesem Objekt aufrufen. 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 gesichert, 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 Systemobjekt 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


No comments:

Post a Comment