SYNOPSIS
loadrt lowpass [count=N|names=name1[,name2…]]
FUNCTIONS
- lowpass.N (requires a floating-point thread)
-
PINS
- lowpass.N.in float in
-
- lowpass.N.out float out
-
out += (in - out) * gain
- lowpass.N.load bit in
-
When TRUE, copy in to out instead of applying the filter equation.
PARAMETERS
- lowpass.N.gain float rw
-
NOTES
gain pin setting
The digital filter implemented is equivalent to a unity-gain continuous-time single-pole low-pass filter that is preceded by a zero-order-hold and sampled at a fixed period. For a pole at -a (radians/seconds) the corresponding continuous-time lowpass filter LaPlace transfer function is:
H(s) = a/(s + a)
For a sampling period T (seconds), the gain for this HAL lowpass component is:
gain = 1 - e^(-a * T)
Examples: T = 0.001 seconds (typical servo thread period) a = (2 * pi * 100) (100Hz bandwidth single pole) gain = 0.466
T = 0.001 seconds (typical servo thread period)
a = (2 * pi * 10) ( *10Hz* bandwidth single pole)
gain = *0.0609*
T = 0.001 seconds (typical servo thread period)
a = (2 * pi * 1) ( *1Hz* bandwidth single pole)
gain = *0.0063*
AUTHOR
Jeff Epler
LICENSE
GPL