PID controller with Bilinear Approximation

PID Compensator with Bilinear Approximation

## Bilinear Transformation

There are several ways for mapping from the s-plane to z-plane; such as; the forward and backward difference approximations. The bilinear transformation is another method which maps the entire left half of the s-plne into the unit circle in the z-plane. The bilinear transformation maps from s-plane to z-plane using the following relation:

where Ts is the sampling time of discrete-time system.

## PID Compensator with Bilinear Transformation

In the continuous-time system, a transfer function for a PID controller describes as follows:

where Kp,Ki and Kd are the proportional, integral and derivative gains respectively. To map to the z-plane we substitute the bilinear relation into the above PID transfer function, so the discrete-time PID controller becomes.

You can add the following matlab commands into your m-file for discrete-time PID controller with appropriate gains, Kp,Ki and Kd.

    %Discrete PID Controller
    numcz = [Kp+(Ki*Ts*0.5)+((2*Kd)/Ts) (Ki*Ts)-(4*(Kd/Ts)) -Kp+(Ki*Ts*0.5)+((2*Kd)/Ts)]
    dencz = [1 0 -1]

In addition, c2dm command in matlab can convert continuous-time to discrete-time PID controller without going through an algebraic substitution or mapping. This command requires numerator and denominator of continuous transfer function, settling time and method that going to be used. For bilinear approximation to derivative, the "tustin" method must be used. For example, this c2dm command will be used as follows.

    %Discrete PID Controller using c2dm command
    [dencz,numcz] = c2dm([1 0],[Kd Kp Ki],Ts,'tustin')

Note that the numerator and denominator in c2dm were reversed above, since the PID transfer function is not proper. There are zeros in the numerator than poles in the denominator. Matlab will not allow this. By switching the numerator and denominator, the c2dm command can be fooled into giving the right answer.

## User feedback

We would like to hear about difficulties you had with the tutorials, suggestions you have for improvement, errors that you found, or any other comments that you have. This feedback is anonymous; include your email address if you want a reply.

Use your browser's "Back" button to return to the previous page.

8/120/97 PP