A bank of N filters each centered at discrete frequency k/N

Discrete Fourier Transform (DFT) as a Filter Bank

We have discussed before what a Discrete Fourier Transform (DFT) is and how to find the DFT of some commonly used signals. Here, we will see how a DFT acts as a (crude) bank of filters that can pass the signal contents around a desired frequency while blocking the rest. Let us start with the definition of the DFT. \begin{equation*} \begin{aligned} S_I[k]\: &= \sum \limits _{n=0} ^{N-1}\left[ s_I[n] \cos 2\pi\frac{k}{N}n + s_Q[n] \sin 2\pi\frac{k}{N}n\right] \\ S_Q[k] &= \sum \limits _{n=0} ^{N-1}\left[ s_Q[n] \cos 2\pi\frac{ k}{N}n – s_I[n] \sin 2\pi\frac{k}{N}n\right] \end{aligned} \end{equation*} for each $k$. In complex notation, this DFT is

Continue reading
Linear approximation of atan2

3 Ways to Approximate atan2( ) in Hardware

When we think about signal processing, the focus is usually magnitude response of a system. However, in several DSP applications, the signal phase holds as much, if not more, significance as the magnitude response. For example, in digital FM demodulation, carrier phase synchronization and RF ranging, the phase (found through arctangent in four quadrants) of a complex signal needs to be computed by an FPGA or a DSP for further processing. In image processing applications, such an operation is also required to calculate the gradient orientations used in several popular feature descriptors like the Scale-Independent Feature Transform (SIFT) or the

Continue reading
Farrow structure for cubic interpolation

Fractional Delay Filters Using the Farrow Structure

In the discussion on piecewise polynomial interpolation, we emphasized on the fact that the fractional interval $\mu_m$ needs to be updated for each symbol time $mT_M$ and hence the subscript $m$ in $\mu_m$. For this reason, the interpolation process becomes a two-step procedure. Update the filter coefficients $h_p[n]$. Perform the convolution between $z(nT_S)$ and $h_p[n]$. This process can be simplified if the two steps above can be combined in such a way that $\mu_m$ update is weaved into the convolution operation. In other words, instead of a two-input hardware multiplication with two variable quantities, complexity can be reduced by restructuring

Continue reading
Symbolic representation of linear phase rotation that changes with frequency index

Effect of Time Shift in Frequency Domain

Children usually ask questions like “How many hours have passed?” And they have no idea about the start time to be taken as a reference. Just like the zero of a measuring tape, a zero reference for time plays a crucial role in analyzing the signal behaviour in time and frequency domains. Until now, we assumed that reference time $0$ coincides with the start of a sine and a cosine wave to understand the frequency domain. Later, we will deal with symbol timing synchronization problem in single-carrier systems and carrier frequency synchronization problem in multicarrier systems, both of which address

Continue reading

Interpreting Time Domain Derivative in Frequency Domain

Although this article explains the concepts in terms of mathematical constants e and j as well as integration, my book on SDR steers clear of the complex notation and integrals to describe the underlying concepts from the ground up to an advanced level. One of the properties of Fourier Transform is that the derivative of a signal in time domain gets translated to multiplication of the signal spectrum by $j2\pi f$ in frequency domain. This property is usually derived as follows. For a signal $s(t)$ with Fourier Transform $S(f)$ \begin{equation*} s(t) = \frac{1}{2\pi}\int \limits _{-\infty}^{+\infty} S(f) e^{j2\pi ft}df, \end{equation*} we

Continue reading