STFT (Short-Time Fourier Transform)

1. 개념

  • 목적: 시간에 따라 변하는 주파수를 보기 위해

  • 방법: 신호를 일정한 길이의 창(window)로 잘라서 각각 Fourier Transform을 수행

  • Details
    • 긴 신호 → 겹치는 작은 조각들로 나눔 → 각 조각을 Fourier Transform → time–frequency 정보를 얻음.
  • 한계점: window 크기가 고정

    \(\)\rightarrow\(\) time–frequency resolution은 항상 일정


2. 수식

\(\)\text{STFT}_x(t, \omega) = \int_{-\infty}^{\infty} x(\tau)\, w(\tau - t)\, e^{-j \omega \tau} d\tau\(\).

  • \(\)x(\tau)\(\): 입력 신호
  • \(\)w(\tau - t)\(\): window 함수 (center = t)
  • \(\)\omega\(\): 분석하려는 주파수
    • 저주파 (느린 진동)
    • 고주파 (빠른 진동)

\(\)\rightarrow\(\) 즉, 윈도우를 t 위치에 두고 해당 조각만 Fourier Transform 수행


3. 한계점

  • 짧은 window: 아주 작은 조각만 보임 → “시간 해상도↑ / 주파수 해상도↓”
  • 긴 window: 넓은 구간을 한 번에 보게 됨 → “주파수 해상도↑ / 시간 해상도↓”


4. 한계점 예시

e) 신호 안에 “짧은 스파이크”와 “긴 파동”이 함께 존재

(0~3초)  ── 천천히 진동하는 저주파
(3~3.1초) ── 아주 짧은 고주파 스파이크


Window size는 고정!

  • Case 1) window가 길면

    • 저주파는 잘 보임

    • 스파이크는 번져서 보임 (창이 너무 커서 정확히 “언제” 스파이크가 나왔는지 모호)
    • 즉, 긴 창은 “언제 발생했는지(time)에 둔감”해짐 → 시간 해상도↓
  • Case 2) window가 짧으면

    • 스파이크는 잘 탐지됨

    • 하지만 저주파는 잘린 부분만 보이기 때문에 제대로 분석 불가

      → 주파수 해상도↓

    • 즉, 짧은 창은 “이 파동의 정확한 주기(frequency)가 뭔지” 알기 어려움 → 주파수 해상도↓


한계점 한 줄 요약: “resolution이 항상 일정하다”

  • 시간 해상도(Time resolution)
  • 주파수 해상도(Frequency resolution)
  • 연결 관계
    • \(\)\text{time resolution} \propto \text{window length}^{-1}\(\).
    • \(\)\text{frequency resolution} \propto \text{window length}\(\).

\(\)\rightarrow\(\) 따라서 window 길이를 바꾸지 않는 한, 두 해상도는 절대 변하지 않음.

5. 해결책: CWT

CWT는 window 대신 wavelet의 scale을 바꾼다(확대/축소).

  • 큰 scale → 저주파 분석
  • 작은 scale → 고주파 분석

즉, wavelet 자체가 확대/축소되며 resolution 자동 최적화!

(반면 STFT는 wavelet 같은 scale 조절이 불가능)

Categories: ,

Updated: