Specify PI-D and I-PD Controllers

About PI-D and I-PD Controllers

PI-D and I-PD controllers are used to mitigate the influence of changes in the reference signal on the control signal. These controllers are variants of the 2DOF PID controller.

The general formula of a parallel-form 2DOF PID controller is:


Here, r and y are the reference input and measured output, respectively. u is the controller output, also called the control signal. P, I, and D specify the proportional, integral, and derivative gains, respectively. N specifies the derivative filter coefficient. b and c specify setpoint weights for the proportional and derivative components, respectively. For a 1DOF PID, b and c are equal to 1.

If r is nonsmooth or discontinuous, the derivative and proportional components can contribute large spikes or offsets in u, which can be infeasible. For example, a step input can lead to a large spike in u because of the derivative component. For a motor actuator, such an aggressive control signal could damage the motor.

To mitigate the influence of r on u, set b or c, or both, to 0. Use one of the following setpoint-weight-based forms:

  • PI-D (b = 1 and c = 0) — Derivative component does not directly propagate changes in r to u, whereas the proportional component does. However, the derivative component, which has a greater impact, is suppressed. Also referred to as the derivative of output controller.

    The general formula for this controller form is:


  • I-PD (b = 0 and c = 0) — Proportional and derivative components do not directly propagate changes in r to u.

    The general formula for this controller form is:


The following plot shows u for different PID forms for a step reference. The 1DOF PID controller results in a large spike when the reference changes from 0 to 1. The PI-D form results in a smaller jump. In contrast, the I-PD form does not react as much to the change in r.

You can tune the P, I, D, and N coefficients of a PI-D or I-PD controller to achieve the desired disturbance rejection and reference tracking.

Specify PI-D and I-PD Controllers Using PID Controller (2DOF) Block

To specify a PI-D or I-PD Controller using the PID Controller (2DOF) or Discrete PID Controller (2DOF) blocks, open the block dialog. In the Controller menu, select PID.

  • For a PI-D controller, enter 1 in the Setpoint weight (b) box, and 0 in the Setpoint weight (c) box.

  • For an I-PD controller, enter 0 in the Setpoint weight (b) box, and 0 in the Setpoint weight (c) box.

For an example that demonstrates the PI-D and I-PD controller forms, type ex_scd_pid2dof_setpoint_based_controllers. This opens a model that compares the performance of a 1DOF PID, a PI-D, and an I-PD controller.

Automatic Tuning of PI-D and I-PD Controllers

You can use PID Tuner to automatically tune PI-D and I-PD controllers while preserving the fixed b and c values. To do so:

  1. In the model, double-click the block. In the block dialog box, in the Controller menu, select PID.

  2. Click Tune. PID Tuner opens.

  3. In PID Tuner, in the Type menu, select PI-DF or I-PDF. PID Tuner retunes the controller gains, fixing b = 1 and c = 0 for PI-D, and b = 0 and c for I-PD.

You can now analyze system responses as described in Analyze Design in PID Tuner.

See Also


Related Topics