2
$\begingroup$

Given a continuous-time filter with impulse response $h(t)$, is it possible to represent any $h(t)$ in state-space form?

More precisely, given the state-space representation of a single-input single-output LTI system $$\dot x(t) = ax(t) + bu(t)$$ where $x(t)$ represents the system's state and $u(t)$ represents its input, the output of this system is then $$y(t) = cx(t) + du(t)$$ For simplicity, suppose that $d = 0$, such that $y(t) = cx(t)$. We can solve the state-equation for $x(t)$ to obtain $$x(t) = x(0)e^{at} + \int_0^t u(\lambda) be^{a(t - \lambda)} \text{d}\lambda$$ and the corresponding output is \begin{align} y(t) &= cx(t) \\ &= cx(0)e^{at} + c\int_0^t u(\lambda) be^{a(t - \lambda)} \text{d}\lambda \end{align} Because we want to find the output of this system in response to an impulse, such that $u(t) = \delta (t)$, then the impulse response $h(t)$ is \begin{align} h(t) &= cx(0)e^{at} + c\int_0^t \delta(\lambda) be^{a(t - \lambda)} \text{d}\lambda \\ &= cx(0)e^{at} + cbe^{at} \end{align} Because $h(t)$ takes this form, then it seems to me that it would not be possible to represent every $h(t)$ in state-space form. For example, what would we set $a,b,$ and $c$ to be such that $h(t) = \sin(t)$? I'm interested to know if I'm wrong here.

$\endgroup$

2 Answers 2

2
$\begingroup$

Well, yes and no. Yes, but you may not be able to recognize it in the end -- or find an agreed-upon and useful representation for it.

If the system (a filter is just a system, so I'm going to use the more general term here) is linear, time-invariant, and has discrete states (i.e., it can be represented by ordinary differential equations), then you can represent the filter in "regular old" state space*:

$$\begin{align} \mathbf{\dot x}(t) &= \mathbf A \mathbf x(t) + \mathbf B \mathbf u(t)\\ \mathbf y(t) &= \mathbf C \mathbf x(t) + \mathbf D \mathbf u(t) \end{align}.\tag 1$$

If the system is linear, time varying, and has discrete states (i.e., it can be represented by ordinary differential equations), then you can represent the filter in something easily recognizable if you know time-invariant state space:

$$\begin{align} \mathbf{\dot x}(t) &= \mathbf A(t) \mathbf x(t) + \mathbf B(t) \mathbf u(t)\\ \mathbf y(t) &= \mathbf C(t) \mathbf x(t) + \mathbf D(t) \mathbf u(t) \end{align}.\tag 2$$

Note that the system in (2) can still have an impulse response -- it'll just be time-varying. I.e., instead of being $h(\tau)$ or $h(t)$, it'll be $h(\tau, t)$. See Time-varying "impulse response" for details.

A system can be linear (and time varying or not), and described by partial differential equations or by equations with lag in them. I.e., for a super-simple case you can describe a filter where

$$y(t) = \frac 1 T \int_0^T u(t - \tau) d\tau. \tag 3$$

It's linear, it's time-invariant, its impulse response is

$$h(t) = \begin{cases} \frac 1 T & 0 \le t \le T \\ 0 & \mathrm {otherwise} \end{cases}, \tag 4$$

but if there's a state-space representation for it then it's obscure and I don't know it. I did a search and ran across some research papers from decades ago (1980's) that imply that there is a notation, but I don't know how common it is, or what tools exist (beyond simulation) to analyze such systems.

A system can be non-linear, and described in state space, in something sensible. This is a general form you'll see in the literature. If it's not time varying, just leave off the dependency on $t$ in $f$ and $g$:

$$\begin{align} \mathbf{\dot x}(t) &= f(\mathbf x, \mathbf u, t)\\ \mathbf y(t) &= g(\mathbf x, \mathbf u, t) \end{align}.\tag 5$$

Note that this system does not, in general, have an impulse response -- yet you can still represent it in state space.

For the specific case where $h(t)=sin(t)$, that can be expressed as a second-order ordinary linear differential equation $$ \ddot x(t)=−x(t)+u(t). \tag 6$$ A state-space realization of (6) is $$\begin{align} \dot {\mathbf x} &= \begin{bmatrix}0 & 1 \\ 0 & 0\end{bmatrix} \mathbf x + \begin{bmatrix}0 \\ 1\end{bmatrix} \mathbf u \\ y &= \begin{bmatrix}1 & 0\end{bmatrix} \mathbf x \end{align}. \tag 7$$

* A long time ago I wrote out something in state space for a coworker, who said "oh, you were educated on the east coast (of the US)!" Apparently, using A, B, C, and D for your matrices is an east coast thing, while F, G, and H (I'm not sure what folks use for the feed-through matrix in that system) is a west coast thing.

$\endgroup$
2
  • $\begingroup$ It seems then that only $h(t)$’s that are linear only have a state-space representation. For example, $h(t) = \sin(t)$ doesn’t have a state space representation. Is my understanding correct? $\endgroup$
    – mhdadk
    Commented Nov 13, 2022 at 23:37
  • 1
    $\begingroup$ An impulse response is a signal, more or less. As such, it's neither linear nor nonlinear. And, a system with an impulse response of $h(t) = sin(t)$ can be expressed as a second-order ordinary linear differential equation ($\ddot x(t) = -x(t) + u(t)$, if I'm not mistaken). That system does have a state-space representation. $\endgroup$
    – TimWescott
    Commented Nov 14, 2022 at 3:02
1
$\begingroup$

The answer is "yes" but not a unique state space representation.

There is a unique representation that guarantees observability and a unique representation that guarantees controllability. And for higher orders, a zillion other possible representations.

$\endgroup$
3
  • $\begingroup$ If so, then how would you choose $a,b,$ and $c$, which I mentioned in my question, so that $h(t) = \sin(t)$? $\endgroup$
    – mhdadk
    Commented Nov 13, 2022 at 23:35
  • 1
    $\begingroup$ Admittedly, I did not consider your question well. Not just any $h(t)$, but an $h(t)$ that is commensurate with a 1st-order LTI system. And the lower the order, the fewer degrees of freedom you have. So, I think you can represent any impulse response of the form $$ h(t) = h(0) e^{-\alpha t} $$ with $d=0$. $a$ will be a function of $\alpha$ and $(b \times c)$ will be a function of $h(0)$. You still have an infinite number of choices for $b$ or $c$ but you are constrained to their product. $\endgroup$ Commented Nov 14, 2022 at 2:37
  • 1
    $\begingroup$ And when $u(t)$ is the label we have for the input, I do not know what a good letter to use for the unit step function. I don't like "$H(t)$" for Heaviside, because $H(s)$ is the Laplace Transform of $h(t)$. $\endgroup$ Commented Nov 14, 2022 at 2:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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