This is the source code which reproduces the results for the paper entitled:
""
The acceleration of the belt of a treadmill which is instrumented to measure the ground reaction loads may introduce an undesired superimposed pitch moment. This source code provides a computational method for reducing the effect the belt accelerations have on the pitch moment measurement and produces all of the results in the aforementioned publication.
- Matlab R2014b (8.3.0.532)
- Optimization Toolbox (Version 7.0)
- Signal Processing Toolbox (Version 6.21)
Download the source code and data from the Git repository:
$ wget https://github.com/csu-hmc/pitch-moment-compensation/archive/master.zip
$ unzip pitch-moment-compensation-master.zip
$ cd pitch-moment-compensation-master
The complete results can be computed by starting Matlab with the main source code directory in your Matlab path and typing the following at the command prompt:
>> compensation_test
Once the function has run you will find all of the plots in the Results
directory. For the cutoff frequency of interest, a table of results including
the reduction in the root-mean-square (RMS) between uncompensated and
compensated pitch moment and the R^2 fit between the model simulation output
and the measured acceleration.
The data processing pipeline follows this general process:
- Specifies filenames located in the
Data
directory. - Loads data from tab separated ACSII data files (
load_data.m
). Data includes the timestamps, recorded belt velocities, and recorded pitch moment (Mx) from four data files (two slow speeds at 1.2 m/s and two fast speeds at (2.0 m/s). - Computes belt acceleration by numerical
differentiation.(
obtain_derivative.m
) - Sets a range of desired cutoff frequencies for the lowpass filter (1-20 Hz). Also sets a cutoff frequency of interest (6 Hz).
- Filters signals (acceleration and pitch moment) with the cutoff
frequency(
filter_data.m
) - Computes model coefficients for the belt acceleration pitch moment model.
(
pitch_moment_calibration.m
) - Simulates the model with the acceleration as the independent variable.
(
simulate.m
) - Truncates the filtered data to avoid end effects (one second from beginning
and end of the trial. (
simulate.m
) - Subtracts the difference in the pitch moment due to belt acceleration.
(
simulate.m
) - Computes the coefficient of determination (R^2) of the model with respect to
the data from the other trial. (
calculate_statistics.m
) - Computes the RMS of the uncompensated and compensated pitch moment of the
trials, as well as the percent reduction (
calculate_statistics.m
) - Displays the table of results for the desired frequency (6 Hz).
- Shows a plot of simulation versus actual data at the desired frequency (6
Hz). (
plot_simulation_graphs.m
) - Shows a comparison of RMS with respect to the filter frequency for
compensated and uncompensated. (
plot_frequency_graphs.m
). If the range of the cutoff frequencies is 1, then the graph will not generate. - Saves the graphs to the
Results
data directory.