DSPRelated.com
Forums

Attention FDLS Fans ...

Started by Greg Berchin November 25, 2018
I've been laid-up for the past week or so, recovering from surgery, so I used
the time to create a variant of Frequency Domain Least Squares (FDLS) inspired
by this ancient comp.dsp thread:
https://groups.google.com/d/msg/comp.dsp/MOD86bo829Y/2BAVHOxK_yQJ

Whereas standard FDLS takes a magnitude/phase frequency response and attempts to
create a transfer function that matches it, "FDLS Allpass" takes just a phase
response and attempts to create an allpass transfer function that matches it.
The only restrictions are that the phase response has to be realizable as an
allpass filter (group delay is everywhere nonnegative), and that you can only
get a maximum phase shift of 180� per filter order.

It should be useful for phase or group delay equalization, conversion of
minimum-phase systems to linear phase, etc.

Like standard FDLS, FDLS Allpass takes its form as a heavily commented Matlab
script, and is free to distribute, use, and/or modify to suit your
non-commercial needs. It is available from me directly at 
	gjberchin(at)charter(dot)net

- Greg
Sounds interesting! Thank you, Greg! I hope to find time to take a look
soon.

--Randy

Greg Berchin <gjberchin@chatter.net.invalid> writes:

> I've been laid-up for the past week or so, recovering from surgery, so I used > the time to create a variant of Frequency Domain Least Squares (FDLS) inspired > by this ancient comp.dsp thread: > https://groups.google.com/d/msg/comp.dsp/MOD86bo829Y/2BAVHOxK_yQJ > > Whereas standard FDLS takes a magnitude/phase frequency response and attempts to > create a transfer function that matches it, "FDLS Allpass" takes just a phase > response and attempts to create an allpass transfer function that matches it. > The only restrictions are that the phase response has to be realizable as an > allpass filter (group delay is everywhere nonnegative), and that you can only > get a maximum phase shift of 180&deg; per filter order. > > It should be useful for phase or group delay equalization, conversion of > minimum-phase systems to linear phase, etc. > > Like standard FDLS, FDLS Allpass takes its form as a heavily commented Matlab > script, and is free to distribute, use, and/or modify to suit your > non-commercial needs. It is available from me directly at > gjberchin(at)charter(dot)net > > - Greg
-- Randy Yates Embedded Linux Developer http://www.garnerundergroundinc.com