Forums

how to resample a z transformation???

Started by stefanosorrentino November 28, 2002
Hello friends.
I have an apparently unsolvable problem:
I have a given IIR filter (they give me the poles and the zeros).
The filter was originally sampled at a given (very high) frequency.
I also have a signal, which is sampled at a much lower rate.
When I filter my signal, I have to resample it at the same (high and
unuseful) frequency of the filter, in order to have a correct
filtering.
I'd like instead to filter my signal at its original (low) rate.
Is it possible to lower the frequency of an IIR (just repositioning
the zeros and the poles)? If that's possible, I could filter my
signal at the original rate, saving much computational time!
Please, let me know if there's any solution ;-)
Bye
Stefano



Stefano-

I hate to ask this, but if you are able to consider changing the poles and
zeros,
then why can you not just design a new filter? Why all the concern? Just match
the
freq and phase response of the old one, but at the desired cutoff.

Jeff Brower
DSP sw/hw engineer
Signalogic stefanosorrentino wrote:
>
> Hello friends.
> I have an apparently unsolvable problem:
> I have a given IIR filter (they give me the poles and the zeros).
> The filter was originally sampled at a given (very high) frequency.
> I also have a signal, which is sampled at a much lower rate.
> When I filter my signal, I have to resample it at the same (high and
> unuseful) frequency of the filter, in order to have a correct
> filtering.
> I'd like instead to filter my signal at its original (low) rate.
> Is it possible to lower the frequency of an IIR (just repositioning
> the zeros and the poles)? If that's possible, I could filter my
> signal at the original rate, saving much computational time!
> Please, let me know if there's any solution ;-)
> Bye
> Stefano




Stefano:

you may also wish to look into decomposing your filter into polyphase
components, if you haven't already.

-chatonda

--- Jeff Brower <> wrote:
> Stefano-
>
> I hate to ask this, but if you are able to consider changing the poles and
zeros,
> then why can you not just design a new filter? Why all the concern? Just
match the
> freq and phase response of the old one, but at the desired cutoff.
>
> Jeff Brower
> DSP sw/hw engineer
> Signalogic > stefanosorrentino wrote:
> >
> > Hello friends.

> > I'd like instead to filter my signal at its original (low) rate.
> > Is it possible to lower the frequency of an IIR (just repositioning
> > the zeros and the poles)? If that's possible, I could filter my
> > signal at the original rate, saving much computational time!
> > Please, let me know if there's any solution ;-)
> > Bye
> > Stefano
>


===== __________________________________________________


My filter is a digitalization of an analog filter. I obtained it using a
bilinear transformation.
Using the bilinear, I need to work with low frequencies in order to have a
correct response.
This is the reason why I cannot just create the filter again with a lower
sampling freq.
Thanks anyway
Stefano

----- Original Message -----
> I hate to ask this, but if you are able to consider changing the poles and
zeros,
> then why can you not just design a new filter? Why all the concern? Just
match the
> freq and phase response of the old one, but at the desired cutoff.
>
> Jeff Brower
> DSP sw/hw engineer
> Signalogic


Stefano-

So obtain *another* digital filter from *another* analog filter. It's just
filter
design; it shouldn't be difficult. Create as many as you need during processing
--
the only cost is to store the filter coefficients and make your code be able to
switch filters as/when needed.

Jeff Brower
DSP sw/hw engineer
Signalogic Stefano Sorrentino wrote:
>
> My filter is a digitalization of an analog filter. I obtained it using a
> bilinear transformation.
> Using the bilinear, I need to work with low frequencies in order to have a
> correct response.
> This is the reason why I cannot just create the filter again with a lower
> sampling freq.
> Thanks anyway
> Stefano
>
> ----- Original Message -----
> > I hate to ask this, but if you are able to consider changing the poles and
> zeros,
> > then why can you not just design a new filter? Why all the concern? Just
> match the
> > freq and phase response of the old one, but at the desired cutoff.
> >
> > Jeff Brower
> > DSP sw/hw engineer
> > Signalogic





If you have the analog filter design, preferably laplace-domain numerator and
denominator coefficients, then you can usually do better than a bilinear
transform. As you mentioned, the bilinear transform is only accurate at low
frequencies.

However, the MATLAB control systems toolbox, if you have it, does a pretty good
job of converting continuous-time filters to discrete-time filters. See the
function c2d (Control Systems toolbox), which has various transformation
methods, and impinvar (Signal Processing Toolbox). You can try these different
filter transformation methods to make your filter work at the lower sampling
rate (assuming, of course, that there isn't an aliasing problem with
implementing the filter at the lower sample rate). Naturally, you must check
each of the discrete-time filter designs.

Your other option, still using the bilinear transform, is to make a "prewarped"
analog filter (based on your desired filter) whose specifications have been
moved slightly such that the bilinear transform will give the correct digital
filter.

Sincerely,
Glen Ragan "Stefano Sorrentino" <> on 11/30/2002 06:43:14 AM To: "Jeff Brower" <>

cc: (bcc: Glen Ragan/US/I-O INC)
Subject: Re: [matlab] how to resample a z transformation??? My filter is a digitalization of an analog filter. I obtained it using a
bilinear transformation.
Using the bilinear, I need to work with low frequencies in order to have a
correct response.
This is the reason why I cannot just create the filter again with a lower
sampling freq.
Thanks anyway
Stefano

----- Original Message -----
> I hate to ask this, but if you are able to consider changing the poles and
zeros,
> then why can you not just design a new filter? Why all the concern? Just
match the
> freq and phase response of the old one, but at the desired cutoff.
>
> Jeff Brower
> DSP sw/hw engineer
> Signalogic
_____________________________________
Note: If you do a simple "reply" with your email client, only the author of this
message will receive your answer. You need to do a "reply all" if you want your
answer to be distributed to the entire group.

_____________________________________
About this discussion group:

To Join:

To Post:

To Leave:

Archives: http://www.yahoogroups.com/group/matlab

More DSP-Related Groups: http://www.dsprelated.com/groups.php3

">http://docs.yahoo.com/info/terms/