Connect via MCP →

Enter Calculation

Formula

Advertisement

Results

Circular Convolution

31, 31, 28

First Sequence 1,2,3
Second Sequence 4,5,6
Maximum Value 31
Minimum Value 28

What This Calculator Does

The Circular Convolution Calculator computes the circular (cyclic) convolution of two discrete-time sequences — a core operation in digital signal processing (DSP). Unlike linear convolution, circular convolution wraps the sequences around a fixed period N, which is exactly what happens when you multiply two signals' Discrete Fourier Transforms (DFTs) and transform back. Enter your sequences and the tool instantly returns the resulting output sequence, plus its maximum and minimum values for quick analysis.

The Inputs

  • First Sequence: your input signal x, entered as comma-separated numbers (e.g. 1, 2, 3, 4).
  • Second Sequence: the second signal h, also comma-separated (e.g. 1, 1, 1).

If the two sequences have different lengths, the calculator pads the shorter one with zeros up to N = the length of the longer sequence. Both are then treated as periodic with period N.

The Formula

Circular convolution is defined as:

$$y[n] = \sum_{k=0}^{N-1} x[k] \cdot h\big[(n - k)\bmod N\big]$$

The key difference from linear convolution is the modulo N index. When (n − k) goes negative, it wraps around to the end of the sequence rather than producing a zero. This is why the result always has exactly N samples — the same length as the longer input.

Advertisement
Two sequences arranged on circles aligning samples for circular convolution
Circular convolution wraps the index using modulo N, aligning samples on a ring.

Worked Example

Let x = [1, 2, 3, 4] and h = [1, 1, 1, 1] (both length N = 4). Computing each output:

  • \(y[0] = 1\cdot 1 + 2\cdot 1 + 3\cdot 1 + 4\cdot 1 = 10\)
  • \(y[1] = 1\cdot 1 + 2\cdot 1 + 3\cdot 1 + 4\cdot 1 = 10\)
  • \(y[2] = 10\), \(y[3] = 10\)

Result: [10, 10, 10, 10], with maximum 10 and minimum 10. Because h is all ones, every output equals the sum of x — a useful sanity check.

Step-by-step grid showing sample-by-sample multiply and sum for circular convolution
Each output y[i] is a sum of products of aligned samples, computed with wrap-around indexing.

Frequently Asked Questions

How is this different from linear convolution? Linear convolution produces a sequence of length (len(x) + len(h) − 1) with no wrap-around. Circular convolution keeps the length at N and folds overflow back to the start, matching DFT-based filtering.

What if my sequences are different lengths? The shorter one is zero-padded to match the longer length N, so both are aligned before convolution.

Can I use negative or decimal numbers? Yes. Inputs are parsed as decimals, so values like -1.5, 0.25, 3 work fine.

Last updated: