Content deleted Content added
→Example: Update figure to .svg version. |
No edit summary |
||
Line 1:
The '''circular convolution''', also known as '''cyclic convolution''', of two aperiodic functions (i.e. [[Schwartz functions]]) occurs when one of them is [[convolution|convolved in the normal way]] with a [[periodic summation]] of the other function. That situation arises in the context of the [[Discrete Fourier transform#Circular convolution theorem and cross-correlation theorem|circular convolution theorem]]. The identical operation can also be expressed in terms of the periodic summations of
Let ''x'' be a function with a well-defined periodic summation, ''x''<sub>''T''</sub>, where:
:<math>
If ''h'' is any other function for which the convolution ''x''<sub>''T''</sub> ∗ ''h'' exists, then the convolution ''x''<sub>''T''</sub> ∗ ''h'' is periodic and identical to''':'''
Line 10:
\begin{align}
(x_T * h)(t)\quad &\triangleq \ \int_{-\infty}^\infty h(\tau)\cdot x_T(t - \tau)\,d\tau \\
&\equiv \int_{t_o}^{t_o+T} h_T(\tau)\cdot x_T(t - \tau)\,d\tau,
\end{align}
</math><ref>Proof
:<math>\begin{align}
&\int_{-\infty}^\infty ={} &\sum_{k=-\infty}^\infty \left[\int_{t_o+kT}^{t_o+(k+1)T} h(\tau)\cdot x_T(t - \tau)\ d\tau\right] \\
\stackrel{\tau \rightarrow \tau+kT}{=}{}
\end{align}</math>▼
▲\end{align}
</ref>
Line 44 ⟶ 43:
There are also methods for dealing with an '''x''' sequence that is longer than a practical value for '''N'''. The sequence is divided into segments (''blocks'') and processed piecewise. Then the filtered segments are carefully pieced back together. Edge effects are eliminated by <u>overlapping</u> either the input blocks or the output blocks. To help explain and compare the methods, we discuss them both in the context of an '''h''' sequence of length 201 and an FFT size of ''N'' = 1024.
This method uses a block size equal to the FFT size (1024). We describe it first in terms of normal or ''linear'' convolution. When a normal convolution is performed on each block, there are start-up and decay transients at the block edges, due to the filter ''latency'' (200-samples). Only 824 of the convolution outputs are unaffected by edge effects. The others are discarded, or simply not computed. That would cause gaps in the output if the input blocks are contiguous. The gaps are avoided by overlapping the input blocks by 200 samples. In a sense, 200 elements from each input block are "saved" and carried over to the next block. This method is referred to as '''[[Overlap-save method|overlap-save]]''',<ref>Rabiner 1975, pp 65–67.</ref> although the method we describe next requires a similar "save" with the output samples.
Line 50 ⟶ 49:
When an FFT is used to compute the 824 unaffected DFT samples, we don't have the option of not computing the affected samples, but the leading and trailing edge-effects are overlapped and added because of circular convolution. Consequently, the 1024-point inverse FFT (IFFT) output contains only 200 samples of edge effects (which are discarded) and the 824 unaffected samples (which are kept). To illustrate this, the fourth frame of the figure at right depicts a block that has been periodically (or "circularly") extended, and the fifth frame depicts the individual components of a linear convolution performed on the entire sequence. The edge effects are where the contributions from the extended blocks overlap the contributions from the original block. The last frame is the composite output, and the section colored green represents the unaffected portion.
This method is known as
== See also ==
|