《DSP using MATLAB》Problem 2.19

Posted 沧海一粟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《DSP using MATLAB》Problem 2.19相关的知识,希望对你有一定的参考价值。

代码:

%% ------------------------------------------------------------------------
%%            Output Info about this m-file
fprintf(\'\\n***********************************************************\\n\');
fprintf(\'        <DSP using MATLAB> Problem 2.19 \\n\\n\');

banner();
%% ------------------------------------------------------------------------

b = [1, 2, 0, 1]; a = [1, -0.5, 0.25];
n = [0:100];

h1 = impz(b, a, n);

x = impseq(0, 0, 100);

h2 = filter(b, a, x);

figure(\'NumberTitle\', \'off\', \'Name\', \'Problem 2.19 Impulse response\')
set(gcf,\'Color\',[1,1,1])                  % 改变坐标外围背景颜色

subplot(2,1,1); stem(n, h1); title(\'impz function\');
xlabel(\'n\'); ylabel(\'h1(n)\') ;
grid on
subplot(2,1,2); stem(n, h2); title(\'filter function\');
xlabel(\'n\'); ylabel(\'h2(n)\');
grid on;

%% ---------------------------------------------
%%       stability
%% ---------------------------------------------

fprintf(\'\\n1st impz  :  sum(abs(h)) = %f \\n\', sum(abs(h1)));
fprintf(\'\\n2nd filter:  sum(abs(h)) = %f \\n\', sum(abs(h2)));

figure(\'NumberTitle\', \'off\', \'Name\', \'Problem 2.19 Zero-Pole\')
set(gcf,\'Color\',[1,1,1])                  % 改变坐标外围背景颜色
pzmap(b, a);

z = roots(a); magz = abs(z)



%% --------------------------------------
%%           another input
%% --------------------------------------
n2 = [0:200];
x2 = (5 + 3*cos(0.2*pi*n2) + 4*sin(0.6*pi*n2)) .* stepseq(0, 0, 200);

y2 = filter(b, a, x2);

figure(\'NumberTitle\', \'off\', \'Name\', \'Problem 2.19 Another input\')
set(gcf,\'Color\',[1,1,1])                  % 改变坐标外围背景颜色

subplot(2,1,1); stem(n2, x2); title(\'input\');
xlabel(\'n2\'); ylabel(\'x2(n)\') ;
grid on
subplot(2,1,2); stem(n2, y2); title(\'Output\');
xlabel(\'n2\'); ylabel(\'y2(n)\');
grid on;

  运行结果:

          上图是分别用impz和filter函数得到的脉冲响应序列。

          系统的脉冲响应序列是绝对可和的,另外系统的极点都位于单位圆内部(见下图),所以系统是稳定的。

          给系统一个新的输入,计算新的输出,如下图:

 

以上是关于《DSP using MATLAB》Problem 2.19的主要内容,如果未能解决你的问题,请参考以下文章

《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