Skip to content
ExtendedSource checked

Overlap-Add

Reconstructs or filters long signals by summing overlapping processed blocks.

Quick Facts

Compact metadata for implementation and discovery.

Category
Signal Processing
Difficulty
Intermediate
Family
Block Signal Processing
Tier
Extended
Status
Verified
Review
Source Checked
Sources
1
Formulas
1
Relationships
2
Code example
Ready
Visualization
Ready

Overview

Overlap-Add splits a signal into blocks, processes each block, and adds overlapping output regions to produce a continuous result.

Core Concepts

block processingoverlap regionsample summationwindowing

Quick facts

Complexity

Runtime and memory behavior at a glance.

Best

O(n)

Average

O(n log block_size)

Worst

O(n log block_size)

Space

O(block_size)

When to Use

  • Use when long signals must be processed in manageable blocks.
  • Use when fFT convolution is a central requirement.

When Not to Use

  • Avoid when block boundary latency or artifacts are unacceptable.
  • Avoid when the sampling rate, window size, or stationarity assumptions do not hold.

What It Does

  • Splits a signal into blocks
  • Processes blocks independently
  • Adds overlapping output samples

Use Cases

  • FFT convolution
  • Audio block processing
  • STFT reconstruction

Inputs

  • Signal blocks
  • Window or filter
  • Hop size

Outputs

  • Reconstructed or filtered signal

Key Formulas (1)

Overlap sum

output[n] = ∑(blocki[n − offseti])
output[n] = sum(block_i[n - offset_i])

Adds every processed block contribution that covers an output sample.

Pseudocode

  1. 1.Split the input into overlapping or padded blocks
  2. 2.Process each block
  3. 3.Place each processed block at its output offset
  4. 4.Add samples in overlapping regions

Canonical Example

Input
blocks = [0..3] and [2..5]
Output
overlap samples are summed
Explanation
The method combines block outputs into one continuous sequence.

Implementation Notes

  • Verify perfect reconstruction with an identity processing pass.
  • Plot or inspect both the original and processed signal for small test cases.
  • Keep a tiny example with expected output beside the implementation.

Common Pitfalls

  • Using incompatible window and hop sizes can create amplitude modulation.
  • Boundary handling and phase response can change the result in visible or audible ways.
  • Not defining boundary, empty, or degenerate inputs before implementation.

Interactive Mechanism Walkthrough

Iterative Convergence & State Trajectory

Show processed blocks laid over each other and summed into one continuous waveform.

Overlap-Add mechanism walkthrough step 1 of 4x₀x₁x₂x*
Step 1 of 4: Split the input into overlapping or padded blocks
signal-transform

Notes

Window and hop choices determine whether reconstruction is smooth.

Sources (1)

What each reference supports for this entry.

Discrete-Time Signal Processing

Book

Signal-processing reference for digital filters, convolution, spectral analysis, windows, resampling, and transform-based methods.

Open source

Explore Next

Good next jumps from the relationship graph, ranked for useful discovery.

Alternative toOverlap-Save

Both perform block convolution with different boundary handling.

Tags

Signal ProcessingFilteringTime FrequencyAudio Processing