巡回畳み込み (じゅんかいたたみこみ、英語 : circular convolution )あるいは循環畳み込み (じゅんかんたたみこみ、英語 : cyclic convolution )とは、二つの非周期関数に対し、一方の周期和 (英語版 ) を用いて、もう一方を通常の方法で畳み込む ことを意味する。このような状況は巡回畳み込み定理 の文脈において現れる。もし無限の積分区間が、ちょうど一周期分へと減らされた場合には、両方の関数の周期和として、同様の畳み込み作用を表現することが出来る。このような状況は離散時間フーリエ変換 の文脈において現れ、周期畳み込み とも呼ばれる。特に、二つの離散シーケンスの積に対する離散時間フーリエ変換は、各シーケンスに対するその変換の周期畳み込みである[ 1] 。
周期 T の周期関数 x T と、他の関数 h との畳み込み はふたたび周期関数となり、次のような形で、有限区間の積分として表現される:
( x T ∗ h ) ( t ) = d e f ∫ − ∞ ∞ h ( τ ) ⋅ x T ( t − τ ) d τ = ∫ t o t o + T h T ( τ ) ⋅ x T ( t − τ ) d τ . {\displaystyle {\begin{aligned}(x_{T}*h)(t)\quad &{\stackrel {\mathrm {def} }{=}}\ \int _{-\infty }^{\infty }h(\tau )\cdot x_{T}(t-\tau )\,d\tau \\&=\int _{t_{o}}^{t_{o}+T}h_{T}(\tau )\cdot x_{T}(t-\tau )\,d\tau .\end{aligned}}} [ 2] ここで t o は任意のパラメータであり、h T は h の周期和で、それは次のように定義される:
h T ( t ) = d e f ∑ k = − ∞ ∞ h ( t − k T ) = ∑ k = − ∞ ∞ h ( t + k T ) . {\displaystyle h_{T}(t)\ {\stackrel {\mathrm {def} }{=}}\ \sum _{k=-\infty }^{\infty }h(t-kT)=\sum _{k=-\infty }^{\infty }h(t+kT).} この演算は関数 x T と h T の周期畳み込み である。もし x T が他の関数 x の周期和であるなら、同様の演算は関数 x と h の巡回畳み込み と呼ばれる。
同様に、周期 N の離散シーケンスに対して、関数 h と x の巡回畳み込み を次のように書くことが出来る:
( x N ∗ h ) [ n ] = d e f ∑ m = − ∞ ∞ h [ m ] ⋅ x N [ n − m ] = ∑ m = − ∞ ∞ ( h [ m ] ⋅ ∑ k = − ∞ ∞ x [ n − m − k N ] ) . {\displaystyle {\begin{aligned}(x_{N}*h)[n]\ &{\stackrel {\mathrm {def} }{=}}\ \sum _{m=-\infty }^{\infty }h[m]\cdot x_{N}[n-m]\\&=\sum _{m=-\infty }^{\infty }\left(h[m]\cdot \sum _{k=-\infty }^{\infty }x[n-m-kN]\right).\end{aligned}}} これは行列の乗法 に対応し、その積分変換の核は巡回行列 である。
^ もし連続関数 x (t ) のサンプルからなるシーケンス x [n ] のフーリエ変換が X (ƒ) であるなら、その離散時間フーリエ変換は X (ƒ) の周期和となる(離散時間フーリエ変換 を参照されたい)。 ^ 証明: ∫ − ∞ ∞ h ( τ ) ⋅ x T ( t − τ ) d τ {\displaystyle \int _{-\infty }^{\infty }h(\tau )\cdot x_{T}(t-\tau )\,d\tau } = ∑ k = − ∞ ∞ [ ∫ t o + k T t o + ( k + 1 ) T h ( τ ) ⋅ x T ( t − τ ) d τ ] = τ → τ + k T ∑ k = − ∞ ∞ [ ∫ t o t o + T h ( τ + k T ) ⋅ x T ( t − τ − k T ) d τ ] = ∫ t o t o + T [ ∑ k = − ∞ ∞ h ( τ + k T ) ⋅ x T ( t − τ − k T ) ⏟ x T ( t − τ ) , by periodicity ] d τ = ∫ t o t o + T [ ∑ k = − ∞ ∞ h ( τ + k T ) ] ⏟ = d e f h T ( τ ) ⋅ x T ( t − τ ) d τ ( Q E D ) {\displaystyle {\begin{aligned}&=\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}{=}}\ \sum _{k=-\infty }^{\infty }\left[\int _{t_{o}}^{t_{o}+T}h(\tau +kT)\cdot x_{T}(t-\tau -kT)\ d\tau \right]\\&=\int _{t_{o}}^{t_{o}+T}\left[\sum _{k=-\infty }^{\infty }h(\tau +kT)\cdot \underbrace {x_{T}(t-\tau -kT)} _{x_{T}(t-\tau ),{\text{by periodicity}}}\right]\ d\tau \\&=\int _{t_{o}}^{t_{o}+T}\underbrace {\left[\sum _{k=-\infty }^{\infty }h(\tau +kT)\right]} _{{\stackrel {\mathrm {def} }{=}}\ h_{T}(\tau )}\cdot x_{T}(t-\tau )\ d\tau \quad \quad \scriptstyle {(QED)}\end{aligned}}} 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 A. (1999). Discrete-time signal processing . Upper Saddle River, N.J.: Prentice Hall. ISBN 0-13-754920-2