Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

sdynpy.signal_processing.sdynpy_harmonic.vold_kalman_filter_generator

Signature

def sdynpy.signal_processing.sdynpy_harmonic.vold_kalman_filter_generator(sample_rate, num_orders, block_size, overlap, filter_order=None, bandwidth=None, method=None, plot_results=False, verbose=False)

Extracts sinusoidal information using a Vold-Kalman Filter

This uses an windowed-overlap-and-add process to solve for the signal while removing start and end effects of the filter. Each time the generator is called, it will yield a further section of the results up until the overlap section.

Parameters

Yields

Raises

Sends

xi : iterable The next block of the signal to be filtered. This should be a 1D signal containing sinusoidal components that need to be extracted. argsi : iterable A 2D array consisting of the arguments to the sinusoidal components of the form exp(1jargsi). This is the integral over time of the angular frequency, which can be approximated as 2np.pi*scipy.integrate.cumulative_trapezoid(frequencies,timesteps,initial=0) if frequencies is the frequency at each time step in Hz timesteps is the vector of time steps in seconds. This is a 2D array where the number of rows is the number of different sinusoidal components that are desired to be extracted, and the number of columns are the number of time steps in the signal argument. last_signal : bool If True, the remainder of the data will be returned and the overlap-and-add process will be finished.