《DSP using MATLAB》Problem 4.11

代码:
%% ----------------------------------------------------------------------------
%% Output Info about this m-file
fprintf('\n***********************************************************\n');
fprintf(' <DSP using MATLAB> Problem 4.11 \n\n');
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('\n-------------------- X2(z) ------------------ \n\n');
%% -------------------------------------------------
%% 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('\n-------------------- X3(z) ------------------ \n\n');
%% -------------------------------------------------
%% 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('\n-------------------- X4(z) ------------------ \n\n');
%% -------------------------------------------------
%% 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('\n-------------------- X5(z) ------------------ \n\n');
%% -------------------------------------------------
%% 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;
运行结果:










牢记:
1、如果你决定做某事,那就动手去做;不要受任何人、任何事的干扰。2、这个世界并不完美,但依然值得我们去为之奋斗。

浙公网安备 33010602011771号