代码:
%% ---------------------------------------------------------------------------- %% Output Info about this m-file fprintf(' *********************************************************** '); fprintf(' <DSP using MATLAB> Problem 4.11 '); banner(); %% ---------------------------------------------------------------------------- format rat; %% ------------------------------------------------- %% 1 X1(z) rightsided %% ------------------------------------------------- b = [1, -1, -4, 4]; nb = [0:3]; a = [1, -11/4, 13/8, -1/4]; na = [0:3]; %[p, r] = deconv(b, a) %[p, np, r, nr] = deconv_m(b, nb, a, na) [R, p, C] = residuez(b, a) %[delta, n] = impseq(0,0,7); %x = filter(b, a, delta) %[b,a] = residuez(R, p, C) %Mp = abs((p))' %Ap = angle((p))' figure('NumberTitle', 'off', 'Name', 'Problem 4.11.1 X1(z)') set(gcf,'Color','white'); zplane(b, a); % row vector title('Zero-Pole Plot'); xlabel('Re'); ylabel('Im'); grid on; fprintf(' -------------------- X2(z) ------------------ '); %% ------------------------------------------------- %% 2 X2(z) absolutely summable %% ------------------------------------------------- b = [1, 1, -4, 4]; nb = [0:3]; a = [1, -11/4, 13/8, -1/4]; na = [0:3]; %[p, r] = deconv(b, a) %[p, np, r, nr] = deconv_m(b, nb, a, na) [R, p, C] = residuez(b, a) %[delta, n] = impseq(0,0,7); %x = filter(b, a, delta) %[b,a] = residuez(R, p, C) %Mp = abs((p))' %Ap = angle((p))' figure('NumberTitle', 'off', 'Name', 'Problem 4.11.2 X2(z)') set(gcf,'Color','white'); zplane(b, a); % row vector title('Zero-Pole Plot'); xlabel('Re'); ylabel('Im'); grid on; fprintf(' -------------------- X3(z) ------------------ '); %% ------------------------------------------------- %% 3 X3(z) leftsided %% ------------------------------------------------- b = [1, -3, 4, 1]; nb = [0:3]; a = [1, -4, 1, -0.16]; na = [0:3]; %[p, r] = deconv(b, a) %[p, np, r, nr] = deconv_m(b, nb, a, na) [R, p, C] = residuez(b, a) %[delta, n] = impseq(0,0,7); %x = filter(b, a, delta) %[b,a] = residuez(R, p, C) Mp = abs((p))' Ap = angle((p))'/pi % pole angle in pi units figure('NumberTitle', 'off', 'Name', 'Problem 4.11.3 X3(z)') set(gcf,'Color','white'); zplane(b, a); % row vector title('Zero-Pole Plot'); xlabel('Re'); ylabel('Im'); grid on; fprintf(' -------------------- X4(z) ------------------ '); %% ------------------------------------------------- %% 4 X4(z) leftsided %% ------------------------------------------------- b = [0, 0, 1]; nb = [0:2]; a = [1, 2, 1.25, 0.25]; na = [0:3]; %[p, r] = deconv(b, a) %[p, np, r, nr] = deconv_m(b, nb, a, na) [R, p, C] = residuez(b, a) %[delta, n] = impseq(0,0,7); %x = filter(b, a, delta) %[b,a] = residuez(R, p, C) %Mp = abs((p))' %Ap = angle((p))' figure('NumberTitle', 'off', 'Name', 'Problem 4.11.4 X4(z)') set(gcf,'Color','white'); zplane(b, a); % row vector title('Zero-Pole Plot'); xlabel('Re'); ylabel('Im'); grid on; fprintf(' -------------------- X5(z) ------------------ '); %% ------------------------------------------------- %% 5 X5(z) leftsided %% ------------------------------------------------- b = [0, 0, 0, 1]; nb = [0:3]; a = [1, 0, -0.5, 0, 0.25*0.25]; na = [0:3]; %[p, r] = deconv(b, a) %[p, np, r, nr] = deconv_m(b, nb, a, na) [R, p, C] = residuez(b, a) %[delta, n] = impseq(0,0,7); %x = filter(b, a, delta) %[b,a] = residuez(R, p, C) %Mp = abs((p))' %Ap = angle((p))' figure('NumberTitle', 'off', 'Name', 'Problem 4.11.5 X5(z)') set(gcf,'Color','white'); zplane(b, a); % row vector title('Zero-Pole Plot'); xlabel('Re'); ylabel('Im'); grid on;
运行结果: