[SciPy-user] scipy code contribution question
Sun Jul 15 17:54:36 CDT 2007
Received from stef mientki on Sun, Jul 15, 2007 at 06:03:00PM EDT:
> Robert Kern wrote:
> > Lev Givon wrote:
> >> Received from Lev Givon on Wed, Jul 04, 2007 at 08:14:21PM EDT:
> >> (snip)
> >>> Insofar as the item that prompted my first message is concerned, I
> >>> desire a filter design function similar to others currently
> >>> available in scipy to facilitate the construction of FIR filters
> >>> with the Remez algorithm (i.e., something similar to the remezord or
> >>> firpmord functions in Matlab) given some typical design parameters
> >>> (e.g., band cutoff frequencies, ripple constraints, etc.). As the
> >>> relevant algorithms needed by such a filter design function are not
> >>> overly complicated, I could look them up an appropriate DSP text or
> >>> paper and try implementing them completely from scratch (unless some
> >>> generous soul reading this list has already done so :-)
> >>> L.G.
> very good, although not very efficient, FIR filters are my favorits.
> >> I finished implementing and testing the aforementioned filter design
> >> algorithms. May I add the code directly to Lib/signal/filter_design.py
> >> (where similar functions are defined)? Or can I create my own corner
> >> in the sandbox and put the functions in there for folks to examine and
> >> test before they are moved into the aforementioned file?
> > To clarify, did you implement them from scratch, or did you use the Matlab
> > source?
> Although I don't know the MatLab sources,
> but I bet MatLab used thé Fortran source code already known for many
> decades ;-)
> For the record: The Remez algorithm (Remez 1934),
> and Parks and McClellan (1972) were the first who described and
> implemented the algorithm.
> Stef Mientki
Matlab uses an empirically determined approximation algorithm
developed by Herrmann and others in the 1970s. The paper I consulted
while writing my code describes Herrmann's method, a method developed
by Kaiser, and a third that supposedly is better than either. For the
sake of comparison, I implemented all three :-)
More information about the SciPy-user