Filter aus Filter Designer exportieren
Die App Filter Designer bietet eine einfache Möglichkeit, Filterobjekte (dfilt) aus Ihren Filterentwürfen zu erstellen. Dies ist vor allem hilfreich, wenn Sie Ihren Filterentwurf im MATLAB®-Arbeitsbereich speichern möchten, um ihn mit Befehlszeilenfunktionen verwenden zu können. Sie können Ihre Filter auch als MATLAB-Programmcode speichern, indem Sie File > Generate MATLAB code auswählen, um die Ausführung in Skripts oder Stapeldateien zu ermöglichen.
Klicken Sie in Filter Designer auf Filter Manager und heben Sie nur den Filter
Bandpass Butterworth-1hervor.Wählen Sie File > Export aus.
Legen Sie Export to auf
Workspacefest. Legen Sie Export as aufObjectsfest. Geben Sie in das Feld Discrete Filter die ZeichenfolgeHd1ein. Klicken Sie auf Export, um den ersten Filter in Ihrer Filterbank in einHd1dfilt-Objekt im Arbeitsbereich zu exportieren.
Wiederholen Sie die Schritte 1 bis 3 für die verbleibenden neun Filter. Heben Sie jeden Filter einzeln hervor, um ihn als aktiven Filter festzulegen, und passen Sie den Namen Discrete Filter an die Filternummer an. Am Ende wird der Arbeitsbereich 10
dfilt-Objekte enthalten.Schließen Sie die App, indem Sie File > Close auswählen.
Überprüfen Sie in der MATLAB-Befehlszeile mithilfe des Befehls
whos, ob Ihre Objekte exportiert wurden.whos Name Size Bytes Class Attributes Hd1 1x1 dfilt.df2sos Hd10 1x1 dfilt.df2sos Hd2 1x1 dfilt.df2sos Hd3 1x1 dfilt.df2sos Hd4 1x1 dfilt.df2sos Hd5 1x1 dfilt.df2sos Hd6 1x1 dfilt.df2sos Hd7 1x1 dfilt.df2sos Hd8 1x1 dfilt.df2sos Hd9 1x1 dfilt.df2sos
Filterung mit „dfilt“
Geben Sie Folgendes in die MATLAB-Befehlszeile ein, um die Filterobjekte Ihrer Filterbank zu einem einzigen
dfilt-Objekt zu verketten.Hd = [Hd1 Hd2 Hd3 Hd4 Hd5 Hd6 Hd7 Hd8 Hd9 Hd10];
Zum Anzeigen des ersten Filters geben Sie
Hd(1)ein.Hd(1) ans = FilterStructure: 'Direct-Form II, Second-Order Sections' sosMatrix: [3x6 double] ScaleValues: [3.40097054256801e-009;1;1;1] PersistentMemory: falseEs gibt verschiedene Möglichkeiten, das
Hd1dfilt-Objekt anzuzeigen und zu bearbeiten. Versuchen Sie es mit dem Befehlinfo:info(Hd1) % Displays filter information Discrete-Time IIR Filter (real) ------------------------------- Filter Structure : Direct-Form II, Second-Order Sections Number of Sections : 3 Stable : Yes Linear Phase : No
Sie können „FVTool“ von der MATLAB-Befehlszeile aus öffnen und die Anzeigeparameter wie folgt angeben.
F = fvtool(Hd,'Analysis','magnitude') % Open FVTool with % magnitude display set(F,'FrequencyScale','Log') % Change to log scaleDiese Vorgehensweise führt zur selben Anzeige wie in Schritt 5 im Abschnitt Filter in „FVTool“ anzeigen.
Erstellen Sie jetzt mithilfe der MATLAB-Befehlszeile einige Daten für diskretes weißes Gauß‘sches Rauschen, die Sie dann mithilfe der Filterbank filtern können.
rand; % Initialize random number generator Nx = 100000; % Number of noise data points xw = randn(Nx,1); % Create white noise for i=1:10, yw(:,i)=filter(Hd(i),xw); % Filter the white noise through end % the entire filter bank. % (:,i) means all rows of column iPlotten Sie die gefilterten Daten.
plot(yw)
