Provided by: linuxcnc-uspace_2.9.0~pre1+git20230208.f1270d6ed7-1_amd64 bug

NAME

       lowpass - Low-pass filter

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)

       e = 2.71828 https://en.wikipedia.org/wiki/E_(mathematical_constant)

       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