Linear Convolution Using Circular Convolution

If you’ve started learning Digital Signal Processing (DSP) , you might be wondering how to connect linear convolution and circular convolution . Believe it or not, you can compute linear convolution using circular convolution — and in this post, we’ll show you how using the matrix method ! Let’s take an example and go through the steps. 1. Select N = L + M − 1 = 6 . For our signals, L = 4 and M = 3 , so N = 6 . We need N at least as large as L + M − 1 to capture the full linear convolution. 2. Zero-pad both signals to length 6. Extend x[n] and h[n] by adding zeros at the end so each has 6 samples. In this case: x [ n ] = [ 1 , 2 , 3 , 4 , 0 , 0 ] h [ n ] = [ 5 , 6 , 7 , 0 , 0 , 0 ] Now both are of length 6. 3. Form the circulant convolution matrix from h . We build a 6×6 matrix where each row is a right-shift (circular shift) of the previous row. First, we take...