Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Circular convolution

From Wikipedia, the free encyclopedia
Mathematical operation

Circular convolution, also known ascyclic convolution, is a special case ofperiodic convolution, which is theconvolution of two periodic functions that have the same period. Periodic convolution arises, for example, in the context of thediscrete-time Fourier transform (DTFT). In particular, the DTFT of the product of two discrete sequences is the periodic convolution of the DTFTs of the individual sequences. And each DTFT is aperiodic summation of a continuous Fourier transform function (seeDiscrete-time Fourier transform § Relation to Fourier Transform). Although DTFTs are usually continuous functions of frequency, the concepts of periodic and circular convolution are also directly applicable to discrete sequences of data. In that context, circular convolution plays an important role in maximizing the efficiency of a certain kind of common filtering operation.

Definitions

[edit]

Theperiodic convolution of two T-periodic functions,hT(t){\displaystyle h_{_{T}}(t)} andxT(t){\displaystyle x_{_{T}}(t)} can be defined as:

toto+ThT(τ)xT(tτ)dτ,{\displaystyle \int _{t_{o}}^{t_{o}+T}h_{_{T}}(\tau )\cdot x_{_{T}}(t-\tau )\,d\tau ,}  [1][2]

whereto{\displaystyle t_{o}} is an arbitrary parameter.  An alternative definition, in terms of the notation of normallinear oraperiodic convolution, follows from expressinghT(t){\displaystyle h_{_{T}}(t)} andxT(t){\displaystyle x_{_{T}}(t)} asperiodic summations of aperiodic componentsh{\displaystyle h} andx{\displaystyle x}, i.e.:

hT(t)  k=h(tkT)=k=h(t+kT).{\displaystyle h_{_{T}}(t)\ \triangleq \ \sum _{k=-\infty }^{\infty }h(t-kT)=\sum _{k=-\infty }^{\infty }h(t+kT).}

Then:

toto+ThT(τ)xT(tτ)dτ=h(τ)xT(tτ)dτ  (hxT)(t)=(xhT)(t).{\displaystyle \int _{t_{o}}^{t_{o}+T}h_{_{T}}(\tau )\cdot x_{_{T}}(t-\tau )\,d\tau =\int _{-\infty }^{\infty }h(\tau )\cdot x_{_{T}}(t-\tau )\,d\tau \ \triangleq \ (h*x_{_{T}})(t)=(x*h_{_{T}})(t).}    

Eq.1
Derivation of Eq.1
h(τ)xT(tτ)dτ=k=[to+kTto+(k+1)Th(τ)xT(tτ) dτ]t0 is an arbitrary parameter=k=[toto+Th(u+kT)xT(tukT)xT(tu), by periodicity du]substituting uτkT=toto+T[k=h(u+kT)xT(tu)] du=toto+T[k=h(u+kT)] hT(u)xT(tu) du=toto+ThT(τ)xT(tτ) dτsubstituting τu{\displaystyle {\begin{aligned}\int _{-\infty }^{\infty }h(\tau )\cdot x_{_{T}}(t-\tau )\,d\tau &=\sum _{k=-\infty }^{\infty }\left[\int _{t_{o}+kT}^{t_{o}+(k+1)T}h(\tau )\cdot x_{_{T}}(t-\tau )\ d\tau \right]\quad t_{0}{\text{ is an arbitrary parameter}}\\&=\sum _{k=-\infty }^{\infty }\left[\int _{t_{o}}^{t_{o}+T}h(u+kT)\cdot \underbrace {x_{_{T}}(t-u-kT)} _{x_{_{T}}(t-u),{\text{ by periodicity}}}\ du\right]\quad {\text{substituting }}u\triangleq \tau -kT\\&=\int _{t_{o}}^{t_{o}+T}\left[\sum _{k=-\infty }^{\infty }h(u+kT)\cdot x_{_{T}}(t-u)\right]\ du\\&=\int _{t_{o}}^{t_{o}+T}\underbrace {\left[\sum _{k=-\infty }^{\infty }h(u+kT)\right]} _{\triangleq \ h_{_{T}}(u)}\cdot x_{_{T}}(t-u)\ du\\&=\int _{t_{o}}^{t_{o}+T}h_{_{T}}(\tau )\cdot x_{_{T}}(t-\tau )\ d\tau \quad {\text{substituting }}\tau \triangleq u\end{aligned}}}


Both forms can be calledperiodic convolution.[a] The termcircular convolution[2][3] arises from the important special case of constraining the non-zero portions of bothh{\displaystyle h} andx{\displaystyle x} to the interval[0,T].{\displaystyle [0,T].} Then the periodic summation becomes aperiodic extension[b], which can also be expressed as acircular function:

xT(t)=x(tmod T),tR{\displaystyle x_{_{T}}(t)=x(t_{\mathrm {mod} \ T}),\quad t\in \mathbb {R} \,} (any real number)[c]

And the limits of integration reduce to the length of functionh{\displaystyle h}:

