본문 바로가기

푸리에 변환, 신호/푸리에 변환의 모든 것

06-3. DFT의 수식 이해

반응형

 

앞 페이지까지 DFT의 수식이 어떻게 유도되는지 알아봤고, 그 수식은 다음과 같다.

 

$$ DFT: \; \; Y(k)=\sum_{n=0}^{N-1}{y(n)e^{-i\frac{2\pi}{N}kn}}, \; \; 0\leq k < N \tag {1} $$

$$ IDFT: \; \; y(n) = \frac{1}{N}  \sum_{k=0}^{N-1}Y(k) e^{i\frac{2\pi}{N}kn}, \; \; 0 \le n < N \tag{2} $$

 

식 (1)은 시간에 대한 신호값 $y(n)$이 있을 때, 이를 주파수에 대한 수식으로 바꿔주는 것이고, 식 (2)는 반대로 주파수에 대한 신호값 $Y(k)$에 대해 시간에 대한 수식으로 바꿔주는 것이다. 

 

예를 들어, 주기 $N=4$이고 $y[n]={1,3,-1,2}$ 일 때, 식(1)을 이용하여 각각의 주파수에 대한 값을 구해보자.

 

예제에 대한 풀이에 앞서, 풀이 과정에서 빈번하게 사용될 복소지수함수의 값에 대해 잠깐 알아보자.

 


특별한 위치에서의 복소지수함수의 값

DFT 수식에서 $e^{-i\frac{2\pi}{N}kn}$이 계산되어야 하기에, 이 값의 특징을 알아보고자 한다.

$e^{-i\frac{2\pi}{N}kn}$에서, $N=4$이고, $kn$가 정수이기에 새로운 변수인 정수 $p=kn$을 사용하면,

 

$$e^{-i\frac{2\pi}{N}kn}=e^{-i\frac{2\pi}{4}p}=e^{-i\frac{p}{2}\pi } $$  

$p=0: \; e^{-i\frac{0}{2} \pi}=e^0=1$
$p=1: \; e^{-i\frac{1}{2}\pi} = \cos{(\frac{1}{2}\pi )} - \sin{(\frac{1}{2}\pi )} = -i $
$p=2: \; e^{-i\frac{2}{2}\pi} = \cos{\pi } - \sin{\pi} = -1 $
$p=3: \; e^{-i\frac{3}{2}\pi} = \cos{(\frac{3}{2}\pi )} - \sin{(\frac{3}{2}\pi )} = i $
$p=4: \; e^{-i\frac{4}{2}\pi} = \cos{2\pi } - \sin{2\pi} = 1 $
$p=5: \; e^{-i\frac{5}{2}\pi} = \cos{(\frac{5}{2}\pi )} - \sin{(\frac{5}{2}\pi )} = -i $
$p=6: \; e^{-i\frac{6}{2}\pi} = \cos{3\pi } - \sin{3\pi} = -1 $
...

$p$에 따라서 값이 규칙적으로 변함을 알 수 있다. 

 

그림으로 보면 규칙성이 확실하게 보인다. 반지름이 1인 복소 좌표계에서의 원에서, 시계방향으로 회전하면서 각 축과 만나는 값이 $e^{-i\frac{p}{2}\pi }$ 값이다.

 

문제 풀이 

주기 $N=4$이고 $y[n]=\{1,3,-1,-2\}$ 일 때, DFT 식을 이용하여 $Y(k)$값을 구하시오.

식 (1)을 이용해서 기계적으로 풀어보자. (손으로 직접 풀어보기 바람)

 

