《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 5.7

《DSP using MATLAB》Problem 6.7

《DSP using MATLAB》Problem 6.8

《DSP using MATLAB》Problem 3.12

《DSP using MATLAB》Problem 4.17

《DSP using MATLAB》Problem 3.5