Digital signal processing

Digital signal processing tools.

Main routines

aligntime(dct[, channels, mode, value])

Aligns the time vectors for specified channels in dct.

calcenv(x, y[, p, n, method, base, ...])

Returns a curve that envelopes the y data that is allowed to shift in the x-direction by some percentage.

despike(x, n[, sigma, maxiter, ...])

Delete outlier data points from signal

despike_diff(x, n[, sigma, maxiter, ...])

Delete outlier data points from signal based on level changes

exclusive_sgfilter(x, n[, exclude_point, axis])

1-d moving average that excludes selected point

fdscale(y, sr, scale[, axis])

Scale a time signal in the frequency domain.

fftcoef(x, sr, *[, axis, coef, window, ...])

FFT sine/cosine or magnitude/phase coefficients of a real signal

fftfilt(sig, w, *[, axis, bw, pass_zero, ...])

Filter time-domain signals using FFT with Gaussian ramps.

fftmap(timeslice, tsoverlap, sig, sr[, ...])

Make an FFT map ('waterfall') over time and frequency.

fixtime(olddata[, sr, negmethod, deldrops, ...])

Process recorded data to make an even time vector.

resample(data, p, q, *[, axis, beta, pts, ...])

Change sample rate of data by a rational factor using Lanczos resampling.

transmissibility(in_data, out_data, sr[, ...])

Compute transmissibility transfer function using the FFT

waterfall(sig, sr, timeslice, tsoverlap, ...)

Compute a 'waterfall' map over time and frequency (typically) using a user-supplied function.

windowends(sig[, portion, ends, axis])

Apply parts of a cosine window to the ends of a signal.

Utility routines

get_turning_pts(y[, x, getindex, tol, atol])

Find turning points (where slope changes) in a vector.

nextpow2(x)

Return next power of two that is >= integer x