DSPRelated.com
Forums

Nearest IIR System to FIR?

Started by Chris Maryan December 4, 2007
Roughly: I have a model in an FIR form that I would like to change to
an IIR form (for various reasons that I'll spare you from). I'm
interested in finding the "nearest" IIR filter of order N to some
given FIR filter ("nearest" meaning in some reasonable metric). Are
there any standard approaches to this or should I just clobber away
and see what happens if I try this in some minimization formulation
under some aptly chosen norm?

i.e. given y_t = h * x_t (where h is the FIR impulse response)
I'd like to approximate as closely as possibly this with
y_t = a*y_(t-1) + b*x_t
where the length of b is substantially smaller than the length of h,
perhaps 1, perhaps arbitrarily specified by me
and the length of a is specified by me.

Any thoughts?

Thanks,

Chris
Chris Maryan <kmaryan@gmail.com> writes:

> Roughly: I have a model in an FIR form that I would like to change to > an IIR form (for various reasons that I'll spare you from). I'm > interested in finding the "nearest" IIR filter of order N to some > given FIR filter ("nearest" meaning in some reasonable metric). Are > there any standard approaches to this or should I just clobber away > and see what happens if I try this in some minimization formulation > under some aptly chosen norm? > > i.e. given y_t = h * x_t (where h is the FIR impulse response) > I'd like to approximate as closely as possibly this with > y_t = a*y_(t-1) + b*x_t > where the length of b is substantially smaller than the length of h, > perhaps 1, perhaps arbitrarily specified by me > and the length of a is specified by me. > > Any thoughts? > > Thanks, > > Chris
You might try applying the FDLS algorithm (frequency domain least squares). -- % Randy Yates % "...the answer lies within your soul %% Fuquay-Varina, NC % 'cause no one knows which side %%% 919-577-9882 % the coin will fall." %%%% <yates@ieee.org> % 'Big Wheels', *Out of the Blue*, ELO http://www.digitalsignallabs.com
On 4 Des, 06:02, Chris Maryan <kmar...@gmail.com> wrote:
> Roughly: I have a model in an FIR form that I would like to change to > an IIR form (for various reasons that I'll spare you from). I'm > interested in finding the "nearest" IIR filter of order N to some > given FIR filter ("nearest" meaning in some reasonable metric). Are > there any standard approaches to this or should I just clobber away > and see what happens if I try this in some minimization formulation > under some aptly chosen norm? > > i.e. given y_t = h * x_t (where h is the FIR impulse response) > I'd like to approximate as closely as possibly this with > y_t = a*y_(t-1) + b*x_t > where the length of b is substantially smaller than the length of h, > perhaps 1, perhaps arbitrarily specified by me > and the length of a is specified by me.
I don't know how to approximate a given FIR by an IIR. However, if the FIR was designed based on some specification I would go back and design an IIR from the same spec. If the FIR is based on some empirical data (like some measured signal) the prolem becomes a lot harder. Rune
On Dec 3, 11:02 pm, Chris Maryan <kmar...@gmail.com> wrote:
> Roughly: I have a model in an FIR form that I would like to change to > an IIR form (for various reasons that I'll spare you from). I'm > interested in finding the "nearest" IIR filter of order N to some > given FIR filter ("nearest" meaning in some reasonable metric). Are > there any standard approaches to this or should I just clobber away > and see what happens if I try this in some minimization formulation > under some aptly chosen norm? > > i.e. given y_t = h * x_t (where h is the FIR impulse response) > I'd like to approximate as closely as possibly this with > y_t = a*y_(t-1) + b*x_t > where the length of b is substantially smaller than the length of h, > perhaps 1, perhaps arbitrarily specified by me > and the length of a is specified by me. > > Any thoughts? > > Thanks, > > Chris
Chris, Do you need to have the linear phase response that a FIR filter provides? Darol Klawetter
No linear phase requirement, or any other stringent system requirement
for that matter, except model order which I would like as a parameter
to play with. The issue is that I have empirically measured FIRs, and
for reasons of ease of modeling, need an IIR equivalent, so to answer
Rune's question, yes, it's harder.

Chris

On Dec 4, 12:35 am, Darol Klawetter <darol.klawet...@l-3com.com>
wrote:
> On Dec 3, 11:02 pm, Chris Maryan <kmar...@gmail.com> wrote: > > > > > Roughly: I have a model in an FIR form that I would like to change to > > an IIR form (for various reasons that I'll spare you from). I'm > > interested in finding the "nearest" IIR filter of order N to some > > given FIR filter ("nearest" meaning in some reasonable metric). Are > > there any standard approaches to this or should I just clobber away > > and see what happens if I try this in some minimization formulation > > under some aptly chosen norm? > > > i.e. given y_t = h * x_t (where h is the FIR impulse response) > > I'd like to approximate as closely as possibly this with > > y_t = a*y_(t-1) + b*x_t > > where the length of b is substantially smaller than the length of h, > > perhaps 1, perhaps arbitrarily specified by me > > and the length of a is specified by me. > > > Any thoughts? > > > Thanks, > > > Chris > > Chris, > > Do you need to have the linear phase response that a FIR filter > provides? > > Darol Klawetter
On Dec 4, 12:17 am, Rune Allnor <all...@tele.ntnu.no> wrote:
> On 4 Des, 06:02, Chris Maryan <kmar...@gmail.com> wrote: > > > Roughly: I have a model in an FIR form that I would like to change to > > an IIR form (for various reasons that I'll spare you from). I'm > > interested in finding the "nearest" IIR filter of order N to some > > given FIR filter ("nearest" meaning in some reasonable metric). Are > > there any standard approaches to this or should I just clobber away > > and see what happens if I try this in some minimization formulation > > under some aptly chosen norm? > > > i.e. given y_t = h * x_t (where h is the FIR impulse response) > > I'd like to approximate as closely as possibly this with > > y_t = a*y_(t-1) + b*x_t > > where the length of b is substantially smaller than the length of h, > > perhaps 1, perhaps arbitrarily specified by me > > and the length of a is specified by me. > > I don't know how to approximate a given FIR by an IIR. > However, if the FIR was designed based on some specification > I would go back and design an IIR from the same spec. > > If the FIR is based on some empirical data (like some measured > signal) the prolem becomes a lot harder. > > Rune
Thanks, but to put it in your terms, it's harder (empirically measured responses). For "historical reasons" I have them in an FIR form, but I would like to try modeling the system as an IIR. Chris
Thanks for the tip on FDLS, I'll have a look at that. Do you have any
favourite papers on FDLS?

Chris

On Dec 4, 12:06 am, Randy Yates <ya...@ieee.org> wrote:
> Chris Maryan <kmar...@gmail.com> writes: > > Roughly: I have a model in an FIR form that I would like to change to > > an IIR form (for various reasons that I'll spare you from). I'm > > interested in finding the "nearest" IIR filter of order N to some > > given FIR filter ("nearest" meaning in some reasonable metric). Are > > there any standard approaches to this or should I just clobber away > > and see what happens if I try this in some minimization formulation > > under some aptly chosen norm? > > > i.e. given y_t = h * x_t (where h is the FIR impulse response) > > I'd like to approximate as closely as possibly this with > > y_t = a*y_(t-1) + b*x_t > > where the length of b is substantially smaller than the length of h, > > perhaps 1, perhaps arbitrarily specified by me > > and the length of a is specified by me. > > > Any thoughts? > > > Thanks, > > > Chris > > You might try applying the FDLS algorithm (frequency domain least squares). > -- > % Randy Yates % "...the answer lies within your soul > %% Fuquay-Varina, NC % 'cause no one knows which side > %%% 919-577-9882 % the coin will fall." > %%%% <ya...@ieee.org> % 'Big Wheels', *Out of the Blue*, ELOhttp://www.digitalsignallabs.com
On 4 Des, 07:12, Chris Maryan <kmar...@gmail.com> wrote:
> No linear phase requirement, or any other stringent system requirement > for that matter, except model order which I would like as a parameter > to play with. The issue is that I have empirically measured FIRs, and > for reasons of ease of modeling, need an IIR equivalent, so to answer > Rune's question, yes, it's harder.
What kind of modeling would this be? Do you have to do the modeling in time domain? Could you save some FLOPs by doing the modeling in frequency domain? Rune
Chris Maryan <kmaryan@gmail.com> writes:

> Thanks for the tip on FDLS, I'll have a look at that. Do you have any > favourite papers on FDLS?
Greg Berchin is the acknowledged expert on it - he sticks his head in here often so you can probably ask him questions directly. But here is what I've used: @article{berchin, title = "{Precise Filter Design}", author = "Greg Berchin", journal = "IEEE Signal Processing Magazine", month = "January", year = "2007"} --Randy
> > Chris > > On Dec 4, 12:06 am, Randy Yates <ya...@ieee.org> wrote: >> Chris Maryan <kmar...@gmail.com> writes: >> > Roughly: I have a model in an FIR form that I would like to change to >> > an IIR form (for various reasons that I'll spare you from). I'm >> > interested in finding the "nearest" IIR filter of order N to some >> > given FIR filter ("nearest" meaning in some reasonable metric). Are >> > there any standard approaches to this or should I just clobber away >> > and see what happens if I try this in some minimization formulation >> > under some aptly chosen norm? >> >> > i.e. given y_t = h * x_t (where h is the FIR impulse response) >> > I'd like to approximate as closely as possibly this with >> > y_t = a*y_(t-1) + b*x_t >> > where the length of b is substantially smaller than the length of h, >> > perhaps 1, perhaps arbitrarily specified by me >> > and the length of a is specified by me. >> >> > Any thoughts? >> >> > Thanks, >> >> > Chris >> >> You might try applying the FDLS algorithm (frequency domain least squares). >> -- >> % Randy Yates % "...the answer lies within your soul >> %% Fuquay-Varina, NC % 'cause no one knows which side >> %%% 919-577-9882 % the coin will fall." >> %%%% <ya...@ieee.org> % 'Big Wheels', *Out of the Blue*, ELOhttp://www.digitalsignallabs.com >
-- % Randy Yates % "...the answer lies within your soul %% Fuquay-Varina, NC % 'cause no one knows which side %%% 919-577-9882 % the coin will fall." %%%% <yates@ieee.org> % 'Big Wheels', *Out of the Blue*, ELO http://www.digitalsignallabs.com
No need to save flops, this is off line. That said, the FDLS approach
mentioned looks promising, I think in general this is turning out to
be a job for a generic fit a filter to an arbitrary frequency response
kind of thing. I had perhaps hoped that there was something out there
to turn my numerator into a denominator in a more 'direct' way.

Thanks,

Chris

On Dec 4, 1:19 am, Rune Allnor <all...@tele.ntnu.no> wrote:
> On 4 Des, 07:12, Chris Maryan <kmar...@gmail.com> wrote: > > > No linear phase requirement, or any other stringent system requirement > > for that matter, except model order which I would like as a parameter > > to play with. The issue is that I have empirically measured FIRs, and > > for reasons of ease of modeling, need an IIR equivalent, so to answer > > Rune's question, yes, it's harder. > > What kind of modeling would this be? Do you have to do the > modeling in time domain? Could you save some FLOPs by > doing the modeling in frequency domain? > > Rune