Finding the impulse reponse efficiently

26 Views Asked by At

In the context of linear control systems, the impulse reponse of a system can be found as: $$ y(n) = C A^{n-1} B \qquad \text{for} \ n\geq 1 $$

I'm trying to obtain the impulse response for a system where $A\in\mathbb{R}^{p,p}$ and $y(n)\in\mathbb{R}^{q,q}$ and $C,B$ with appropiate dimensions, also $p \gg q$ and $n$ big. $A$ is in block controllable canonical form.

I know that for the scalar case ($q=1$) a very efficient way to do is to use the fast fourier transform. You can obtain the transfer function using the fft of $C$ and the last row of $A$, and transforming the transfer function again, the impulse response can be obtained. Is there a similar result for the block case?

Any alternatives?