www.gusucode.com > signal 案例源码程序 matlab代码 > signal/PartialFractionExpansionOfIIRLowpassFilterExample.m
%% Partial-Fraction Expansion of IIR Lowpass Filter % Compute the partial-fraction expansion corresponding to the third-order % IIR lowpass filter described by the transfer function % % $$H(z)={{0.05634(1+z^{-1})(1-1.0166z^{-1}+z^{-2})} % \over{(1-0.683z^{-1})(1-1.4461z^{-1}+0.7957z^{-2})}}.$$ %% % Express the numerator and denominator as polynomial convolutions. b0 = 0.05634; b1 = [1 1]; b2 = [1 -1.0166 1]; a1 = [1 -0.683]; a2 = [1 -1.4461 0.7957]; b = b0*conv(b1,b2); a = conv(a1,a2); %% % Compute the residues, poles, and direct terms of the partial-fraction % expansion. [r,p,k] = residuez(b,a) %% % Plot the poles and zeros of the transfer function and overlay the poles % you just found. zplane(b,a) hold on plot(p,'^r') hold off %% % Use |residuez| again to reconstruct the transfer function. [bn,an] = residuez(r,p,k)