filtration

Filtration of signals.

dsplab.filtration.butter_filter(xdata, sample_rate, freqs, order, btype='band')[source]

Butterworth filter.

Parameters:
  • xdata (array_like) – Signal values.
  • sample_rate (float) – Sampling frequency (Hz).
  • freqs (array_like) – One or two frequencies.
  • order (integer) – Order of filter.
  • btype (str ('band' | 'lowpass')) – Type of filter.
Returns:

filtered signal.

Return type:

np.array

dsplab.filtration.find_butt_bandpass_order(band, sample_rate)[source]

Calculate the order of Butterworth bandpass filter using minimization of metric between ideal and real frequency response.

Parameters:
  • band (array_like) – Pair of frequencies. Bounds of bandpass (Hz).
  • sample_rate (float) – Sample rate (Hz).
Returns:

Order of filter.

Return type:

integer

dsplab.filtration.haar_one_step(xdata, tdata, denominator=2)[source]

One cascade of Haar transform.

Parameters:
  • xdata (array_like) – Signal values.
  • tdata (array_like) – Time values.
  • denominator (integer) – Denominator used in Haar transform (default is 2).
Returns:

  • np.array – Scaled signal values.
  • np.array. – Details of x
  • np.array. – Decimated time values

dsplab.filtration.haar_scaling(xdata, tdata, steps_number)[source]

Scaling with Haar transform.

Parameters:
  • xdata (array_like) – Signal values.
  • tdata (array_like) – Time values.
  • steps_number (integer) – Number of cascades.
Returns:

  • np.array – Scaled signal values.
  • np.array – Decimated time values.

dsplab.filtration.smooth(xdata, ntaps=3, cut=True)[source]

Smooth signal with Hamming window.

dsplab.filtration.stupid_bandpass_filter(xdata, sample_rate, bandpass)[source]

Return low-pass filtered signal.

Parameters:
  • xdata (array_like) – Signal values.
  • sample_rate (float) – Sampling frequency.
  • bandpass (np.array of 2 floats) – Bounds of bandpass (Hz).
Returns:

Filteres signal.

Return type:

np.array

dsplab.filtration.stupid_lowpass_filter(xdata, sample_rate, cutoff)[source]

Return low-pass filtered signal.

Parameters:
  • xdata (array_like) – Signal values.
  • sample_rate (float) – Sampling frequency.
  • cutoff (float) – Cutoff frequency.
Returns:

Filteres signal.

Return type:

np.array

dsplab.filtration.trend_smooth(xdata, sample_rate=1, tdata=None, cut_off=0.5)[source]

Calculate trend of signal using smoothing filter.

Parameters:
  • xdata (array_like) – Signal values.
  • tdata (array_like) – Time values.
  • cut_off (float) – The frequencies lower than this are trend’s frequencies.
Returns:

  • np.array – Trend values.
  • np.array – Time values.