Chapter 5. Design of Discrete-time Controllers Based on Transfer Functions