Fakultät Informatik, Institut für Angewandte Informatik, Professur Technische Informationssysteme PRAKTIKUMSVERSUCH M/S 2 Betreuer: Dipl.-Ing. Burkhard Hensel Dr.-Ing. Alexander Dementjev ALLGEMEINE BEMERKUNGEN Sollten Sie Verbesserungsvorschläge, Fragen oder Probleme haben, so wenden Sie sich am besten persönlich an Ihre Betreuer oder schreiben ihnen (bitte immer beiden) eine E-Mail (vorname.nachname@tu-dresden.de).
Untersuchung digitaler Filter mit MATLAB/Simulink UNTERSUCHUNG DIGITALER FILTER MIT MATLAB/SIMULINK ALLGEMEINES Digitale Filter sind ein wichtiger Bestandteil aller digitalen Geräte, die Signalmanipulationen durchführen, wie z. B.: Sperren oder Durchlassen eines bestimmten Frequenzbereiches, Störungsbeseitigung oder Glättung des Signals. Digitale Filter haben eine ähnliche Funktionalität wie analoge Filter, werden aber durch digitale Logikbausteine implementiert und können nur zeitdiskrete Signale verarbeiten. Die allgemeine Struktur eines digitalen Filters ist in Abbildung 1 dargestellt. Ein Sensor nimmt ein analoges (zeitkontinuierliches) Signal x(t) auf, das durch einen Rechner mittels ADU (Analog-Digital-Umwandler) in eine zeitdiskrete Folge x[i] umgewandelt und auch gefiltert wird. Ein DAU (Digital-Analog-Umwandler) leitet das geglättete Signal an den Prozess weiter. Abbildung 1: Struktur eines digitalen Filters. Anhand der Impulsantwort (Reaktion des Filters auf einen Impuls) lassen sich digitale Filter in FIR- (Filter mit endlich langer Impulsantwort) und IIR- (Filter mit unendlich langer Impulsantwort) unterscheiden. In den folgenden Praktikumsaufgaben sollen die Eigenschaften von FIR- und IIR-Filtern mit Hilfe von MATLAB/SIMULINK untersucht werden. 2
AUFGABE 1: FIR-FILTER Untersuchen Sie das Verhalten des folgenden FIR-Filters: n 1 j= 0 Untersuchung digitaler Filter mit MATLAB/Simulink 1 y [ i] = x[ i j] (i>n-1); n=2, 4, 8 (1) n Dieses Filter soll die vom Sensor gelieferten Signale ungehindert übertragen und (additive) Störungen, z.b. durch die Netzfrequenz, unterdrücken. Für die Untersuchung mittels MATLAB/Simulink ist das Simulink-Modell digitales_fir_2_4_8_filter.mdl zu verwenden. Sie erhalten das Modell bei Ihren Betreuern oder finden es alternativ im voreingestellten Verzeichnis auf dem Hochleistungsrechner. Vor dem jeweiligen Experiment müssen die Einstellungen aus Tabelle 1 im MATLAB Command Window folgendermaßen vorgenommen werden: >> st = 3.1416 >> ipkt = 0.01 Der Filtertyp n ist durch Doppelklick auf die Schalterelemente des Simulink-Modells einzustellen. Der Faktor K wird durch Doppelklick auf das Verstärkerelement und anschließende Eingabe im Feld Gain eingestellt. Die Kreisfrequenz lässt sich nach Doppelklick auf den Block f in dessen Eigenschaften einstellen. FIR-Typ n Abtastzeit st (T) Faktor K Max. Kreisfrequenz ω max Interpolationspunkt ipkt 2 3.1416 s 0.50 2 s -1 0.01 s 4 1.5708 s 0.25 4 s -1 0.01 s 8 0.7854 s 0.125 6 s -1 0.01 s Tabelle 1: Einstellungen für den FIR-Filter in MATLAB. Hinweis: Es kann sinnvoll sein, die Simulationsdauer an die jeweilige Aufgabenstellung anzupassen. Sie lässt sich in der Symbolleiste oder im Menü unter Simulation Configuration Parameters Stop Time anpassen. Wenn Sie relativ lange Simulink-Simulationen durchführen, kann es passieren, dass nur die letzten Signalabschnitte in den Scopes angezeigt werden, weil der Speicher in Simulink standardmäßig begrenzt ist. Sie können dies ändern, indem Sie in den Scopes auf das Symbol Parameters klicken und dann im Register History den Punkt Limit data points to last deaktivieren. a) Beschreiben Sie kurz, welche inhaltliche Bedeutung die neun in den Scopes 1-4 dargestellten Signale haben. b) Beschreiben Sie kurz die durch Gleichung (1) definierte Wirkungsweise des Filters und Ihre Erwartung bezüglich der Wirkung des Filters auf ein Signal. 3
Untersuchung digitaler Filter mit MATLAB/Simulink c) Experimentieren Sie mit der Filterdurchlasskurve F = f(ω), indem Sie die Kreisfrequenz ω des Signals x(t) = sin(ωt) (Simulink-Block f) variieren, entsprechende Amplituden des Ausgangssignals y[i] von den Scopes ablesen (Scope 1) und in einem Diagramm gegen ω auftragen. Die Signale f nutz und f stör sind für diese Untersuchung durch Setzen des Amplitudenwertes auf 0 auszuschalten. Die Kreisfrequenz ω muss, angefangen mit Wert ω min =0.25 s -1, mit Schrittweite 0.25 s -1 bis zur maximalen Frequenz ω max entsprechend Tabelle 1 erhöht werden (0.25 s -1, 0.5 s -1,, ω max ). Vernachlässigen Sie bei der Angabe der Amplitude den Einschwingvorgang, d. h. geben Sie die Amplitude für den Zeitbereich an, in dem das Signal gleichmäßig schwingt. Zeichnen Sie parallel die Filterdurchlasskurve des analogen Filters vom Typ T 1 -Tiefpass auf (Scope 3). d) Diskutieren Sie den Einfluss der Phasenverschiebung des Signals f auf die Amplitude des Ausgangssignals. Bei welchen Verhältnissen zwischen Periodendauer des Signals und Abtastperiode ist der Einfluss der Phasenverschiebung besonders groß und warum? Die Phasenverschiebung ist in den Eigenschaften des Simulink-Blocks f unter Phase einstellbar. e) Leiten Sie aus den Untersuchungen eine begründete Aussage über das Verhältnis der Periodendauer eines sinusförmigen Nutzsignals T nutz = 1/f nutz zur Abtastperiode T ab. Überlegen Sie, wann Aliasing einsetzt. Kennzeichnen Sie diese Kurvenabschnitte in der Filterdurchlasskurve von Teilaufgabe a) durch eine andere Linienart oder -farbe. f) Vergleichen Sie die Filterdurchlasskurven miteinander. g) Schalten Sie das Signal f ab (Amplitude = 0) und dafür die Signale f nutz (Amplitude = 1, Kreisfrequenz = 0.1 s -1 ) und f stör (Amplitude = 0.1, Kreisfrequenz = 1 s -1 ) zu. Interpretieren Sie das Ergebnis durch Vergleich der Scopes 1, 3 und 4 für alle drei in Tabelle 1 genannten Filtertypen. h) Schalten Sie die Signale f nutz und f stör wieder ab (Amplitude = 0) und das Signal f wieder an (Amplitude = 1, Kreisfrequenz = 1 s -1 ). Untersuchen Sie das Verhalten des Filters mit n=2 bei konstanter Frequenz des Eingangssignals als Funktion der Abtastperiode mit T = st = 0.1 s, 1 s und 3.1416 s. Beobachten Sie insbesondere Scope 4 und erklären Sie das dort auftretende Verhalten. i) Wozu können die untersuchten FIR-Filteralgorithmen verwendet werden? 4
AUFGABE 2: IIR-FILTER Untersuchen Sie das Verhalten des folgenden IIR-Filters: Untersuchung digitaler Filter mit MATLAB/Simulink T1 y[ i] = α y[ i 1] + (1 α) x[ i] mit α =. (2) T + T Auch dieses Filter soll die vom Sensor gelieferten Signale ungehindert übertragen und Störungen, z. B. durch die Netzfrequenz, unterdrücken. Für die Untersuchung mittels MATLAB/Simulink ist das Simulink-Modell 1 digitales_iir_1_filter.mdl zu verwenden. Vor dem jeweiligen Experiment müssen wie in Aufgabe 1 die Einstellungen aus Tabelle 2 im MATLAB Command Window vorgenommen werden. Der Filterkoeffizient α (alpha) soll für jeweilige T 1 und st berechnet und eingegeben werden. Zeitkonstante T 1 Abtastzeit st (T) alpha Max. Kreisfrequenz ω max Intepolationspunkt ipkt 1.5708 s 0.17 s 3 s -1 0.01 s 1.5708 s 1.5708 s 3 s -1 0.01 s 1.5708 s 3.1416 s 3 s -1 0.01 s Tabelle 2: Einstellungen für den IIR-Filter in MATLAB. Viele Teilaufgaben sind analog zu Aufgabe 1 (FIR-Filter). Achtung: Deshalb werden hier die Hinweise zu Umgang mit Matlab/Simulink nicht neu gegeben. a) Beschreiben Sie kurz, welche inhaltliche Bedeutung die fünf in den Scopes 1, 3 und 4 dargestellten Signale haben. b) Beschreiben Sie kurz die durch Gleichung (2) definierte Wirkungsweise des Filters und Ihre Erwartung bezüglich der Wirkung des Filters auf ein Signal. c) Experimentieren Sie mit der Filterdurchlasskurve F=f(ω) durch Variation der Kreisfrequenz ω des Signals x(t) = sin(ωt) (Signal f). Die Schrittweite soll 0.25 s -1 betragen, die maximale Kreisfrequenz ist in Tabelle 2 gegeben. Die Signale f nutz und f stör sind für diese Untersuchung auszuschalten (Amplitudenwert 0 ist einzustellen). Vernachlässigen Sie bei der Angabe der Amplitude den Einschwingvorgang, d. h. geben Sie die Amplitude für den Zeitbereich an, in dem das Signal gleichmäßig schwingt. Zeichnen Sie parallel die Filterdurchlasskurve des analogen Filters vom Typ T 1 -Tiefpass auf (Scope 3). d) Leiten Sie aus den Untersuchungen eine begründete Aussage über das Verhältnis der Periodendauer eines sinusförmigen Nutzsignals T nutz = 1/f nutz zur Abtastperiode T ab. Überlegen Sie, wann Aliasing einsetzt. Kennzeichnen Sie diese Kurvenabschnitte in der Filterdurchlasskurve von Teilaufgabe a) durch eine andere Linienart oder -farbe. e) Vergleichen Sie die Filterdurchlasskurven miteinander. 5
Untersuchung digitaler Filter mit MATLAB/Simulink f) Vergleichen Sie die Arbeitsweise und den charakteristischen Verlauf der Filterdurchlasskurven des IIR- und des FIR-Filters. Erklären Sie dabei auch die Wahl der Bezeichnungen FIR und IIR. Für welche Anwendungen ist welche Filterklasse besser geeignet? g) Welche Filterklasse würden Sie verwenden, um gezielt die störende Netzfrequenz (Frequenz [nicht Kreisfrequenz!] ist 50 Hz) aus einem Nutzsignal, welches Signalanteile bis zu einer maximalen Frequenz f Gr [nicht Kreisfrequenz!] enthält, herauszufiltern? Welchen Filterparameter (n bzw. α) und welche Abtastfrequenz f a würden Sie empfehlen? Gibt es für diesen Zweck besser geeignete Filterklassen als die in den Gleichungen (1) und (2) genannten? 6