filter_algorithm.pdf

3
7/23/2019 filter_algorithm.pdf http://slidepdf.com/reader/full/filteralgorithmpdf 1/3 Derivation of a Discrete-Time Lowpass Filter Finn Haugen [email protected] March 21, 2008 A lowpass  filter is used to smooth out high frequent or random noise in a measurement signal. A very common lowpass  filter in computer-based control systems is the discretized  first order — or time-constant —  filter. You can derive such a  filter by discretizing the Laplace transfer function of the  filter. A common discretization method in control applications is the (Euler) Backward Diff erentiation method. We will now derive a discrete-time  filter using the Backward Diff erentiation method. The Laplace transform transfer function — also denoted the continuous-time transfer function — of a  fi rst order lowpass  fi lter is (s) =  y(s) u(s)  =  1 s + 1  (1) where  T  [s] is the time-constant.  u  is  filter input, and  y  is  filter output. Cross-multiplying in (1) gives (s + 1) y(s) =  u(s)  (2) Resolving the parenthesis gives sy(s) + y (s) =  u(s)  (3) Taking the inverse Laplace transform of both sides of this equation gives the following diff erential equation (because multiplying by  s  means time-diff erentiation in the time-domain):  ˙ y(t) + y(t) =  u(t)  (4) Let us use  t k  to represent the present point of time — or discrete time:  ˙ y(t k ) + y(t k ) =  u(t k )  (5) 1

Transcript of filter_algorithm.pdf

Page 1: filter_algorithm.pdf

7/23/2019 filter_algorithm.pdf

http://slidepdf.com/reader/full/filteralgorithmpdf 1/3

Derivation of a Discrete-Time Lowpass Filter

Finn [email protected]

March 21, 2008

A lowpass  filter is used to smooth out high frequent or random noise in ameasurement signal. A very common lowpass  filter in computer-basedcontrol systems is the discretized  first order — or time-constant —  filter.You can derive such a  filter by discretizing the Laplace transfer function of the  filter. A common discretization method in control applications is the(Euler) Backward Diff erentiation method. We will now derive adiscrete-time  filter using the Backward Diff erentiation method.

The Laplace transform transfer function — also denoted the

continuous-time transfer function — of a fi

rst order lowpass fi

lter is

H (s) =  y(s)

u(s) =

  1

T f s + 1  (1)

where  T f   [s] is the time-constant.   u  is  filter input, and  y   is  filter output.

Cross-multiplying in (1) gives

(T f s + 1) y(s) =  u(s)   (2)

Resolving the parenthesis gives

T f sy(s) + y(s) =  u(s)   (3)

Taking the inverse Laplace transform of both sides of this equation givesthe following diff erential equation (because multiplying by  s meanstime-diff erentiation in the time-domain):

T f  y(t) + y(t) =  u(t)   (4)

Let us use   tk  to represent the present point of time — or discrete time:

T f  y(tk) + y(tk) =  u(tk)   (5)

1

Page 2: filter_algorithm.pdf

7/23/2019 filter_algorithm.pdf

http://slidepdf.com/reader/full/filteralgorithmpdf 2/3

 y

h

t k- 1   t k 

 y(t k )

 y(t k-1)

 y(t k )

Exact

slope,

Slope with

Euler’s

Backward

method

 y(t k )

Figure 1:   The (Euler) Backward Diff erentiation approximation to the time-derivative

Here we will substitute the Backward Diff erentiation approximation for thetime derivative. This approximation is

y(tk) ≈y(tk)− y(tk−1)

h  (6)

It is illustrated in Figure 1.

T f y(tk)− y(tk−1)

h  + y(tk) =  u(tk)   (7)

Solving for  y(tk)  gives

y(tk) =  T f 

T f  + hy(tk−1) +

  h

T f  + hu(tk)   (8)

which is commonly written as

y(tk) = (1− a) y(tk−1) + au(tk)   (9)

with  filter parameter

a =   hT f +h

  (10)

2

Page 3: filter_algorithm.pdf

7/23/2019 filter_algorithm.pdf

http://slidepdf.com/reader/full/filteralgorithmpdf 3/3

which has a given value once you have specified the  filter time-constant T f 

and the time-step  h  is given. (9) is the formula for the  filter output. It isready for being programmed. This  filter is frequently denoted theexponentially weighted moving average (EWMA)  fi lter , but we can justdenote it a  first order lowpass  filter.

According to (9) the present  filter output  y(tk)  is a function of the presentfilter input  u(tk)  and the  filter output at the previous discrete time,y(tk−1). Therefore, the  filter output must be stored in the program so thatit is available at the following execution if the  filter algorithm.

It is important that the  filter time-step  h   is considerably smaller than thefi

lter time-constant, otherwise the fi

lter may behave quite diff 

erently fromthe original continuous-time  filter (1) from which it is derived.   h  should beselected as

h ≤T f 

5  (11)

3