# Filtering

## Transform Analysis of LTI Systems

LTI filters are characterized by their impulse response. The two broad categories of LTI systems are those with finite impulse responses (FIR) and those with infinite impulse responses (IIR). LTI systems are frequently characterized by linear constant-coefficient difference equations which look as follows:

$$\sum\_{k=0}^{N}a\_ky\[n-k] = \sum\_{k=0}^Mx\[n-k].$$

{% hint style="info" %}

### Definition 13

The system function $$H(z)$$ is the z-transform of the impulse response of the system. For LCCDE's, it is a ratio of polynomials in $$z^{-1}$$.

$$H(z) = \frac{\sum\_{k=0}^Mb\_iz^{-i}}{\sum\_{k=0}^Na\_iz^{-i}} = \frac{b\_0\prod\_{k=1}^M(1-c\_kz^{-1})}{a\_0\prod\_{k=1}^N(1-d\_kz^{-1})}$$

We call $$c\_k$$ (the roots of the numerator) the **zeros**of the system and $$d\_k$$(the roots of the denominator) the **poles**of the system.
{% endhint %}

{% hint style="info" %}

### Definition 14

The Magnitude Response $$|H(e^{j\omega})|$$ desribes how the system will scale a complex exponential.

$$|H(e^{j\omega})| = \frac{|b\_0|\prod\_{k=1}^M|1-c\_ke^{-j\omega}|}{|a\_0|\prod\_{k=1}^N|1-d\_ke^{-j\omega}|}$$
{% endhint %}

{% hint style="info" %}

### Definition 15

The Phase Response $$\arg\[H(e^{j\omega})]$$ describes how the system will shift the phase of a complex exponential.

$$\arg\[H(e^{j\omega})] = \arg\[b\_0]+\sum\_{k=1}^{M}\arg\[1-c\_ke^{-j\omega}] - \arg\[a\_0] - \sum\_{k=1}^{N}\arg\[1-d\_ke^{-j\omega}]$$
{% endhint %}

{% hint style="info" %}

### Definition 16

The Group Delay of the system $$grd\[H(e^{j\omega})]$$ tells us how much a complex exponential will be delayed.

$$grd\[H(e^{j\omega})] = -\frac{d}{d\omega}\arg\[H(e^{j\omega})] = \sum\_{k=1}^{M}grd\[1-c\_ke^{-j\omega}] - \sum\_{k=1}^{N}grd\[1-d\_ke^{-j\omega}]$$
{% endhint %}

We can systematically analyze these by drawing a vector from $$e^{-j\omega}$$ to each $$d\_k$$ or $$c\_k$$ and analyze each one individually. For example, if we look at one pole in the magnitude response

$$|1-d\_ke^{-j\omega}| = |e^{j\omega}-d\_k| = |v\_k|.$$

In general, the effects of poles and zeros on each of these quantities is described by the following table.

|           | **Magnitude Response** | **Phase Response** | **Group Delay** |
| :-------: | :--------------------: | :----------------: | :-------------: |
| **Poles** |        Increase        |      Phase Lag     |     Increase    |
| **Zeros** |        Decrease        |    Phase Advance   |     Decrease    |

These effects are larger when $$c\_k$$ or $$d\_k$$ are close the unit circle (i.e $$|c\_k|, |d\_k|\approx 1$$).

## All Pass Systems

{% hint style="info" %}

### Definition 17

All pass systems are those where $$|H(e^{j\omega})| = k$$ where $$k$$ is some constant gain.

$$H(z) = k\prod\_{k=1}^{M\_r}\frac{z^{-1}-d\_k}{1-d\_kz^{-1}}\prod\_{k=1}^{M\_c}\frac{(z^{-1}-e\_k^\star)(z^{-1}-e\_k)}{(1-e\_kz^{-1})(1-e\_k^\star z^{-1})}$$
{% endhint %}

Their Z-transform has the real poles $$d\_k$$ cancelled by real zeros, and complex poles $$e\_k$$ cancelled by the conjugates $$e\_k^\star$$.

{% hint style="info" %}

### Theorem 5

If an All-Pass system is stable, then $$grd\[H(e^{j\omega})] > 0 \implies$$ Causal and $$\arg\[H(e^{j\omega})] \le 0 \implies$$Phase Lag.
{% endhint %}

## Minimum Phase Systems

{% hint style="info" %}

### Definition 18

A stable and causal system $$H(z)$$ whose inverse $$\frac{1}{H(z)}$$is also stable and causal is called a Minimum Phase System.
{% endhint %}

What this means is that all poles are zeros must be inside the unit circle, and the region of convergence is right sided. Minimum phase systems are called minimum phase because of all $$H(z)$$ with the same magnitude response, a minimum phase system has the minimum phase and the minimum group delay.

{% hint style="info" %}

### Theorem 6

Any stable and causual system can be decomposed into a minimum phase system and an all-pass system.

$$H(z) = H\_{min}(z)H\_{ap}(z)$$
{% endhint %}

This is useful because if a signal undergoes a distortion, we can at least undo the minimum phase part of it (since $$H\_{min}$$ has a guaranteed inverse).

## Generalized Linear Phase Systems

{% hint style="info" %}

### Definition 19

A linear phase system is one with constant group delay.

