Matlab-Filterdesign – Design und Simulation von IIR-Filtern

Matlab- Filterdesign – Design und Simulation von IIR-Filtern

1 Einleitung Da
    in modernen Kommunikationssystemen häufig verschiedene komplexe Komponenten im Signal gemischt sind , basieren viele Signalverarbeitungs- und -analysen auf Filtern. Beim Entwurf herkömmlicher digitaler Filter werden jedoch umständliche Formelberechnungen verwendet, und nach dem Ändern von Parametern ist eine Neuberechnung erforderlich, sodass der Arbeitsaufwand beim Entwurf von Filtern, insbesondere bei Filtern höherer Ordnung, sehr hoch ist. Mit der MATLAB-Signalverarbeitungsbox (Signal Processing Toolbox) können Sie den Entwurf und die Simulation digitaler Filter schnell und effektiv realisieren.

2. Digitaler Filter und traditionelle Entwurfsmethode
    Digitaler Filter kann als Berechnungsprogramm oder Algorithmus verstanden werden, der die digitale Zeitreihe, die das Eingangssignal darstellt, in die digitale Zeitreihe, die das Ausgangssignal darstellt, umwandelt und im Umwandlungsprozess das Signal entsprechend umwandelt zu den vorgegebenen Formänderungen. Es gibt viele Klassifizierungen digitaler Filter. Entsprechend den Zeitbereichseigenschaften der Impulsantwort des digitalen Filters können digitale Filter in zwei Typen unterteilt werden, nämlich Filter mit unendlicher Impulsantwort (IIR) und Filter mit endlicher Impulsantwort (FIR). .
    Der digitale IIR-Filter verfügt über eine unendlich breite Impulsantwort, die dem analogen Filter entspricht, sodass das Design des IIR-Filters auf der Grundlage des analogen Filterdesigns weiter transformiert werden kann. Die Entwurfsmethoden umfassen hauptsächlich die klassische Entwurfsmethode, die direkte Entwurfsmethode und die Entwurfsmethode für maximale Glättungsfilter. Die Einheitsimpulsantwort des FIR-Digitalfilters ist eine Folge endlicher Länge. Sein Entwurfsproblem besteht im Wesentlichen darin, das konstante Problem zu bestimmen, das die erforderliche Übertragungssequenz oder Impulsantwort erfüllen kann. Zu den Entwurfsmethoden gehören hauptsächlich die Fensterfunktionsmethode, die Frequenzabtastmethode und die Equiripple-Best-Approximationsmethode.
    Bei der tatsächlichen Gestaltung des Filters ist der Rechenaufwand für den gesamten Prozess sehr groß. Beim Entwerfen eines IIR-Filters höherer Ordnung ist der Rechenaufwand größer und muss neu berechnet werden, wenn Parameter oder Filtertypen während des Entwurfsprozesses geändert werden.
    Nach Abschluss des Entwurfs sollte der Frequenzgang des entworfenen Filters überprüft werden. Um die Amplituden-Frequenz- und Phasenfrequenz-Antworteigenschaften zu erhalten, ist der Rechenaufwand ebenfalls sehr groß. Normalerweise sind die Reihenfolge und der Typ des zu entwerfenden digitalen Filters nicht unbedingt vollständig vorgegeben. In vielen Fällen ist eine kontinuierliche Anpassung entsprechend den Designanforderungen und der Filterwirkung erforderlich, um eine Optimierung des Designs zu erreichen. In diesem Fall erfordert das Filterdesign eine große Anzahl komplexer Berechnungen, und es ist schwierig, es in kurzer Zeit durch einfaches Berechnen mit Formeln und Kompilieren einfacher Programme abzuschließen. Mit der leistungsstarken Berechnungsfunktion von MATLAB für computergestütztes Design können digitale Filter schnell und effektiv entworfen werden, was den Berechnungsaufwand erheblich vereinfacht.

