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.


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

Your Answer

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

Browse other questions tagged or ask your own question.