You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Information

Transformation:

LowPass

Transformation Group:

Filter

Description:

Low pass filter for discrete functions (e.g. time series). This transformation calculates the following difference equation.

 y(t) = b0*x(t) + b1*x(t-1) + ... + bM*x(t-M) + a1*y(t-1) + ... + aN*y(t-N) 

Here x is the input, y is the output, t denotes time, b0 to bM are the feedforward coefficients and a1 to aN are the feedback coefficients.

Hydrological Information

Purpose and use of Transformation:

To smooth time series data.

Background and Exceptions:

This transformation filters out high frequency fluctuations in time series data.

Input

Input variable x(t). For each calculation of y(t) the input values x(t) to x(t-M) are required. If one of these input values is NaN, then the output value y(t) will be NaN.

CoefficientSets

The coefficientSet should contain the a and b coefficients for the filter (see the equation above). It is possible to choose the number of coefficients to use. The first defined a coefficient is a1, the second defined a coefficient is a2 and so on. The last defined a coefficient is aN. The first defined b coefficient is b0, the second defined b coefficient is b1 and so on. The last defined b coefficient is bM.

a

One or more feedback coefficients (a1 to aN).

b

One or more feedforward coefficients (b0 to bM).

Output

Output variable y(t). For each calculation of y(t) the previous output values y(t-1) to y(t-N) are required. When this transformation runs, then it first retrieves the required previous output values from previous runs, if available. If one of these previous output values is NaN, then that output value is ignored. Effectively this means that it behaves as if all previous NaN output values would be 0.

Configuration Example

<transformation id="filter low pass">
	<filter>
		<lowPass>
			<inputVariable>
				<variableId>input</variableId>
			</inputVariable>
			<coefficientSet>
				<a>0.4</a>
				<a>0.3</a>
				<b>0.2</b>
				<b>0.1</b>
			</coefficientSet>
			<outputVariable>
				<variableId>output</variableId>
			</outputVariable>
		</lowPass>
	</filter>
</transformation>
  • No labels