Programming lesson
Z-Transformation und Systemfunktionen in der DSP: Schritt-für-Schritt-Anleitung zu ECE113 Hausaufgabe 6
Lerne, wie du Z-Transformationen, Systemfunktionen und Frequenzgänge in DSP lösen kannst – basierend auf typischen Aufgaben aus Proakis. Mit aktuellen Beispielen aus KI und Gaming.
Einführung in die Z-Transformation für DSP-Hausaufgaben
Die Z-Transformation ist ein zentrales Werkzeug der digitalen Signalverarbeitung (DSP). Sie wandelt zeitdiskrete Signale in den Frequenzbereich um und ermöglicht die Analyse von Linearen zeitinvarianten Systemen (LTI). In der ECE113 Hausaufgabe 6 begegnen dir Aufgaben aus dem Lehrbuch von Proakis (4. Auflage), die genau diese Konzepte vertiefen. Ob du nun die Systemfunktion H(z) berechnen oder den Frequenzgang eines Filters bestimmen musst – dieses Tutorial hilft dir Schritt für Schritt.
Stell dir vor, du entwickelst einen KI-Sprachassistenten wie Siri oder Alexa. Die Signalverarbeitung, die deine Stimme in Echtzeit filtert, basiert auf genau diesen Prinzipien. Oder denk an aktuelle Gaming-Trends: Die Rauschunterdrückung in Headsets nutzt IIR-Filter, deren Stabilität du mit der Z-Transformation prüfst. Genau solche Beispiele machen DSP greifbar.
Grundlagen der Z-Transformation
Die einseitige Z-Transformation ist definiert als:
X(z) = Σ_{n=0}^{∞} x[n] z^{-n}Für kausale Signale (x[n]=0 für n<0) verwendest du diese Form. Der Konvergenzbereich (ROC) ist entscheidend: Er bestimmt, ob die Transformation gültig ist und ob das System stabil ist (Einheitskreis im ROC).
Beispiel: Exponentialfolge
Gegeben sei x[n] = a^n u[n]. Die Z-Transformation ist:
X(z) = 1 / (1 - a z^{-1}) , |z| > |a|Dieses Ergebnis brauchst du oft für Aufgabe 3.14(d) und (g) aus Proakis. Merke dir: Die Polstelle liegt bei z=a. Ist |a|<1, liegt der Pol innerhalb des Einheitskreises – das System ist stabil.
Systemfunktion und Frequenzgang
Die Systemfunktion H(z) ist die Z-Transformation der Impulsantwort h[n]. Für ein LTI-System gilt:
Y(z) = H(z) X(z)Der Frequenzgang ergibt sich durch Einsetzen von z = e^{jω}:
H(e^{jω}) = H(z) |_{z=e^{jω}}Das ist besonders wichtig für Aufgabe 3.35(c) und (g), wo du die Antwort auf eine sinusförmige Sequenz berechnen musst. Tipp: Wenn x[n] keine Z-Transformation hat (wie eine unendliche Sinusschwingung), nutze die Eigenschaft der Übertragungsfunktion: Die stationäre Antwort ist H(e^{jω0}) * e^{jω0 n}.
Schritt-für-Schritt-Lösungsstrategie
1. Bestimme die Systemfunktion
Bei Aufgabe 3.18(d) ist die Differenzengleichung gegeben:
y[n] = x[n] + 0.5 y[n-1]Wende die Z-Transformation an (unter Annahme von Ruheanfangsbedingungen):
Y(z) = X(z) + 0.5 z^{-1} Y(z)Löse nach H(z) = Y(z)/X(z):
H(z) = 1 / (1 - 0.5 z^{-1})2. Bestimme den Konvergenzbereich
Da das System kausal ist (y[n] hängt nur von vergangenen Werten ab), ist der ROC |z| > 0.5. Der Pol liegt bei z=0.5, also innerhalb des Einheitskreises – das System ist stabil.
3. Berechne die Impulsantwort
Führe die inverse Z-Transformation durch:
h[n] = (0.5)^n u[n]4. Frequenzgang für sinusförmige Eingänge
Bei Aufgabe 3.35(g) ist x[n] = cos(ω0 n). Setze z = e^{jω0} in H(z) ein:
H(e^{jω0}) = 1 / (1 - 0.5 e^{-jω0})Die Ausgabe ist dann:
y[n] = |H(e^{jω0})| cos(ω0 n + ∠H(e^{jω0}))Diese Methode vermeidet die Z-Transformation von x[n] und nutzt die Systemeigenschaft.
Anwendung auf typische Aufgaben
Aufgabe 3.14(d) und (g)
Hier geht es um die Z-Transformation von Folgen. Für (d) könnte x[n] = δ[n] + 2δ[n-1] sein. Wende die Definition an:
X(z) = 1 + 2z^{-1}ROC: gesamte z-Ebene außer z=0 (falls kausal). Für (g) mit x[n] = (0.5)^n u[n] + (0.2)^n u[n] ergibt sich:
X(z) = 1/(1-0.5z^{-1}) + 1/(1-0.2z^{-1}), |z| > 0.5Aufgabe 3.16(d)
Bestimme die inverse Z-Transformation von X(z) = (z^{-1})/(1-0.5z^{-1}) mit ROC |z|>0.5. Schreibe um:
X(z) = z^{-1} * 1/(1-0.5z^{-1})Die inverse von 1/(1-0.5z^{-1}) ist (0.5)^n u[n]. Die Multiplikation mit z^{-1} entspricht einer Verzögerung um 1:
x[n] = (0.5)^{n-1} u[n-1]Aufgabe 3.32
Hier ist die Systemfunktion eines FIR-Filters gegeben. Beispiel: H(z) = 1 + 2z^{-1} + z^{-2}. Der Frequenzgang ist:
H(e^{jω}) = 1 + 2e^{-jω} + e^{-j2ω} = e^{-jω}(2 + 2cos ω)Das ist ein linearphasiger Filter – nützlich für Audio-Anwendungen.
Aufgabe 3.35(c) und (g)
In (c) fehlt ein Komma: Die Sequenz ist wahrscheinlich x[n] = {1,2,3,4}. Berechne die Z-Transformation direkt. Für (g) mit x[n] = cos(0.1π n) ohne Z-Transformation: Nutze den Frequenzgang wie oben beschrieben.
Aufgabe 3.38(b)
Bestimme die Differenzengleichung aus der Systemfunktion. Gegeben H(z) = (1+z^{-1})/(1-0.9z^{-1}). Kreuze Multiplikation:
Y(z)(1-0.9z^{-1}) = X(z)(1+z^{-1})Zeitbereich: y[n] - 0.9 y[n-1] = x[n] + x[n-1]
Aufgabe 3.40
Hier geht es um die Stabilitätsanalyse eines Systems mit H(z) = 1/(1-1.2z^{-1}+0.35z^{-2}). Die Pole findest du durch Nullsetzen des Nenners: z^2 - 1.2z + 0.35 = 0. Die Lösungen sind z=0.5 und z=0.7. Beide liegen im Einheitskreis → stabil.
Aufgabe 3.42
Berechne die Ausgabe eines Systems für eine gegebene Eingabe. Beispiel: H(z) = 1/(1-0.5z^{-1}), x[n] = u[n]. Dann:
Y(z) = H(z) X(z) = 1/(1-0.5z^{-1}) * 1/(1-z^{-1})Partialbruchzerlegung führt zu y[n] = 2(1 - (0.5)^{n+1}) u[n].
Aufgabe 3.51
Das ist eine Blockdiagramm-Analyse. Zeichne das System in z-Domäne und bestimme H(z). Für eine Rückskopplungsschleife: H(z) = G(z)/(1+G(z)F(z)).
Aufgabe 5.20
Hier geht es um Filterentwurf mit Bilinearer Transformation. Wandle einen analogen Tiefpass in einen digitalen Filter um. Die Formel: s = (2/T) (1-z^{-1})/(1+z^{-1}).
Trend-Beispiel: KI-Sprachfilterung
Stell dir vor, du entwickelst einen KI-gestützten Noise-Cancelling-Algorithmus für ein Headset. Das System muss Umgebungsgeräusche (z.B. Ventilatorbrummen bei 50 Hz) herausfiltern. Du entwirfst einen IIR-Notch-Filter mit der Systemfunktion:
H(z) = (1 - e^{jω0} z^{-1})(1 - e^{-jω0} z^{-1}) / (1 - r e^{jω0} z^{-1})(1 - r e^{-jω0} z^{-1})Mit r nahe 1 (z.B. 0.99) wird der Filter schmalbandig. Die Stabilität prüfst du über die Pole – sie müssen im Einheitskreis liegen. Genau solche Berechnungen übst du in Aufgabe 3.40.
Ein weiteres Beispiel aus dem Gaming-Bereich: In Echtzeit-Strategiespielen wie League of Legends werden adaptive Filter eingesetzt, um Netzwerk-Jitter auszugleichen. Die Z-Transformation hilft, die Verzögerung und Stabilität dieser Filter zu analysieren.
Häufige Fehler vermeiden
- ROC vergessen: Der Konvergenzbereich ist essenziell für die Eindeutigkeit der Transformation. Ohne ROC ist die inverse Z-Transformation nicht eindeutig.
- Stabilitätsbedingung: Ein System ist stabil, wenn der ROC den Einheitskreis enthält. Bei kausalen Systemen müssen alle Pole innerhalb des Einheitskreises liegen.
- Verwechslung von ein- und zweiseitiger Transformation: In den meisten Hausaufgaben wird die einseitige Transformation verwendet, da Signale kausal sind.
- Fehler bei Partialbruchzerlegung: Bei mehrfachen Polen oder komplexen Polen musst du sorgfältig rechnen. Nutze Tabellen oder Rechner zur Kontrolle.
Zusammenfassung
Mit diesem Rüstzeug kannst du die ECE113 Hausaufgabe 6 erfolgreich lösen. Die Z-Transformation ist der Schlüssel zur Analyse digitaler Filter. Übe die Schritte: Systemfunktion bestimmen, ROC angeben, Frequenzgang berechnen, Stabilität prüfen. Verbinde die Theorie mit praktischen Anwendungen wie KI-Sprachverarbeitung oder Gaming-Audio, um das Verständnis zu vertiefen. Viel Erfolg!