Package org.chsrobotics.lib.math.filters
Class DifferentiatingFilter
java.lang.Object
org.chsrobotics.lib.math.filters.Filter
org.chsrobotics.lib.math.filters.DifferentiatingFilter
A filter that returns the rate of change (derivative) of a stream of data.
Approximated with finite timesteps.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiondoublecalculate(double value) Calculates the rate of change (derivative) of a value relative to the filter's previous input, using the default loop time of the robot.doublecalculate(double value, double dtSeconds) Adds the value to the window and calculates the current output of the filter, with a change in time since the last call of this.doubleReturns the current output of the filter without updating with a new value.voidreset()Resets the history of the filter.Methods inherited from class org.chsrobotics.lib.math.filters.Filter
add, scalarMultiply
-
Constructor Details
-
DifferentiatingFilter
public DifferentiatingFilter()
-
-
Method Details
-
calculate
public double calculate(double value, double dtSeconds) Description copied from class:FilterAdds the value to the window and calculates the current output of the filter, with a change in time since the last call of this.Some filters do not use time in their calculations, and this method is identical to
calculate()for them. -
calculate
public double calculate(double value) Calculates the rate of change (derivative) of a value relative to the filter's previous input, using the default loop time of the robot.The initial previous value is 0.
-
reset
public void reset()Resets the history of the filter. -
getCurrentOutput
public double getCurrentOutput()Returns the current output of the filter without updating with a new value.- Specified by:
getCurrentOutputin classFilter- Returns:
- The current output of the filter (0 if no values have been given to
calculate()).
-