# How to estimate the system characteristic function given experimental input and output

I have experimental signals $$y_i(t)$$ for $$i = 1,\ldots,n$$ that correspond to different excitation inputs to a system $$x_i(t)$$ for $$i = 1,\ldots,n$$. The goal is to find the system characteristic function $$h(t)$$ such that:

$$y_i(t) = h(t) \star x_i(t)$$ for all $$i$$ and $$\star$$ denotes convolution.

Is this possible? I know that deconvolution could be used to estimate $$x(t)$$. But how do we find this $$h(t)$$ that works for all $$i$$? What are the practical ways to go about that in MATLAB?

I tried:

$$h(t) = \mathcal F^{-1}\left\{\frac{\mathcal F\big\{y(t)\big\}}{\mathcal F\big\{x(t)\big\}} \right\}$$

in MATLAB, but it did not work (I got a straight line!). I guess this is only valid in ideal systems.

I am not an expert in signal processing, so I would appreciate any simple answers and helpful references.

Thanks,

• If you got a straight line, you did something wrong.. Dec 17 '20 at 13:46
• I presume that $\mathcal{F}$ is meant to mean the z (Fourier?) transform? In any case, a data sample would provide an illustrative framework. Dec 22 '20 at 22:18