0

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.

Update

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

. . .

sogood
  • 3
  • 4

2 Answers2

1

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.

Fat32
  • 28,152
  • 3
  • 24
  • 50
Laurent Duval
  • 31,850
  • 3
  • 33
  • 101
0

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.

Fat32
  • 28,152
  • 3
  • 24
  • 50
geometrikal
  • 3,616
  • 15
  • 27
  • Thanks can you tell me why not use the correlation ? I think the same both mechanisms except for time reversal. – sogood Mar 17 '16 at 03:51
  • @sogood They are very similar (see http://dsp.stackexchange.com/questions/2654/what-is-the-difference-between-convolution-and-cross-correlation). 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. – geometrikal Mar 17 '16 at 03:57
  • I almost got it what you mean. you mean that xn * h[n](impulse response) = yn. then how to identify impulse response of a system ? is there any way ? – sogood Mar 17 '16 at 04:22
  • 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: http://www.mathworks.com/matlabcentral/fileexchange/55885-dft-h--n- and http://www.mathworks.com/matlabcentral/fileexchange/55822-low-pass-filtering – Behind The Sciences Mar 17 '16 at 07:28
  • @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? – sogood Mar 17 '16 at 07:57
  • using the frequency domain is one way that I thought it would be useful if you know about the Fourier Transform: https://en.wikipedia.org/wiki/Fast_Fourier_transform if not, just convolve your input, x[n] with the impulse delta[n]: have a look to the discrete time domain here: https://en.wikipedia.org/wiki/LTI_system_theory – Behind The Sciences Mar 17 '16 at 18:55