ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

線形および循環たたみ込み

この例は、線形たたみ込みと循環たたみ込みの等価性を証明する方法を示しています。

線形たたみ込みと循環たたみ込みは、基本的には別の演算です。ただし、線形たたみ込みと循環たたみ込みが等価になる条件があります。この等価性を証明することには、重要な意味あいがあります。2 つのベクトル x と y に対して、循環たたみ込みはそれらのベクトルの DFT の積の逆離散型フーリエ変換 (DFT) と等価です。線形たたみ込みと循環たたみ込みが等価になる条件を知ることによって、DFT を使用して線形たたみ込みを効率的に計算することができます。

N 点のベクトル x と L 点のベクトル y の線形たたみ込みは、長さ N+L-1 になります。

x と y の循環たたみ込みが等価になるためには、DFT を実行する前にベクトルにゼロを付加して長さを少なくとも N+L-1 にしなければなりません。DFT の積の逆変換を求めると、最初の N+L-1 の要素だけが残ります。

2 つのベクトル x と y を作成し、2 つのベクトルの線形たたみ込みを計算します。

出力の長さは 4+3–1 です。

両ベクトルにゼロを付加して長さを 4+3–1 にします。両ベクトルの DFT を求め、2 つの DFT を乗算します。その積の逆 DFT を求めます。

ゼロが付加されたベクトル xpadypad の循環たたみ込みは、xy の線形たたみ込みと等価です。出力の長さが 4+3–1 なので、ccirc のすべての要素が残ります。

等価性を示すために、線形たたみ込みとDFT の積の逆出力をプロットします。

ベクトルにゼロを付加して長さを 12 にします。DFT の積の逆 DFT を使用して循環たたみ込みを求めます。最初の 4+3–1 の要素だけ残して、線形たたみ込みと等しい結果になります。

Signal Processing Toolbox™ ソフトウェアがもつ関数 cconv は、2 つのベクトルの循環たたみ込みの結果を返します。次のコードにより、循環たたみ込みを使用して xy の線形たたみ込みが求められます。

cconv は、前の例で説明したものと同じ DFT を使用した手順を内部で使用しています。

この情報は役に立ちましたか?