I have this continuos-time system



\begin{equation}A=\begin{bmatrix}0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & \phantom{0}2.8040 & -\phantom{0}5.2658 & 0 \\ 0 & 18.5885 & -19.6959 & 0 \end{bmatrix}, \quad B=\begin{bmatrix}0 \\ 0 \\ 3.7629 \\ 5.5257 \end{bmatrix}\end{equation}

With the MATLAB function c2d, I have calculated the relative ZOH discretization ($C=[1\, 0\, 0\, 0]$ and $D=0$) for $T_s=4\omega_b\approx0.005\text{ s}$, where $\omega_b$ is the bandwidth of the system, and I have found that the discrete-time impulse response is not equal in respect to the continuos-time impulse response at the sampling instants. I can't explain this effect. Believing that was a numerical problem, I've tried to discretize the system with greater sampling times, and the results, showed in the figure below, was worse.

enter image description here

The code that I have used is

A=[0 0 1 0; 0 0 0 1; 0 2.8040 -5.2658 0; 0 18.5885 -19.6959 0];
B=[0 0 3.7629 5.5257]';
sys1=ss(A,B,[1 0 0 0],0);
hold on
hold on
hold on
  • 1
    $\begingroup$ without knowing any better, I'd say your doing something wrong with the matlab functions you're using. But since you don't share your code, that's not clear. $\endgroup$ – Marcus Müller Mar 5 '17 at 6:58

I believe that I have figure out the problem. The ZOH sampling's method preserve only the step response, in fact if I try to plot that response I get the corrispondance for any sampling times.

For the impulse response is another story: the method that preserve the impulse response is, without a great exertion of fantasy, the Impulse invariance's method.


The case for $T=0.005$ms looks pretty close, but it's hard to tell from the image.

If $T_s = 0.005{\rm ms} = 4\omega_b$ then making the sample period $T_s= 0.05$ms will cause aliasing, which will definitely make things worse.

Try making $T_s = 0.001$ms and see what happens.

  • $\begingroup$ Still have no corrispondance. It is possible that the problem is caused by the lag introducted from ZOH? $\endgroup$ – Gost91 Mar 5 '17 at 17:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.