[SciPy-User] python and filter design: calculating optimal "S" transform
Tue Jun 1 20:46:29 CDT 2010
On Tue, Jun 1, 2010 at 6:55 PM, robert somerville
> this is an airy question.
> does anybody have some code or ideas on how to calculate the optimal "S"
> transform of user specified order (wanting the coefficients) for a
> published filter response curve, ie.
> f(s) = (b1*S^2 + b2*S) / (a1*S^2 + a2*S + a3)
> I am parameterizing the response of a linear device (Out = Response*In). I
> have the measured frequency response for the device (amplitude, phase) for a
> range of frequencies.
> I wish to model that measured response via a ratio of polynomials in the
> s-domain (or Laplace domain), where I define the polynomial orders (for
> numerator and denominator).
> Something like the "Yule-Walker" method is what I'm after except, to my
> knowledge, Yule-Walker approach is strictly for responses involving a
> denominator polynomial (i.e. strictly autoregressive) only. I need some
> thing to discover both numerator and denominator coefficients.
I have quite a bit of difficulty translating the terminology and to
understand how "optimal" would be defined in your case.
I have coded up quite a bit for working with ARMA models, especially
for going in between ma and ar representation (infinite denominator or
infinite numerator). If I understand the question correctly, then the
closest I have is to use numerical optimization to solve for the
ARMA(p,q) for fixed p,q that mimimizes the squared integrated distance
between the theoretical impulse response function of this process and
one that is given as target. I don't remember if I ever added a
function to convert the ma term to an invertible form, since the
optimization is unconstraint.
If nobody else a more signal theoretic solution, I can look up my code
which is somewhere in scikits.statsmodels.sandbox.tsa
> SciPy-User mailing list
More information about the SciPy-User