# DWT의 기본 원리

이산 웨이블릿 변환(Discrete Wavelet Transform, DWT)은 신호를 시간과 주파수 영역에서 동시에 분석할 수 있는 방법으로, 신호를 서로 다른 해상도의 구성 요소로 분해하는 데 사용된다. 이는 시간-주파수 해상도를 제공하여, 특히 급격한 변화나 비정상적인 패턴을 탐지하는 데 유용하다. DWT의 기본 원리는 신호를 고주파 성분과 저주파 성분으로 분리하는 것으로 시작하며, 이를 반복적으로 적용하여 신호를 다중 해상도 분석(Multiresolution Analysis, MRA) 형태로 표현한다.

#### 시간-주파수 해상도의 개념

DWT는 시간-주파수 해상도의 개념을 기반으로 한다. 신호를 분석할 때, 시간에 대한 고해상도와 저주파수 대역에 대한 저해상도의 조합을 통해 전체적인 패턴을 관찰할 수 있다. 이를 위해 웨이블릿 함수를 사용하여 신호를 변환하게 된다.

#### 스케일링 함수와 웨이블릿 함수

DWT의 핵심 요소는 두 가지 기본 함수로 구성된다: 스케일링 함수(Scaling Function)와 웨이블릿 함수(Wavelet Function). 스케일링 함수는 신호의 저주파 성분을 유지하는 역할을 하고, 웨이블릿 함수는 고주파 성분을 추출하는 역할을 한다.

스케일링 함수 $\phi(t)$와 웨이블릿 함수 $\psi(t)$는 다음과 같은 관계를 갖는다.

$$
\phi(t) = \sum\_{k \in \mathbb{Z}} h\_k \phi(2t - k)
$$

$$
\psi(t) = \sum\_{k \in \mathbb{Z}} g\_k \phi(2t - k)
$$

여기서, $h\_k$와 $g\_k$는 필터 계수로, 각각 저역통과 필터와 고역통과 필터의 역할을 한다.

#### 다중 해상도 분석(Multiresolution Analysis, MRA)

다중 해상도 분석은 신호를 다양한 해상도로 분해하는 기법으로, DWT의 이론적 기반이다. MRA는 신호를 점진적으로 더 높은 해상도로 분석하는 과정을 포함하며, 각 단계에서 신호는 더 낮은 주파수 성분과 더 높은 주파수 성분으로 분해된다.

1. **저역통과 필터를 통한 신호 축소:** 저역통과 필터는 신호의 저주파 성분을 보존하며, 주로 신호의 전체적인 형태를 유지한다. 이를 사용하여 신호의 저주파 정보를 축소한 형태로 나타낼 수 있다.
2. **고역통과 필터를 통한 세부 정보 추출:** 고역통과 필터는 신호의 고주파 성분을 보존하며, 이는 신호의 급격한 변화나 세부적인 특징을 나타낸다. 신호를 세밀하게 분석할 때 유용하다.

다중 해상도 분석은 다음과 같은 수식으로 표현할 수 있다. 신호 $\mathbf{X}$를 다중 해상도로 분해할 때:

$$
\mathbf{X} = \sum\_{j} \sum\_{k} c\_{j,k} \phi\_{j,k}(t) + \sum\_{j} \sum\_{k} d\_{j,k} \psi\_{j,k}(t)
$$

여기서, $c\_{j,k}$는 저주파 성분의 계수이며, $d\_{j,k}$는 고주파 성분의 계수이다. $\phi\_{j,k}(t)$와 $\psi\_{j,k}(t)$는 각각 스케일링 함수와 웨이블릿 함수의 시간-변환된 버전이다.

#### 필터 뱅크(Filter Bank)

DWT는 필터 뱅크를 사용하여 신호를 분해한다. 필터 뱅크는 신호를 두 개의 부분으로 나누기 위해 저역통과 필터와 고역통과 필터를 병렬로 사용하는 구조를 말한다. 이를 통해 신호는 두 개의 하위 신호로 분리되며, 각 하위 신호는 다시 반으로 샘플링된다.

다음은 필터 뱅크의 구조를 보여주는 간단한 다이어그램이다.

