샘플 N개에 작용하는 선형 시스템을 숫자 표 하나로 적을 수 있을까? 그 표를 보고 출력에서 입력을 되찾을 수 있는지도 알 수 있을까?
행렬로 쓴 시스템
이산 신호 N개 샘플은 길이 N인 벡터이다. 입력 샘플 N개를 출력 샘플 M개로 보내는 선형 시스템은 M×N 행렬 하나로 나타나며, 출력 길이도 N이면 N×N이다. k번째 원소만 1이고 나머지는 0인 단위벡터 ek로 입력을 x=∑kx[k]ek라 쓰면, 선형성에 따라 출력은 ∑kx[k]H{ek}이다. 따라서 길이 M인 응답 H{ek}를 열 k에 놓은 행렬이 모든 입력의 출력을 계산한다.
현재 샘플에서 바로 전 샘플을 빼는 차분 시스템이 그 예이다.
y[n]=x[n]−x[n−1]
입력은 n=0 전에는 0이라고 둔다(x[−1]=0). 그러면 y[0]=x[0], y[1]=x[1]−x[0], y[2]=x[2]−x[1], … 이고, N=4일 때 행렬로 옮기면 다음과 같다.
이 행렬을 H라고 쓰면 y=Hx이다. 일반적인 N에서도 대각선은 1, 바로 아래 원소는 −1, 나머지는 0이다. 벡터의 마지막 원소는 y[N−1], x[N−1]이다.
행렬은 두 방향으로 해석한다. 행 n은 출력 y[n] 하나를 만들 때 어떤 입력에 어떤 가중치를 곱하는지 보여 준다. (n−1)열에 −1, n열에 1이 있다. 열 k는 입력 샘플 x[k] 하나가 출력의 어디로 퍼지는지 보여 준다. k행에 1, (k+1)행에 −1이 있으므로, k에 놓인 임펄스의 응답 [1,−1]을 k만큼 옮긴 것이다. 이 시스템은 시불변이므로 모든 행이 같은 무늬를 한 열씩 옮긴 모양이다. 선형이지만 시변인 시스템도 행렬로 쓸 수 있고, 그때는 행마다 무늬가 다르다. y[n]=x[n]2처럼 비선형인 시스템은 행렬로 쓸 수 없다.
예를 들어 x=[1,1.5,1.5,0.5]이면 y=[1,0.5,0,−1]이다. x[2]=x[1]이라 입력이 변하지 않은 n=2에서 출력이 0이 된다. 차분 시스템은 변화를 재는 시스템이다.
N×N 행렬은 출력의 처음 N개만 담는다. 마지막 입력 x[N−1]은 샘플 하나 뒤의 y[N]=−x[N−1]에도 영향을 주므로, 출력을 끝까지 담으려면 (N+1)×N 행렬이 필요하다.
위 예를 5×4 행렬로 계산하면 행 n=2는 [0,−1,1,0]이고, 그 행과 x의 곱의 합이 y[2]=0이다. 열로 보면 입력 샘플 x[k] 하나가 출력에 남기는 몫(열 k)을 모두 더한 것이 출력이고, n=2 자리에서는 x[1]의 몫 −1.5와 x[2]의 몫 1.5가 서로 지운다. 그림의 표가 y=Hx이고, '입력 쪽 · 열 k'의 줄들이 열마다의 몫, 그 아래 '합 y[n]'이 몫을 모두 더한 출력이다. 그림에서 n을 옮기거나 재생을 누르면 표의 행 하나와 그 행이 만든 y[n]이 함께 강조되고, 그 행의 곱과 합이 표 아래 식에 적힌다.
차분 시스템의 y = Hx이다. 표의 칸은 원소 H[n,k]를 스템으로 그린 것으로, 위로 서면 양수, 아래로 서면 음수이고 길이가 크기이며, 값은 표 아래 식에 적힌다.
해 보기
마지막 행 n=4에서 y[4]가 어느 입력에서 오는지 확인하라.
관찰
행 4에는 k=3 열의 −1만 있어 y[4]=−x[3]=−0.5이다. 4×4 행렬에는 없던 출력으로, 마지막 입력이 샘플 하나 뒤까지 영향을 준다.
열 k=0을 읽고, 샘플 x[0] 하나가 출력에 무엇을 남기는지 확인하라.
관찰
표의 열 0은 [1,−1,0,0,0]이고, '입력 쪽' 첫 줄에서 x[0]=1이 n=0에 +1, n=1에 −1을 남긴다. 샘플 하나의 응답 [1,−1]이 그 자리에 놓인 것이다.
변하지 않는 입력을 넣으면 출력이 어디에서 0이 아닌지 확인하라.
관찰
출력이 [1,0,0,0,−1]이다. 입력이 그대로인 n=1,2,3에서는 0이고, 입력이 시작하고 끝나는 두 곳에서만 0이 아니다.
가역성
어떤 시스템은 뒤에 다른 시스템을 붙여 입력을 되돌릴 수 있고, 어떤 시스템은 그럴 수 없다. 둘은 무엇이 다를까?
가역 시스템은 출력에서 입력을 되찾을 수 있다. 시스템 H 뒤에 H−1을 이어 붙였을 때 입력이 그대로 나오면 H−1을 H의 역시스템이라고 한다. H−1H가 항등 시스템(y=x)이 된다.
xHH{x}H−1x
역시스템이 있으려면 서로 다른 입력이 늘 서로 다른 출력을 내야 한다. y(t)=2x(t)는 x(t)=y(t)/2로 되돌릴 수 있다. y(t)=x(t)2는 x와 −x가 같은 출력을 내므로 되돌릴 수 없다.
행렬로 쓴 시스템에서는 역행렬이 곧 역시스템이다. 정사각 행렬 A의 역행렬은 detA=0일 때 있다. 차분 시스템의 행렬 H는 대각선과 그 아래만 채워진 삼각 행렬이라 행렬식이 대각 원소의 곱 1이다. 따라서 가역이고, 역시스템은 누적 합이다.