[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Roots() and factorizing large polynomials
From: |
Børge Strand-Bergesen |
Subject: |
Roots() and factorizing large polynomials |
Date: |
Mon, 8 Feb 2010 17:15:03 +0100 |
Hi,
Im using roots() to factorize a long filter impulse responce
(polynomial in z). Reassembling the filter from the roots works for
short impulse responses (see below) but fails for longer ones. Any
suggestions for better factorization of polynomials?
The reason I'm doing this is that I want to take a generic FIR filter
and convert it to a minimum-phase filter. (By finding the roots,
inverting those with abs()>1, and assembling them to an impulse
response again.)
Thanks,
Borge
a = [1 1 -6];
roots_a = roots(a);
b = [1];
for n=1:length(roots_a)
b = conv(b, [1 -roots_a(n)]);
end
> b
b =
1 1 -6
- Roots() and factorizing large polynomials,
Børge Strand-Bergesen <=