다음에서 설치됨: Full or Professional Edition

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


icon

1D 합성곱

x(t)와 y(t) 신호의 선형 합성곱을 다음과 같이 정의합니다:

이 때 기호 *는 선형 합성곱을 나타냅니다.

알고리즘다이렉트일 때, 이 VI는 다음 방정식을 사용해 선형 합성곱의 이산 실행을 수행하고 X*Y의 원소를 얻습니다.

여기서 i = 0, 1, 2, … , M+N-2

이때 hX * Y

N은 X의요소 수입니다, M은 Y의요소 수입니다, 다음 관계와 같이 X와 Y의 범위를 벗어난 인덱싱된 요소는 0과 같습니다:

xj = 0, j < 0 또는 jN

yj = 0, j < 0 또는 jM.

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

  • 우선 이 VI는 XY의 끝을 0으로 채워 다음 식과 같이 M + N의 길이가 -1이 되도록 만듭니다.
  • 두번째로 이 VI는 다음 방정식에 따라 X'와 Y'의 푸리에 변환을 계산합니다.
X'(f) = FFT(x') Y'(f) = FFT(y')
  • 세번째로 이 함수는 X'(f)에 Y'(f)를 곱하고 해당 곱의 역 푸리에 변환을 계산합니다. 결과는 다음 식과 같이 XY의 선형 합성곱입니다.
X * Y = IFFT(X'(f) · Y'(f))

따라서 이 VI는 순환 합성곱이 아닌 선형 합성곱을 계산합니다. 그러나 x(t) * y(t)NX(f)Y(f)는 푸리에 변환 쌍이며, 여기서 x(t) * y(t)N은 x(t)와 y(t)의 원형 컨볼루션이므로 원형 버전의 컨볼루션을 생성할 수 있습니다. 순환 합성곱을 계산하려면 다음 그림의 블록다이어그램과 비슷한 블록다이어그램을 사용합니다.

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