CWT (Continuous Wavelet Transform)

1. 개념

시간에 따라 변하는 주파수 pattern을 보기 위한 변환


Ex) 시계열(signal)은 보통 시간이 지나면서 주파수 특성이 변함.

  • 사람이 걸음 → 규칙적인 저주파
  • 갑자기 뛰기 시작 → 더 빠른 고주파
  • ECG에서 sudden spike → 고주파 성분 잠깐 등장


즉, 어떤 주파수가 언제 나타났는지 를 알려주는 변환.


STFT와의 차별성?

  • 자유로운 time–frequency resolution
  • 다양한 스케일(scale)로 확대/축소하여 분석


2. 핵심 아이디어

입력 신호 \(x(t)\)을 “wavelet(작은 파형)”과 계속 비교!


Wavelet \(ψ(t)\)는 다음 성질을 가진 짧고 국소적인 파형:

  • 위치를 옮기면서(convolution)

  • 크기를 늘리거나 줄이면서(scale) \(\rightarrow\) (STFT와의 차별점)

    비교함으로써 신호 속의 다양한 스케일 pattern을 찾음


3. 용어 정리

  • Time series: \(x(t)\)
    • 우리가 분석하고 싶은 실제 신호
    • 예: ECG, accelerometer, audio, stock price …
  • Wavelet: \(\psi(t)\)

    • 미리 정의된 작은 패턴(템플릿 신호)

    • 이걸 이리저리 옮기고(scale, translation) 하면서

      “여기서 이 모양이 얼마나 나타나지?”를 측정하는 도구.

  • Wavelet을 변형하는 두 파라미터: scale(a), shift(b)
    • 참고) Wavelet \(\psi(t)\)를 바로 쓰지 않고, 크기와 위치를 바꾼 버전을 사용


4. 수식

a) 변형된 wavelet

\(\psi_{a,b}(t) = \frac{1}{\sqrt{\mid a\mid }} \,\psi\left(\frac{t - b}{a}\right)\).

  • a (scale)
    • \(a > 0\) 이라고 생각하면 편함
    • \(\mid a\mid > 1\): wavelet이 “늘어나서” 저주파(느린 패턴) 위주
    • \(\mid a\mid < 1\): wavelet이 “줄어들어서” 고주파(빠른 패턴) 위주
  • b (translation)
    • wavelet이 시간축에서 어디에 위치하는지
    • \(b\)를 바꿔가며 신호 전체를 “슬라이딩”
  • \(1/\sqrt{\mid a\mid }\).
    • scale이 바뀌어도 energy가 유지되도록 normalization


b) 수식의 직관

\(\frac{t-b}{a}\): 먼저 \(b\)만큼 shift 한 뒤, \(a\)로 scale

→ wavelet을 늘리고/줄이고, 왼쪽/오른쪽으로 이동한 함수가 됨.


c) CWT의 정의: inner product

“신호 \(x(t)\)와 wavelet을 곱해서 적분한 값”

\(W_x(a, b) = \text{CWT}\{x\}(a,b) = \int_{-\infty}^{\infty} x(t)\, \psi_{a,b}^*(t)\, dt\).

  • \(\psi_{a,b}^*(t)\): complex wavelet일 경우 complex conjugate
    • 실수 wavelet이면 그냥 \(\psi_{a,b}(t))\)
  • 결과 \(W_x(a,b)\)는 복소수(또는 실수)
    • magnitude → “얼마나 비슷한가”
    • phase → alignment 정보 등


수식 한 줄 요약:

“시간축 전체에서, 현재 scale = a, 현재 위치 = b 인 wavelet와 신호 \(x(t)\)가 얼마나 잘 맞는지를 측정한 값”


5. CWT as “매칭 스코어”

비유적 표현

  • \(\psi_{a,b}(t)\) : 특정 모양의 “패턴 필터”
  • \(x(t)\psi_{a,b}(t)\) : 같은 위치에서 두 신호를 곱한 값
  • 적분 \(\int x(t)\psi_{a,b}(t) dt\)
    • 두 신호의 similarity(유사도) or inner product


결론: \(W_x(a,b)\)가 ..

  • 크면 → scale=a, 위치=b에서 wavelet 모양과 매우 비슷한 패턴이 있음

  • 작으면 → 그 위치/scale에서는 그런 패턴이 없음


6. Time–Frequency / Time–Scale 관점

CWT의 결과: \(W_x(a,b)\)라는 2D 함수

  • 가로축 (\(b\)): time (언제)
  • 세로축 (\(a\)): scale (어떤 크기/주파수 대역)
  • 값: wavelet와의 유사도 (coefficient)


Time–frequency plot

  • 보통은 scale a 를 frequency와 1:1로 mapping 해서 봄

  • 2D 이미지 (scalogram)

    → “어떤 주파수(또는 scale) 성분이 언제 강하게 나타나는지” 한눈에 보임.


6. Morlet Wavelet

TSCMamba에서 사용

\(\psi(t) = \pi^{-1/4}\left(1 - \frac{t^2}{\sigma^2}\right)\exp\left(-\frac{t^2}{2\sigma^2}\right) \cos(2\pi f t)\).

  • \(\exp(-t^2 / (2\sigma^2))\) : Gaussian envelope → localization
  • \(\cos(2\pi f t)\) : 특정 frequency f를 가진 cosine
  • \((1 - t^2/\sigma^2)\): 약간 shape을 보정하는 polynomial term


이걸 \(\psi_{a,b}(t)\)로 scale/shift 해서 CWT에 넣으면:

\(W_x(a,b) = \int x(t)\, \psi_{a,b}(t)\, dt\).

→ 결국 “다양한 frequency 대역(= scale), 다양한 시간 위치”에서

Morlet 모양 패턴이 신호에 얼마나 들어있는지를 전체적으로 측정.

Categories: ,

Updated: