I don't know where to start from, I'm not familiar with math. I'm trying to understand this question "how to identify impulse response of a system?".

As you can see as below figure, as I know, the input delta function and output is $h[n]$.

enter image description here

In this case, if I put impulse (function) signal in to above system, then I can get the impulse response. Then I think the output $h[n]$ and impulse response are the same, doesn't it?

  • Question 1: What is the meaning of "how to identify impulse response of a system"? Is this asking about convolution or auocorrelation? I can't understand what it does mean.
  • Question 2: I want to know how to identify impulse response of a system?
  • Question 3: Why do we get the output of $y[n]$ when if we know that input $x[n]$, impulse response $h[n]$. I mean the output $y[n]$ is the same $h[n]$ isn't it? I'm very confused.

If you have any hint, please let me know.


I found a question in my case as below,

1.2.8 Consider a discrete-time LTI system described by the rule $$y(n)=x(n-5)+\frac 12 x(n-7).$$ What is the impulse response $h(n)$ of the system ?

How to identify $h[n]$?

the answer :

$h[5]$ = 1+ 0 = 1

$h[7]$ = 0 + 1/2 = 1/2

. . .

  • $\begingroup$ @Laurent Duval Can you help me please ? $\endgroup$
    – sogood
    Commented Mar 17, 2016 at 8:00

2 Answers 2


Given a system, one often wants to be able to predict the output $y$, given an input $x$. This amounts to identifying a mathematical relation between all inputs and outputs, optimaly as $y = S(x)$. This can be a difficult task in general.

When the system is linear, and time-invariant (its properties do not change over time), then it is proven that it suffices to know the system's response to a discrete unit pulse $\delta$, to be able to compute the output for any other input $x$, in the form of a convolution equation.

So suppose that your system outputs $h[n]$ when you input $\delta[n]$, then for any $x[n]$, the output will be: $$y[n] = \sum_k x[k]h[n-k]\,.$$

To identify the impulse response of the system, you ought to provide the numbers, or a generic formula, that give the value for each $h[n]$.

You can try some exercices in Exercises in Signals, Systems, and Transforms, for instance 1.2.4 and 1.2.7. You can also check the applet in the joy of convolution.

Since, in practice, it is impossible to generate a discrete pulse, there are other practical identification techniques for real-life systems, using random sequences or sine waves.

  • $\begingroup$ I have updated with one question. Would you help me any hint please ? $\endgroup$
    – sogood
    Commented Mar 17, 2016 at 10:09
  • $\begingroup$ Can you provide us with the first steps of your reasoning, based on the information you have already received $\endgroup$ Commented Mar 17, 2016 at 10:18
  • $\begingroup$ Basically, I know to get the output of y[n]. most textbook show that how to get y[n] (how to convolution). but this question is a quite difficult to me. $\endgroup$
    – sogood
    Commented Mar 17, 2016 at 10:30
  • $\begingroup$ So input $\delta$ in your system, as it were the $x$ in your new equation, and evaluate the $y$ $\endgroup$ Commented Mar 17, 2016 at 11:35
  • $\begingroup$ Sorry I don't understand what you mean $\endgroup$
    – sogood
    Commented Mar 17, 2016 at 11:48

The operation of linear time invariant system on a signal $f[n]$ can be described as a convolution, e.g.

$$(f \ast h)[n] = g[n]$$

where $g[n]$ is the output and $h[n]$ is convolution filter representing the system.

It is called the impulse response because if you feed in the impulse signal you get the convolution filter as the output, e.g.

$$(\delta \ast h)[n] = h[n]$$

So once you know the impulse response, you can calculate the response to any signal using the first equation.

  • $\begingroup$ Thanks can you tell me why not use the correlation ? I think the same both mechanisms except for time reversal. $\endgroup$
    – sogood
    Commented Mar 17, 2016 at 3:51
  • $\begingroup$ @sogood They are very similar (see dsp.stackexchange.com/questions/2654/…). However, a convolution is just a multiplication in the Fourier domain, where as correlation is multiplication by the conjugate. I guess alot of filtering is done in the Fourier domain so the former is easier. Interestingly, the wavelet literature uses correlation, even for wavelets defined in the Fourier domain. $\endgroup$ Commented Mar 17, 2016 at 3:57
  • $\begingroup$ I almost got it what you mean. you mean that x[n](input) * h[n](impulse response) = y[n](output). then how to identify impulse response of a system ? is there any way ? $\endgroup$
    – sogood
    Commented Mar 17, 2016 at 4:22
  • $\begingroup$ if you know y[n], you can then go to the frequency domain and do Y[w]/DFT(impulse) which is 1 and get H(w), then you go again in to the discrete time domain and get h[n]. Have a look to this examples in Matlab: mathworks.com/matlabcentral/fileexchange/55885-dft-h--n- and mathworks.com/matlabcentral/fileexchange/… $\endgroup$ Commented Mar 17, 2016 at 7:28
  • $\begingroup$ @BehindTheSciences Thanks but I don't understand it, how to go from y[n] to frequency domain? Also can you tell me how to identify the impulse response of a system? $\endgroup$
    – sogood
    Commented Mar 17, 2016 at 7:57

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.