컨볼루션 적분은 한 함수를 다른 함수 위로 이동시킬 때 두 함수가 어떻게 결합되는지를 알려줍니다. 연속시간에서는 다음과 같이 정의합니다.
핵심 직관은 단순합니다. 각 값마다 한 함수를 미끄러지듯 이동시키고, 두 함수가 겹치는 곳을 찾은 뒤, 그 겹치는 구간에서 값을 곱해 모두 더합니다. 두 함수가 모두 인과적이라서 음의 시간에서 0이라면, 보통은
처럼 쓸 수 있습니다. 단, 이고 가 전체 겹침 구간을 모두 포함해야 합니다. 핵심은 실용적입니다. 컨볼루션은 이동하면서 생기는 겹침을 각 마다 하나의 수로 바꿔 줍니다.
컨볼루션 적분의 정의와 직관
는 고정되어 있고, 는 를 뒤집고 이동한 복사본이라고 생각하면 됩니다. 가 바뀌면 겹치는 구간도 바뀌고, 따라서 적분값도 바뀝니다.
이 점이 점별 곱셈과의 가장 큰 차이입니다. 두 함수를 같은 입력에서 비교하는 것이 아닙니다. 이동된 복사본이 원래 함수와 겹치는 전체 구간에 걸쳐 곱을 더하는 것입니다.
왜 겹침이 적분 구간을 결정하는가
컨볼루션 문제의 적분 구간은 보통 공식을 외워서 정하는 것이 아닙니다. 두 인자가 모두 0이 아닌 곳이 어디인지 묻는 데서 나옵니다.
그래서 많은 컨볼루션 해답이 구간별로 나뉩니다. 가 움직이면 겹치는 구간이 커질 수도, 줄어들 수도, 아예 사라질 수도 있으므로 적분식도 그에 따라 달라져야 합니다.
학생들이 자주 놓치는 부분이 바로 이것입니다. 보통 어려운 부분은 적분 자체가 아닙니다. 먼저 올바른 겹침 구간을 찾는 것입니다.
컨볼루션 적분 예제: 두 개의 단위 펄스
다음을 두겠습니다.
그리고 도 같은 함수라고 하겠습니다. 구하려는 것은 입니다.
이 예제가 좋은 이유는 피적분함수가 아니면 이기 때문입니다. 따라서 컨볼루션은 단순히 겹치는 구간의 길이가 됩니다.
정의를 쓰면,
인 것은 에서뿐이고, 인 것은 일 때뿐입니다. 따라서 피적분함수가 이 되는 곳은 이 두 조건이 동시에 성립하는 곳입니다.
두 번째 조건은
를 뜻합니다.
따라서 겹치는 구간은
입니다.
즉, 는 이 겹침 구간의 길이입니다.
경우 1:
겹침이 없으므로,
경우 2:
겹침 구간은 부터 까지이므로,
경우 3:
겹침 구간은 부터 까지이므로,
경우 4:
다시 겹침이 없으므로,
이를 모두 합치면,
결과는 삼각형 모양입니다. 겹침이 커질 때는 높이가 증가하고, 겹침이 줄어들면 다시 감소합니다.
컨볼루션 적분에서 자주 하는 실수
이동된 입력을 잊는 경우
두 번째 인자는 이지, 도 아니고 그냥 도 아닙니다. 이 이동이 바로 컨볼루션의 핵심입니다.
잘못된 적분 구간을 쓰는 경우
가장 안전한 방법은 두 인자가 모두 0이 아닌 곳을 찾는 것입니다. 겹침이 에 따라 바뀐다면, 적분 구간도 보통 구간별로 나누어 써야 합니다.
컨볼루션을 점별 곱셈으로 생각하는 경우
점별 곱셈은 같은 입력에서의 값을 사용합니다. 컨볼루션은 전체 구간에 걸친 곱을 누적합니다.
지름길이 성립하는 조건을 건너뛰는 경우
다음과 같은 지름길
은 흔한 인과적 상황에서는 맞지만, 모든 함수 쌍에 대해 성립하는 것은 아닙니다. 지지집합에 대한 가정이 이를 정당화할 때만 사용해야 합니다.
컨볼루션 적분은 어디에 쓰이는가
어떤 양이 시간이나 공간에서 주변 값들이 퍼져 있는 방식에 따라 결정될 때 컨볼루션을 사용합니다.
선형 시불변 시스템에서는 입력과 임펄스 응답으로부터 출력을 구할 때 컨볼루션을 사용합니다. 확률에서는 두 독립 확률변수가 밀도함수를 가지면, 그 합의 밀도함수는 두 밀도함수의 컨볼루션입니다. 더 넓게 보면 컨볼루션은 평활화, 필터링, 확산, 그리고 주변 값들이 함께 결합되는 모든 상황에 나타납니다.
비슷한 컨볼루션 문제를 풀어 보세요
같은 펄스 예제를 다시 해 보되, 두 번째 펄스의 높이를 두 배로 바꿔 보세요.
겹치는 구간은 그대로지만, 그 구간에서 피적분함수는 이제 두 배가 됩니다. 적분하기 전에 이것이 삼각형 결과를 어떻게 바꾸는지 예측할 수 있다면, 컨볼루션의 핵심 아이디어를 제대로 이해한 것입니다.