Partial Fraction Expansion:

Figure J.5 gives a listing of a matlab function for computing
a ``left-justified'' partial fraction expansion (PFE) of an IIR
digital filter
as described in §6.8 (and
below). This function, along with its ``right justified''
counterpart, `residued`, are included in the
`octave-forge` matlab library for Octave.^{J.1}

function [r, p, f, m] = residuez(B, A, tol) if nargin<3, tol=0.001; end NUM = B(:)'; DEN = A(:)'; % Matlab's residue does not return m (implied by p): [r,p,f,m]=residue(conj(fliplr(NUM)),conj(fliplr(DEN)),tol); p = 1 ./ p; r = r .* ((-p) .^m); if f, f = conj(fliplr(f)); end |

This code was written for Octave, but it also runs in Matlab if the
'`m`' outputs (pole multiplicity counts) are omitted (two places).
The input arguments are compatible with the existing
`residuez` function in the Matlab Signal Processing Toolbox.

[How to cite this work] [Order a printed hardcopy] [Comment on this page via email]

Copyright ©

Center for Computer Research in Music and Acoustics (CCRMA), Stanford University