Signal Processing Stack Exchange is a question and answer site for practitioners of the art and science of signal, image and video processing. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Say we have a signal S, and we composite it with a 0.1-volume 30-sample-delayed version of itself, so:

T(k) = S(k) + 0.1*S(k-30)

How would one rearrange this equation to make S the subject?

i.e given the resultant signal T, and the fact that we know the parameters of the echo (0.1 and 30), how to reproduce the original S?

share|improve this question
Linked: IR from Transfer Function – P i Mar 12 '14 at 17:31
up vote 7 down vote accepted

The way the signal $T(k)$ is generated is by applying an FIR (finite impulse response) filter to the signal $S(k)$. The transfer function of this FIR filter is


If you want to compensate for such a filter, you need a filter with a transfer function which is the inverse of $H(z)$:


This is a recursive filter with an infinitely long impulse response (IIR). If you filter the signal $T(k)$ with this IIR filter, the result will be $S(k)$.

share|improve this answer

To complement Matt L. perfectly correct answer, the easy way to rearrange your equation to solve for $S$ is just like you'd do for any simple arithmetic equation:

$$\begin{aligned} T_k &= S_k + 0.1 \; S_{k-30} \\ \iff \quad S_k &= T_k - 0.1 \; S_{k-30} \\ \end{aligned}$$

But, I hear you saying, there's still an $S$ on the right hand side! Yes, there is, but it's a delayed version of $S$. If you just start at, say, sample $0$ and compute $S$ for successive samples, then by the time you need to compute $S_k$, you already know $S_{k-30}$, because you just computed it 30 steps ago.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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