# Designing a discrete-time inverse system

I am trying to design a discrete-time inverse system to eliminate an undesired echo in a data transmission problem.

The echo caused by the transmission channel is represented as attenuation by a factor of 0.9 and a delay corresponding to one time unit of the input sequence.

The received signal $y[n]$ can be expressed as follow;

$$y[n] = x[n] + 0.9x[n-1]$$

So basically, I'm trying to determine the unit impulse response of a causal inverse system to discover $x[n]$ from $y[n]$.

Conceptually, I'm thinking I need to connect a system $h_2[n]$ in series with the system $h_1[n]$ such that $h_1[n]*h_2[n] = \delta[n]$.

Can anyone offer some advice on how best to go about this ? I've been searching online but can't find a concrete example to use as a starting point.

• this doesn't sound like nonlinear distortion, so I would remove the word "distortion" from it – endolith Mar 29 '16 at 18:34
• Your correct, it is linear. I've removed references to distortion. Thanks – MarkMark Mar 29 '16 at 18:42
• your inverse system is an IIR type with impulse response of $(-0.9)^n u[n]$ you can implement this system with a recursive computation where $y_i[n] = -0.9 y_i[n-1] + x[n]$ – Fat32 Mar 29 '16 at 21:02
• Please do not write [SOLVED] in the title of any questions. If you have a solution, write it in the answer box and give it the check mark. That is the way it works on all StackExchange sites. – Peter K. Mar 30 '16 at 11:37

$$H(z) = b_0 + b_1 \cdot z^{-1}, \mbox{ with } b_0 = 1, b_1 = .9$$ which makes the inverse $$H^{-1}(z) = \frac{1}{b_0 + b_1 \cdot z^{-1}}$$ which corresponds to the difference equation $$y(n) + 0.9 \cdot y(n-1) = x(n)$$ or $$y(n) = x(n) -0.9 \cdot y(n-1)$$