Convolution Calculator helps you compute the convolution of two discrete-time sequences quickly and correctly. You enter your sequences and the time index range, and the calculator returns the output sequence values with the exact sum formula used in signal processing.
This guide explains what convolution means, how the index shift and time reversal work, and how to avoid common mistakes when you translate math into numbers.
What Is Convolution (In Discrete Time)?
Convolution is a mathematical operation that combines two sequences to show how one signal shapes the other. In discrete time, it answers: “If I feed system A with input x, and system behavior is h, what output y results?”
For sequences x[n] and h[n], the discrete convolution is defined as:
y[n] = \(\sum_{k=-\infty}^{\infty} x[k] \; h[n-k]\)
In practice, you use finite ranges because real data is always finite.
Variables and Indexing (The Part That Causes Most Errors)
Convolution depends on how you index your sequences. The key pieces are:
- x[k]: the first sequence values.
- h[n-k]: the second sequence is flipped in time (the n-k part) and shifted by n.
- y[n]: the output sequence values you compute for each desired index.
If your sequences start at different indices (for example, x starts at n = -2 and h starts at n = 0), you must account for those start indices. The calculator below handles this using your provided start indices.
How the Convolution Sum Works for Finite Data
When sequences are finite, you sum only terms where both sequences have defined values. If x is defined from k = xStart … xEnd and h is defined from m = hStart … hEnd, then for each output index n you effectively sum:
y[n] = \(\sum_{k=xStart}^{xEnd} x[k] \; h[n-k]\)
But you only include terms where h[n-k] exists (meaning n-k falls within the h range). This is exactly what the calculator does.
Unit-Aware Scaling (Optional, But Useful)
Pure convolution multiplies values and sums them. If your signals have physical units (volts, meters, seconds), the numeric result still follows multiplication rules, but the unit interpretation depends on your system model.
The calculator includes an optional scale factor so you can represent cases like:
- Sampling interval scaling (e.g., approximating continuous convolution).
- Gain factors in systems.
- Normalization used in specific workflows.
The computed output is:
y[n] = scale \(\times\) \(\sum x[k] \; h[n-k]\)
Step-by-Step: Using the Convolution Calculator
- Enter x[n] as a comma-separated list (example: 1, 0, -1).
- Set x start index (example: if the first number is x[-2], enter -2).
- Enter h[n] as a comma-separated list and set h start index.
- Choose output index range (start and end). If you want the full non-zero range, use the calculator’s default suggestion.
- Optionally set scale factor (default 1).
- Click Calculate to get y[n] values.
If you enter inconsistent ranges or non-numeric values, the calculator highlights the field and explains what to fix.
Practical Example 1: Simple Filter Response
Suppose you have an input sequence x[n] and a 3-tap moving-average style filter h[n]. Let:
- x[n] = [2, 1, 0, 1] starting at n = 0
- h[n] = [1, 1, 1] starting at n = 0
The output y[n] is the sum of overlapping terms. For n = 2, the overlap includes x[2], x[1], and x[0] weighted by h[0], h[1], h[2]. The calculator computes all y[n] values in one pass.
Practical Example 2: Shift and Flip Intuition
Let x[n] = [1, 2] at n = -1..0 and h[n] = [3, 4] at n = 0..1. Convolution requires reversing h in time inside the sum (the n-k index) and then shifting it across x as n changes.
When you compute y[n] for each n, you can think of it as: “Where do the samples overlap after the flip and shift?” The calculator implements this overlap logic using your start indices.
Common Mistakes to Avoid
- Forgetting start indices: The math uses absolute indices, not just list positions.
- Using the wrong output range: If you choose too narrow a range, you’ll miss valid y[n] terms.
- Mixing units without scaling: If you’re approximating continuous convolution, include the proper scale factor.
- Assuming circular convolution: This calculator computes linear convolution (finite-range overlap), not circular.
Frequently Asked Questions
What does a discrete Convolution Calculator compute?
A discrete Convolution Calculator computes the linear convolution y[n] of two finite sequences x[n] and h[n]. It applies the sum y[n] = Σ x[k]·h[n−k] over the overlap of your provided index ranges, then outputs y values for each requested n.
How do I choose the output index range for convolution?
Choose an output range that covers where the sequences overlap after flipping and shifting. For sequences defined from xStart..xEnd and hStart..hEnd, a safe full range is from xStart+hStart to xEnd+hEnd. If you only need specific indices, enter those.
Do I need to reverse one sequence manually?
No. In the discrete convolution formula, h[n−k] already represents the required time reversal and shift. The calculator handles the reversal implicitly by using your index mapping and overlap checks, so you only enter the sequences in their natural order.
Why do my results look shifted or incorrect?
Most “shifted” results come from incorrect start indices. If the first number in your list corresponds to n = 0 but you enter xStart = 1, every output index will be off. Verify both xStart and hStart against how you labeled your original sequences.
Can I use convolution for real-world signals with units?
Yes, but interpret units carefully. Convolution multiplies and sums values, so output units follow your model (often input units times impulse-response units). If you approximate continuous convolution, use the scale factor to account for sampling interval or gain.
Next Steps: Verify With a Quick Sanity Check
After you compute y[n], do a fast check:
- If h[n] is a single non-zero sample, y[n] should look like a scaled and shifted version of x[n].
- If x[n] is a delta (one sample equal to 1), y[n] should reproduce h[n] (with index shifts).
- If both sequences are non-negative, y[n] should not contain unexpected sign flips.
These checks catch indexing mistakes before you rely on the output in a larger design.
Summary
The Convolution Calculator computes linear discrete convolution exactly from your sequences and index ranges. By entering correct start indices and selecting an output range that covers overlap, you get accurate y[n] values you can use in filtering, system analysis, and signal modeling.



