# Low-Pass Filter (Discrete or Continuous)

Discrete-time or continuous-time low-pass filter

• Library:
• Simscape / Power Systems / Simscape Components / Control / General Control

## Description

The Low-Pass Filter (Discrete or Continuous) block implements a low-pass filter in conformance with IEEE 421.5-2016[1]. In the standard, the filter is referred to as a Simple Time Constant.

You can switch between continuous and discrete implementations of the integrator using the Sample time parameter.

### Equations

#### Continuous

To configure the filter for continuous time, set the Sample time property to `0`. This representation is equivalent to the continuous transfer function:

`$G\left(s\right)=\frac{K}{Ts+1},$`
where:

• K is the filter gain.

• T is the filter time constant.

From the preceeding transfer function, the filter defining equations are:

`$\left\{\begin{array}{c}\stackrel{˙}{x}\left(t\right)=\frac{1}{T}\left(Ku\left(t\right)-x\left(t\right)\right)\\ y\left(t\right)=x\left(t\right)\end{array}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}y\left(0\right)=x\left(0\right)=K{u}_{0},$`
where:

• u is filter input.

• x is filter state.

• y is filter output.

• t is simulation time.

• u0 is the initial input to the block.

#### Discrete

To configure the filter for discrete time, set the Sample time property to a positive, nonzero value, or to `-1` to inherit the sample time from an upstream block. The discrete representation is equivalent to the transfer function:

`$G\left(z\right)=K\frac{\left({T}_{s}/T\right){z}^{-1}}{1+\left({T}_{s}/T-1\right){z}^{-1}},$`
where:

• K is the filter gain.

• T is the filter time constant.

• Ts is the filter sample time.

From the discrete transfer function, the filter equations are defined using the forward Euler method:

`$\left\{\begin{array}{c}x\left(n+1\right)=\left(1-\frac{{T}_{s}}{T}\right)x\left(n\right)+K\left(\frac{{T}_{s}}{T}\right)u\left(n\right)\\ y\left(n\right)=x\left(n\right)\end{array}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}y\left(0\right)=x\left(0\right)=K{u}_{0},$`
where:

• u is the filter input.

• x is the filter state.

• y is the filter output.

• n is the simulation time step.

• u0 is the initial input to the block.

### Initial Conditions

The block sets the state and output initial conditions proportionally to the initial input.

### Limiting the Integral

Set the Upper saturation limit and Lower saturation limit parameters to use the anti-windup saturation method.

The anti-windup method limits the integrator state between the lower saturation limit A and upper saturation limit B:

`$A<=x<=B\text{\hspace{0.17em}}.$`
Because the state is limited, the output can respond immediately to a reversal of the input sign when the integral is saturated. This block diagram depicts the implementation of the anti-windup saturation method in the filter.

This block does not provide a windup saturation method. To use the windup saturation method, set the Upper saturation limit parameter to `inf`, the Lower saturation limit parameter to `-inf`, and attach a saturation block to the output.

### Bypass Filter Dynamics

Set the time constant to a value smaller than or equal to the sample time to ignore the dynamics of the filter. When bypassed, the block feeds the gain-scaled input directly to the output:

`$T\le {T}_{s}\to y=Ku$`
In the continuous case, the sample time and time constant must both be zero.

## Ports

### Input

expand all

Low-pass filter input signal. The block uses the input initial value to determine the state initial value.

Data Types: `single` | `double`

### Output

expand all

Low-pass filter output.

Data Types: `single` | `double`

## Parameters

expand all

Low-pass filter gain.

Low-pass filter time constant. In the discrete implementation, set this value to less than the Sample time to bypass the dynamics of the filter.

Low-pass filter upper state limit. Set this to `inf` for an unsaturated upper limit, or to a finite value to prevent upper windup of the filter's integrator.

Low-pass filter lower state limit. Set this to `-inf` for an unsaturated lower limit, or to a finite value to prevent lower windup of the filter's integrator.

Low-pass filter sample time. Set this to `0` to implement a continuous low-pass filter. Set this to `-1` or a positive number to implement a discrete low-pass filter.

## References

[1] IEEE Recommended Practice for Excitation System Models for Power System Stability Studies. IEEE Std 421.5-2016. Piscataway, NJ: IEEE-SA, 2016.