이산 푸리에 변환(DFT) - 삼각 표현

이 글은 시계열 스펙트럼 분석에 대한 지속적인 시리즈의 두 번째 자습서입니다. 이번 편에서는 Excel의 이산 푸리에 변환과 그 해석, 시간 영역에서의 적용에 대한 논의를 이어가겠습니다.

DFT는 기본적으로 수학적 변환이며 다소 딱딱할 수 있지만, 이 튜토리얼을 통해 NumXL 함수와 마법사를 사용하여 더 깊은 이해와 직관을 갖게 되기를 바랍니다.

배경

DFT에 대한 첫 번째 글을 발표한 이후, 특히 입력 데이터 세트를 삼각 사인-코사인 함수의 합으로 표현하기 위해 DFT 구성 요소를 사용하는 방법에 대한 문의가 여러 차례 있었습니다. 이러한 문의는 이 표현을 사용하여 중간값을 보간하고 입력 데이터 집합을 넘어서는 추정(일명 예측)을 할 수 있다는 점에서 동기를 부여받았습니다.

원칙적으로 DFT는 불연속적인 관측 집합을 일련의 연속 삼각함수(즉, 사인 및 코사인)로 변환합니다. 따라서 원래 신호는 다음과 같이 표현할 수 있습니다:

$$x(t)=\frac{1}{N}\left ( A_o+\sum_{i=1}^N A_i\times cos(\omega\times i \times t + \phi_i)\right )$$

어디:

  • $x(t)$ 는 시점의 관측값입니다. $t$.
  • $t$ 는 관측이 수행된 불연속적인 시간입니다.
  • $t \in \left \{ 0,1,2 \cdots N-1 \right \}$.
  • $N$ 는 입력 데이터 세트의 관측 횟수입니다.
  • $\omega = \frac{2\pi}{N}$ 는 기본 또는 기본 주파수입니다.
  • $A_i\angle \phi_i$ 는 i 번째 이산 푸리에 성분의 진폭과 위상입니다.

분석

유한 급수의 푸리에 변환의 구성 요소(즉, 진폭과 위상)를 자세히 살펴보면 다음과 같은 관찰 결과를 얻을 수 있습니다:

T/2 주변의 대칭과 길이가 T와 같은 주기를 나타내는 DFT 진폭을 플롯합니다.

OR
$A_k\angle \phi_k = A_{N-k}\angle -\phi_{N-k}$
$A_k\angle \phi_k = A_{N+k}\angle \phi_{N+k}$

 

  1. 振幅の系列は、$N/2$成分を中心に対称です。
  2. $k$成分の位相は、$N-k$成分の位相の負の値です。

본질적으로 원래 입력 데이터 세트를 복구하려면 DFT 구성 요소의 전반부만 필요합니다. 원래 시간은 다음 구성 요소로 표현됩니다:

$$x(t)=\frac{1}{N}\left( A_o+2\times\sum_{i=1}^{N/2} A_i\times cos(\omega\times i \times t + \phi_i)\right)$$

증명

$$x(t)=\frac{1}{N}\left( A_o+\sum_{i=1}^{N/2} A_i\times cos(\omega\times i \times t + \phi_i) +\sum_{i=N/2+1}^N A_i\times cos(\omega\times i \times t + \phi_i) \right)$$ $$x(t)=\frac{1}{N}\left( A_o+\sum_{i=1}^{N/2} A_i\times cos(\omega\times i \times t + \phi_i) +\sum_{i=N/2+1}^N A_{N-i}\times cos(\omega\times i \times t - \phi_{N-i}) \right)$$ $$x(t)=\frac{1}{N}\left( A_o+\sum_{i=1}^{N/2} A_i\times cos(\omega\times i \times t + \phi_i) +\sum_{i=1}^{N/2} A_i\times cos(\omega\times (N-i) \times t - \phi_i) \right)$$ $$x(t)=\frac{1}{N}\left( A_o+\sum_{i=1}^{N/2} A_i\times cos(\omega\times i \times t + \phi_i) + A_i\times cos(\omega\times (N-i) \times t - \phi_i) \right)$$ $$x(t)=\frac{1}{N}\left( A_o+\sum_{i=1}^{N/2} A_i\times cos(\omega\times i \times t + \phi_i) + A_i\times cos(2\pi\times t -(\omega\times i \times t + \phi_i)) \right)$$ $$x(t)=\frac{1}{N}\left( A_o + 2\times \sum_{i=1}^{N/2} A_i\times cos(\omega\times i \times t + \phi_i)\right)$$

重要: 入力データセットが偶数サイズの場合、最後のDFT成分は2倍にする必要はありません。したがって、入力データのコサイン表現は次のように表されます:

$$x(t)=\frac{1}{N}\left( A_o + 2\times \sum_{i=1}^{N/2-1} A_i\times cos(\omega\times i \times t + \phi_i)+ A_{N/2}\times cos(\omega\times \frac{N}{2} \times t + \phi_{N/2})\right)$$ $$x(t)=\frac{1}{N}\left( A_o + 2\times \sum_{i=1}^{N/2-1} A_i\times cos(\omega\times i \times t + \phi_i)+ A_{N/2}\times cos(\pi \times t + \phi_{N/2})\right)$$ $$x(t)=\frac{1}{N}\left( A_o + 2\times \sum_{i=1}^{N/2-1} A_i\times cos(\omega\times i \times t + \phi_i)+ A_{N/2}\times cos(\phi_{N/2})cos(\pi \times t)\right)$$

결론

이산 푸리에 변환을 사용하여 이산 입력 데이터 집합을 결정론적 연속 삼각함수의 합으로 표현합니다.

불연속적인 시간 인스턴스로 정의되는 원본 데이터와 달리 푸리에 표현은 연속적이므로 모든 시간 값으로 정의됩니다. 이 연속형 표현을 사용하면 이 범위의 모든 값을 보간할 수 있습니다(단, 추정/예측에는 사용할 수 없음).

  첨부 파일

댓글

이 문서에는 댓글을 달 수 없습니다.

도움이 되었습니까?
4명 중 3명이 도움이 되었다고 했습니다.