3 MATLAB-Design des IIR-Filters
3.1 FDATool-Schnittstellendesign
3.1.1 FDATool-Einführung
    FDATool (Filter Design & Analysis Tool) ist ein spezielles Filterdesign- und Analysetool in der MATLAB-Signalverarbeitungs-Toolbox. MATLAB 6.0 und höhere Versionen fügen außerdem speziell die Filter Design Toolbox (Filter) hinzu Design-Toolbox). FDATool kann fast alle herkömmlichen Filter entwerfen, einschließlich verschiedener Entwurfsmethoden von FIR und IIR. Es ist einfach zu bedienen, bequem und flexibel.
    FDA-Tool. Die Schnittstelle ist in zwei Teile unterteilt, ein Teil ist der Designfilter. Der untere Teil der Schnittstelle dient zum Festlegen der Designparameter des Filters; der andere Teil ist der charakteristische Bereich, der zur Anzeige verschiedener Eigenschaften des Filters im oberen Teil der Schnittstelle verwendet wird. Der Design-Filter-Teil ist hauptsächlich unterteilt in: Filtertyp-Optionen (Filtertyp), einschließlich Tiefpass (Tiefpass), Hochpass ( Hochpass ), Bandpass (Bandpass), Bandstop (Bandsperre) und spezielle FIR-Filter.
   Entwurfsmethode (Entwurfsmethode), einschließlich der Butterwotth-Methode (Butterworth) des IIR-Filters, der Tschebyscheff-Methode Typ I (Tschebyscheff-Typ I), der Tschebyscheff-Methode II (Tschebyscheff-Typ II), der elliptischen Methode (Elliptic Filter Device) und der Equiripple - Methode FIR-Filter, Least-Squares-Methode (kleinste Quadrate), Fenstermethode (Fensterfunktion).
  Filter  bzwDie Option der (Filterreihenfolge) definiert die Reihenfolge des Filters, einschließlich Specify Order (angegebene Reihenfolge) und Minimum Order (Mindestreihenfolge). Geben Sie die Reihenfolge des zu entwerfenden Filters in „Reihenfolge angeben“ ein (Filter der Ordnung N, Reihenfolge angeben=N-1). Wenn Sie „Mindestbestellmenge“ auswählen, verwendet MATLAB automatisch die Mindestbestellmenge basierend auf dem ausgewählten Filtertyp.
  Mit der Option „Frequenzspezifikationen“ können die Parameter des Frequenzbands detailliert definiert werden, einschließlich der Abtastfrequenz und der Grenzfrequenz des Frequenzbands. Die spezifischen Optionen werden durch die Optionen „Filtertyp“ und „Entwurfsmethode“ bestimmt. Beispielsweise muss ein Bandpassfilter Fstop1 (untere Grenzfrequenz des Sperrbands), Fpass1 (untere Grenzfrequenz des Durchlassbands), Fpass2 (obere Grenzfrequenz des Durchlassbands), Fstop2 (obere Grenzfrequenz des Sperrbands) und Lowpass (niedrige Grenzfrequenz) definieren pass) Filter müssen nur Fstop1, Fpass1 definieren. Wenn Sie die Fensterfunktion zum Entwerfen des Filters verwenden, müssen Sie nur die Grenzfrequenz des Durchlassbereichs anstelle der Stoppbandparameter definieren, da das Übergangsband durch den Typ und die Reihenfolge der Fensterfunktion bestimmt wird.
    Mit der Option „Größenspezifikationen“ kann die Situation der Amplitudendämpfung definiert werden. Wenn Sie beispielsweise einen Bandpassfilter entwerfen, können Sie Wstop1 (Amplitudendämpfung bei der Frequenz Fstop1), Wpass (Amplitudendämpfung innerhalb des Durchlassbereichs) und Wstop2 (Amplitudendämpfung bei der Frequenz Fstop2) definieren. Bei Verwendung des Fensterfunktionsdesigns ist die Amplitudendämpfung bei der Grenzfrequenz des Durchlassbereichs auf 6 dB festgelegt, sodass keine Definition erforderlich ist.
  Option „Fensterspezifikationen“. Wenn das Fensterfunktionsdesign ausgewählt ist, kann diese Option definiert werden, die verschiedene Fensterfunktionen umfasst.

3.1.2 Beispiel für den Entwurf eines IIR-Filters
    In diesem Text wird der Entwurf eines IIR-Filters als Beispiel verwendet, um zu veranschaulichen, wie MATLAB zum Entwurf eines digitalen Filters verwendet wird. Es ist erforderlich, einen Tschebyscheff-I-Bandpassfilter 10. Ordnung zu entwerfen, sein Durchlassbereich beträgt 100 bis 200 Hz, die Abtastfrequenz beträgt 1000 Hz, Rp = 0,5.
    Wählen Sie in diesem Beispiel zunächst Bandpass (Bandpassfilter) unter Filtertyp aus; wählen Sie IIR unter der Option Entwurfsmethode aus, und wählen Sie dann Tschebyscheff I (Typ Tschebyscheff I) in der angrenzenden rechten Option aus; geben Sie das Element Filterreihenfolge an. Geben Sie Reihenfolge=10 an. Da das Chebyshev-Design verwendet wird, ist es nicht notwendig, in den Optionen auszuwählen; wählen Sie dann in den Frequenzspezifikationen die Einheit Hz aus, geben Sie die Abtastfrequenz Fs=1000, den Durchlassbereich Fpass1=100 und Fpass2=200 an; wählen Sie schließlich in den Größenspezifikationen die Einheit als db aus. Apass=0,5. Nachdem die Einstellung abgeschlossen ist,
klicken Sie auf „Filter entwerfen“, um den entworfenen IIR-Filter zu erhalten. Über die Menüoption Analyse können Sie den entworfenen Amplituden-Frequenzgang, den Phasen-Frequenzgang, die Impulsantwort und die Nullpolkonfiguration im charakteristischen Bereich sehen, wie in Abbildung 1 dargestellt. Nachdem der Entwurf abgeschlossen ist, speichern Sie das Ergebnis als filterl.fda-Datei.

 

 
 

 
 

 
Abb. 1 Amplitudenfrequenz, Phasenfrequenz und Impulsantwort (charakteristischer Bereich) des Filters

