fbpx
Wikipedia

Circular convolution

Circular convolution, also known as cyclic convolution, is a special case of periodic convolution, which is the convolution of two periodic functions that have the same period. Periodic convolution arises, for example, in the context of the discrete-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 a periodic summation of a continuous Fourier transform function (see DTFT § Definition). 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

The periodic convolution of two T-periodic functions,   and   can be defined as:

    [1][2]

where   is an arbitrary parameter.  An alternative definition, in terms of the notation of normal linear or aperiodic convolution, follows from expressing   and   as periodic summations of aperiodic components   and  , i.e.:

 

Then:

 

(Eq.1)
Derivation of Eq.1
 


Both forms can be called periodic convolution.[a] The term circular convolution[2][3] arises from the important special case of constraining the non-zero portions of both   and   to the interval   Then the periodic summation becomes a periodic extension[b], which can also be expressed as a circular function:

  (any real number)[c]

And the limits of integration reduce to the length of function  :

 [d][e]

Discrete sequences edit

Similarly, for discrete sequences, and a parameter N, we can write a circular convolution of aperiodic functions   and   as:

 

This function is N-periodic. It has at most N unique values. For the special case that the non-zero extent of both x and h are ≤ N, it is reducible to matrix multiplication where the kernel of the integral transform is a circulant 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 the x sequence is N (or less), and the duration of the h sequence is significantly less. Then many of the values of the circular convolution are identical to values of x∗h,  which is actually the desired result when the h sequence is a finite impulse response (FIR) filter. Furthermore, the circular convolution is very efficient to compute, using a fast Fourier transform (FFT) algorithm and the circular convolution theorem.

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 overlapping 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.

Overlapping input blocks edit

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,[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 as overlap-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. ^ a b Udayashankara, 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. ^ a b Rabiner, 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.

circular, convolution, also, known, cyclic, convolution, special, case, periodic, convolution, which, convolution, periodic, functions, that, have, same, period, periodic, convolution, arises, example, context, discrete, time, fourier, transform, dtft, particu. Circular convolution also known as cyclic convolution is a special case of periodic convolution which is the convolution of two periodic functions that have the same period Periodic convolution arises for example in the context of the discrete 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 a periodic summation of a continuous Fourier transform function see DTFT Definition 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 Contents 1 Definitions 2 Discrete sequences 3 Example 3 1 Overlapping input blocks 3 2 Overlapping output blocks 4 See also 5 Page citations 6 References 7 Further readingDefinitions editThe periodic convolution of two T periodic functions h T t displaystyle h T t nbsp and x T t displaystyle x T t nbsp can be defined as t o t o T h T t x T t t d t displaystyle int t o t o T h T tau cdot x T t tau d tau nbsp 1 2 where t o displaystyle t o nbsp is an arbitrary parameter An alternative definition in terms of the notation of normal linear or aperiodic convolution follows from expressing h T t displaystyle h T t nbsp and x T t displaystyle x T t nbsp as periodic summations of aperiodic components h displaystyle h nbsp and x displaystyle x nbsp i e h T t k h t k T k h t k T displaystyle h T t triangleq sum k infty infty h t kT sum k infty infty h t kT nbsp Then t o t o T h T t x T t t d t h t x T t t d t h x T t x h T 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 nbsp Eq 1 Derivation of Eq 1 h t x T t t d t k t o k T t o k 1 T h t x T t t d t t 0 is an arbitrary parameter k t o t o T h u k T x T t u k T x T t u by periodicity d u substituting u t k T t o t o T k h u k T x T t u d u t o t o T k h u k T h T u x T t u d u t o t o T h T t x T t t d t substituting t u displaystyle begin aligned int infty infty h tau cdot x T t tau d tau amp 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 amp 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 amp int t o t o T left sum k infty infty h u kT cdot x T t u right du amp 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 amp int t o t o T h T tau cdot x T t tau d tau quad text substituting tau triangleq u end aligned nbsp Both forms can be called periodic convolution a The term circular convolution 2 3 arises from the important special case of constraining the non zero portions of both h displaystyle h nbsp and x displaystyle x nbsp to the interval 0 T displaystyle 0 T nbsp Then the periodic summation becomes a periodic extension b which can also be expressed as a circular function x T t x t m o d T t R displaystyle x T t x t mathrm mod T quad t in mathbb R nbsp any real number c And the limits of integration reduce to the length of function h displaystyle h nbsp h x T t 0 T h t x t t m o d T d t displaystyle h x T t int 0 T h tau cdot x t tau mathrm mod T d tau nbsp d e Discrete sequences editSimilarly for discrete sequences and a parameter N we can write a circular convolution of aperiodic functions h displaystyle h nbsp and x displaystyle x nbsp as h x N n m h m x N n m k x n m k N 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 nbsp This function is N periodic It has at most N unique values For the special case that the non zero extent of both x and h are N it is reducible to matrix multiplication where the kernel of the integral transform is a circulant matrix Example edit nbsp 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 the x sequence is N or less and the duration of the h sequence is significantly less Then many of the values of the circular convolution are identical to values of x h which is actually the desired result when the h sequence is a finite impulse response FIR filter Furthermore the circular convolution is very efficient to compute using a fast Fourier transform FFT algorithm and the circular convolution theorem 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 overlapping 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 Overlapping input blocks edit 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 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 as overlap 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 editConvolution theorem Circulant matrix Discrete Hilbert transformPage citations edit McGillem and Cooper p 172 4 6 McGillem and Cooper p 183 4 51 Oppenheim and Shafer p 559 8 59 Oppenheim and Shafer p 571 8 114 shown in digital form McGillem and Cooper p 171 4 22 shown in digital formReferences edit 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 a b Udayashankara V June 2010 Real Time Digital Signal Processing India Prentice Hall p 189 ISBN 978 8 12 034049 7 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 a b Rabiner 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 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 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 amp oldid 1218605908, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.