Lead-Lag Filter

Implement first-order lead-lag filter


Control and Measurements/Filters


The Lead-Lag Filter block implements the following transfer function:



s=Laplace operatorT1,T2=time constants

This type of filter is used mainly for implementing lead-lag compensation in control systems. The key characteristics of the Lead-Lag Filter block are:

  • Input accepts a vectorized input of N signals, thus implementing N filters. This feature is particularly useful for designing controllers in three-phase systems (N=3).

  • The same block is used for continuous or discrete model. Changing the sample time Ts from 0 to a positive value automatically discretizes the filter, and vice versa.

  • Filter states can be initialized for specified DC inputs and outputs.

Dialog Box and Parameters

Time constant T1 (s)

Specify the filter time constant(s) T1 in seconds.

Time constant T2 (s)

Specify the filter time constant(s) T2 in seconds.

DC initial input and output

Specify the DC initial value of input and output signals. If the input signal is vectorized, specify a 1-by-N vector, where each value corresponds to a particular input.

Sample time

Specify the sample time of the block, in seconds. Set to 0 to implement a continuous block.


Direct FeedthroughYes
Sample TimeSpecified in the Sample Time parameter
Continuous if Sample Time = 0
Scalar ExpansionYes, of the parameters
StatesOne state per filter


The power_LeadLagFilter example shows two uses of a vectorized Lead-Lag Filter.

The model sample time is parameterized with variable Ts (default value Ts = 50e-6). To simulate continuous filters, specify Ts = 0 in the MATLAB® Command Window before simulating the model.

Was this topic helpful?