《DSP using MATLAB》Problem 4.11
Posted 沧海一粟
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《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;
运行结果:
以上是关于《DSP using MATLAB》Problem 4.11的主要内容,如果未能解决你的问题,请参考以下文章
《DSP using MATLAB》Problem 3.12