Heavily simplified scipy.signal.spectral module which only depends on NumPy and supports pyFFTW
Project description
Heavily simplified scipy.signal.spectral module which only depends on NumPy and supports pyFFTW
Requirements
- Python 3
- NumPy
- Optional: pyFFTW (for fastest FFT calculations with FFTW library)
- Optional: SciPy (for faster FFT calculations with scipy.fftpack library)
SimpleSpectral preferably uses pyfftw for FFT calculations, then scipy.fftpack and numpy.fft as a last resort.
You should always install SciPy or pyFFTW, because numpy.fft has horrible memory usage and is also much slower.
Differences
You can use scipy.signal tutorial and reference guide in most cases, but there are some important differences:
- input data is assumed to be complex and two-sided spectrum is always returned (return_onesided argument is not implemented)
- length of FFT is always same as length of segment (nfft argument is not implemented)
- functions work always over last axis of array (axis argument is not implemented)
- if you want to have best FFT performance with pyFFTW, you should create arrays with empty, zeros or ones functions from SimpleSpectral instead of generic versions from NumPy (arrays will be byte aligned for your CPU)
Implemented functions:
- empty
- zeros
- ones
- fft
- get_window
- get_detrend
- extend_boundaries
- welch
- periodogram
- spectrogram
- stft
Supported windows:
- boxcar
- hann
- hamming
- bartlett
- blackman
- kaiser
- tukey
Supported boundary extensions:
- even
- odd
- constant
- zeros
Supported detrending functions:
- constant
Credits
Based on code from excellent SciPy project.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|
Filename, size SimpleSpectral-1.0.0.tar.gz (6.1 kB) | File type Source | Python version None | Upload date | Hashes View |