<< Chapter < Page Chapter >> Page >

We have already seen how discrete-time LTI systems can be represented mathematically in both the time domain (through the impulse response $h[n]$) and frequency domain (through either the frequency response $H(\omega)$ or the transfer function $H(z)$). But systems can be thought of not only as entities that we create to modify signals, but as real-world environments which might perform unwanted (or only temporarily wanted) changes to the signal. For example, a television or cell phone signal traveling in the air through a downtown area might reach its destination with added echoes. Or a camera lens might introduce unintentional blur on a photograph. Or a signal might be modified to help with its transmission. In each of these cases, we can represent the modifications as a system that takes an input and produces an output, and we ultimately would like to undo the changes the system made; we would like to recover the input, given the output. A system that seeks to recover this original input is called an inverse filter , and the process of inverse filtering is also known as deconvolution .

Inverse filtering in the z-domain

Suppose there is an LTI system $G$ that takes an input signal $x[n]$ and produces output $y[n]$. What we would like to do is create another system $H$ that takes this $y[n]$ and then, ideally, produce $x[n]$ as its output; we will call the actual output $\hat{x}[n]$.

It might not be clear at first how to create a system that recovers $x[n]$ from $y[n]$, especially if we consider the problem in the time domain: if $y[n]=x[n]\ast g[n]$, then what must $h[n]$ be so that $h[n]\ast y[n]=h[n]\ast (x[n]\ast g[n])=x[n]$? By the associative and commutative properties of convolution, you could say we would want $h[n]\ast g[n]=\delta[n]$ because $\delta[n]\ast x[n]=x[n]$, but even then, how do you create such an impulse response?

The problem is more straightforward when we consider it from the z-domain: $\begin{align*}\hat{X}(z)&=H(z)Y(z)\\&=H(z)G(z)X(z)\\&=X(z)~,~H(z)=\frac{1}{G(z)}~\forall ~z \end{align*}$So if we can create $H(z)$ such that it equals $\frac{1}{G(z)}$, then we can recover the original input $x[n]$ by filtering the output $y[n]$ through a system whose transfer function is $H(z)$. If the original filter $G(z)$ is a rational function with certain poles and zeros, then the inverse filter will also be a rational function; and, since $H(z)=\frac{1}{G(z)}$, it follows naturally that $H(z)$ will have poles at the locations of $G(z)$'s zeros and zeros at the location of $G(z)$'s poles: $\begin{align*}G(z)&= z^{N-M}\, \frac{(z-\zeta_1)(z-\zeta_2) \cdots (z-\zeta_M)}{(z-p_1)(z-p_2) \cdots (z-p_N)},\\ ~\\H(z)=\frac{1}{G(z)}&=z^{M-N}\, \frac{(z-p_1)(z-p_2) \cdots (z-p_N)}{(z-\zeta_1)(z-\zeta_2) \cdots (z-\zeta_M)} \end{align*}$

An inverse filter

Suppose a discrete-time signal $x[n]$ is input through a filter $G(z)$ with frequency response and pole/zero plot as displayed below:

Image
CAPTION.
Image
CAPTION.
CAPTION.
When the signal $x[n]$ is passed through this filter, the signal $y[n]$ is the output:
Image
CAPTION.
Image
CAPTION.
CAPTION.
In order to recover the input $x[n]$ from the output $y[n]$, we can run $y[n]$ through an inverse filter $H(z)$ where $H(z)=\frac{1}{G(z)}$:
Image
CAPTION.
Image
CAPTION.
CAPTION.
The result is a recovered signal that is identical to the original input:
Image
CAPTION.

Approximate inverse filters

As remarkable as this simple inverse filtering solution is, there is a huge proviso to it: the $H(z)$ must be a stable system. If it is also to be causal (which is of practical importance), that means that all of its poles must lie within the unit circle. As its pole location are simply the zero locations of $G(z)$, this means that $G(z)$ is invertible if all of its ZEROS are within the unit circle. If, on the other hand, $G(z)$ has zeros on or outside the unit circle, then the inverse filter $H(z)=\frac{1}{G(z)}$ cannot be counted on to recover the original input.

There is an intuitive reason why a $G(z)$ with a pole on or outside the unit circle could not be inverted. Suppose the system $G$ has this simple input/output relationship: $y[n]=x[n]-x[n-1]$ Such a system is a primitive high-pass filter, with a single zero on the unit circle at $z=1$. What this zero does is completely eliminate the $\omega=0$ (i.e., DC) frequency component of the input signal. If all we have, then, is $y[n]$, we have absolutely no way of knowing what that value was, therefore there is no $H(z)$ that could possibly recover an arbitrary $x[n]$ from $y[n]$ (of course, if it so happened that the original signal $x[n]$ did not have any $\omega=0$ component, then it could be recovered). Looking at it from a z-domain point of view, there would have to be a pole for $H(z)$ at $z=1$, which is BIBO unstable (any input with a non-zero $\omega=0$ component will "blow up").

Even if $G(z)$ is not invertible, we can still try to recover $x[n]$ as best as we can. As we do so, we will usually want to make sure our inverse filter $H(z)$ is BIBO stable. If it happens that $\frac{1}{G(z)}$ has poles on or outside the unit circle, we will simply move them inside the unit circle. A straightforward way of doing this is by regularization . We choose the smallest constant value of $r$ that will make the following $H_a(z)$ BIBO stable: $H_a(z)=\frac{1}{G(z)+r}$.

An approximate inverse filter

Suppose that a discrete-time signal $x[n]$ passes through a filter $G(z)$ that is very similar to the one in the first example, except that this $G(z)$ has a zero outside the unit circle. In this case, the $H(z)$ inverse filter cannot merely be $\frac{1}{G(z)}$, as it would therefore have a pole outside the unit circle and would not be BIBO stable:

Image
CAPTION.
Image
CAPTION.
CAPTION.
However, if we let $H_a(z)=\frac{1}{G(z)+\frac{1}{16}}$, then this will move what would have been a pole outside the unit circle into one inside the circle:
Image
CAPTION.
Image
CAPTION.
CAPTION.
As a result, this $H_a(z)$ is BIBO stable. Since it is not exactly $\frac{1}{G(z)}$, then it will not exactly recover $x[n]$, but it is a stable filter that can at least come close to doing so, as we can see in the following plots:
Image
CAPTION.
Image
CAPTION.
CAPTION.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Discrete-time signals and systems. OpenStax CNX. Oct 07, 2015 Download for free at https://legacy.cnx.org/content/col11868/1.2
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Discrete-time signals and systems' conversation and receive update notifications?

Ask