English 中文(简体)
DTF - Circular Convolution
  • 时间:2025-02-05

DSP - DFT Circular Convolution


Previous Page Next Page  

Let us take two finite duration sequences x1(n) and x2(n), having integer length as N. Their DFTs are X1(K) and X2(K) respectively, which is shown below −

$$X_1(K) = sum_{n = 0}^{N-1}x_1(n)e^{frac{j2Pi kn}{N}}quad k = 0,1,2...N-1$$ $$X_2(K) = sum_{n = 0}^{N-1}x_2(n)e^{frac{j2Pi kn}{N}}quad k = 0,1,2...N-1$$

Now, we will try to find the DFT of another sequence x3(n), which is given as X3(K)

$X_3(K) = X_1(K) imes X_2(K)$

By taking the IDFT of the above we get

$x_3(n) = frac{1}{N}displaystylesumpmits_{n = 0}^{N-1}X_3(K)e^{frac{j2Pi kn}{N}}$

After solving the above equation, finally, we get

$x_3(n) = displaystylesumpmits_{m = 0}^{N-1}x_1(m)x_2[((n-m))_N]quad m = 0,1,2...N-1$

Comparison points Linear Convolution Circular Convolution
Shifting Linear shifting Circular shifting
Samples in the convolution result $N_1+N_2−1$ $Max(N_1,N_2)$
Finding response of a filter Possible Possible with zero padding

Methods of Circular Convolution

Generally, there are two methods, which are adopted to perform circular convolution and they are −

    Concentric circle method,

    Matrix multippcation method.

Concentric Circle Method

Let $x_1(n)$ and $x_2(n)$ be two given sequences. The steps followed for circular convolution of $x_1(n)$ and $x_2(n)$ are

    Take two concentric circles. Plot N samples of $x_1(n)$ on the circumference of the outer circle (maintaining equal distance successive points) in anti-clockwise direction.

    For plotting $x_2(n)$, plot N samples of $x_2(n)$ in clockwise direction on the inner circle, starting sample placed at the same point as 0th sample of $x_1(n)$

    Multiply corresponding samples on the two circles and add them to get output.

    Rotate the inner circle anti-clockwise with one sample at a time.

Matrix Multippcation Method

Matrix method represents the two given sequence $x_1(n)$ and $x_2(n)$ in matrix form.

    One of the given sequences is repeated via circular shift of one sample at a time to form a N X N matrix.

    The other sequence is represented as column matrix.

    The multippcation of two matrices give the result of circular convolution.

Advertisements