이산 웨이블릿 변환(Discrete Wavelet Transform, DWT)은 신호를 시간과 주파수 영역에서 동시에 분석할 수 있는 방법으로, 신호를 서로 다른 해상도의 구성 요소로 분해하는 데 사용된다. 이는 시간-주파수 해상도를 제공하여, 특히 급격한 변화나 비정상적인 패턴을 탐지하는 데 유용하다. DWT의 기본 원리는 신호를 고주파 성분과 저주파 성분으로 분리하는 것으로 시작하며, 이를 반복적으로 적용하여 신호를 다중 해상도 분석(Multiresolution Analysis, MRA) 형태로 표현한다.
시간-주파수 해상도의 개념
DWT는 시간-주파수 해상도의 개념을 기반으로 한다. 신호를 분석할 때, 시간에 대한 고해상도와 저주파수 대역에 대한 저해상도의 조합을 통해 전체적인 패턴을 관찰할 수 있다. 이를 위해 웨이블릿 함수를 사용하여 신호를 변환하게 된다.
스케일링 함수와 웨이블릿 함수
DWT의 핵심 요소는 두 가지 기본 함수로 구성된다: 스케일링 함수(Scaling Function)와 웨이블릿 함수(Wavelet Function). 스케일링 함수는 신호의 저주파 성분을 유지하는 역할을 하고, 웨이블릿 함수는 고주파 성분을 추출하는 역할을 한다.
스케일링 함수 \phi(t)와 웨이블릿 함수 \psi(t)는 다음과 같은 관계를 갖는다.
여기서, h_k와 g_k는 필터 계수로, 각각 저역통과 필터와 고역통과 필터의 역할을 한다.
다중 해상도 분석(Multiresolution Analysis, MRA)
다중 해상도 분석은 신호를 다양한 해상도로 분해하는 기법으로, DWT의 이론적 기반이다. MRA는 신호를 점진적으로 더 높은 해상도로 분석하는 과정을 포함하며, 각 단계에서 신호는 더 낮은 주파수 성분과 더 높은 주파수 성분으로 분해된다.
-
저역통과 필터를 통한 신호 축소: 저역통과 필터는 신호의 저주파 성분을 보존하며, 주로 신호의 전체적인 형태를 유지한다. 이를 사용하여 신호의 저주파 정보를 축소한 형태로 나타낼 수 있다.
-
고역통과 필터를 통한 세부 정보 추출: 고역통과 필터는 신호의 고주파 성분을 보존하며, 이는 신호의 급격한 변화나 세부적인 특징을 나타낸다. 신호를 세밀하게 분석할 때 유용하다.
다중 해상도 분석은 다음과 같은 수식으로 표현할 수 있다. 신호 \mathbf{X}를 다중 해상도로 분해할 때:
여기서, c_{j,k}는 저주파 성분의 계수이며, d_{j,k}는 고주파 성분의 계수이다. \phi_{j,k}(t)와 \psi_{j,k}(t)는 각각 스케일링 함수와 웨이블릿 함수의 시간-변환된 버전이다.
필터 뱅크(Filter Bank)
DWT는 필터 뱅크를 사용하여 신호를 분해한다. 필터 뱅크는 신호를 두 개의 부분으로 나누기 위해 저역통과 필터와 고역통과 필터를 병렬로 사용하는 구조를 말한다. 이를 통해 신호는 두 개의 하위 신호로 분리되며, 각 하위 신호는 다시 반으로 샘플링된다.
다음은 필터 뱅크의 구조를 보여주는 간단한 다이어그램이다.
이 다이어그램에서 저역통과 필터를 통과한 신호는 'Approximation Coefficients'를 형성하며, 이는 신호의 저주파 대역 정보를 나타낸다. 고역통과 필터를 통과한 신호는 'Detail Coefficients'로, 신호의 고주파 대역 정보를 나타낸다.
단계별 변환 과정
- 신호 분해(Decomposition): 입력 신호를 저역통과 필터와 고역통과 필터로 각각 통과시킨 후, 두 개의 하위 신호로 분리한다.
- 하위 샘플링(Down-Sampling): 각 하위 신호를 반으로 줄이는 과정을 통해 계산량을 줄인다. 이때, 샘플링 주기를 2배로 늘려 데이터 크기를 줄인다.
- 재귀적 적용(Recursive Application): 저역통과 필터를 통해 얻어진 신호에 대해 다시 같은 과정을 반복적으로 적용하여 다중 해상도로 분해한다.
DWT의 단계적 작동 원리
이제 이산 웨이블릿 변환(DWT)의 동작 과정을 보다 자세히 설명하겠다. DWT는 입력 신호를 단계적으로 분해하여 저주파 성분과 고주파 성분을 반복적으로 분리하고 분석한다. 각 단계는 필터 뱅크를 활용하며, 다음과 같은 일련의 과정으로 이루어진다.
1단계: 신호의 초기 분해
입력 신호 \mathbf{X}는 먼저 두 개의 필터를 거치게 된다: - 저역통과 필터 h: 신호의 저주파 성분을 추출하여 스케일링 계수 \mathbf{c}를 생성한다. - 고역통과 필터 g: 신호의 고주파 성분을 추출하여 세부 계수 \mathbf{d}를 생성한다.
각 필터링 후, 신호는 2배로 샘플링 주기를 줄여 데이터 크기를 반으로 줄인다. 이 과정을 수학적으로 표현하면 다음과 같다:
여기서, \mathbf{c}[k]는 저역통과 필터를 통해 얻은 저주파 성분(스케일링 계수)이고, \mathbf{d}[k]는 고역통과 필터를 통해 얻은 고주파 성분(세부 계수)이다.
2단계: 다중 해상도 적용
이후, 저주파 성분 \mathbf{c}에 대해 같은 필터링 과정을 반복적으로 적용한다. 이를 통해 신호를 더 낮은 해상도로 분해할 수 있으며, 이러한 반복적인 과정은 다중 해상도 분석(MRA)이라고 한다. 이를 통해 신호는 더 세밀하게 분석되며, 각 반복 단계에서 신호의 주요 특징을 추출할 수 있게 된다.
다중 해상도 분석에서의 각 반복 단계는 다음과 같다:
- 저역통과 필터링: 신호에서 전체적인 형태(저주파 성분)를 지속적으로 분리하여 점차 더 낮은 해상도로 유지한다.
- 고역통과 필터링: 신호에서 세부적인 변화나 급격한 변화를 지속적으로 추출하여 고주파 성분을 나타낸다.
이 과정을 계속할수록 신호는 더 많은 세부 정보를 가진 여러 개의 하위 신호로 분해된다.
예제: DWT의 단계별 분해 과정
간단한 신호 예제 \mathbf{X} = \{ x_0, x_1, x_2, x_3, \ldots, x_7 \}가 있다고 가정해보자. 이 신호는 처음에는 저역통과 필터와 고역통과 필터를 각각 통과하며, 다음과 같이 계산된다:
- 첫 번째 필터링:
- 저역통과 필터 적용 결과 \mathbf{c}^{(1)} = \{ c_0, c_1, c_2, c_3 \}
-
고역통과 필터 적용 결과 \mathbf{d}^{(1)} = \{ d_0, d_1, d_2, d_3 \}
-
저역통과 성분에 대한 추가 필터링:
- 저역통과 필터 적용 결과 \mathbf{c}^{(2)} = \{ c_{00}, c_{01} \}
- 고역통과 필터 적용 결과 \mathbf{d}^{(2)} = \{ d_{00}, d_{01} \}
이러한 반복적 필터링은 다음과 같은 형태의 다이어그램으로 표현할 수 있다.
이 다이어그램은 다중 해상도 분석의 과정이 어떻게 구성되는지를 시각적으로 보여준다.
역 이산 웨이블릿 변환 (Inverse Discrete Wavelet Transform, IDWT)
DWT로 분해된 신호를 원래의 신호로 복원하려면 역 이산 웨이블릿 변환(IDWT)을 수행한다. IDWT는 DWT의 과정을 역순으로 적용하여 원래 신호를 재구성한다. 각 단계의 세부 계수와 스케일링 계수를 통해 신호를 합성할 수 있으며, 이는 아래와 같은 수식으로 표현된다.
여기서, \mathbf{c}와 \mathbf{d}는 각각 저주파 및 고주파 계수이며, 필터 h와 g는 DWT에 사용된 필터와 동일하다.