# Discretization of a control module

The desired control is $$u_f=\frac{1+\eta s}{1+hs}a$$, where $$u_f$$ is the feedforward control, $$a$$ is the feedforward observation and $$\eta$$ and $$h$$ are two constant parameters. However, I can only observe $$a$$ but not $$\dot{a}$$. How to realize this in discrete time?

The method I use now is the zero-order hold method, which yields the discrete-time transfer function as $$H(z)=\frac{\eta z/h-\exp(-T/h)+1-\eta/h}{z-\exp(-T/h)}$$. This result is the same as that of Matlab funtion c2d. With $$H(z)$$, I can calculate $$u$$ without knowing $$\dot{a}$$. Is it the right way to do it?

Moreover, the control system contains other modules such as the plant dynamics $$x = Gu$$ and feedback control $$u_b = Ky$$, where $$u=u_f+u_b$$. Can I discrete these modules one by one and then synthesize them?

## 1 Answer

I can calculate u without knowing a˙. Is it the right way to do it?

Sure!

Moreover, the control system contains other modules such as the plant dynamics x=Gu and feedback control ub=Ky, where u=uf+ub. Can I discrete these modules one by one and then synthesize them?

Usually, we tend to first synthesize the controller in the s-domain and then discretize the continuous blocks with a given sample time $$T$$.

This pipeline is reported in https://robotics.stackexchange.com/a/4434/6941.

As a side note, consider using the Tustin formula for the discretization instead of the ZOH as the former method generally provides better results.