[Scipy-tickets] [SciPy] #902: need high, stop, pass options to signal.firwin

SciPy Trac scipy-tickets@scipy....
Wed Oct 20 11:32:08 CDT 2010


#902: need high, stop, pass options to signal.firwin
----------------------------------+-----------------------------------------
 Reporter:  tpk@…                 |       Owner:  somebody    
     Type:  enhancement           |      Status:  needs_review
 Priority:  normal                |   Milestone:  0.9.0       
Component:  scipy.signal          |     Version:  0.7.0       
 Keywords:                        |  
----------------------------------+-----------------------------------------

Comment(by warren.weckesser):

 Tom,

 As much as I prefer the default to be no scaling, you are right that the
 default should be True to be consistent with the old version.  I'll change
 that before I check in the code.

 The nonlinear phase issues is a bug, so it should be fixed.  I noticed
 that the matlab fir1 function automatically increases the number of taps
 in this case.  I don't particularly like that solution, and we can't
 really do that because that could also break existing code in a surprising
 way.  Of course, raising an exception also "breaks" existing code, but for
 a very good reason--the old code wasn't really working properly in the
 first place.

 A different solution would be to give the function a new name, and
 deprecate firwin.  Opinions, anyone?

 In the scaling calculation, because m is now properly symmetric, every
 term in exp(-1.j*pi*m*scale_frequency) contains its complex conjugate, so
 the sum will be real (other than normal machine precision issues).  In
 fact, we can change the calculation of the sum to
     s = numpy.sum(h*cos(pi*m*scale_frequency))
 and avoid complex numbers entirely.

 Warren

-- 
Ticket URL: <http://projects.scipy.org/scipy/ticket/902#comment:15>
SciPy <http://www.scipy.org>
SciPy is open-source software for mathematics, science, and engineering.


More information about the Scipy-tickets mailing list