(hxT)(t)=0Th(τ)x((tτ)mod T) dτ.{\displaystyle (h*x_{_{T}})(t)=\int _{0}^{T}h(\tau )\cdot x((t-\tau )_{\mathrm {mod} \ T})\ d\tau .}[d][e]

Discrete sequences

[edit]

Similarly, for discrete sequences, and a parameterN, we can write acircular convolution of aperiodic functionsh{\displaystyle h} andx{\displaystyle x} as:

(hxN)[n]  m=h[m]xN[nm]k=x[nmkN]{\displaystyle (h*x_{_{N}})[n]\ \triangleq \ \sum _{m=-\infty }^{\infty }h[m]\cdot \underbrace {x_{_{N}}[n-m]} _{\sum _{k=-\infty }^{\infty }x[n-m-kN]}}

This function isN-periodic. It has at mostN unique values. For the special case that the non-zero extent of bothx andh are≤ N, it is reducible tomatrix multiplication where the kernel of the integral transform is acirculant matrix.

Example

[edit]
Circular convolution can be expedited by the FFT algorithm, so it is often used with an FIR filter to efficiently compute linear convolutions. These graphs illustrate how that is possible. Note that a larger FFT size (N) would prevent the overlap that causes graph #6 to not quite match all of #3.

A case of great practical interest is illustrated in the figure. The duration of thex sequence isN (or less), and the duration of theh sequence is significantly less. Then many of the values of the circular convolution are identical to values ofx∗h,  which is actually the desired result when theh sequence is afinite impulse response (FIR) filter. Furthermore, the circular convolution is very efficient to compute, using afast Fourier transform (FFT) algorithm and thecircular convolution theorem.

There are also methods for dealing with anx sequence that is longer than a practical value forN. The sequence is divided into segments (blocks) and processed piecewise. Then the filtered segments are carefully pieced back together. Edge effects are eliminated byoverlapping either the input blocks or the output blocks. To help explain and compare the methods, we discuss them both in the context of anh sequence of length 201 and an FFT size of N = 1024.

Overlapping input blocks

[edit]

This method uses a block size equal to the FFT size (1024). We describe it first in terms of normal orlinear convolution. When a normal convolution is performed on each block, there are start-up and decay transients at the block edges, due to the filterlatency (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 asoverlap-save,[4] although the method we describe next requires a similar "save" with the output samples.

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.

Overlapping output blocks

[edit]

This method is known asoverlap-add.[4] In our example, it uses contiguous input blocks of size 824 and pads each one with 200 zero-valued samples. Then it overlaps and adds the 1024-element output blocks. Nothing is discarded, but 200 values of each output block must be "saved" for the addition with the next block. Both methods advance only 824 samples per 1024-point IFFT, but overlap-save avoids the initial zero-padding and final addition.

See also

[edit]

Page citations

[edit]
  1. ^McGillem and Cooper, p 172 (4-6)
  2. ^McGillem and Cooper, p 183 (4-51)
  3. ^Oppenheim and Shafer, p 559 (8.59)
  4. ^Oppenheim and Shafer, p 571 (8.114), shown in digital form
  5. ^McGillem and Cooper, p 171 (4-22), shown in digital form

References

[edit]
  1. ^Jeruchim, Michel C.; Balaban, Philip; Shanmugan, K. Sam (October 2000).Simulation of Communication Systems: Modeling, Methodology and Techniques (2nd ed.). New York: Kluwer Academic Publishers. pp. 73–74.ISBN 0-30-646267-2.
  2. ^abUdayashankara, V. (June 2010).Real Time Digital Signal Processing. India: Prentice-Hall. p. 189.ISBN 978-8-12-034049-7.
  3. ^Priemer, Roland (July 1991).Introductory Signal Processing. Advanced Series in Electrical and Computer Engineering. Vol. 6. Teaneck, N.J.: World Scientific Pub Co Inc. pp. 286–289.ISBN 9971-50-919-9.
  4. ^abRabiner, Lawrence R.; Gold, Bernard (1975).Theory and application of digital signal processing. Englewood Cliffs, N.J.: Prentice-Hall. pp. 63–67.ISBN 0-13-914101-4.
  1. Oppenheim, Alan V.;Schafer, Ronald W.; Buck, John R. (1999).Discrete-time signal processing (2nd ed.). Upper Saddle River, N.J.: Prentice Hall. pp. 548, 571.ISBN 0-13-754920-2.
  2. McGillem, Clare D.; Cooper, George R. (1984).Continuous and Discrete Signal and System Analysis (2 ed.). Holt, Rinehart and Winston.ISBN 0-03-061703-0.

Further reading

[edit]
  • Oppenheim, Alan V.; Willsky, with S. Hamid (1998).Signals and Systems. Pearson Education.ISBN 0-13-814757-4.
Retrieved from "https://en.wikipedia.org/w/index.php?title=Circular_convolution&oldid=1263574327"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp