Convolution Calculator

Convolve two data sequences

Sequence x — separate values with spaces, commas, tabs, or newlines.
Sequence h — filter kernel or second signal (same delimiter rules).

Result data sequence

Enter sequences and press Calculate.

Convolution homework looks harmless until you line up two sample lists and realize every output index wants a different overlap window. I have watched students re-sum the same products three times because they shifted h one slot too far left on scratch paper. The job is not mysterious—it is tedious bookkeeping. Picture two strip rulers laid on a desk: one strip is your input samples, the other is a short weight pattern. You slide the weight strip along the input and, at each stop, multiply the numbers that line up and add. That sliding overlap is discrete convolution in plain language.

How to Use This Convolution Calculator

To get started, treat the first box as sequence x and the second as sequence h. Order labels the step-by-step panel; the numeric output is the same if you swap the lists because convolution commutes for finite sequences.

  • Enter the first data sequence. Paste or type values separated by spaces, commas, tabs, or line breaks. The default 1 1 1 0 0 0 matches a classic six-point lab example.
  • Enter the second data sequence. Use the same delimiter rules. The default 0.5 0.2 0.3 behaves like a three-tap FIR coefficient list.
  • Press Calculate. The result panel prints the full output vector in order, space-separated, with length M + H − 1 when x has M samples and h has H samples.
  • Read the Convolution calculation block. Each section shows which products x[k]·h[j] fired at that index. Use Reset to restore the default pair without reloading the page.

In our testing, the fastest workflow is to paste a column from a spreadsheet, run Calculate once, then spot-check only the first and last non-zero outputs by hand. If you are batching many homework problems, keep a copy of the coefficient list in the second field and swap only the input list between runs.

Convolution Calculator Formulas and Practical Applications

Moving onto the math itself, discrete convolution builds a new sequence y from two finite lists. Think of each output slot as a weighted blend of neighbors from x, where the weights come from h.

The infinite-sum definition (discrete time)

y(n) = (x * h)(n) = Σk=−∞ x(k)·h(n − k)

Only pairs where both factors exist contribute. Outside the original list bounds we treat samples as zero—the same assumption as zero-padding both sequences to infinity. That is the full linear convolution used in intro signals courses, not a circular wrap-around.

Finite lists and output length

y(n) = Σk=0M−1 x(k)·h(n − k)

Index n runs from 0 through M + H − 2, which produces exactly M + H − 1 outputs. When I trace the default inputs on paper, the overlap starts narrow, widens to three products per row, then narrows again as the finite strips slide apart—exactly the trapezoid shape you see in textbook convolution sketches.

One index worked by hand (default inputs)

At n = 2 with x = [1,1,1,0,0,0] and h = [0.5, 0.2, 0.3], the overlapping terms are x[0]·h[2] + x[1]·h[1] + x[2]·h[0] = 0.3 + 0.2 + 0.5 = 1.0. The calculator’s step panel expands that logic for every index so you can compare against your notebook without re-deriving indices.

Output index n y(n) (default example) Active product count
00.51
10.72
21.03
30.53
40.32
5–701 → 0

FIR filtering and lab signals

In practical environments, the second sequence is often a finite impulse response filter: moving-average smoothers, simple edge detectors, or windowed weights from a design sheet. Convolving a sensor log with those coefficients applies the filter in one shot. Audio folks use the same operation when they describe reverb tails—past samples linger because the weight pattern spreads energy forward.

Probability and discrete sums

When two independent discrete random variables add, their probability mass functions convolve. Students paste PMF samples into the two fields and read the taller output list instead of building a double loop in code. Cross-check sums with the Probability Calculator when you move from lists to event algebra.

Where convolution meets other RapidRatio tools

  • Linear algebra courses sometimes reformulate convolution as Toeplitz matrix multiplication—run small numeric checks here first, then scale up in the Matrix Calculator.
  • Long sample logs pasted from CSV work benefit from the same delimiter parsing as the Statistics Calculator before you convolve.
  • Generated arithmetic sequences from the Number Sequence Calculator make quick synthetic inputs when you need practice vectors.
  • Bit-level register work stays separate; for pure base-2 addition rules see the binary add and subtract guide and the Binary Calculator.

Frequently Asked Questions

What does this convolution calculator compute?

It evaluates full discrete linear convolution for two finite numeric sequences. Every output sample is a sum of products x[k]·h[n − k] over valid overlaps, and the step panel names the active pairs at each index.

How should I format the input sequences?

Separate values with spaces, commas, tabs, or newlines. Integers, decimals, and negative samples are accepted within normal floating-point limits. Empty tokens are ignored; at least one number is required in each field.

Does swapping the two sequences change the result?

The output vector is identical because convolution is commutative for these finite lists. Step labels swap with the fields—first field always prints as x[k] in the breakdown.

Is this circular convolution or linear convolution?

This tool implements linear convolution with implicit zero padding beyond each list end. Circular convolution (wrap-around indexing used in some FFT homework) is not applied here—if your course specifies circular mode, adjust indices or use a DFT-based workflow instead.

Why is there a 500-sample limit per sequence?

Each calculate pass builds an output of length up to M + H − 1 and optional per-index steps. Capping inputs at 500 keeps the page responsive in the browser. For megabyte-scale traces, export to numerical software and use RapidRatio for spot checks and homework-sized vectors. Browse the full math calculators hub for adjacent tools.

Disclaimer. RapidRatio is informational only. Match indexing, padding, and normalization rules required by your instructor or engineering specification before submitting graded work or production filter code.