자 이제 푸리에 변환의 마지막 파트 입니다.
앞에 CTFT DTFT를 잘 따라오셨다면 이 부분도 쉽게 이해할 수 있습니다.
들어가기 앞서서 전체적으로 정리를 한번 하고 가겠습니다.
자 보시면 연속된 신호에서 주파수 도메인으로 -> CTFT
연속된 신호에서 sampling을 해주고 DTFT를 해주면 주파수는 CTFT의 값에서 주기반복을 시켜주는 것.
문제는 우리는 컴퓨터에서 어떤 작업을 하기 위해서는 연속해서는 안됩니다.
그래서 DTFT의 결과 값을 sampling을 해주어야합니다. 그러면 time-domain에서는 주기 반복이 일어나고 우리는 반복된 주기가 필요한게 아니라 한 주기만 있으면 되기 때문에 주기반복되는 time - domain 신호에서 한 주기만 뽑아낸 주파수 도메인에서의 값이 필요하게 됩니다. 이것이 바로 N-Point DFT입니다.
옆에 N-point DFT에 대해 식을 써놨는데 더 자세히 알아 보도록 하겠습니다.
N-point DFT는 기본 개념이 뭐냐면 위에서도 보았듯이 DTFT의 결과에서 sampling한 값 즉, 모든 w^에 대한 것이 아니라 우리가 base frequency를 (2π/N)로 잡고 k배가 되도록 하겠다 라는 것입니다. 왜 2π/N으로 잡았냐
그림에서 볼 수 있듯이 w^은 -π ~ π 의 값이 반복이 될 것이다. 이 구간을 N-Point로 sampling을 해주는 것입니다. 그럼 그 하나의 간격이 2π/N이 될 것입니다. 그래서 w^가 모든 것에 대해 값을 가지는 것이 아니라 2π/N의 배수마다 값을 가질 거기 때문에 k를 곱해줍니다. 이 때 k는 -2/N 부터 2/N까지 혹은 어차피 주기 반복이기 때문에 0부터 N-1까지 해서 총 길이를 N으로 맞추어 주면 됩니다.
직접 4-Point DFT 해보기
IDFT도 똑같이 해주면 됩니다.
DFT 주기성
자 우리가 DFT를 하면 사실 저렇게 주기가 반복되는 신호가 나오게 됩니다. 여기서 우리는 한 주기만 뽑아 쓰는 것이죠.
그럼 이렇게 되면 무슨 문제있을까요?
바로 (circular)time-delay입니다.
DTFT와 다른 점이 있죠 바로 circular 입니다.
원래는 5초 time delay를 한다면 그냥 옆으로 5초만 딜레이가 되었죠?
그런데 DFT를 적용할 때는 오리지널 신호가 비주기 신호여도 주기 반복 된 신호라고 생각해주어야 합니다. 왜냐하면 주파수 도메인에서 샘플링이 일어났기 때문에 타임 도메인에서는 주기 반복이 일어나기 때문에 실제 있는 신호는 주기 반복 신호라는 것입니다. 그래서 만약 10-point DFT를 했다고 하면 10만큼 간격으로 주기 반복되는 신호가 있다고 생각해주어야합니다.
이런식으로 실제로 딜레이를 하고 나서 우리가 원하는 0부터 10까지 뽑아준다면 0부터 5까지 0이 아닌 뒤에 있던 신호가 앞으로 온 신호가 나오게 됩니다.
자 그렇다면 이게 무슨 의미가 있을까?
바로 convolution 연산에 큰 영향을 미칩니다.
자 우리가 연속된 신호에서 impulse response에 대해서 convolution 연산을 취한 값은 CTFT를 해 주파수 도메인에서 곱과 같다는 것을 앞에서 보았습니다. 그렇다면 DFT는 어떨까요?
주기 반복되는 신호를 convolution 한 결과 값과 같게 되는 것입니다.
그래서
위와 같이 convolution 연산을 할 때에 point를 넉넉히 잡지 않으면 circular 된 값이 계산 되어 이상한 신호가 나오기 때문에 L+M-1 이상으로 point를 잡아 주어야 함에 유의해야 한다.
'CS > 영상처리' 카테고리의 다른 글
[영상처리] How to Filter in Frequency Domain(주파수 영역에서 필터링하는 과정) [컴공과고씨] (1) | 2022.06.02 |
---|---|
[영상처리] 2-D DFT for Digital Images [컴공과고씨] (1) | 2022.06.01 |
[푸리에 변환 이해하기 - 8] Discrete Time Fourier Transform (DTFT) [컴공과고씨] (0) | 2022.05.29 |
[푸리에 변환 이해하기 - 7] Sampling & Reconstruction & shannon Sampling Theorem [컴공과고씨] (0) | 2022.05.28 |
[푸리에 변환 이해하기 - 6] Continuous Fourier Transform (CTFT) [컴공과고씨] (1) | 2022.05.28 |