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
Attention FDLS Fans ...
Started by ●November 25, 2018
Reply by ●November 30, 20182018-11-30
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° 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