- Digital Signal Processing Tutorial
- DSP - Home
- DSP - Signals-Definition
- DSP - Basic CT Signals
- DSP - Basic DT Signals
- DSP - Classification of CT Signals
- DSP - Classification of DT Signals
- DSP - Miscellaneous Signals
- Operations on Signals
- Operations Signals - Shifting
- Operations Signals - Scaling
- Operations Signals - Reversal
- Operations Signals - Differentiation
- Operations Signals - Integration
- Operations Signals - Convolution
- Basic System Properties
- DSP - Static Systems
- DSP - Dynamic Systems
- DSP - Causal Systems
- DSP - Non-Causal Systems
- DSP - Anti-Causal Systems
- DSP - Linear Systems
- DSP - Non-Linear Systems
- DSP - Time-Invariant Systems
- DSP - Time-Variant Systems
- DSP - Stable Systems
- DSP - Unstable Systems
- DSP - Solved Examples
- Z-Transform
- Z-Transform - Introduction
- Z-Transform - Properties
- Z-Transform - Existence
- Z-Transform - Inverse
- Z-Transform - Solved Examples
- Discrete Fourier Transform
- DFT - Introduction
- DFT - Time Frequency Transform
- DTF - Circular Convolution
- DFT - Linear Filtering
- DFT - Sectional Convolution
- DFT - Discrete Cosine Transform
- DFT - Solved Examples
- Fast Fourier Transform
- DSP - Fast Fourier Transform
- DSP - In-Place Computation
- DSP - Computer Aided Design
- Digital Signal Processing Resources
- DSP - Quick Guide
- DSP - Useful Resources
- DSP - Discussion
DSP - DFT Circular Convolution
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{j2\Pi kn}{N}}\quad k = 0,1,2...N-1$$ $$X_2(K) = \sum_{n = 0}^{N-1}x_2(n)e^{\frac{j2\Pi 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)\times X_2(K)$
By taking the IDFT of the above we get
$x_3(n) = \frac{1}{N}\displaystyle\sum\limits_{n = 0}^{N-1}X_3(K)e^{\frac{j2\Pi kn}{N}}$
After solving the above equation, finally, we get
$x_3(n) = \displaystyle\sum\limits_{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 multiplication 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 Multiplication 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 multiplication of two matrices give the result of circular convolution.