Re: Bilinear Transforms
- To: mathgroup at smc.vnet.net
- Subject: [mg50784] Re: Bilinear Transforms
- From: Chris Williams <chrisw at tartarus.uwa.edu.au>
- Date: Tue, 21 Sep 2004 03:48:58 -0400 (EDT)
- References: <cijen5$hmb$1@smc.vnet.net> <cild86$r3d$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Thanks Steve,
The main problem is the Together[] part (it doesn't seem to want to
finish any time this year) - I have had some success breaking the filter
into smaller parts though - hopefully this will work out well.
Steve Luttrell wrote:
> 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.
>>
>
>
>