{
 "id": "ep2p41j451",
 "slug": "circular-convolution",
 "title": "Circular convolution",
 "updated": "2026-09-30",
 "topic_path": [
  {
   "id": "physical",
   "label": "Physical world and mathematics",
   "api_url": "https://www.edgepedia.org/api/v1/topics/physical"
  },
  {
   "id": "physical.math",
   "label": "Mathematics and statistics",
   "api_url": "https://www.edgepedia.org/api/v1/topics/physical.math"
  },
  {
   "id": "physical.math.analysis",
   "label": "Analysis and mathematical models",
   "api_url": "https://www.edgepedia.org/api/v1/topics/physical.math.analysis"
  },
  {
   "id": "physical.math.analysis.harmonic_analysis_and_transforms",
   "label": "Harmonic analysis, transforms, and integral equations",
   "api_url": "https://www.edgepedia.org/api/v1/topics/physical.math.analysis.harmonic_analysis_and_transforms"
  }
 ],
 "geo": [
  {
   "id": "geo.nongeo.t1800.physical.math.analysis",
   "label": "Non-geographic · 1800 to 1945: Analysis and mathematical models",
   "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t1800.physical.math.analysis",
   "path": [
    {
     "id": "geo.nongeo",
     "label": "Non-geographic",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo"
    },
    {
     "id": "geo.nongeo.t1800",
     "label": "Non-geographic · 1800 to 1945",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t1800"
    },
    {
     "id": "geo.nongeo.t1800.physical",
     "label": "Physical world and mathematics",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t1800.physical"
    },
    {
     "id": "geo.nongeo.t1800.physical.math",
     "label": "Mathematics and statistics",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t1800.physical.math"
    },
    {
     "id": "geo.nongeo.t1800.physical.math.analysis",
     "label": "Analysis and mathematical models",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t1800.physical.math.analysis"
    }
   ]
  },
  {
   "id": "geo.nongeo.t1946.physical.math.analysis.harmonic_analysis_and_transforms",
   "label": "Non-geographic · 1946 to 2000: Harmonic analysis, transforms, and integral equations",
   "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t1946.physical.math.analysis.harmonic_analysis_and_transforms",
   "path": [
    {
     "id": "geo.nongeo",
     "label": "Non-geographic",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo"
    },
    {
     "id": "geo.nongeo.t1946",
     "label": "Non-geographic · 1946 to 2000",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t1946"
    },
    {
     "id": "geo.nongeo.t1946.physical",
     "label": "Physical world and mathematics",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t1946.physical"
    },
    {
     "id": "geo.nongeo.t1946.physical.math",
     "label": "Mathematics and statistics",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t1946.physical.math"
    },
    {
     "id": "geo.nongeo.t1946.physical.math.analysis",
     "label": "Analysis and mathematical models",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t1946.physical.math.analysis"
    },
    {
     "id": "geo.nongeo.t1946.physical.math.analysis.harmonic_analysis_and_transforms",
     "label": "Harmonic analysis, transforms, and integral equations",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t1946.physical.math.analysis.harmonic_analysis_and_transforms"
    }
   ]
  }
 ],
 "excerpt": "Circular convolution is a mathematical operation that convolves two finite sequences of a fixed period N with wraparound indexing, and the discrete Fourier transform turns it into pointwise multiplication.",
 "snippet": "Circular convolution is a mathematical operation that convolves two finite sequences of a fixed period N with wraparound indexing, and the discrete Fourier transform turns it into pointwise multiplication.",
 "node": "physical.math.analysis.harmonic_analysis_and_transforms",
 "markdown": "# Circular convolution\n\nCircular convolution is a mathematical operation that convolves two finite sequences of a fixed period N with wraparound indexing, so that any index falling outside 0, …, N−1 is taken modulo N. It differs from ordinary linear convolution, which produces a longer output with no wrap-around, and it matters because the discrete [Fourier transform](https://www.edgepedia.org/fourier-transform) (DFT) turns it into pointwise multiplication, giving an \\( O(N \\log N) \\) convolution algorithm via the fast Fourier transform (FFT).<sup>[1](https://brianmcfee.net/dstbook-site/content/ch10-convtheorem/ConvolutionTheorem.html)</sup><sup> • </sup><sup>[2](https://www.dsprelated.com/glossary/circular-conv)</sup><sup> • </sup><sup>[3](https://web.stanford.edu/class/archive/cs/cs339/cs339.2002/fft.pdf)</sup>\n\n| Key fact | Value |\n|---|---|\n| Defining sum | \\( y[n] = \\sum_{k=0}^{K-1} h[k] \\cdot x[(n-k) \\bmod N] \\)<sup>[1](https://brianmcfee.net/dstbook-site/content/ch10-convtheorem/ConvolutionTheorem.html)</sup> |\n| Convolution theorem | \\( Y[m] = H[m] \\cdot X[m] \\) for length-N sequences<sup>[1](https://brianmcfee.net/dstbook-site/content/ch10-convtheorem/ConvolutionTheorem.html)</sup> |\n| Output length | Linear: \\( L + M - 1 \\), no wrap-around; circular: \\( N \\), with wrap-around<sup>[2](https://www.dsprelated.com/glossary/circular-conv)</sup> |\n| Exactness condition | Zero-pad both sequences to \\( N \\geq L + M - 1 \\)<sup>[2](https://www.dsprelated.com/glossary/circular-conv)</sup> |\n| Direct cost | \\( N^{2} \\) multiplications and \\( N \\cdot (N-1) \\) additions, \\( O(N^{2}) \\)<sup>[4](https://eng.libretexts.org/Bookshelves/Electrical_Engineering/Signal_Processing_and_Modeling/Signals_and_Systems_%28Baraniuk_et_al.%29/07%3A_Discrete_Time_Fourier_Series_%28DTFS%29/7.05%3A_Discrete_Time_Circular_Convolution_and_the_DTFS)</sup> |\n| FFT cost | Three \\( O(N \\log N) \\) transforms plus an \\( O(N) \\) pointwise product<sup>[5](https://www.cs.cmu.edu/~15322/book/ch09/03.html)</sup> |\n| Break-even vs direct | Roughly \\( N > 100 \\) on a CPU; thousands of taps on a GPU<sup>[6](https://ccrma.stanford.edu/~jos/dft/Convolution_Theorem.html)</sup><sup> • </sup><sup>[7](https://ccrma.stanford.edu/%7Ejos/sasp/FFT_versus_Direct_Convolution.html)</sup> |\n\n## How it works\n\nCircular convolution of a signal x of length N with an impulse response h of length K is defined as \\( y[n] = \\sum_{k=0}^{K-1} h[k] \\cdot x[(n-k) \\bmod N] \\). It is identical to linear convolution except that negative sample indices wrap around to the end of the signal.<sup>[1](https://brianmcfee.net/dstbook-site/content/ch10-convtheorem/ConvolutionTheorem.html)</sup> The operation arose because multiplying two periodic DFTs requires a convolution whose result stays within n = 0, …, N−1; multiplying the DFTs Y[k] = F[k]H[k] corresponds in the time domain to exactly this modular-index sum.<sup>[4](https://eng.libretexts.org/Bookshelves/Electrical_Engineering/Signal_Processing_and_Modeling/Signals_and_Systems_%28Baraniuk_et_al.%29/07%3A_Discrete_Time_Fourier_Series_%28DTFS%29/7.05%3A_Discrete_Time_Circular_Convolution_and_the_DTFS)</sup>\n\nThe wraparound index is the whole distinguishing feature, and it produces the theorem that makes the operation useful: for sequences h and x of length N with circular convolution y = h ⋆ x, the DFT of the convolution is the product of the DFTs, \\( Y[m] = H[m] \\cdot X[m] \\).<sup>[1](https://brianmcfee.net/dstbook-site/content/ch10-convtheorem/ConvolutionTheorem.html)</sup> The dual statement holds as well: element-wise multiplication in the time domain equals \\( (1/N) \\) times the circular convolution of the DFTs in the frequency domain.<sup>[1](https://brianmcfee.net/dstbook-site/content/ch10-convtheorem/ConvolutionTheorem.html)</sup>\n\nThree algebraic views explain why. Multiplying a vector by a circulant matrix \\( C_{a} \\) is equivalent to circular convolution with the vector a that defines the matrix; the eigenvalues of \\( C_{a} \\) are precisely the DFT of a, so the DFT is the change of basis that simultaneously diagonalizes all circulant matrices, converting convolution into component-wise multiplication.<sup>[8](https://ar5iv.labs.arxiv.org/html/1805.05533)</sup> In polynomial terms, circular convolution is multiplication of polynomials reduced modulo sⁿ − 1, H ∗_circ X ↔ H(s)X(s) mod (sⁿ − 1), and the DFT evaluates a polynomial at the N-th roots of unity, which are exactly the roots of sⁿ − 1.<sup>[9](https://spiral.ece.cmu.edu/pub-smart/pubfile/aspfft_38.pdf)</sup> Circular convolution can also be read as linear convolution followed by time-domain aliasing, where the output samples beyond length N fold back onto the start.<sup>[10](https://ocw.mit.edu/courses/res-6-008-digital-signal-processing-spring-2011/610905d8154ec2bfc090cf78022249a5_MITRES_6_008S11_lec10.pdf)</sup>\n\n## How it is done\n\nDirect summation of the defining formula for two N-point sequences costs \\( N \\) multiplications and \\( N-1 \\) additions per output point, that is \\( N^{2} \\) multiplications and \\( N \\cdot (N-1) \\) additions overall.<sup>[4](https://eng.libretexts.org/Bookshelves/Electrical_Engineering/Signal_Processing_and_Modeling/Signals_and_Systems_%28Baraniuk_et_al.%29/07%3A_Discrete_Time_Fourier_Series_%28DTFS%29/7.05%3A_Discrete_Time_Circular_Convolution_and_the_DTFS)</sup> The FFT route computes \\( \\mathrm{IDFT}(\\mathrm{DFT}(h) \\cdot \\mathrm{DFT}(x)) \\): two forward transforms, a sample-by-sample multiplication costing only \\( O(N) \\), and one inverse transform, each transform \\( O(N \\log N) \\).<sup>[5](https://www.cs.cmu.edu/~15322/book/ch09/03.html)</sup>\n\nTo obtain a linear (acyclic) convolution from this machinery, zero-pad both sequences to at least \\( N \\geq L + M - 1 \\) before transforming; the wrapped terms then contribute zero and the circular result equals the linear one.<sup>[11](https://courses.grainger.illinois.edu/ece401/fa2024/slides/lec24.pdf)</sup><sup> • </sup><sup>[12](https://www.cise.ufl.edu/~ritter/cap4410/Resources/dft.pdf)</sup> With a radix-2 FFT, N is rounded up to the next power of two; convolving a 128-sample block with a 32-tap FIR kernel requires \\( N \\geq 159 \\), so \\( N = 256 \\) is used.<sup>[2](https://www.dsprelated.com/glossary/circular-conv)</sup>\n\nThe speedup is real but length-dependent: one benchmark found the FFT faster from length 64 onward, and published guidance advises relying on it only for reasonably long convolutions such as \\( N > 100 \\), since the crossover depends on hardware, implementation, and sequence lengths.<sup>[6](https://ccrma.stanford.edu/~jos/dft/Convolution_Theorem.html)</sup> When h is much shorter than the signal, direct convolution costing \\( N \\cdot K \\) steps can still win, and libraries such as scipy.signal.convolve compare lengths to pick the method.<sup>[1](https://brianmcfee.net/dstbook-site/content/ch10-convtheorem/ConvolutionTheorem.html)</sup>\n\n## Origin\n\nNo published source names a specific person, paper, or year as the first formal statement of the circular convolution theorem itself; the documented lineage concerns the DFT and FFT that make the theorem practical. The FFT as a machine algorithm was published by James W. Cooley and John W. Tukey in Mathematics of Computation in 1965, showing that a complex [Fourier series](https://www.edgepedia.org/fourier-series) could be computed in fewer than \\( 2N \\log_{2} N \\) operations instead of \\( N^{2} \\).<sup>[13](https://doi.org/10.1090/s0025-5718-1965-0178586-1)</sup> Their paper credits an interaction algorithm, itself a generalization of Yates' factorial-analysis methods, as the motivating prior work.<sup>[13](https://doi.org/10.1090/s0025-5718-1965-0178586-1)</sup> Once the FFT existed, DFT-domain multiplication became the standard fast route to convolution, circular by default and linear after zero-padding.<sup>[3](https://web.stanford.edu/class/archive/cs/cs339/cs339.2002/fft.pdf)</sup>\n\n## Variants\n\n**Cyclic convolution modulo N** is the base case: polynomial multiplication in the quotient ring F[X]/(Xⁿ − 1), with all three sequences of length n and indices taken modulo n.<sup>[14](https://xn--2-umb.com/23/convolution/)</sup> **Skew-circular (negacyclic) convolution** instead reduces the product modulo Xⁿ + 1, so the second sequence changes sign every period; H.K. Garg published algorithms for computing skew circular convolution over finite integer rings and their complex extensions in Electronics Letters in 1996, building on his earlier generalization of [number-theoretic transforms](https://www.edgepedia.org/number-theoretic-transform) for fast circular convolution.<sup>[15](https://doi.org/10.1049/el:19961503)</sup>\n\n**Circular cross-correlation** is computed by the same FFT route (conjugate one transform, multiply, inverse transform), but on a short buffer the circular wrap-around makes lag estimates near the buffer edges unreliable unless zero-padding is added.<sup>[2](https://www.dsprelated.com/glossary/circular-conv)</sup> For long or streaming signals, the circularity is exploited rather than removed: in **overlap-add**, each input block is zero-padded, transformed, and the overlapping tail of each output block is added to the next; in **overlap-save**, extra input samples are kept from the previous block so the circular wrap-around discards only the aliased prefix.<sup>[2](https://www.dsprelated.com/glossary/circular-conv)</sup><sup> • </sup><sup>[12](https://www.cise.ufl.edu/~ritter/cap4410/Resources/dft.pdf)</sup><sup> • </sup><sup>[10](https://ocw.mit.edu/courses/res-6-008-digital-signal-processing-spring-2011/610905d8154ec2bfc090cf78022249a5_MITRES_6_008S11_lec10.pdf)</sup>\n\n## Applications\n\nIn digital signal processing, DFT-based filtering via multiply-and-inverse-transform is the standard way to implement FIR filters, with overlap-add and overlap-save handling arbitrarily long inputs.<sup>[10](https://ocw.mit.edu/courses/res-6-008-digital-signal-processing-spring-2011/610905d8154ec2bfc090cf78022249a5_MITRES_6_008S11_lec10.pdf)</sup> Because circular convolution is polynomial multiplication modulo xᴺ − 1, it also serves directly as fast polynomial arithmetic in that ring.<sup>[9](https://spiral.ece.cmu.edu/pub-smart/pubfile/aspfft_38.pdf)</sup> In some applications the periodicity is exactly what is wanted: watermarking, spread-spectrum modulation, certain fast correlation techniques, and processing genuinely periodic signals.<sup>[2](https://www.dsprelated.com/glossary/circular-conv)</sup>\n\nMachine learning has adopted the operation as a layer: the convolution theorem lets a circulant-attention product circ(Z⋆)V be computed as IFFT(FFT(Z⋆) ⊙ FFT(V)) in O(N log N) instead of O(N²) attention,<sup>[16](https://papers.nips.cc/paper_files/paper/2025/file/d9f8b5abc8e0926539ecbb492af7b2f1-Paper-Conference.pdf)</sup> FFT-based depthwise convolutions of all kernel sizes run in \\( O(L \\log L) \\),<sup>[17](https://proceedings.neurips.cc/paper_files/paper/2024/file/2f9ee101e35b890d9eae79ee27bcd69a-Paper-Conference.pdf)</sup> and \\( \\mathrm{conv}(a) \\cdot x \\) in attention inference is computed via FFT. On the hardware side, FlashButterfly fused the entire FFT convolution into a single GPU kernel using a [Butterfly](https://www.edgepedia.org/butterfly) decomposition, since even cuFFT must take multiple passes over the input when the sequence does not fit in SRAM.<sup>[18](https://arxiv.org/pdf/2302.06646v1.pdf)</sup> FlashFFTConv went further with a Monarch decomposition of the FFT, rewriting it as a series of matrix-matrix multiplies to exploit H100 tensor cores, and it scales across sequence lengths from 256 to 4 million.<sup>[19](https://proceedings.iclr.cc/paper_files/paper/2024/file/281190d87732639e63bc19dedd7d711b-Paper-Conference.pdf)</sup>\n\n## Limitations and alternatives\n\n**Circular aliasing** is the main failure mode: performing each DFT with an N-point FFT where \\( N < L + M - 1 \\) returns a circularly convolved result rather than the intended linear convolution, a common source of subtle errors in FIR filter implementations and correlation routines; the fix is zero-padding both sequences to at least \\( L + M - 1 \\).<sup>[2](https://www.dsprelated.com/glossary/circular-conv)</sup> Removing the extra aliased terms from a periodic convolution to produce a linear convolution is called dealiasing, and implicit-dealiasing formulations account for known zero values without explicit padding.<sup>[20](https://malcolmroberts.github.io/publications/roberts_bowman_cse1015.pdf)</sup><sup> • </sup><sup>[21](http://www.math.ualberta.ca/~bowman/publications/hybrid.pdf)</sup>\n\n**Floating-point error and memory** are the second cost. FFT-based convolution is subject to round-off error; computing binomial coefficients via FFT convolution gave 6.999999999999998 where direct convolution gave exact integers, and the FFT route needs significantly more memory because of padding and complex arithmetic, which overlap-and-add techniques can reduce.<sup>[22](https://blogs.mathworks.com/steve/2009/11/03/the-conv-function-and-implementation-tradeoffs/)</sup> For large N, direct summation and the FFT route have different rounding-error behavior, and neither is categorically more accurate; the relative error depends on the data, conditioning, and implementation.<sup>[20](https://malcolmroberts.github.io/publications/roberts_bowman_cse1015.pdf)</sup>\n\n**Break-even size is platform-dependent**, and published guidance disagrees: on CPUs the FFT pays off around \\( N > 100 \\) (one benchmark found it faster from length 64),<sup>[6](https://ccrma.stanford.edu/~jos/dft/Convolution_Theorem.html)</sup> while on GPUs, where massively parallel hardware executes the \\( O(N^{2}) \\) algorithm quickly, FFT convolution wins only for FIR filters of thousands of taps.<sup>[7](https://ccrma.stanford.edu/%7Ejos/sasp/FFT_versus_Direct_Convolution.html)</sup> **Algorithmic alternatives** include number-theoretic transforms, which preserve the circular convolution property; Agarwal and Burrus showed NTTs faster than the FFT in their implementation, and a modern NTT implementation by Chandra outperforms the FFTW library.<sup>[23](https://ar5iv.labs.arxiv.org/html/1005.1497)</sup> Winograd convolution generalizes Toom-Cook via the [Chinese remainder theorem](https://www.edgepedia.org/chinese-remainder-theorem), recovering cyclic convolution with the modulus Xⁿ − 1 and negacyclic with Xⁿ + 1, and choosing evaluation points {0, 1, −1} yields the [Karatsuba algorithm](https://www.edgepedia.org/karatsuba-algorithm); workload-specific comparisons of these against FFT convolution have been published, but their measured break-even points depend on hardware, sizes, and implementation, so no universal break-even size exists.\n\n## References\n\n1. [10.1. The Convolution Theorem, Digital Signals Theory (Brian McFee)](https://brianmcfee.net/dstbook-site/content/ch10-convtheorem/ConvolutionTheorem.html)\n2. [Circular Convolution, DSP Glossary | DSPRelated](https://www.dsprelated.com/glossary/circular-conv)\n3. [The FFT: An Algorithm the Whole Family Can Use](https://web.stanford.edu/class/archive/cs/cs339/cs339.2002/fft.pdf)\n4. [7.05: Discrete Time Circular Convolution and the DTFS (eng.libretexts.org)](https://eng.libretexts.org/Bookshelves/Electrical_Engineering/Signal_Processing_and_Modeling/Signals_and_Systems_%28Baraniuk_et_al.%29/07%3A_Discrete_Time_Fourier_Series_%28DTFS%29/7.05%3A_Discrete_Time_Circular_Convolution_and_the_DTFS)\n5. [9.3 The convolution theorem, CMU Intro to Computer Music](https://www.cs.cmu.edu/~15322/book/ch09/03.html)\n6. [Convolution Theorem (Mathematics of the DFT, Julius O. Smith, CCRMA Stanford)](https://ccrma.stanford.edu/~jos/dft/Convolution_Theorem.html)\n7. [FFT versus Direct Convolution (Stanford CCRMA)](https://ccrma.stanford.edu/%7Ejos/sasp/FFT_versus_Direct_Convolution.html)\n8. [Discovering Transforms: A Tutorial on Circulant Matrices, Circular Convolution, and the Discrete Fourier Transform (arXiv:1805.05533)](https://ar5iv.labs.arxiv.org/html/1805.05533)\n9. [DFT and FFT: An Algebraic View (CMU SPIRAL)](https://spiral.ece.cmu.edu/pub-smart/pubfile/aspfft_38.pdf)\n10. [Lecture 10: Circular convolution (MIT RES.6-008 Digital Signal Processing, Prof. Alan V. Oppenheim)](https://ocw.mit.edu/courses/res-6-008-digital-signal-processing-spring-2011/610905d8154ec2bfc090cf78022249a5_MITRES_6_008S11_lec10.pdf)\n11. [Lecture 24: Circular Convolution (ECE 401, UIUC)](https://courses.grainger.illinois.edu/ece401/fa2024/slides/lec24.pdf)\n12. [The Discrete Fourier Transform (course notes, University of Florida)](https://www.cise.ufl.edu/~ritter/cap4410/Resources/dft.pdf)\n13. [James W. Cooley, John W. Tukey (1965). An algorithm for the machine calculation of complex Fourier series. Mathematics of Computation.](https://doi.org/10.1090/s0025-5718-1965-0178586-1)\n14. [Math & Engineering: Discrete Convolutions (2023-09-19)](https://xn--2-umb.com/23/convolution/)\n15. [H.K. Garg (1996). Skew circular convolution algorithms over finiteinteger rings. Electronics Letters.](https://doi.org/10.1049/el:19961503)\n16. [CAT: Circular-Convolutional Attention for Sub-Quadratic Transformers (NeurIPS 2025)](https://papers.nips.cc/paper_files/paper/2025/file/d9f8b5abc8e0926539ecbb492af7b2f1-Paper-Conference.pdf)\n17. [MRConv: Reparameterized Multi-Resolution Convolutions for Long Sequence Modelling (NeurIPS 2024)](https://proceedings.neurips.cc/paper_files/paper/2024/file/2f9ee101e35b890d9eae79ee27bcd69a-Paper-Conference.pdf)\n18. [Simple Hardware-Efficient Long Convolutions for Sequence Modeling (FlashButterfly)](https://arxiv.org/pdf/2302.06646v1.pdf)\n19. [FlashFFTConv: Efficient Convolutions for Long Sequences with Tensor Cores (ICLR 2024)](https://proceedings.iclr.cc/paper_files/paper/2024/file/281190d87732639e63bc19dedd7d711b-Paper-Conference.pdf)\n20. [Implicitly Dealiased Convolutions (Roberts & Bowman)](https://malcolmroberts.github.io/publications/roberts_bowman_cse1015.pdf)\n21. [Hybrid Dealiasing of Complex Convolutions](http://www.math.ualberta.ca/~bowman/publications/hybrid.pdf)\n22. [The conv function and implementation tradeoffs (MATLAB / Steve Eddins)](https://blogs.mathworks.com/steve/2009/11/03/the-conv-function-and-implementation-tradeoffs/)\n23. [Fast Digital Convolutions using Bit-Shifts](https://ar5iv.labs.arxiv.org/html/1005.1497)\n\n---\n*Topic: Encyclopedia › Physical world and mathematics › Mathematics and statistics › Analysis and mathematical models › Harmonic analysis, transforms, and integral equations*\n\n*Initially written Sep 29, 2026 · Reviewed: Sep 30, 2026 · Edited: Sep 30, 2026 · Last review: Sep 30, 2026*\n\n*Copyright 2026 EdgeChat AI, a subsidiary of Biostate AI.*\n\nLicense: Edgepedia Community License 1.0, https://www.edgepedia.org/edgepedia/license\n",
 "same_as": [
  "https://www.cs.cmu.edu/~15322/book/ch09/03.html",
  "https://ccrma.stanford.edu/~jos/dft/Convolution_Theorem.html",
  "https://www.cise.ufl.edu/~ritter/cap4410/Resources/dft.pdf"
 ],
 "url": "https://www.edgepedia.org/circular-convolution",
 "markdown_url": "https://www.edgepedia.org/circular-convolution.md",
 "license": {
  "name": "Edgepedia Community License 1.0",
  "url": "https://www.edgepedia.org/edgepedia/license",
  "summary": "Free with credit, commercial use included. AI training is open to everyone. For other uses, organizations over USD 100M in revenue or 100M monthly users license separately.",
  "spdx": "LicenseRef-Edgepedia-Community-1.0"
 },
 "credit": "\"Circular convolution\", Edgepedia (EdgeChat), https://www.edgepedia.org/circular-convolution. Edgepedia Community License 1.0.",
 "credit_md": "\"[Circular convolution](https://www.edgepedia.org/circular-convolution)\", Edgepedia (EdgeChat), [https://www.edgepedia.org/circular-convolution](https://www.edgepedia.org/circular-convolution). [Edgepedia Community License 1.0](https://www.edgepedia.org/edgepedia/license).",
 "credit_html": "\"<a href=\"https://www.edgepedia.org/circular-convolution\">Circular convolution</a>\", Edgepedia (EdgeChat), <a href=\"https://www.edgepedia.org/circular-convolution\">https://www.edgepedia.org/circular-convolution</a>. <a href=\"https://www.edgepedia.org/edgepedia/license\">Edgepedia Community License 1.0</a>.",
 "speakable": "Circular convolution is a mathematical operation that convolves two finite sequences of a fixed period N with wraparound indexing, and the discrete Fourier transform turns it into pointwise multiplication."
}
