入力シーケンスXYのコンボリューションを計算します。XおよびY入力にデータを配線して自動的に使用する多態性インスタンスを決定するか、インスタンスを手動で選択します。


icon

入力/出力

  • c2dcdb.png X

    Xは第1複素数の入力シーケンスです。

  • c2dcdb.png Y

    Yは第2複素値入力シーケンスです。

  • cenum.png アルゴリズム

    アルゴリズムはコンボリューションの方法を指定します。アルゴリズムdirectに設定されている場合、このVIはダイレクトフォームの線形コンボリューションを使用して、コンボリューションを計算します。アルゴリズムfrequency domainに設定されている場合、このVIはFFTベースの技術を使用して、コンボリューションを計算します。

    Xと Yが 小さい場合、 direct 方式が一般的に速い。 Xと Yが 大きい場合、 frequency domain 方式が一般的に速い。また、2つの方法にはわずかな数値的な差異があります。

    0
    direct
    1
    frequency domain
    (デフォルト)
  • cenum.png 出力サイズ

    出力サイズは、X * Yのサイズを指定します。

    0full (デフォルト)- X * Yの 幅を Xと Yの 幅の合計より1つ小さく、 X * Yの 高さを Xと Yの高さの合計より1つ小さく設定する。
    1size X- X * Y の幅と高さを X の幅と高さに設定する。
    2compact- X * Yの 幅を Xと Yの 幅の差より1つ大きく、 X * Yの 高さを Xと Yの高さの差より1つ大きく設定する。 The width and height of X must be greater than or equal to the width and height of Y, respectively, when output size is compact.
  • i2dcdb.png X * Y

    X * YXYのコンボリュ-ションです。

  • ii32.png エラー

    エラーは、VIからのエラーまたは警告を返します。エラーは「エラーコードからエラークラスタ」VIに配線して、エラーコードまたは警告をエラークラスタに変換できます。

  • 2Dコンボリューション

    アルゴリズムdirectの場合、VIは次の公式を使用して入力行列XYの2次元コンボリューションを計算します。

    ここで、i = 0, 1, 2, … , M1+M2–2 および j = 0, 1, 2, … , N1+N2–2

    また、hX * Y です。

    M 1は、行列 Xの行数です、 N 1は、行列 Xの列数です、 M 2は行列 Yの行数である、 N 2は行列 Yの列数である、 以下の関係に示すように, Xと Yの 範囲外の指標となる要素は0に等しい:

    x(m,n)、 m <0または mM 1または n <0または nN1

    および

    y(m,n) , m < 0 または m≥ M2 または n < 0 または n≥ N2.

    アルゴリズムfrequency domainの場合、VIは次の手順を順に実行して2次元コンボリューションを計算します。

    • 最初に、以下の式に示すように、このVIはサイズが (M1 + M2 – 1) x (N1 + N2 – 2)となるように、XYの末尾をゼロでパッドします。
    • 次に、以下の式に従って、X'とY'のフーリエ変換を実行します。
    X'(f) = FFT(x') Y'(f)=FFT(y')である。
    • さらに、X'(f)にY'(f)を乗算して、積の逆フーリエ変換を計算します。その結果は、以下の式で示すようにXYの2次元コンボリューションとなります。
    X * Y = IFFT(X'(f) · Y'(f))

    出力サイズは、以下の図に示すように出力行列X * Yのサイズを指定します。

    1. full

      The output matrix X * Y is (M1+M2–1)-by-(N1+N2–1).

    2. size X

      画像処理を行う上で役立ちます。X がフィルタ処理する画像の場合、Y はコンボリューションカーネルと呼ばれる小さい行列です。X * Y は画像Xと同じサイズのフィルタ処理された画像です。出力サイズfullの場合、出力M1-x-N1行列は、出力行列の中心部分です。

    3. compact

      X * Y のエッジ要素を計算するには, 出力サイズが full または size Xの場合,ゼロパディングが必要です.LabVIEWは、出力サイズcompactの場合、これらのエッジ要素を削除します。出力サイズsize Xの場合、出力 (M1M2+1)-x-(N1N2+1) 行列は、出力行列の中心部分です。

    サンプルプログラム

    LabVIEWに含まれている以下のサンプルファイルを参照してください。

    • labview\examples\Signal Processing\Signal Operation\Edge Detection with 2D Convolution.vi