% ################################################################################## % ## Loesung: Impuls-, Sprungantworten, Frequenzgang ## % ################################################################################## % ##### Teilaufgabe a: Bestimmung der Impulsantwort ##### x = zeros(111,1); x(11) = 1; b = [1 0.5]; a = [1 -(1.8*cos(pi/16)) 0.81]; y = filter(b,a,x); k=[-10:100]'; figure; stem(k,y); axis([-10 100 -1 5]); grid; xlabel('k'); ylabel('Amplitude'); title('Impulsantwort'); % ##### Teilaufgabe b: Bestimmung der Sprungantwort ##### x = [zeros(10,1) ; ones(101,1)]; b = [1 0.5]; a = [1 -(1.8*cos(pi/16)) 0.81]; y = filter(b,a,x); k=[-10:100]'; figure; stem(k,y); axis([-10 100 0 40]); grid; xlabel('k'); ylabel('Amplitude'); title('Sprungantwort'); % ##### Teilaufgabe c: Erste Differenz der Sprungfunktion ##### d = zeros(111,1); d(11) = 1; b = [1 0.5]; a = [1 -(1.8*cos(pi/16)) 0.81]; h = filter(b,a,d); s = [zeros(10,1) ; ones(101,1)]; g = filter(b,a,s); h2 = diff(g,1); k = [-10:100]'; figure; stem(k(2:length(k)),h2); grid; xlabel('k'); ylabel('Amplitude'); title('Erste Differenz der Sprungantwort'); axis([-10 100 -1 5]); disp('Zum Fortfahren: Druecken Sie eine beliebige Taste...'); pause; % ##### Teilaufgabe d: Ausgangssignal ##### x = exp(j*[1:100]*(pi/3)); b = [1 0.5]; a = [1 -(1.8*cos(pi/16)) 0.81]; y = filter(b,a,x); figure; plot(real(y)); grid; xlabel('k'); title('Realteil'); figure; plot(imag(y)); grid; xlabel('k'); title('Imaginaerteil'); % ##### Teilaufgabe e: Uebertragungsfunktionen von LTI Systemen ##### % ### 2: b = [1 0.5]; a = [1 -(1.8*cos(pi/16)) 0.81]; [H w] = freqz(b,a,128); figure; semilogy(w/pi,abs(H)); grid; xlabel('Omega/pi'); ylabel('| H(exp(j*Omega)) |'); figure; plot(w/pi,angle(H)); grid; xlabel('Omega/pi'); ylabel('b(Omega)'); % ### 3: b = [1 0.5]; a = [1 -(1.8*cos(pi/16)) 0.81]; [H w] = freqz(b,a,128,'whole'); figure; semilogy(w/pi,abs(H)); grid; xlabel('Omega/pi'); ylabel('| H(exp(j*Omega)) |'); figure; plot(w/pi,angle(H)); grid; xlabel('Omega/pi'); ylabel('b(Omega)'); % ##### Teilaufgabe f: Pol-Nullstellen-Berechnung ##### b = [1 0.5]; a = [1 -(1.8*cos(pi/16)) 0.81]; Nullstellen = roots(b); Polstellen = roots(a); % ##### Teilaufgabe h: Pol-Nullstellen-Diagramm ##### b = [1 0.5]; a = [1 -(1.8*cos(pi/16)) 0.81]; figure; zplane(b,a);title('Pol-Nullstellen-Diagramm'); xlabel('Realteil'); ylabel('Imaginaerteil'); % ##### EOF #####