대부분의 최신 FFT 구현 (FFTW를 기반으로하는 MATLAB 포함)에서는 이제 신호의 시계열을 2의 거듭 제곱에 맞도록 패딩해야합니다. 그러나 거의 모든 구현은 FFT의 데이터 벡터가 2보다 큰 경우 더 좋고 때로는 훨씬 더 우수한 성능을 제공합니다. MATLAB의 경우, 2의 거듭 제곱이나 낮은 소수 요소가 많은 길이로 패딩하면 최상의 성능을 얻을 수 있습니다 (N = 1000 = 2^3 * 5^3은 우수 할 것이고 N = 997은 끔찍한 선택 일 수 있습니다) .
제로 패딩은 PSD의 주파수 해상도를 높이 지 않지만 주파수 도메인의 빈 크기를 줄입니다. 따라서 길이 N의 신호 벡터에 NZeros를 추가하면 FFT는 길이 (N + NZeros)/2 + 1의 벡터를 출력합니다. 즉, 각 주파수 빈의 폭은 이제
빈폭 (Hz) = F_s/(N + NZeros)
여기서 F_s는 신호 샘플 주파수이다.
주파수 영역에서 두 개의 밀집한 봉우리를 분리하거나 식별해야하는 경우 샘플 시간을 늘려야합니다. 제로 패딩이 당신에게 그 무엇도 사주지 않는다는 것을 빨리 알게 될 것입니다. 직감적으로 그것이 우리가 기대하는 것입니다. 우리 입력에 더 많은 정보 (더 긴 시계열)를 추가하지 않고 우리의 힘 스펙트럼에서 더 많은 정보를 기대할 수 있을까요?
보다도,
폴