Re: Bilinear Transforms

*To*: mathgroup at smc.vnet.net*Subject*: [mg50762] Re: Bilinear Transforms*From*: "Steve Luttrell" <steve_usenet at _removemefirst_luttrell.org.uk>*Date*: Sun, 19 Sep 2004 21:39:18 -0400 (EDT)*References*: <cijen5$hmb$1@smc.vnet.net>*Sender*: owner-wri-mathgroup at wolfram.com

Try this (not sure whether you are using z or z^(-1) but this doesn't affect the basic idea below): Build a little FIR filter q = Sum[a[i]/z^i,{i,10}] Warp it. r = q /. z -> (1 - \[Lambda]/z)/(z^(-1) - \[Lambda]) Gather together as numerator over denominator. s = Together[r] Get the coefficients in the numerator. CoefficientList[Numerator[s],z] Steve Luttrell "Chris Williams" <chrisw at tartarus.uwa.edu.au> wrote in message news:cijen5$hmb$1 at smc.vnet.net... > Hi everyone, > > I have an warped FIR filter with order around 1400 - however to unwarp > this filter configuration for use on my data I need to apply the > bilinear transform: > > u' -> (z^-1 - lambda)/(1-lambda*z^-1) > > So essentially each unit delay becomes an all-pass element. > I've substituted in the transform into a transfer function expression > for my filter, and now I want to get the transfer function back into the > normal form of a fraction of polynomials of z. > > I've tried Together[] and Simplify[] without much success. Has anyone > accomplished something similar - any help would be greatly appreciated ;) > > Cheers and thanks, > > Chris. >