Circular convolution: Difference between revisions

Content deleted Content added
clarify a footnote
Definitions: add whitespace
 
(36 intermediate revisions by 13 users not shown)
Line 1:
{{Short description|Mathematical operation}}
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 ''both'' functions, if the infinite integration interval is reduced to just one period. That situation arises in the context of the [[discrete-time Fourier transform]] (DTFT) and is also called '''periodic convolution'''. In particular, the DTFT of the product of two discrete sequences is the periodic convolution of the DTFTs of the individual sequences.{{efn-ua
'''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 {{slink|Discrete-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.
|If a sequence, ''x''[''n''], represents samples of a continuous function, ''x''(''t''), with Fourier transform ''X''(ƒ), its DTFT is a periodic summation of ''X''(ƒ). (See [[Discrete-time Fourier transform#Definition]].)
}}
 
==Definitions==
Let ''x'' be a function with a well-defined periodic summation, ''x''<sub>''T''</sub>, where:
 
The ''periodic convolution'' of two T-periodic functions, <math>h_{_T}(t)</math> and <math>x_{_T}(t)</math> can be defined as''':'''
:<math>x_T(t) \ \triangleq \ \sum_{k=-\infty}^\infty x(t - kT) = \sum_{k=-\infty}^\infty x(t + kT).</math><ref name=McGillem/>
 
:<math>\int_{t_o}^{t_o+T} h_{_T}(\tau)\cdot x_{_T}(t - \tau)\,d\tau,</math> &nbsp; <ref name=Jeruchim/><ref name=Udayashankara/>
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''':'''
 
where <math>t_o</math> is an arbitrary parameter.&nbsp; An alternative definition, in terms of the notation of normal ''linear'' or ''aperiodic'' convolution, follows from expressing <math>h_{_T}(t)</math> and <math>x_{_T}(t)</math> as [[periodic summation|periodic summations]] of aperiodic components <math>h</math> and <math>x</math>, i.e.''':'''
:<math>
\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>{{efn-ua
|Proof:
 
:<math>h_{_T}(t) \ \triangleq \ \sum_{k=-\infty}^\infty h(t - kT) = \sum_{k=-\infty}^\infty h(t + kT).</math>
 
Then''':'''
 
{{Equation box 1
|indent=:|cellpadding=0|border=0|background colour=white
|equation={{NumBlk||
<math>
\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).</math> &nbsp; &nbsp;
|{{EquationRef|Eq.1}} }} }}
{{Collapse top|title=Derivation of Eq.1}}
:<math>\begin{align}
&\int_{-\infty}^\infty h(\tau)\cdot x_Tx_{_T}(t - \tau)\,d\tau \\
&={} &\sum_{k=-\infty}^\infty \left[\int_{t_o+kT}^{t_o+(k+1)T} h(\tau)\cdot x_Tx_{_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\\
\stackrel{\tau \rightarrow \tau+kT}{=}{}
&=\int_{t_o}^{t_o+T} \left[\sum_{k=-\infty}^\infty \left[\int_{t_o}^{t_o+T} h(\tauu + kT)\cdot x_Tx_{_T}(t - \tau -kTu)\ d\tau\right]\ du\\
&={} &\int_{t_o}^{t_o+T} \underbrace{\left[\sum_{k=-\infty}^\infty h(\tauu + kT)\cdotright]}_{\triangleq \underbrace h_{x_T_T}(t - \tau-kTu)}_\cdot x_{X_T_T}(t - \tauu), \text{ by periodicity}}\right]\ d\taudu\\
&={} &\int_{t_o}^{t_o+T} \underbraceh_{\left[\sum_{k=-\infty_T}^\infty h(\tau + kT)\right]}_cdot x_{\triangleq \ h_T(\tau)_T}\cdot x_T(t - \tau)\ d\tau \quad \quadtext{substituting } \scriptstyle{(QED)}tau \triangleq u
\end{align}</math>
{{Collapse bottom}}<br>
 
Both forms can be called ''periodic convolution''.{{efn-la
|[[#McGillem|McGillem and Cooper]], p 172 (4-6)
}} The term ''circular convolution''<ref name=Udayashankara/><ref name=Priemer/> arises from the important special case of constraining the non-zero portions of both <math>h</math> and <math>x</math> to the interval <math>[0,T].</math> Then the periodic summation becomes a ''periodic extension''{{efn-la
|[[#McGillem|McGillem and Cooper]], p 183 (4-51)
}}, which can also be expressed as a ''circular function''''':'''
 
:<math>x_{_T}(t) = x(t_{\mathrm{mod}\ T}), \quad t\in\mathbb{R}\,</math> ([[Number#Real_numbers|any real number]]){{efn-la
|[[#Oppenheim|Oppenheim and Shafer]], p 559 (8.59)
}}
 
And the limits of integration reduce to the length of function <math>h</math>''':'''
where ''t''<sub>o</sub> is an arbitrary parameter and ''h''<sub>''T''</sub> is a [[periodic summation]] of ''h''.&nbsp; The second integral is called the '''periodic convolution'''<ref name=Jeruchim/><ref name=Udayashankara/> of functions ''x''<sub>''T''</sub> and ''h''<sub>''T''</sub>.&nbsp; When ''x''<sub>''T''</sub> is expressed as the [[periodic summation]] of another function, ''x'', the same operation may also be referred to as a '''circular convolution'''<ref name=Udayashankara/><ref name=Priemer/> of functions ''h'' and ''x''.{{efn-ua
 
|This terminology is not consistent across all authors. Some authors constrain both <math>h</math> and <math>x</math> to the interval <math>[0,T]</math> and call &nbsp;<math>\int_{0}^{T} h(\tau)\cdot x(\mathrm{mod}_T(t - \tau))\ d\tau</math>&nbsp; a ''circular convolution''.}}
:<math>(h *x_{_T})(t) = \int_{0}^{T} h(\tau)\cdot x((t - \tau)_{\mathrm{mod}\ T})\ d\tau.</math>{{efn-la
|[[#Oppenheim|Oppenheim and Shafer]], p 571 (8.114), shown in digital form
}}{{efn-la
|[[#McGillem|McGillem and Cooper]], p 171 (4-22), shown in digital form
}}
 
== Discrete sequences ==
Line 34 ⟶ 53:
 
:<math>
(x_Nh * hx_{_N})[n] \ \triangleq \ \sum_{m=-\infty}^\infty h[m] \cdot \underbrace{x_Nx_{_N}[n-m]}_{\sum_{k=-\infty}^\infty x[n -m -kN]}
</math>
 
Line 40 ⟶ 59:
 
== Example ==
[[Image:Circular convolution example.svg|thumb|400px|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''',&nbsp; 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 [[Discrete Fourier transform#Circular convolution theorem and cross-correlation theorem|circular convolution theorem]].
 
Line 56 ⟶ 75:
 
== See also ==
*[[Convolution theorem#Functions of discrete variable sequences|Convolution theorem]]
*[[Circulant matrix]]
*[[Hilbert transform#Discrete Hilbert transform|Discrete Hilbert transform]]
*[[Circulant matrix]]
 
== Notes ==
{{notelist-ua}}
 
== Page citations ==
Line 69 ⟶ 86:
<ref name=Rabiner>
{{cite book
|author1=Rabiner, Lawrence R.
| ref=refRabiner
|author2=Gold, Bernard
| author1=Rabiner, Lawrence R.
|title=Theory and application of digital signal processing
| author2=Gold, Bernard
|pages=63–67
| title=Theory and application of digital signal processing
|year=1975
| pages=63–67
|publisher=Prentice-Hall
| year=1975
|___location=Englewood Cliffs, N.J.
| publisher=Prentice-Hall
|isbn=0-13-914101-4
| ___location=Englewood Cliffs, N.J.
|url-access=registration
| isbn=0-13-914101-4
|url=https://archive.org/details/theoryapplicatio00rabi/page/63
| url-access=registration
| url=https://archive.org/details/theoryapplicatio00rabi/page/63
}}</ref>
 
 
<ref name=Priemer>
{{cite book
|last=Priemer
| ref=refPriemer
|first=Roland
| last =Priemer
|title=Introductory Signal Processing
| first =Roland
|pages=286–289
| title =Introductory Signal Processing
|publisher=World Scientific Pub Co Inc.
| pages=286–289
|series=Advanced Series in Electrical and Computer Engineering
| publisher =World Scientific Pub Co Inc.
|volume=6
| series =Advanced Series in Electrical and Computer Engineering
|date=July 1991
| volume =6
|___location=Teaneck, N.J.
| date =July 1991
|url=https://books.google.com/books?id=QBT7nP7zTLgC&q=Priemer,+Roland
| ___location =Teaneck, N.J.
|isbn=9971-50-919-9
| url =https://books.google.com/?id=QBT7nP7zTLgC&printsec=frontcover&dq=Priemer,+Roland
| isbn =9971-50-919-9
}}</ref>
 
<ref name=Jeruchim>
{{cite book
|last1=Jeruchim
| ref=refJeruchim
|first1=Michel C.
| last =Jeruchim
|last2=Balaban
| first =Michel C.
|first2=Philip
| last2 =Balaban
|last3=Shanmugan
| first2 =Philip
|first3=K. Sam
| last3 =Shanmugan
|title=Simulation of Communication Systems: Modeling, Methodology and Techniques
| first3 =K. Sam
|pages=73–74
| title =Simulation of Communication Systems: Modeling, Methodology and Techniques
|publisher=Kluwer Academic Publishers
| pages=73–74
|edition=2nd
| publisher =Kluwer Academic Publishers
|date=October 2000
| edition =2nd
|___location=New York
| date =October 2000
|isbn=0-30-646267-2
| ___location =New York
| isbn =0-30-646267-2
}}</ref>
 
<ref name=Udayashankara>
{{cite book
|last=Udayashankara
| ref=refUdayashankara
|first=V.
| last =Udayashankara
|title=Real Time Digital Signal Processing
| first =V.
|page=189
| title =Real Time Digital Signal Processing
|publisher=Prentice-Hall
| page=189
|date=June 2010
| publisher =Prentice-Hall
|___location=India
| date =June 2010
|isbn=978-8-12-034049-7
| ___location =India
| isbn =978-8-12-034049-7
}}</ref>
<ref name=McGillem>
{{cite book
| ref=refMcGillem
| last1 =McGillem
| first1 =Clare D.
| last2 =Cooper
| first2 =George R.
| page =183 (4-51)
| title =Continuous and Discrete Signal and System Analysis
| publisher =Holt, Rinehart and Winston
| edition =2
| date =1984
| isbn =0-03-061703-0
}}</ref>
}}
{{refbegin}}
#<li value="65">{{cite book
|ref=refOppenheimOppenheim
|lastlast1=Oppenheim
|firstfirst1=Alan V.
|authorlink=Alan V. Oppenheim
|last2=Schafer
Line 156 ⟶ 154:
|first3=John R.
|title=Discrete-time signal processing
|pages=[https://archive.org/details/discretetimesign00alan/page/548 548], 571
|year=1999
|publisher=Prentice Hall
Line 164 ⟶ 162:
|url-access=registration
|url=https://archive.org/details/discretetimesign00alan
}}
}}&nbsp; Also available at https://d1.amobbs.com/bbs_upload782111/files_24/ourdev_523225.pdf
#{{cite book
</li>
|ref=McGillem
|last1=McGillem
|first1=Clare D.
|last2=Cooper
|first2=George R.
|title=Continuous and Discrete Signal and System Analysis
|publisher=Holt, Rinehart and Winston
|edition=2
|date=1984
|isbn=0-03-061703-0
}}
 
== Further reading ==
*{{cite book |author1=Oppenheim, Alan V. |author2=Willsky, with S. Hamid | title=Signals and Systems | publisher=Pearson Education | year=1998 | isbn=0-13-814757-4}}
{{refend}}