Skip to content

Syto VS scipy.signal

Sashko edited this page Aug 31, 2019 · 2 revisions

Filtering

Scipy functions Description Syto's analog
order_filter(a, domain, rank) Perform an order filter on an N-dimensional array To be developed
medfilt(volume[, kernel_size]) Perform a median filter on an N-dimensional array To be developed
medfilt2d(input[, kernel_size]) Median filter a 2-dimensional array To be developed
wiener(im[, mysize, noise]) Perform a Wiener filter on an N-dimensional array To be developed
symiirorder1(input, c0, z1 {, precision}) Implement a smoothing IIR filter with mirror-symmetric boundary conditions using a cascade of first-order sections To be developed
symiirorder2(input, r, omega {, precision}) Implement a smoothing IIR filter with mirror-symmetric boundary conditions using a cascade of second-order sections To be developed
lfilter(b, a, x[, axis, zi]) Filter data along one-dimension with an IIR or FIR filter YES
lfiltic(b, a, y[, x]) Construct initial conditions for lfilter given input and output vectors Implemented, to be public later
lfilter_zi(b, a) Construct initial conditions for lfilter for step response steady-state Implemented, to be public later
filtfilt(b, a, x[, axis, padtype, padlen, …]) Apply a digital filter forward and backward to a signal YES
savgol_filter(x, window_length, polyorder[, …]) Apply a Savitzky-Golay filter to an array To be developed
deconvolve(signal, divisor) Deconvolves divisor out of signal using inverse filtering To be developed
sosfilt(sos, x[, axis, zi]) Filter data along one dimension using cascaded second-order sections To be developed
sosfilt_zi(sos) Construct initial conditions for sosfilt for step response steady-state To be developed
sosfiltfilt(sos, x[, axis, padtype, padlen]) A forward-backward digital filter using cascaded second-order sections To be developed
hilbert(x[, N, axis]) Compute the analytic signal, using the Hilbert transform To be developed
hilbert2(x[, N]) Compute the ‘2-D’ analytic signal of x To be developed
decimate(x, q[, n, ftype, axis, zero_phase]) Downsample the signal after applying an anti-aliasing filter To be developed
detrend(data[, axis, type, bp, overwrite_data]) Remove linear trend along axis from data To be developed
resample(x, num[, t, axis, window]) Resample x to num samples using Fourier method along the given axis To be developed
resample_poly(x, up, down[, axis, window]) Resample x along the given axis using polyphase filtering To be developed
upfirdn(h, x[, up, down, axis]) Upsample, FIR filter, and downsample To be developed

Filter design

Scipy functions Description Syto's analog
bilinear(b, a[, fs]) Return a digital IIR filter from an analog one using a bilinear transform Implemented, to be public later
bilinear_zpk(z, p, k, fs) Return a digital IIR filter from an analog one using a bilinear transform To be developed
findfreqs(num, den, N[, kind]) Find array of frequencies for computing the response of an analog filter To be developed
firls(numtaps, bands, desired[, weight, nyq, fs]) FIR filter design using least-squares error minimization To be developed
firwin(numtaps, cutoff[, width, window, …]) FIR filter design using the window method To be developed
firwin2(numtaps, freq, gain[, nfreqs, …]) FIR filter design using the window method To be developed
freqs(b, a[, worN, plot]) Compute frequency response of analog filter To be developed
freqs_zpk(z, p, k[, worN]) Compute frequency response of analog filter To be developed
freqz(b[, a, worN, whole, plot, fs]) Compute the frequency response of a digital filter To be developed
freqz_zpk(z, p, k[, worN, whole, fs]) Compute the frequency response of a digital filter in ZPK form To be developed
sosfreqz(sos[, worN, whole, fs]) Compute the frequency response of a digital filter in SOS format To be developed
group_delay(system[, w, whole, fs]) Compute the group delay of a digital filter To be developed
iirdesign(wp, ws, gpass, gstop[, analog, …]) Complete IIR digital and analog filter design To be developed
iirfilter(N, Wn[, rp, rs, btype, analog, …]) IIR digital and analog filter design given order and critical points YES
kaiser_atten(numtaps, width) Compute the attenuation of a Kaiser FIR filter To be developed
kaiser_beta(a) Compute the Kaiser parameter beta, given the attenuation a To be developed
kaiserord(ripple, width) Determine the filter window parameters for the Kaiser window method To be developed
minimum_phase(h[, method, n_fft]) Convert a linear-phase FIR filter to minimum phase To be developed
savgol_coeffs(window_length, polyorder[, …]) Compute the coefficients for a 1-d Savitzky-Golay FIR filter To be developed
remez(numtaps, bands, desired[, weight, Hz, …]) Calculate the minimax optimal filter using the Remez exchange algorithm To be developed
unique_roots(p[, tol, rtype]) Determine unique roots and their multiplicities from a list of roots To be developed
residue(b, a[, tol, rtype]) Compute partial-fraction expansion of b(s) / a(s) To be developed
residuez(b, a[, tol, rtype]) Compute partial-fraction expansion of b(z) / a(z) To be developed
invres(r, p, k[, tol, rtype]) Compute b(s) and a(s) from partial fraction expansion To be developed
invresz(r, p, k[, tol, rtype]) Compute b(z) and a(z) from partial fraction expansion To be developed
BadCoefficients Warning about badly conditioned filter coefficients To be developed
Lower-level filter design functions:
abcd_normalize([A, B, C, D]) Check state-space matrices and ensure they are two-dimensional To be developed
band_stop_obj(wp, ind, passb, stopb, gpass, …) Band Stop Objective Function for order minimization To be developed
besselap(N[, norm]) Return (z,p,k) for analog prototype of an Nth-order Bessel filter YES
buttap(N) Return (z,p,k) for analog prototype of Nth-order Butterworth filter YES
cheb1ap(N, rp) Return (z,p,k) for Nth-order Chebyshev type I analog lowpass filter YES
cheb2ap(N, rs) Return (z,p,k) for Nth-order Chebyshev type I analog lowpass filter YES
cmplx_sort(p) Sort roots based on magnitude To be developed
ellipap(N, rp, rs) Return (z,p,k) of Nth-order elliptic analog lowpass filter YES
lp2bp(b, a[, wo, bw]) Transform a lowpass filter prototype to a bandpass filter YES
lp2bp_zpk(z, p, k[, wo, bw]) Transform a lowpass filter prototype to a bandpass filter To be developed
lp2bs(b, a[, wo, bw]) Transform a lowpass filter prototype to a bandstop filter YES
lp2bs_zpk(z, p, k[, wo, bw]) Transform a lowpass filter prototype to a bandstop filter To be developed
lp2hp(b, a[, wo]) Transform a lowpass filter prototype to a highpass filter YES
lp2hp_zpk(z, p, k[, wo]) Transform a lowpass filter prototype to a highpass filter To be developed
lp2lp(b, a[, wo]) Transform a lowpass filter prototype to a different frequency YES
lp2lp_zpk(z, p, k[, wo]) Transform a lowpass filter prototype to a different frequency To be developed
normalize(b, a) Normalize numerator/denominator of a continuous-time transfer function Implemented, to be public later
Clone this wiki locally