매일 매일 성장하는 섭섭군

[Seop's 강의노트] 이산신호처리 _ DFT, Zero Padding 본문

디지털신호처리, DSP

[Seop's 강의노트] 이산신호처리 _ DFT, Zero Padding

섭섭군 2019. 10. 23. 23:15
반응형

이번 포스팅에서는 DFT 대해서    알아보고자 한다.
DFT DTFT 통해서 나온 신호가 0~2pi 주기로 연속이었다. 
연속이기 때문에 신호처리가 쉽지 않아 Sampling 한것처럼 다시 쪼갠 것이다.
예시를 같이 봄으로서 이해해 보도록 하자.

이산 신호 x[n] DTFT 변환을  결과이다. 다음과 같이 2pi 마다 반복하는 연속적인신호가 나오게 된다 

그런데 식을  살펴보면 x[n]에서 앞에 있는  1 값은 DTFT 영향을 미치지만

뒤에 있는 0 값들은 영향을 미치지 않는다. 그렇다면  굳이 있는 것일까?

일단 한번 임의의 N개로 나누어보았다. 
0번부터 시작해서 N-1 까지 이루어져 있다
여기서 한가지 알고 가야  개념이 있다. 
바로 분해능(Resolution) 이라는 것이다
분해능을 이해하기 쉽게 말하자면 모니터 해상도 같은 개념이다. 
우리가 UHD,FHD등으로 선명한 화질의 TV 모니터를 이야기 한다. 
UHD 3840x2160  해상도를 FHD 1920x1080 해상도를 가진다.
  크기의 화면일때 하나의 빛을 나타내는 
점을 얼마나 촘촘하게 나누었는지에 대한 의미이다
 신호에서는 점과  사이의 거리를 분해능이라고 하는데 
 길이가 짦을수록 분해능이 좋다 의미이다.

이제 분해능 이라는 개념을 알고 다시한번 신호들을 바라봐 보자 
x[n] 4개의 신호를 가지고 있다. 
 입력 Sample  개수가 4개인 것이다.
반면 내가 예시로  X(K) 8개의 점을 가지고 있다. 
 Sample 개수가 8개라는 의미이다.

몇개로 나누었는지를 N 이라 말하고 N개로 나눈 DTFT . 
N-Point DFT 라고 한다.
식으로 표현하자면 다음과 같다

우리가 이해한 것으로 N  커지면 커질수록 분해능이 좋아진다고 한다. 
그러면 이제  x[n] = {1,1} 이라는  대신에 x[n]={1,1,0,0} 이라고 표현했는지 알아   있다.  임의로 N 갯수를 늘려준 것이다. 
많이 나누어 줌으로 인해서 분해능을 높이고 원신호에 가까워 지도록  것이다.
이와 같이 0’ 추가로 입력하여 N 개수를 증가시켜 주는  
Zero Padding 이라고 한다.


Zero Padding  목적은 DTFT 가까운 DFT  만드는 것이다.
 많이 할수록 DTFT 근접해진다. 
그렇다면 무작정 Zero Padding 많이 하는 것이 좋을까
유한한 신호일 경우에는 많이하면  수록 DTFT 근접해지는 것이 맞다. 하지만 유한하지 않은 신호에 대해서 

과도한 Zero Padding  했을 경우에는 오차가  발생   있다


Zero Padding 과는 반대의 경우도 있을 것이다
x[n] = a^n 이라는 신호가 있다고 하자. (0<a<1)

입력 샘플링 수가 9개이다. 하지만 나는 0부터 4까지의 값만 필요하고 
나머지 뒤의 값은 필요하지 않는다.
이럴때 Zero Padding 과는 반대로 
나머지 샘플들을 버리는 것을 Truncation 이라고 한다.
Truncation   과도하게 사용하게되면 DTFT 모양을 많이 잃을  있기때문에 적당히 사용하여야 한다.


우리가 지금까지 무엇을 위해서 DTFT 했으며  DFT 했는가? 
기억을 되짚어보면 우리는 W(오메가)  연속 비주기 신호의 주파수를 알기 위해서  여정을 펼쳐왔다. 
지금까지 배운 주파수 관련된 식을 사용해보면 다음과 같은 식을 찾아낼  있다.  

 이제  식을 어디에 집어넣으면 될까? 저번 포스팅과 이번 포스팅에서 배운 DFT  통해서 나온것에 대입시키면 된다. 
다음 그림을 보면서 이해해 보자.

x[n]={1,1,0,0,0,0,0,0,}  8-Point DFT  결과이다. 
DTFT 2파이를 주기로 갖는 주기적인 신호이고 DFT 2파이를 N개로 
나눈 것이다. 그래서  그림과 같은 결과가 나온다. 
이로서 우리는 주파수 영역에서의 이산  얻어내었다. 
이를 W 맞게 변환해 주어야 하는데  식을 통하면 W 값을 구할  있다.

지금 시점쯤에 우리가 무엇을 공부했는지 한번 뒤짚어 보자.

우리는 지금 신호에 대해서 공부하고 있다. 
자연속에 존재하는 아날로그 신호인 x(t) 연속 비주기 신호의 주파수
알기 위해서 샘플링 하였다. 그래서 우리는 x(t)  잘개 쪼갠 x[n] 이라는 이산 비주기 신호를 얻어   있었다.
x[n]  주파수를 알아보기 위해서 DTFT 거치었더니 연속이라 DFT 통해서 X[K]  얻어내었다.
X[K] 통해서 우리는 x(t)  주파수 성분들을 알아   있었다

우리가 배운 것들이  따로따로 떨어져 있는 것들이 아니라 하나의 목적을위해서 연결된 이라 생각하면서  신호처리를 배우는 것이 
엔지니어로서 올바른 자세인  같다


반응형
Comments