입력 시퀀스 XY의 합성곱을 계산합니다. 데이터를 X 또는 Y 입력에 연결하여 사용할 다형성 인스턴스를 결정하거나 인스턴스를 수동으로 선택합니다.


icon

입력/출력

  • c2ddbl.png X

    X는 첫번째 입력 시퀀스입니다.

  • c2ddbl.png Y

    Y는 두번째 입력 시퀀스입니다.

  • cenum.png 알고리즘

    알고리즘은 사용할 합성곱 방법을 지정합니다. 알고리즘direct일 때, 이 VI는 선형 합성곱의 다이렉트 방법을 사용하여 합성곱을 계산합니다. 알고리즘frequency domain일 때, 이 VI는 FFT 기반 기술을 사용하여 합성곱을 계산합니다.

    X와 Y가 작은 경우 일반적으로 direct 방식이 더 빠릅니다. X와 Y가 큰 경우 일반적으로 frequency domain 방식이 더 빠릅니다. 또한, 두 방법 사이에 약간의 숫자상 차이가 있을 수 있습니다.

    0
    direct
    1
    frequency domain
    (기본)
  • cenum.png 출력 크기

    출력 크기X * Y의 크기를 결정합니다.

    0full (기본값) -X * Y의 너비를 X와 Y의 너비 합계보다 작은 값으로 설정하고, X * Y의 높이를 X와 Y의높이 합계보다 작은 값으로 설정합니다.
    1size XX * Y의 폭과 높이를 X의 폭과 높이로 설정합니다.
    2compactX * Y의 폭을 XY의 폭의 차이보다 크게 설정하고 X * Y의 높이를 XY의 높이의 차이보다 크게 설정합니다. 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.
  • i2ddbl.png X * Y

    X * YXY의 합성곱입니다.

  • ii32.png 에러

    에러는 VI로부터 모든 에러 또는 경고를 반환합니다. 에러[에러 코드를 에러 클러스터로] VI에 연결하여 에러 코드 또는 경고를 에러 클러스터로 변환할 수 있습니다.

  • 2D 합성곱

    알고리즘다이렉트일 때, 이 VI는 다음 식을 사용하여 입력 행렬 XY의 2차원 합성곱을 계산합니다.

    i = 0, 1, 2, …인 경우, M1+M2–2이며 j = 0, 1, 2, …인 경우, N1+N2–2

    이 때 hX * Y,

    M1은 행렬 X의행 수입니다, N1은 행렬 X의열 수입니다, M2는 행렬 Y의행 수입니다, N2는 행렬 Y의열 수입니다, 다음 관계에서 볼 수 있듯이 X와 Y의 범위를 벗어난 인덱스 요소는 0과 같습니다:

    x(m,n), m < 0 또는 mM1 또는 n < 0 또는 nN1

    y(m,n) , m < 0 또는 mM2 또는 n < 0 또는 nN2.

    알고리즘주파수 도메인일 때, 이 VI는 다음 단계를 순서대로 완료하여 2차원 합성곱을 계산합니다:

    • 우선 이 VI는 다음 식과 같이 XY의 끝을 0으로 채워 크기를 (M1 + M2 – 1)-x-(N1 + N2 – 2)로 만듭니다.
    • 두번째로 이 VI는 다음 방정식에 따라 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 * YX 이미지와 같은 크기를 가지는 필터링된 이미지 입니다. 출력 M1N1의 합성곱 행렬은 출력 크기full일 때 출력 행렬의 중앙 부분입니다.

    3. compact

      출력 크기가 full 또는 size X인 경우 X * Y의 가장자리 요소를 계산하려면 제로 패딩이 필요합니다. 출력 크기compact인 경우 LabVIEW는 이러한 에지 원소를 제거합니다. 출력 (M1M2+1)-by-(N1N2+1) 행렬은 출력 크기size X일 때 출력 행렬의 중심 부분입니다.

    예제

    LabVIEW 포함되는 다음 예제 파일을 참조하십시오.

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