# How to Deduce a Linear System's Impulse Response from a Set of Input and Output Signals?

I want to know how to solve those types of problems.. is it by inspection ?

Consider the linear system below. When the inputs to the system $x_1[n]$, $x_2[n]$ and $x_3[n]$, the responses of the systems are $y_1[n]$, $y_2[n]$ and $y_3[n]$ as shown.

1. Determine whether the system is time invariant or not. Just your answer.

2. What is the impulse response?

EDIT: Assuming a general case where the given inputs don't contain a scaled impulse like $x_2[n]$

• Hint: Use $x_2[n]$ and $y_2[n]$ to determine what the impulse response of $T$ must be (since $x_2[n]$ is just a scaled impulse). That gives you the answer to part (b). Then, check the other two cases to see if the inputs/outputs are consistent with that impulse response (using the superposition property of a linear system) to get an answer for part (a). – Jason R Jan 3 '13 at 14:42
• That's a more difficult problem in the general case. If they are all short like this, you know an upper bound on the duration of the impulse response, and you have enough input/output pairs, then you could set up a system of linear equations that you could solve to arrive at the unknown impulse response values. – Jason R Jan 3 '13 at 14:50
• In the general case it's also quite possible that there is no FIR solution or no solution at all. Hint: check the DC values of x1[n] and y1[n]. – Hilmar Jan 3 '13 at 15:52
• Hint: What does the signal $x_2[n]-x_2[n-2]$ look like? For an LTI system, the response should be $y_2[n]-y_2[n-2]$, no? Is it? Also, note that for a discrete-time linear time-variant system, there is not one unit-pulse response but an infinitude of unit-pulse responses, one for each time instant when the unit pulse occurs. – Dilip Sarwate Jan 3 '13 at 16:29
• But, @JasonR, consider that linearity requires that the response to $x_2-x_1$ be $$T(x_2-x_2) = T(x_2)-T(x_2) = y_2-y_1.$$ Now, $x_2-x_1$ is a pulse of amplitude $2$ at $n=2$ and the response to it is nonzero at $n=0,1,2$, and so the system is not causal, and since $x_2-x_1$ is just $x_2$ delayed by $2$ units while the response is not $y_2$ delayed by $2$ time units, the system is time-varying, not time-invariant. And we haven't even looked at $x_3$ yet!! – Dilip Sarwate Jan 6 '13 at 1:34

There seems to be an image which is gone now and hence I might be missing something.

1. In order to declare if the system is invariant you should see if a delay of the input yields only a delay in the output.
In you case, does the input $$x_1[n-m]$$ yields $$y_1[n-m]$$ and etc...

As written by @DilipSarwate, By looking at the response for $${x}_{2} - {x}_{1}$$ one could see the system is neither causal nor time invariant:

consider that linearity requires that the response to $${x}_{2} − {x}_{1}$$ be $$T \left( {x}_{2} − {x}_{1} \right) = T \left( {x}_{2} \right) − T \left( {x}_{2} \right) = {y}_{2} − {y}_{1}$$. Now, $${x}_{2} − {x}_{1}$$ is a pulse of amplitude $$2$$ at $$n = 2$$ and the response to it is nonzero at $$n = 0, 1, 2$$ and so the system is not causal, and since $${x}_{2} − {x}_{1}$$ is just $${x}_{2}$$ delayed by 2 units while the response is not $${y}_{2}$$ delayed by 2 time units, the system is time varying, not time invariant.

1. If the input signals are band limited and their bandwidth is less than your system you won't be able to restore the impulse response.
You will be able only to get the response in the frequencies the input has energy in.
This could be done by frequency analysis of the input and the output.
If your system is indeed LTI the connection between input and output is given by convolution with the impulse response.
Convolution is multiplication in the frequency domain, hence you could easily get the impulse response (Again, only at frequencies the input has energy in).

Yet since this system isn't time invariant it doesn't have a single impulse response. It has a response to an impulse at $$n = 0$$ but it might have a different one for an impulse at $$n = 1$$.

## Update

This is a nice case to show the commutative property of convolution.

Since $$y \left[ n \right] = \left( h \ast x \right) \left[ n \right] = \left( x \ast h \right) \left[ n \right]$$ you can switch the roles between the "System" and the "Input Signal".
So this question is equivalent to Given known output and system response, how could one estimate the input of the system?
Well, this is a known problem called Deconvolution and in the case of no noise it is simple to solve.

As written above, one way to do so it write the problem in matrix form.

• The image is back now. It seems you have a very specific question. Hence my answer which was much more general isn't focused enough. – Royi Apr 14 '14 at 22:13

I'm not sure what the freak out about causality or lack thereof is about. You can approach this problem just by thinking about linear algebra. $L$ is a linear transformation. Applying $L$ to the input is just matrix multiplication. So we have $$Lx = y$$ If $x$ is an impulse then it's just picking out a column of $L$, so the columns of $L$ are the impulse responses. Of course, 3 input-output pairs is not enough to completely determine $L$ as a 5x5 matrix.

Let's consider what time-invariance would mean from this perspective. If a transformation is linear and time-invariant then it's impulse response always has the same shape and is only shifted in time by the same amount as the input impulse. So let's say the impulse response for $L$ is 0 1 2 3 0 centered on top of the input impulse (and thus non-causal). The matrix for a linear time-invariant $L$ would then look like: $$L = \left(\begin{array}{ccc} 2 & 1 & 0 & 0 & 0 \\ 3 & 2 & 1 & 0 & 0 \\ 0 & 3 & 2 & 1 & 0 \\ 0 & 0 & 3 & 2 & 1 \\ 0 & 0 & 0 & 3 & 2 \end{array}\right)$$

So, to answer the first question, you just need to build enough of two columns to see that they are different to disprove time-invariance. A direct way to do this is to assume it is time-invariant and derive a contradiction. However, to show that it is time-invariant requires more information, i.e. it requires completely specifying the matrix. If it is not time-invariant, then there is a potentially different impulse response for each sample, not a single one, as others have mentioned.

Ultimately, as others have alluded to, we can't actually know whether a linear system is time-invariant or what it's impulse response is just by looking at short input-output pairs without more information. For all we know, $L$ is a 1,000,000 wide FIR filter or even an IIR filter that just happens to be 0 near the middle. Or it appears time-invariant so far, but it changes in the next sample. In general, we have to use multiple hypothesis testing to pick what the evidence best supports. Probability theory is a crucial part of signal processing.