scipy.signal calling all developers
There has been some chatter on the scipy-dev mailing list lately about enhancing the scipy.signal package. Unfortunately, there seems to be a split. Some are going off and starting a new package scikit-signal. The original developer, Travis Oliphant, appears to have strong interest in seeing the scipy.signal evovle. If you are interested in signal processing you should check out the mailing lists (scipy-user and scipy-dev) and the scipy.signal GitHub repository and consider contributing. Contributions can be functional code, test code, documentation, opinions, comments, etc.
The following is a sub-list of categories and functions currently supported by the scipy.signal package. The scipy documentation breaks the signal package into the following categories:
- Convolution
- B-splines
- Filtering
- Filter design
- Continuous-time linear systems
- LTI representations
- Waveforms
- Window Functions
- Wavelets
A list of functions from the scipy.signal import:
'abcd_normalize', 'abs', 'absolute', 'add', 'allclose', 'any', 'arange', 'arccosh', 'arcsinh', 'arctan', 'arctan2', 'argsort', 'array', 'asarray', 'atleast_1d', 'atleast_2d', 'band_dict', 'band_stop_obj', 'barthann', 'bartlett', 'bessel', 'besselap', 'bilinear', 'blackman', 'blackmanharris', 'bohman', 'boxcar', 'bspline', 'bsplines', 'buttap', 'butter', 'buttord', 'c0_P', 'cascade', 'cast', 'ceil', 'cheb1ap', 'cheb1ord', 'cheb2ap', 'cheb2ord', 'chebwin', 'cheby1', 'cheby2', 'chirp', 'cmplx_sort', 'comb', 'conjugate', 'convolve', 'convolve2d', 'correlate', 'correlate2d', 'cos', 'cosh', 'cspline1d', 'cspline1d_eval', 'cspline2d', 'cubic', 'daub', 'decimate', 'deconvolve', 'detrend', 'diag', 'dot', 'ellip', 'ellipap', 'ellipord', 'exp', 'expand_dims', 'extract', 'eye', 'factorial', 'fft', 'fft2', 'fftconvolve', 'fftfreq', 'fftn', 'filter_design', 'filter_dict', 'filtfilt', 'findfreqs', 'fir_filter_design', 'firwin', 'firwin2', 'flattop', 'flipud', 'floor', 'freqs', 'freqz', 'gamma', 'gauss_spline', 'gaussian', 'gausspulse', 'general_gaussian', 'get_window', 'greater', 'greater_equal', 'hamming', 'hann', 'hanning', 'hilbert', 'hilbert2', 'ifft', 'ifft2', 'ifftn', 'ifftshift', 'iirdesign', 'iirfilter', 'impulse', 'impulse2', 'integrate', 'interpolate', 'invres', 'invresz', 'irfft', 'iscomplexobj', 'isscalar', 'kaiser', 'kaiser_atten', 'kaiser_beta', 'kaiserord', 'kratio', 'less', 'less_equal', 'lfilter', 'lfilter_zi', 'lfiltic', 'linalg', 'linspace', 'log', 'log10', 'logical_and', 'logspace', 'lp2bp', 'lp2bs', 'lp2hp', 'lp2lp', 'lsim', 'lsim2', 'lti', 'ltisys', 'maxflat', 'mean', 'medfilt', 'medfilt2d', 'mintypecode', 'mod', 'morlet', 'nan', 'nan_to_num', 'ndarray', 'newaxis', 'normalize', 'np', 'numpy', 'nuttall', 'ones', 'optimize', 'order_filter', 'parzen', 'pi', 'piecewise', 'place', 'poly', 'polyadd', 'polyder', 'polydiv', 'polyint', 'polymul', 'polysub', 'polyval', 'prod', 'product', 'qmf', 'qspline1d', 'qspline1d_eval', 'qspline2d', 'quadratic', 'r_', 'rank', 'ravel', 'real', 'real_if_close', 'remez', 'resample', 'reshape', 'residue', 'residuez', 'resize', 'roots', 'sawtooth', 'scipy', 'sepfir2d', 'signaltools', 'sigtools', 'sin', 'sinc', 'sinh', 'slepian', 'sort', 'special', 'spline', 'spline_filter', 'sqrt', 'square', 'squeeze', 'ss2tf', 'ss2zpk', 'step', 'step2', 'sum', 'sweep_poly', 'symiirorder1', 'symiirorder2', 'take', 'tan', 'test', 'tf2ss', 'tf2zpk', 'transpose', 'triang', 'types', 'unique', 'unique_roots', 'vratio', 'warnings', 'waveforms', 'wavelets', 'where', 'wiener', 'windows', 'yulewalk', 'zeros', 'zeros_like', 'zpk2ss', 'zpk2tf'
As seen in my other posts (blog1, blog2, snip1, snip2, snip3) I use Python quite extensively and the scipy.signal package. I have found Python plus the numerical / scientific packages to be very powerful and productive.
As mentioned, if you enjoy signal processing and open-source packages getting involved with scipy.signal could be a opportunity to gain experience with signal processing software and group development. I plan on contributing but (excuses, excuses) my time is limited and I also contribute to MyHDL (and would like to contribute more).
Even if you do not want to or cannot contribute to the scipy.signal development try out the Python programming language and the signal processing packages available.
- Comments
- Write a Comment Select to add a comment
To post reply to a comment, click on the 'reply' button attached to each comment. To post a new comment (not a reply to a comment) check out the 'Write a Comment' tab at the top of the comments.
Please login (on the right) if you already have an account on this platform.
Otherwise, please use this form to register (free) an join one of the largest online community for Electrical/Embedded/DSP/FPGA/ML engineers: