巡回畳み込み (じゅんかいたたみこみ、英語 : 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