Interpolate missing points and unify sampling rate for multi-channel signal
Interpolate missing points and unify sampling rate for multi-channel signal
interpolate_signal applies different interpolation algorithms to the input multi-channel signal to fill in the missing samples and harmonizes the sampling rate.
interpolate_signal( df, method ="spline_natural", sr =100, st =NULL, et =NULL)
method: string. Interpolation algorithms. Could be "spline_natural", "spline_improved" or "spline_fmm": see splinefun; and "linear": see approxfun. Default is "spline_natural".
sr: number. Sampling rate in Hz of the output signal. Default is 100.
st: POSIXct date. The start time for interpolation. If it is NULL, it will use the start time of the input signal. Default is NULL.
et: POSIXct date. The end time for interpolation. If it is NULL, it will use the end time of the input signal. Default is NULL.
Returns
dataframe. Interpolated signal.
How is it used in MIMS-unit algorithm?
This function is a utility function that has been used in functions: extrapolate, and simulate_new_data.
Examples
# Use sample data df = sample_raw_accel_data
# Plot input illustrate_signal(df, plot_maxed_out_line=FALSE)# Interpolate to 100 Hz sr =100# Interpolate the entire sequence of data output = interpolate_signal(df, sr=sr)# Plot output illustrate_signal(output, plot_maxed_out_line=FALSE)# Interpolate part of the sequence output = interpolate_signal(df, sr=sr, st=df[10,1], et=df[100,1])# Plot output illustrate_signal(output, plot_maxed_out_line=FALSE)
See Also
Other utility functions: clip_data(), cut_off_signal(), parse_epoch_string(), sampling_rate(), segment_data(), simulate_new_data()