$$H(e^{j\omega}) = A(e^{j\omega})e^{-j\alpha\omega} \implies grd\[H(e^{j\omega})] = \alpha$$
{% endhint %}

Note that $$A(e^{j\omega})$$ is a real function.

{% hint style="info" %}

### Definition 20

A generalized linear phase system has frequency response given by

$$H(e^{j\omega}) = A(e^{j\omega})e^{-j\alpha\omega + \beta} \implies grd\[H(e^{j\omega})] = \alpha$$
{% endhint %}

If we limit ourselves to using FIR filters, then a GLP system must have either even or odd symmetry, meaning for some $$M$$

$$h\[n]=h\[M-n] \text{ or } h\[n] = -h\[M-n].$$

This restricts us to 4 different filter types.

|              | **Symmetry** | **M** | **Filter Types** |          **Notes**          |
| :----------: | :----------: | :---: | :--------------: | :-------------------------: |
|  **Type I**  |     Even     |  Even |        All       |                             |
|  **Type II** |     Even     |  Odd  |     Low Pass     |      $$H(e^{j\pi})=0$$      |
| **Type III** |      Odd     |  Even |     Bandpass     | $$H(e^{j0})=H(e^{j\pi})=0$$ |
|  **Type IV** |      Odd     |  Odd  |       High       |       $$H(e^{j0})=0$$       |

Because of their symmetry, FIR systems are limited in where their zeros.

$$\textbf{Type I, II: }H(z) = z^{-M}H(z^{-1}) \qquad \textbf{Type III, IV: } H(z) = -z^{-M}H(z^{-1})$$

In other words, if $$a = re^{j\theta}$$ is a zero, then $$\frac{1}{a^\star}$$ is too. We can decompose GLP systems into a minimum phase, maximum phase, and unit circle system.

## Filter Design

The idea of filter design is to take a desired frequency response and design a filter which has that frequency response. Some frequency responses can only be described by IIR systems which are impractical for real applications, so we make various tradeoffs when we design FIR filters to implement in our systems. We also like our filters to be causal because it makes them usable in real-time systems.

A **Mth** order causal filter has $$M+1$$ coefficients.

{% hint style="info" %}

### Definition 21

The time-bandwidth product describes how sinc-like a filter looks like.

$$TBW = (M+1)\frac{\omega\_c}{\pi}$$
{% endhint %}

The TBW is also the number of zero-crossings in the impulse response (including the zeros crossings at the end of the filter). To generate a High Pass filter, we can design a Low-Pass filter and then modulate it

$$h\_{hp}\[n] = (-1)^nh{lp}\[n].$$

We can do the same for a bandpass filter

$$h\_{bp}\[n] = 2h\_{lp}cos(\omega\_0 n).$$

### Windowing Method

One way to generate a filter which matches a desired frequency response is through windowing.

1. Choose a desired frequency response (often non-causal and IIR)
2. Window the Impulse Response
3. Module to shift the impulse response to make it casual

The length of the window impacts the transition width (how long it takes to transition). A longer window means a smaller width. The window type will impact the ripples in the frequency response. The choice of of window and its sidelobes impact these magnitudes.

### Optimal Filter Design

With optimal filter design, we set up constraints to find a $$H\_d(e^{j\omega})$$ which approximates $$H(e^{j\omega})$$ based on our optimization requirements. In general, we have some regions $$W\_c\subseteq \[0, \pi]$$ that we care about and other regions that we don’t care about. We can first design a noncausal filter $$\tilde{H(e^{j\omega})}$$ and then shift it to make it causal. We do this by sampling and discretizing the frequency response to $$\omega\_k = k\frac{\pi}{p}$$ where $$-\pi \le \omega\_1 \le ... \le \omega\_p \le \pi$$. We choose $$P$$ to be sufficiently big and make sure the $$\omega\_k \in \omega\_c$$ (the region we care about). In a least squares setup, we can solve

$$\text{argmin}\_{\tilde{h}}||A\tilde{h}-b||^2 \qquad A = \left\[ \begin{array}{ccc} e^{-j\omega\_1(-N)} & ... & e^{-j\omega\_1(N)}\ \vdots & \ddots & \vdots\ e^{-j\omega\_p(-N)} & ... & e^{-j\omega\_p(N)} \end{array} \right]\qquad \vec{b} = \left\[ \begin{array}{c} H(e^{j\omega\_1})\ \vdots\ H(e^{j\omega\_p}) \end{array} \right]$$

Other possible optimizations are Weightest Least Squares or Chebyshev Design.

$$\textbf{WLS: }\min\int\_{-\pi}^{\pi}W(\omega)|H(e^{j\omega}) - H\_d(e^{j\omega})|^2d\omega$$

$$\textbf{Chebyshev: }\min\_{w\in W\_c} \max|H(e^{j\omega}-H\_d(e^{j\omega})|$$

Another optimization technique is the min-max ripple design where we try and control the deviations of the filter from the desired response. We can set up a linear program to do this for us. For example, if we were designing a low pass filter, we could write the LP

$$\begin{aligned} \min \delta\ 1-\delta \le H\_d(e^{j\omega\_k})\le 1+\delta &\qquad 0\le \omega\_k \le \omega\_c\ -\delta \le H\_d(e^{j\omega\_k})\le \delta &\qquad \omega\_c\le \omega\_k \le \pi\ \delta > 0\end{aligned}$$
