거꾸로 가기: 역변환
X[k]만 가지고 있을 때 샘플 x[n]을 되찾을 수 있을까? X에서 x를 되찾으려면 W의 역행렬이 필요하다. 앞 절의 직교 덕분에 역행렬은 따로 계산하지 않아도 된다.
W를 W의 원소마다 켤레를 취한 행렬, I를 단위행렬이라 하자. W가 대칭이므로 W[n,m]=W[m,n]이고, 곱 WW의 (k,m) 원소는 앞 절 직교 식의 왼쪽과 같다.
(WW)[k,m]=n=0∑N−1W[k,n]W[n,m]=n=0∑N−1W[k,n]W[m,n]=Nδ[k−m]
따라서 WW=NI이고
W−1=N1W
이다. 켤레를 취한 페이저는 반대 방향으로 돈다. x=W−1X를 원소별로 쓴 것이 역 DFT(inverse DFT, IDFT)이다.
x[n]=N1k=0∑N−1X[k]ej2πkn/N
순변환과 역변환은 지수의 부호와 1/N만 다르다.
직접 유도해 보기. 역변환에 1/N이 붙는 이유를 보여라.
풀이
역변환식의 합에 순변환을 넣고 합의 순서를 바꾼다.
k=0∑N−1X[k]ej2πkn/N=m=0∑N−1x[m]k=0∑N−1ej2πk(n−m)/N
안쪽 합은 n=m이면 1을 N번 더해 N이다. n=m이면 단위원 위에 고르게 놓인 점들을 더하는 것이라 0이다. 따라서 오른쪽은 Nx[n]이고, x[n]을 되찾으려면 1/N을 곱해야 한다.
역변환은 합성이다. 회전 ek마다 가중치 X[k]/N을 곱해 모두 더하면 샘플이 된다.
'행렬로 쓰기'에서 구한 X[k]로 x=[1,2,0,−1,0,0,0,0]T의 샘플 x[1]=2를 되찾을 수 있다. 행 k의 항은 X[k]ej2πkn/8/8이고, 열 n의 항 여덟 개를 이어 더한 끝이 샘플 x[n]이다. 항 하나는 X[k]를 각 2πkn/8만큼 돌리고 1/8을 곱해 줄인 것이다. kn이 8의 배수이면 각이 0°라 돌릴 것이 없고, X[4]=0인 항은 0이다. 아래 그림에서 열 n의 페이저 그림은 그 항이 만들어질 때 채워지고, 계산 표에는 k마다 X[k], 각, 항, 누적합이 한 줄씩 남는다. X[k]는 셋째 자리까지 적은 값으로 이어서 계산하므로 x[1]=2가 그대로 나온다. IDFT는 샘플 사이의 값을 정하지 않는다.
N = 8이고, ①의 행 k는 X[k]ej2πkn/8/8이라 열마다 2πk/8씩 반시계 방향으로 돌며(흐린 점선 페이저는 X[k] = 0인 행 4에서도 그 회전을 보여 준다), ②는 왼쪽 평면에서 X[k]를 돌리고 1/8로 줄여 만든 항을 오른쪽 평면에서 k = 0부터 이어 붙인 것(끝점이 x[n]), ③은 합을 마친 샘플의 스템이다. 항(주황)과 누적합(초록)은 그림, 표, 식에서 같은 색이고, 값은 반올림한 수로 이어서 계산하므로 정확한 값과 끝자리가 조금 다를 수 있다.
해 보기
x[1]의
k=1 항에서
X[1]을
45∘ 돌린 값이 얼마인지 확인하라.
관찰
X[1]=3.121−j0.707은 크기 3.2, 각 −12.8∘이다. 45∘ 돌리면 각이 32.2∘가 되고 크기는 그대로라 2.707+j1.707이다. 다음 단계에서 1/8을 곱하면 항 0.338+j0.213이 된다.
x[4]를 계산할 때 회전 각이
k에 따라 어떻게 되는지, 페이저 합이 어디에서 끝나는지 확인하라.
관찰
회전 각은 k가 짝수이면 0∘라 짧은 한 단계로 지나가고, 홀수이면 180∘이다. 페이저 합이 원점으로 돌아와 x[4]=0이다. 입력의 0인 샘플도 여덟 항이 서로 지워서 만들어진다.
코사인 입력의 계수
X[1]=X[7]=4로
x[1]을 계산하고, 정확한 값
cos(2π/8)와 비교하라.
관찰
0이 아닌 항은 두 개뿐이고, 나머지 여섯은 짧은 0 단계로 지나간다. X[1]=4를 45∘ 돌려 1/8을 곱하면 0.354+j0.354, X[7]=4를 315∘, 곧 −45∘ 돌려 1/8을 곱하면 0.354−j0.354이다. 두 항을 더한 끝점은 실수축 위 0.708이고, 정확한 값은 cos(2π/8)=0.707이다. 차이는 반올림한 수를 이어 더해서 생긴다.
예제 1의 X=[2,1−j3,0,1+j3]T를 역변환하면 첫 샘플이 돌아온다. x[0]=41(2+(1−j3)+0+(1+j3))=1이고, 같은 방법으로 x[1]=2, x[2]=0, x[3]=−1이다.