3.2 Programmiermethode
  In MATLAB gibt es entsprechende Funktionen zur Berechnung von Amplitude, Phase und Impulsantwort für den Entwurf verschiedener Filter, die zur Filterprogrammierung verwendet werden können .
  Die Impulsantwort des IIR-Filters im obigen Beispiel kann wie folgt programmiert werden:
%ehebyshevl bpf
n=10; % Ordnung ist 10
Rp=0,5; % Amplitudendämpfung ist 0,5
Wn[100 200]/500;
[b,a] =chebyl(n,Rp,wn);
[y,t]impz(b,a,101);
stem(t,y,'.');
    Führen Sie dieses Programm in der MATLAB-Umgebung aus, um den Zeitbereich des Filters zu erhalten impulsive Reaktion. Aus Platzgründen wird das Quellprogramm hier nicht im Detail beschrieben.

3.3 Analyse des Designbeispiels
   Aus Abbildung 1(a) können wir ersehen, dass dieser Filter im Durchlassbereich von 100–200 Hz gleiche Welligkeiten aufweist, im Sperrbereich jedoch monoton ist, was der Amplituden-Frequenz-Charakteristik des Chebyshev-I-Filters entspricht. Aus Abbildung 1 (b) ist ersichtlich, dass die Phasenverschiebung im Bereich von 100 bis 200 Hz gering ist, ihre Kurve nahe an einer geraden Linie liegt und die Verzerrung gering ist. Wenn die Frequenz diesen Bereich überschreitet, erhöht sich die Phasenverschiebung ist groß und seine Kurve ist nichtlinear. Daher ist auch die Verzerrung größer. Abbildung 1(c) zeigt die Impulsantwort im Zeitbereich des Chebyshev I-Filters. Es gibt eine Impulsantwort im Bereich von 5 ms bis 100 ms, und die Impulsantwort außerhalb dieses Bereichs ist ungefähr Null, wodurch das Design des Chebyshev I verwirklicht wird Bandpassfilter
. .

Simulink -Simulation
4.1  Simulink -Simulationsbeispiel
    Durch den Aufruf der Funktionsbausteine ​​in Simulink kann das Simulationsblockdiagramm des digitalen Filters gebildet werden. Doppelklicken Sie während des Simulationsprozesses auf jedes Funktionsmodul, ändern Sie die Parameter jederzeit und erhalten Sie die Simulationsergebnisse in verschiedenen Zuständen. Beispielsweise ist das Originalsignal x(t)=2sin(0,05wt)+w(t), w(t) ein Zufallssignal mit einer Amplitude von 0,2, durch eine Übertragungsfunktion H(z)=0,15/(1- 0,8z- Der Filter von 1) kann das Simulationsergebnis erhalten, wie in Abb. 2 gezeigt. Die von FDATool entworfene Filterdatei kann während des Simulationsprozesses importiert werden.

 

 


 

 

4.2 Simulationsanalyse
    Beim Vergleich der Wellenformen von (b) und (c) in Abbildung 2 können wir sehen, dass nach der Filterung des ursprünglichen Eingangssignals durch den Filter der Gratanteil (d. h. das Interferenzrauschen) der Wellenform in (b) verschwindet ) wird herausgefiltert und das Ausgangssignal liegt näher an einer Sinuswelle, wie in (c) gezeigt. Dies zeigt, dass das Design des Filters, dessen Übertragungsfunktion H(z)=0,15/(1-0,8z-1) ist, angemessen ist.

5 Fazit
    Mit der leistungsstarken Rechenfunktion von MATLAB kann die auf der Signalverarbeitungs-Toolbox von MATLAB basierende digitale Filterentwurfsmethode schnell und effektiv einen herkömmlichen digitalen Filter entwerfen, der aus Software besteht. Der Entwurf ist bequem und schnell und der Arbeitsaufwand wird erheblich reduziert. Menge. Filtereigenschaften können während des Designprozesses verglichen werden. Ändern Sie die Parameter jederzeit, um eine Optimierung des Filterdesigns zu erreichen. Die Verwendung von MATLAB zum Entwurf digitaler Filter hat breite Anwendungsaussichten in digitalen Kommunikationssystemen und der Signalverarbeitung im Computerbereich und kann daher beachtet werden.

[Die oben genannten Informationen wurden von Aibo Testing zusammengestellt und veröffentlicht. Wenn es Unstimmigkeiten gibt, korrigieren Sie diese bitte rechtzeitig. Wenn es ein Zitat gibt, geben Sie bitte die Quelle an. Willkommen zur gemeinsamen Diskussion. Wir haben der Entwicklung Aufmerksamkeit geschenkt! Schwerpunkt: CCC/SRRC/CTA/Operator Warehousing]

Acho que você gosta

Origin blog.csdn.net/weixin_47371464/article/details/131766651
Recomendado
Clasificación