DSP - DFT Linear Filtering


Advertisements

DFT provides an alternative approach to time domain convolution. It can be used to perform linear filtering in frequency domain.

Thus,$Y(\omega) = X(\omega).H(\omega)\longleftrightarrow y(n)$.

The problem in this frequency domain approach is that $Y(\omega)$, $X(\omega)$ and $H(\omega)$ are continuous function of ω, which is not fruitful for digital computation on computers. However, DFT provides sampled version of these waveforms to solve the purpose.

The advantage is that, having knowledge of faster DFT techniques likes of FFT, a computationally higher efficient algorithm can be developed for digital computer computation in comparison with time domain approach.

Consider a finite duration sequence, $[x(n) = 0,\quad for,n<0\quad and\quad n\geq L]$ (generalized equation), excites a linear filter with impulse response $[h(n) = 0,\quad forn<0\quad and\quad n\geq M]$.

$$x(n)y(n)$$ $$output = y(n) = \sum_{k = 0}^{M-1}h(k).x(n-k)$$

From the convolution analysis, it is clear that, the duration of y(n) is L+M−1.

In frequency domain,

$$Y(\omega) = X(\omega).H(\omega)$$

Now, $Y(\omega)$ is a continuous function of ω and it is sampled at a set of discrete frequencies with number of distinct samples which must be equal to or exceeds $L+M-1$.

$$DFT\quad size = N\geq L+M-1$$

With $\omega = \frac{2\pi}{N}k$,

$Y(\omega) = X(k).H(k)$, where k=0,1,….,N-1

Where, X(k) and H(k) are N-point DFTs of x(n) and h(n) respectively. $x(n)\& h(n)$ are padded with zeros up to the length N. It will not distort the continuous spectra $X(\omega)$ and $H(\omega)$. Since $N\geq L+M-1$, N-point DFT of output sequence y(n) is sufficient to represent y(n) in frequency domain and these facts infer that the multiplication of N-point DFTs of X(k) and H(k), followed by the computation of N-point IDFT must yield y(n).

This implies, N-point circular convolution of x(n) and H(n) with zero padding, equals to linear convolution of x(n) and h(n).

Thus, DFT can be used for linear filtering.

Caution − N should always be greater than or equal to $L+M-1$. Otherwise, aliasing effect would corrupt the output sequence.

Advertisements