I just study signal processing and I have some questions.

  1. How to find impulse response $h[n]$ sequence of the system if I have $x[n]$ and $y[n]$ (input and output) sequences? Hope there is a formula to do that.
  2. How to find $x[n]$ input sequence if I have $h[n]$ and $y[n]$?
  3. Is it possible to find $x[n]$ if I just have set of $y[n]$ values, but I don't know impulse response $h[n]$? How to do that if so?

Maybe you can also suggest something for further reading about this topics.

  • $\begingroup$ I want to ask the same question, which was in section 1 but for continues time. I have to find the impulse response and I have been given the input and output. $\endgroup$
    – Tauseef
    Jun 5, 2013 at 12:26

1 Answer 1


Ok. You are touching on the topic of deconvolution. You can do this most easily by transforming the data into the frequency domain, doing some basic math and then converting back to the time domain.

For example for case 1, if you transform the signals you have $ H(f) = Y(f)/X(f) $ so $h[n] = IDFT[Y(f)/X(f)]$

You can do similar manipulations to handle case 2.

I'm not sure case 3 is possible. I think you need more information to produce x[n]

Here is a site that discusses deconvolution: http://terpconnect.umd.edu/~toh/spectrum/Deconvolution.html

This is a VERY simplified treatment of this question. I'm not sure what level of detail is being requested in the posted question.

  • 4
    $\begingroup$ I just want to point out that deconvolution and/or system identification are tricky, complicated topics that aren't quite as "plug-and-chug" as indicated here. As one example, what happens to your calculation of $H(f)$ above if $X(f) = 0$ for some values of $f$? Also, the problem referenced in question #1 is known as system identification, while #2 is more typically referred to as deconvolution. The structure of the two problems is similar, but you might attack them differently. $\endgroup$
    – Jason R
    Jan 22, 2013 at 14:13
  • $\begingroup$ Absolutely true. This is a way over simplified answer to a complex question, but I think you've got to start somewhere. Start with the basic idea and then work your way up to the practical details. I got the impression this was kind of a theoretical question based on the "just study signal processing" comment. $\endgroup$
    – user2718
    Jan 22, 2013 at 14:22
  • 3
    $\begingroup$ Also to add on to @JasonR's remark, for case 1, if $X(f)=0$, then it's actually not possible to reconstruct $H(f)$. In practical scenarios, the system is actually $y(t)=(h*x)(t)+n(t)$ where $n$ denotes noise that is typically wideband. In these scenarios, if $X(f)$ is small, then the reconstructed $H(f)$ has low SNR. The fancy algorithms simply fill in for $H(f)$ when $X(f)=0$ (or small) using prior assumptions typically by a technique called regularization. Likewise for case 2, $X$ and $H$ are swapped. $\endgroup$
    – thang
    Jan 22, 2013 at 19:28
  • $\begingroup$ Thanks. From now I can at least google for system identification and deconvolution to find more information if necessary. $\endgroup$ Jan 23, 2013 at 10:21

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.