인과 시스템은 미래를 내다보지 않는다. 어느 순간의 출력이 그때까지(지금과 과거)의 입력만으로 정해진다. 자동차는 운전자가 나중에 밟을 페달을 미리 알 수 없으니 인과적이다. 실시간으로 돌아가는 물리 시스템은 모두 인과적이어야 한다. 하지만 녹음을 다 끝낸 뒤 편집하거나, 시간이 아니라 위치가 독립 변수인 사진을 처리할 때는 “앞쪽” 값도 쓸 수 있어서 인과성이 꼭 필요하지 않다.
예시로 보기
주식 가격처럼 오르내림이 심한 데이터의 흐름을 보려고 앞뒤 \(M\)개씩의 평균을 낸다.
\[y[n] = \frac{1}{2M+1}\sum_{k=-M}^{M}x[n-k]\]\(k = -M\)일 때 \(x[n + M]\), 즉 \(M\)칸 뒤의 미래 입력이 들어간다. 그래서 이 시스템은 비인과적이다. 장 마감 후에 그날 그래프를 다듬는 것은 괜찮지만, 실시간 주문에는 쓸 수 없다. 과거 \(M\)개만 평균하면 인과적이 된다1.
\(M = 5\)로 같은 잡음 섞인 데이터를 평균했다. 과거 11개만 쓴 평균은 앞뒤 평균과 모양이 같지만 정확히 5칸 늦게 따라온다. 미래를 쓰지 않는 대가다2.
정의
어느 시각의 출력이 그 시각과 과거의 입력에만 의존하면 인과 시스템이다. 다르게 말하면, 두 입력이 어느 시각 \(t_0\)(또는 \(n_0\))까지 같으면 출력도 그 시각까지 같다.
| 인과 | 비인과 |
|---|---|
| \(y[n] = \sum_{k=-\infty}^{n}x[k]\), \(y[n] = x[n-1]\), 모든 기억 없는 시스템 | \(y[n] = x[n] - x[n+1]\), \(y(t) = x(t + 1)\) |
기억 없는 시스템은 지금 입력만 쓰니 언제나 인과적이다. 반대로 인과 시스템이 기억 없는 것은 아니다(누산기).
예제
예제 1.12-1 \(y[n] = x[-n]\)
- \(n_0 > 0\)인 시각만 보면, 출력 \(y[n_0]\)은 과거의 입력 \(x[-n_0]\)으로 정해진다. 여기까지는 인과적으로 보인다.
- 그런데 \(n < 0\)이면 다르다. \(n = -4\)에서 \(y[-4] = x[4]\)이므로 미래의 입력이 지금의 출력을 정한다.
- 하나라도 그런 시각이 있으면 비인과 시스템이다.
예제 1.12-2 \(y(t) = x(t)\cos(t + 1)\)
- \(\cos(t+1)\)은 입력과 상관없이 시간만으로 정해지는 함수 \(g(t)\)다. 그래서 \(y(t) = x(t)g(t)\).
- 시각 \(t\)의 출력은 같은 시각의 입력 \(x(t)\)에만 의존하므로 인과적이다. \(\cos\) 안의 \(+1\)은 입력이 아니라 함수의 일부라서 미래를 보는 것이 아니다.
활용
- 실시간 오디오 필터, 제어기, 통신 수신기는 인과 시스템만 만들 수 있다. 4장의 “이상적 필터”는 비인과적이라 그대로는 만들 수 없다.
- 영상 처리는 독립 변수가 위치라 좌우·위아래 화소를 함께 써도 된다. 사진의 흐림 필터는 비인과적이다.
연결
자주 하는 오해
틀렸다. 미래를 보는지는 입력 \(x\)의 괄호 안만 보고 판단한다. \(x(t)\cos(t+1)\)의 \(t+1\)은 입력이 아니라 정해진 함수 안에 있다. 확인: 미래 입력만 바꿔도 출력이 그대로이다(검증 코드). 반대로 \(x(-n)\)처럼 \(+\)가 없어도 비인과일 수 있다.
확인 문제
C1 인과적인가? ① \(y[n] = x[n] + 2x[n-3]\) ② \(y(t) = x(2t)\) ③ \(y[n] = n\,x[n]\)
답: ① 인과 ② 비인과 (\(t = 1\)에서 \(x(2)\), 미래) ③ 인과 (같은 시각의 입력만 씀)
흔한 오답: ②를 인과로 고르는 것. \(t < 0\)이면 과거를 보지만 \(t > 0\)이면 미래를 본다.
C2 기억 없는 시스템은 왜 언제나 인과적인가?
답: 출력이 같은 시각의 입력에만 의존하므로 미래 입력을 쓸 일이 없다. 인과성은 “지금과 과거만 쓴다”이고 기억 없음은 “지금만 쓴다”라서, 앞의 조건이 뒤를 포함한다.
-
판정은 검증 코드로 확인했다. ↩
-
14_causality_plot.py로 그렸고, 같은 코드로 다음을 확인했다: 과거 \(2M + 1\)개 평균이 앞뒤 평균을 정확히 \(M\)칸 늦춘 것임. 데이터는 사인 곡선에 무작위 잡음을 더해 만들었다. ↩