1Dコンボリューション (DBL)
- 更新日2025-07-30
- 5分で読める
入力シーケンスXとYのコンボリューションを計算します。XおよびY入力にデータを配線して自動的に使用する多態性インスタンスを決定するか、インスタンスを手動で選択します。

入力/出力
X
—
Xは、最初の入力シーケンスです。
Y
—
Yは、2番目の入力シーケンスです。
アルゴリズム
—
アルゴリズムはコンボリューションの方法を指定します。アルゴリズムがdirectに設定されている場合、このVIはダイレクトフォームの線形コンボリューションを使用して、コンボリューションを計算します。アルゴリズムがfrequency domainに設定されている場合、このVIはFFTベースの技術を使用して、コンボリューションを計算します。 Xと Yが 小さい場合、 direct 方式が一般的に速い。 Xと Yが 大きい場合、 frequency domain 方式が一般的に速い。また、2つの方法にはわずかな数値的な差異があります。
X * Y
—
X * YはXとYのコンボリュ-ションです。
エラー
—
エラーは、VIからのエラーまたは警告を返します。エラーは「エラーコードからエラークラスタ」VIに配線して、エラーコードまたは警告をエラークラスタに変換できます。 |
1Dコンボリューション
信号x(t)およびy(t)の線形コンボリューションは以下のように定義されます。

ここで、記号*は線形コンボリューションを意味します。
アルゴリズムがdirectの場合、VIは次の公式を使用して線形コンボリューションを個々に行い、X * Yの要素を取得します。

ここで、i = 0, 1, 2, … , M+N-2
また、h は X * Y です。
Nは Xの要素数です、 Mは Yの要素数です、 X と Y の 範囲外の被指数要素は,以下の関係に示すように,0 に等しくなる:xj = 0, j < 0, または j≥N
および
yj =0、 j <0、または j ≧ Mとする。
アルゴリズムがfrequency domainの場合、このVIは次の手順を順に実行して線形コンボリューションを計算します。
- まず、以下の式で示すように、XとYの長さがM + N – 1となるように末尾を0でパッドします。

- 次に、以下の式に従って、X'とY'のフーリエ変換を実行します。
- さらに、X'(f)にY'(f)を乗算して、積の逆フーリエ変換を計算します。その結果が以下の式で示すようにXとYの線形コンボリューションです。
したがって、このVIは線形コンボリューションでなく巡回コンボリューションを計算します。しかし、 x(t) * y(t)N ⇔ X(f)Y(f) はフーリエ変換の組で、 x(t) * y(t)N は x(t) と y(t) の循環畳み込みなので、畳み込みの循環バージョンを作ることができる。巡回コンボリューションの計算には、以下の図のようなブロックダイアグラムを使用できます。

サンプルプログラム
LabVIEWに含まれている以下のサンプルファイルを参照してください。
- labview\examples\Signal Processing\Signal Operation\Edge Detection with 2D Convolution.vi
X
—
アルゴリズム
—
X * Y
—
エラー
—