{% @mermaid/diagram content="graph LR
X(Input Signal) --> LPF(Low-Pass Filter)
X --> HPF(High-Pass Filter)
LPF --> Downsample1(↓2)
HPF --> Downsample2(↓2)
Downsample1 --> Approximation(Coefficients)
Downsample2 --> Detail(Coefficients)" %}

이 다이어그램에서 저역통과 필터를 통과한 신호는 'Approximation Coefficients'를 형성하며, 이는 신호의 저주파 대역 정보를 나타낸다. 고역통과 필터를 통과한 신호는 'Detail Coefficients'로, 신호의 고주파 대역 정보를 나타낸다.

#### 단계별 변환 과정

1. **신호 분해(Decomposition):** 입력 신호를 저역통과 필터와 고역통과 필터로 각각 통과시킨 후, 두 개의 하위 신호로 분리한다.
2. **하위 샘플링(Down-Sampling):** 각 하위 신호를 반으로 줄이는 과정을 통해 계산량을 줄인다. 이때, 샘플링 주기를 2배로 늘려 데이터 크기를 줄인다.
3. **재귀적 적용(Recursive Application):** 저역통과 필터를 통해 얻어진 신호에 대해 다시 같은 과정을 반복적으로 적용하여 다중 해상도로 분해한다.

#### DWT의 단계적 작동 원리

이제 이산 웨이블릿 변환(DWT)의 동작 과정을 보다 자세히 설명하겠다. DWT는 입력 신호를 단계적으로 분해하여 저주파 성분과 고주파 성분을 반복적으로 분리하고 분석한다. 각 단계는 필터 뱅크를 활용하며, 다음과 같은 일련의 과정으로 이루어진다.

**1단계: 신호의 초기 분해**

입력 신호 $\mathbf{X}$는 먼저 두 개의 필터를 거치게 된다:

* **저역통과 필터 $h$:** 신호의 저주파 성분을 추출하여 스케일링 계수 $\mathbf{c}$를 생성한다.
* **고역통과 필터 $g$:** 신호의 고주파 성분을 추출하여 세부 계수 $\mathbf{d}$를 생성한다.

각 필터링 후, 신호는 2배로 샘플링 주기를 줄여 데이터 크기를 반으로 줄인다. 이 과정을 수학적으로 표현하면 다음과 같다:

$$
\mathbf{c}\[k] = \sum\_{n} \mathbf{X}\[n] \cdot h\[2k - n]
$$

$$
\mathbf{d}\[k] = \sum\_{n} \mathbf{X}\[n] \cdot g\[2k - n]
$$

여기서, $\mathbf{c}\[k]$는 저역통과 필터를 통해 얻은 저주파 성분(스케일링 계수)이고, $\mathbf{d}\[k]$는 고역통과 필터를 통해 얻은 고주파 성분(세부 계수)이다.

**2단계: 다중 해상도 적용**

이후, 저주파 성분 $\mathbf{c}$에 대해 같은 필터링 과정을 반복적으로 적용한다. 이를 통해 신호를 더 낮은 해상도로 분해할 수 있으며, 이러한 반복적인 과정은 다중 해상도 분석(MRA)이라고 한다. 이를 통해 신호는 더 세밀하게 분석되며, 각 반복 단계에서 신호의 주요 특징을 추출할 수 있게 된다.

다중 해상도 분석에서의 각 반복 단계는 다음과 같다:

1. **저역통과 필터링:** 신호에서 전체적인 형태(저주파 성분)를 지속적으로 분리하여 점차 더 낮은 해상도로 유지한다.
2. **고역통과 필터링:** 신호에서 세부적인 변화나 급격한 변화를 지속적으로 추출하여 고주파 성분을 나타낸다.

이 과정을 계속할수록 신호는 더 많은 세부 정보를 가진 여러 개의 하위 신호로 분해된다.

#### 예제: DWT의 단계별 분해 과정

간단한 신호 예제 $\mathbf{X} = { x\_0, x\_1, x\_2, x\_3, \ldots, x\_7 }$가 있다고 가정해보자. 이 신호는 처음에는 저역통과 필터와 고역통과 필터를 각각 통과하며, 다음과 같이 계산된다:

1. **첫 번째 필터링:**
   * 저역통과 필터 적용 결과 $\mathbf{c}^{(1)} = { c\_0, c\_1, c\_2, c\_3 }$
   * 고역통과 필터 적용 결과 $\mathbf{d}^{(1)} = { d\_0, d\_1, d\_2, d\_3 }$
2. **저역통과 성분에 대한 추가 필터링:**
   * 저역통과 필터 적용 결과 $\mathbf{c}^{(2)} = { c\_{00}, c\_{01} }$
   * 고역통과 필터 적용 결과 $\mathbf{d}^{(2)} = { d\_{00}, d\_{01} }$

이러한 반복적 필터링은 다음과 같은 형태의 다이어그램으로 표현할 수 있다.

{% @mermaid/diagram content="graph TB
InputSignal\["Input Signal \mathbf{X}"] --> LPF1(Low-Pass Filter h)
InputSignal --> HPF1(High-Pass Filter g)
LPF1 --> Downsample1(↓2)
HPF1 --> Downsample2(↓2)
Downsample1 --> LPF2(Low-Pass Filter h)
Downsample1 --> HPF2(High-Pass Filter g)
LPF2 --> Downsample3(↓2)
HPF2 --> Downsample4(↓2)
Downsample3 --> Approx1("Approx. Coefficients \mathbf{c}^{(2)}")
Downsample4 --> Detail2("Detail Coefficients \mathbf{d}^{(2)}")
Downsample2 --> Detail1("Detail Coefficients \mathbf{d}^{(1)}")" %}

이 다이어그램은 다중 해상도 분석의 과정이 어떻게 구성되는지를 시각적으로 보여준다.

#### 역 이산 웨이블릿 변환 (Inverse Discrete Wavelet Transform, IDWT)

DWT로 분해된 신호를 원래의 신호로 복원하려면 역 이산 웨이블릿 변환(IDWT)을 수행한다. IDWT는 DWT의 과정을 역순으로 적용하여 원래 신호를 재구성한다. 각 단계의 세부 계수와 스케일링 계수를 통해 신호를 합성할 수 있으며, 이는 아래와 같은 수식으로 표현된다.

$$
\mathbf{X}\[n] = \sum\_{k} \mathbf{c}\[k] \cdot h\[2k - n] + \sum\_{k} \mathbf{d}\[k] \cdot g\[2k - n]
$$

여기서, $\mathbf{c}$와 $\mathbf{d}$는 각각 저주파 및 고주파 계수이며, 필터 $h$와 $g$는 DWT에 사용된 필터와 동일하다.