$$ \begin{align} &Y(0)=\sum_{n=0}^{3}y(n)e^{-i\frac{2\pi \cdot 0}{4}n}=y[0]+y[1]+u[2]+y[3]=1+3-1-2=1 \\ &Y(1)= \sum_{n=0}^{3}y(n)e^{-i\frac{2\pi \cdot 1}{4}n} = y[0]e^{-i\frac{\pi}{2}0}+y[1]e^{-i\frac{\pi}{2}1}+y[2]e^{-i\frac{\pi}{2}2}+y[3]e^{-i\frac{\pi}{2}3}=(1)(1)+(3)(-i)+(-1)(-1)+(-2)(i)=2-5i \\ &Y(2)= \sum_{n=0}^{3}y[n]e^{-i\frac{2\pi \cdot 2}{4}n} = y[0]e^{-i\pi 0}+y[1]e^{-i\pi 1}+y[2]e^{-i\pi 2}+y[3]e^{-i\pi 3}=(1)(1)+(3)(-1)+(-1)(1)+(-2)(-1)=1-3-1+2=-1 \\ &Y(3)= \sum_{n=0}^{3}y[n]e^{-i\frac{2\pi \cdot 3}{4}n} = y[0]e^{-i\frac{3\pi}{2}0}+y[1]e^{-i\frac{3\pi}{2}1}+y[2]e^{-i\frac{3\pi}{2}2}+y[3]e^{-i\frac{3\pi}{2}3}=(1)(1)+(3)(i)+(-1)(-1)+(-2)(-i)=2+5i \end{align}$$

 

따라서, $Y[k] = \{ 1, 2-5i, -1, 2+5i \}$

 

똑같은 방법으로 다음 문제도 풀어보자

주기 $N=4$이고 $h[n]=\{1,2,0,-1\}$ 일 때, DFT 식을 이용하여 $Y(k)$값을 구하시오.

$y[n]$이 아니고 $h[n]$이라고해서 달라질 건 없다. 

 

$$ \begin{align} &Y(0)=\sum_{n=0}^{3}y(n)e^{-i\frac{2\pi \cdot 0}{4}n}=h[0]+h[1]+h[2]+h[3]=1+2+0-1=2 \\ &Y(1)= \sum_{n=0}^{3}y(n)e^{-i\frac{2\pi \cdot 1}{4}n} = h[0]e^{-i\frac{\pi}{2}0}+h[1]e^{-i\frac{\pi}{2}1}+h[2]e^{-i\frac{\pi}{2}2}+h[3]e^{-i\frac{\pi}{2}3}=(1)(1)+(2)(-i)+(0)(-1)+(-1)(i)=1-3i \\ &Y(2)= \sum_{n=0}^{3}h[n]e^{-i\frac{2\pi \cdot 2}{4}n} = h[0]e^{-i\pi 0}+h[1]e^{-i\pi 1}+h[2]e^{-i\pi 2}+h[3]e^{-i\pi 3}=(1)(1)+(2)(-1)+(0)(1)+(-1)(-1)=1-2+0+1=0 \\ &Y(3)= \sum_{n=0}^{3}h[n]e^{-i\frac{2\pi \cdot 3}{4}n} = h[0]e^{-i\frac{3\pi}{2}0}+h[1]e^{-i\frac{3\pi}{2}1}+h[2]e^{-i\frac{3\pi}{2}2}+h[3]e^{-i\frac{3\pi}{2}3}=(1)(1)+(2)(i)+(0)(-1)+(-1)(-i)=1+3i \end{align}$$

 

결과는, $Y[k]=\{ 2, 1-3i, 0, 1+3i \}$

 

DFT 수식으로 풀 때의 규칙성

위에서 문제 2개를 손으로 직접 풀었다면, DFT 수식에 대한 규칙성 및 이해도가 높아졌을 것이고, 다음과 같은 규칙을 느꼈을 것이다.

위 그림에서 "③y값과 정현파들과의 내적"이란 부분을 좀 더 설명해보겠다.

 

복소지수로 표현된 부분을 좀 더 간단하게 표시하기 위해서 $\phi$라는 함수로 대체해보자. 

 

$$ \phi(k,n)=e^{-i\frac{2\pi}{N}kn}$$

 

$\phi$함수를 사용해서 DFT를 표현하면 다음과 같이 된다.

 

$$ Y(k) = \sum _{n=0}^{N-1}y(n)\phi(k,n) $$

 

$G$에 대해 하나씩 값을 구해보자.

 

$$ \begin{align} \\ &Y(0) = \sum _{n=0}^{N-1}y(n)\phi(0,n)=y(0) \cdot \phi(0,0)+y(1) \cdot \phi(0,1)+y(2) \cdot \phi(0,2)+y(3) \cdot \phi(0,3) \\ &Y(1) = \sum _{n=0}^{N-1}y(n)\phi(1,n)=y(0) \cdot \phi(1,0)+y(1) \cdot \phi(1,1)+y(2) \cdot \phi(1,2)+y(3) \cdot \phi(1,3) \\ &Y(2) = \sum _{n=0}^{N-1}y(n)\phi(2,n)=y(0) \cdot \phi(2,0)+y(1) \cdot \phi(2,1)+y(2) \cdot \phi(2,2)+y(3) \cdot \phi(2,3) \\ &Y(3) = \sum _{n=0}^{N-1}y(n)\phi(3,n)=y(0) \cdot \phi(3,0)+y(1) \cdot \phi(3,1)+y(2) \cdot \phi(3,2)+y(3) \cdot \phi(3,3) \end{align}$$

 

값을 구하는 것을 쭈욱 적다 보면 규칙성을 느꼈을 것이다. 위 수식에서 $k$의 위치를 표시해보면 다음과 같다.

$Y(k)$의 값은, $k$에 의해서 어느 정도 결정된 정현파 $\phi(k,n)$에 대해, 모든 $y$값을 곱하고(내적하고), 합치는 것이다. 아래 그림을 보면 좀 더 이해가 쉬울 것이다.

 

두 벡터 A와 B의 내적은, A를 B에 사영시켜서 생기는 그림자를 구하는 것이라고도 할 수 있다. 

따라서, 위 수식을 보면 알 수 있듯이, $Y(k)$의 값은 $k$일 때의 정현파에다가 $y$값들의 그림자 성분들을 뽑아내서 합친다고 할 수 있다. 

 

좀 더 세밀하게 보면, $Y(0)$의 값은, $k=0$일 때의 정현파 $\phi(0,n)$에 대해서, $y$값들을 정현파의 $y$성분에 대해 사영하고, 그 값들을 전부 합친 것이다. 

 

비유하자면, 촛불들에 의해 어떤 물체가 비쳐지고 그 그림자들이 벽에 생기는데, 그 그림자들의 값을 전부 합쳐서 어떤 값을 만들어 내는 것이다.   

 


 <이상한 나라의 수학자>에서 북한에서 넘어온 천재 수학자이며 특목고 경비로 일하고 있는 경비원 아저씨(최민식 씨)는, 돈이 없어 사설학원에도 못 다니고 수학 9등급인 수포자이며 자신에게 수학을 가르쳐달라고 조르는 학생에게, $\sqrt 2$를 소수점 38자리까지 손으로 푼 복사본을 보여주며 이렇게 얘기합니다. 

그냥 $\sqrt 2$라고 하면 될 것을 이렇게 변태처럼 수십 페이지에 걸쳐 손으로 푼 이는, 리만가설로 유명한 그 리만이고, 이렇게 손으로 귀찮게 시간을 들여서 계산한 것은  $\sqrt 2$와 친해지고 싶어서라고, 그래야 $\sqrt 2$를 이해할 수 있어서였다고. 

 

이 페이지에서는 간단한 예제를 가지고 DFT 수식의 규칙성을 알아봤다.

그런데, 너무 간단한 수 몇 개만을 가지고 계산된 결과인 $Y(f)$를 가지고는, 이게 어떤 것을 의미하는지, 어떤 도움이 되는지 파악이 안 된다. 실제 신호 데이터와 유사한, 좀 더 많은 양의 데이터를 가지고 계산을 해봐야, DFT가 어떤 의미 있는 결과를 보이는지 알 수 있을 것이다.

 

다음 페이지에서는, 엑셀을 이용해서 실제 신호 파형과 유사한 신호 데이터를 이용하여, DFT를 계산해보고, 그 값이 어떤 의미를 가지는지 확인해볼 것이다.

 

-끝-

 

 

 이전글: 06-2. 이산 푸리에 변환(DFT, Discrete Fourier Transform)
 다음글: 06-4. 엑셀을 이용한 DFT 계산(1/4)
 다음다음글: 06-5. 엑셀을 이용한 DFT 계산(2/4)

 

반응형