2
$\begingroup$

I understand how to find the output from the input with an impulse response, but how can I go about finding the input if given the other two?

I have $y[n] = [-1, -1, 11, -3, 30, 28, 48]$ and $h[n] = [-1, 2, 3, 4]$

How can I go about finding $x[n]$?

I know very little about signal processing, so if you don't mind giving an easy explanation, then I appreciate it. Or, if it's possible to do an example, that's better.

EDIT: I think that if I know $y[n]$ I can guess what $x[n]$ would be by multiplying and summing the results, but I'm not sure how to figure out the length of $x[n]$.

$\endgroup$
1
$\begingroup$

This answer was given in response to the ORIGINAL version of the question in which $y[n]$ and $h[n]$ were vastly different sequences. Click on the edited n hours ago link that appears below the question to view the original version of the question.

Define polynomials $$\begin{align} y(\alpha) &= -\alpha^6+11\alpha^5 +2\alpha^4+\cdots + 4\alpha+3,\\ h(\alpha) &= -\alpha^3+2\alpha^2+\alpha+3. \end{align}$$ Divide $y(\alpha)$ by $h(\alpha)$. Assuming $h(\alpha)$ divides $y(\alpha)$ evenly, meaning that the remainder is $0$, the quotient tells you the input sequence $x[n]$. If the remainder is not $0$, whoever told you that the output is $y[n]$ is mistaken. I have a sneaking suspicion that the latter is likely to be true.

Some people will insist that you replace $\alpha$ by $z$ in the above formulas, and then divide $z^{-6}y(z)$ by $z^{-3}h(z)$, but you will arrive at the same end result if you follow their method.

$\endgroup$
  • $\begingroup$ @ChrisHarris You are welcome. But, could you very carefully proof-read, and if necessary, correct, your question? I don't think you can get an answer using $$y = y[n] = [-1, 11, 2, 4, 5, 4, 3].$$ That $11$ is either a $1$ or a $1,1$ $\endgroup$ – Dilip Sarwate Feb 24 '13 at 3:44
1
$\begingroup$

Mathematically, here is the demostration for what you want to do: y[n] = x[n]*h[n] (This is a convolution), Applying convolution theorem you can prove that: Y[f] = X[f]*H[f] (this is an ordinary product), Then: X[f] = Y[f]/H[f], Now if we apply fourier inverse transform to X[f] you can have x[n]. Implementing this in matlab can be pretty straightforward now. Cheers

$\endgroup$
  • $\begingroup$ So, I need to do the fourier transform for both y[n] and h[n]? $\endgroup$ – Ci3 Feb 23 '13 at 20:09
  • 1
    $\begingroup$ This answer is way too complicated. There is no need for Fourier transforms and the like. $\endgroup$ – Dilip Sarwate Feb 23 '13 at 20:17
  • $\begingroup$ @Daniel If you can show the fourier transforms, and inverse transforms, then that would be helpful. $\endgroup$ – Ci3 Feb 23 '13 at 20:28
  • $\begingroup$ @Chris Harris: Yes Harry, you have to transform into frequency domain.This is a very straightforward solution although Dilip says otherwise $\endgroup$ – Daniel Conde Marin Feb 23 '13 at 20:47
  • 1
    $\begingroup$ @DanielConde You might want to give some thought to what one should do if $H(f_0) = 0$ for some frequency $f_0$ while $Y(f_0) \neq 0$. What value should be ascribed to $X(f_0)$? $\endgroup$ – Dilip Sarwate Feb 24 '13 at 4:14

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.