Coiflet 웨이블릿

기원과 설계 배경

Coiflet 웨이블릿은 Ingrid Daubechies가 제안한 데서 유래하며, Daubechies 웨이블릿을 좀 더 개선하고자 하는 목적에서 시작되었다. Daubechies 계열이 유한 지지(또는 지원 길이)를 갖는 정규 직교 웨이블릿을 제시했다면, Coiflet 계열은 그중에서도 특정 순간(moment) 조건을 만족하도록 더욱 엄밀히 설계된 웨이블릿이다. Coiflet은 스케일링 함수와 웨이블릿 함수 모두에 대해 적분이 0이 되는 다항식 차수를 높이는 쪽에 초점을 맞추어, 웨이블릿과 스케일링 함수가 동시에 많은 소멸(moment vanishing) 특성을 갖도록 구성된다. Daubechies 웨이블릿과 마찬가지로 유한 지지와 정규 직교성을 유지하면서도, 고차 다항식을 재현할 수 있는 능력을 확장하기 위해 특별한 조건을 만족하도록 필터 계수들을 구한다.

vanishing moment의 개념

Coiflet 웨이블릿은 스케일링 함수 $\phi(t)$와 웨이블릿 함수 $\psi(t)$가 동시에 높은 차수의 다항식에 대해 적분이 0이 되도록 설계된다. 일반적으로 $m$차 다항식에 대해 다음 적분이 만족되면, $m$개의 vanishing moment를 가진다고 한다.

tkψ(t)dt=0fork=0,1,,m1\int_{-\infty}^{\infty} t^k \psi(t)\,dt = 0 \quad\text{for}\quad k = 0, 1, \ldots, m-1

동일한 조건이 스케일링 함수 $\phi(t)$에도 적용된다. 특히 Coiflet 계열에서는 웨이블릿 함수와 스케일링 함수가 같은 개수의 vanishing moment를 공유하도록 설계하며, 그 개수가 상대적으로 높은 편에 속한다. 이 성질은 스케일링 계수(저주파 필터)와 웨이블릿 계수(고주파 필터) 계산에서 필연적으로 긴 필터 길이를 요구하지만, 신호 분석 시 저주파 성분과 고주파 성분을 더 엄밀하게 분리하고, 고차 다항식을 더 정확히 재현할 수 있게 해준다.

계수 설계와 필터뱅크 구조

Coiflet 웨이블릿의 필터 계수는 정규 직교성을 만족해야 하므로, 정방형 행렬을 구성해 직교 조건을 만족시키는 해를 구하는 방식으로 얻는다. 스케일링 필터 계수(저주파 필터) $\mathbf{h}$, 웨이블릿 필터 계수(고주파 필터) $\mathbf{g}$를 각각 구할 때, 다음과 같은 직교 조건과 스케일링 방정식을 만족해야 한다.

ϕ(t)=2nhnϕ(2tn)ψ(t)=2ngnϕ(2tn)\phi(t) = \sqrt{2} \sum_{n} h_n \, \phi(2t - n) \\ \psi(t) = \sqrt{2} \sum_{n} g_n \, \phi(2t - n)

여기서 $\mathbf{g}$는 $\mathbf{h}$를 뒤집고 부호를 교차 변경하는 방식으로 얻기도 하며, $h_n$, $g_n$의 설계는 스케일링 함수와 웨이블릿 함수가 동시에 많은 수의 vanishing moment를 만족하도록 결정된다.

Coiflet 계열의 버전에 따른 특성

Coiflet 웨이블릿은 특정 순간(moment) 조건을 충족하는 개수에 따라 다양한 버전이 존재한다. 예를 들어, Coiflet1, Coiflet2, Coiflet3 등으로 구분되며, 각 버전은 웨이블릿과 스케일링 함수가 동시에 갖는 vanishing moment의 수가 다르다. 버전이 올라갈수록 필터 길이는 더 길어지고, 웨이블릿과 스케일링 함수가 소멸시키는 다항식 차수가 높아진다. 이러한 계수 증가로 인해 신호 분석 시 해상도가 더욱 향상되지만, 연산량과 경계 처리 방식 등의 복잡도도 함께 증가한다.

스케일링 필터의 계수 수가 늘어나면, 스케일링 함수 $\phi(t)$가 표현하는 저주파 영역이 더욱 세밀하게 분해될 수 있다. 동시에 웨이블릿 함수 $\psi(t)$가 표현하는 고주파 성분도 신호의 미세 구조를 더 정교하게 파악할 수 있게 되므로, 세밀한 다중해상도 분석이 가능해진다. 이때 필터 길이가 길어질수록 신호 경계 부근에서의 처리가 까다로워지며, 필터의 영향 범위가 넓어지는 단점도 존재한다.

자신에게 맞는 Coiflet 버전을 선택할 때는, 분석하고자 하는 신호의 특성과 필요한 해상도, 허용 가능한 계산 시간 등을 종합적으로 고려해야 한다. 짧은 필터를 갖는 Coiflet은 연산이 빠르고 경계 처리 부담이 상대적으로 덜하지만, 고주파 및 저주파 영역에서의 분해능이 충분하지 않을 수 있다. 반면 긴 필터를 갖는 Coiflet은 더욱 엄밀한 해상도를 보장하지만, 시스템 자원과 계산 비용 면에서 제약이 커질 수 있다.

시간영역 및 주파수영역 해석

Coiflet 계열 웨이블릿은 시간영역에서 순간(moment) 제약을 강하게 두기 때문에, 스케일링 함수와 웨이블릿 함수가 동시에 높은 차수의 다항식을 소멸시킨다. 이 특성은 주파수영역 해석에서도 유의미한 이점을 제공한다. 낮은 주파수 대역에서는 스케일링 함수가 안정적으로 신호를 근사하고, 높은 주파수 대역에서는 웨이블릿 함수가 미세 변화를 잘 포착한다. 시간영역에서 특정 구간에 급격한 변화가 발생하는 경우, Coiflet 계열의 웨이블릿 함수를 활용하면 표본점 근방에서 변화를 세밀하게 추적할 수 있다. 주파수영역에서는 긴 필터 길이와 높은 차수의 순간 소멸을 통해 불필요한 영역으로의 에너지가 최소화되므로, 에너지 분산이 상대적으로 적고 중요한 주파수 성분만 선택적으로 추출할 수 있다.

Coiflet 필터뱅크 도식 예시

spinner

스케일링 필터 h와 웨이블릿 필터 g는 각각 저주파와 고주파 대역을 분리하며, 이후 다운샘플링 과정을 거쳐 공간 해상도와 주파수 해상도를 단계적으로 축소 및 확대한다. 이 도식은 1단계 분해만을 나타내지만, 다중해상도 분석을 위해 동일한 필터뱅크 과정을 반복 적용하여 더 세분화된 스케일에서 분석할 수 있다. Coiflet 웨이블릿 계열은 모함수의 설계가 정교하기 때문에 이 필터뱅크 과정을 통해 얻어지는 세부 계수와 근사 계수가 적절히 분산되며, 신호의 특징을 보존한 채 다단계 해석이 가능해진다.

구현 시 고려사항

Coiflet 계열을 실제로 구현할 때는 필터 계수를 정확하게 설정해야 한다. 필터 계수는 유리수나 무리수 형태로 주어지는 경우가 많고, 소수점 정밀도에 따라 결과가 크게 달라질 수 있다. 디지털 신호처리 환경에서는 유한 정밀도의 부동소수점 연산을 수행하므로, 필터 계수의 근사 오차가 누적될 여지가 존재한다. 높은 차수의 vanishing moment를 활용하는 만큼 필터 길이도 길어지기 때문에, 이를 소프트웨어나 하드웨어로 구현 시에는 메모리 사용량 및 계산량을 세심하게 관리해야 한다.

경계 구간(signal boundary) 처리도 중요한 문제다. 유한 길이 신호를 분석하거나 재구성할 경우, 필터의 지지 길이에 비해 신호 길이가 짧으면 경계 부근에서 계수의 누락이 발생할 수 있다. Coiflet 계열처럼 필터 길이가 길고, 순간 소멸 조건을 엄격히 설정하는 웨이블릿은 이 경계 처리에 더욱 신중해야 한다. 일반적으로는 zero-padding, symmetric-padding, periodic extension 등의 방법을 통해 신호를 임의로 연장한 뒤 필터뱅크 처리를 수행하고, 그 결과를 다시 잘라내거나 합성하는 기법을 많이 쓴다.

다항식 보존 성능

Coiflet 웨이블릿의 핵심적 특성 중 하나는 스케일링 함수와 웨이블릿 함수가 동시에 높은 차수의 다항식을 보존하고 소멸시키는 능력을 갖는다는 것이다. 이는 웨이블릿 변환 이후의 계수들이 특정 차수 이하의 다항식에 대해서는 완벽에 가깝게 0이 되거나, 혹은 정확히 해당 다항식을 재현할 수 있음을 의미한다. 예를 들어, Coiflet1은 적은 개수의 순간 소멸을 보장하지만 필터 길이가 짧고, Coiflet5는 더 많은 순간 소멸을 제공하지만 그만큼 필터 길이가 길어진다. 높은 차수의 다항식을 정확히 표현해야 하는 수치 해석 환경이나, 미세 신호 변동을 잡아내야 하는 응용 분야에서는 상대적으로 높은 차수의 Coiflet 계열을 선택해 원하는 정밀도를 얻을 수 있다.

신호 복원과 노이즈 제거에서의 장점

Coiflet 웨이블릿은 높은 차수의 순간 소멸 특성을 바탕으로 미세 신호 변화와 잡음을 구분하는 데 유리하다. 시간영역에서 특정 구간에 급격한 잡음이 삽입되더라도, 신호의 주요 구성 성분과 에너지가 스케일링 계수(저주파 영역)에 주로 분포되며, 잡음은 웨이블릿 계수(고주파 영역)에 상대적으로 집중된다. 이때 Coiflet 계열은 다항식 보존 능력이 뛰어나므로, 신호 본연의 구조를 잘 보존하면서도 고주파 대역의 유효하지 않은 성분을 제어하기에 적합하다.

디지털 신호처리에서 자주 활용되는 웨이블릿 임계값 기법(wavelet thresholding)을 적용하면, 노이즈가 주로 포함된 고주파 계수에 대해 특정 임계값 $\lambda$를 두고 다음과 같은 연산을 수행할 수 있다.

d~j,k=soft(dj,k,λ)=sign(dj,k)max{dj,kλ,0}\tilde{d}_{j,k} = \text{soft}(d_{j,k}, \lambda) = \text{sign}\bigl(d_{j,k}\bigr)\,\max\{\lvert d_{j,k}\rvert - \lambda, 0\}

여기서 $d_{j,k}$는 웨이블릿 변환 계수이며, $\tilde{d}_{j,k}$는 임계값 연산 뒤에 얻어진 계수다. Coiflet 웨이블릿으로 변환했을 때, 미세 구조를 잘 보존할 수 있을 만큼 필터 계수가 세밀하게 설계되어 있기 때문에 이 방식이 효과적이다. 잡음 성분이 강하게 드러난 계수들은 임계값 연산으로 소멸되거나 감소하고, 유용한 신호 구성 성분은 남아 있게 된다. 이후 웨이블릿 역변환을 통해 노이즈가 제거된 신호(또는 영상)를 복원할 수 있다.

Coiflet 계열을 활용하면, 일반적인 Daubechies 계열보다 미세 구조를 더 정확히 복원하기 쉽다는 장점이 있다. 하지만 높은 차수의 웨이블릿을 사용한다면 필터 길이가 길어지므로, 실제 구현 시 처리 시간과 메모리 사용량이 증가할 수 있다. 따라서 대용량 데이터를 실시간에 가까운 속도로 처리해야 하거나, 메모리 제약이 심한 환경에서는 Coiflet 계열을 적용하기 전에 시스템 리소스를 충분히 고려해야 한다.

예시 구현

Coiflet 웨이블릿을 사용해 1차원 신호를 분해하고, 다시 복원하는 과정을 보이려면 파이썬 환경에서 다음처럼 구현할 수 있다.

이 예시에서는 임의로 생성한 신호에 Coiflet 계열 웨이블릿을 적용해, 노이즈가 포함된 신호를 다중해상도 분석 기법으로 분해한 뒤 임계값 연산을 통해 고주파 노이즈를 감소시키고, 이를 다시 역변환하여 재구성하는 절차를 확인할 수 있다. Coiflet 웨이블릿은 높은 차수의 순간 소멸을 가지므로, 복원 과정에서 신호의 원래 구조가 상대적으로 충실히 유지되는 경향이 있다.

경계 처리와 필터 길이의 영향

Coiflet 웨이블릿을 이용하여 실제 신호를 변환할 때, 신호의 경계(에지) 구간 처리는 매우 중요하다. Coiflet 계열 필터는 길이가 길어질수록 경계 인근에서 활용되는 필터 계수가 부족해질 가능성이 크기 때문이다. 신호를 변환하기 전이나 변환 과정에서 적절히 경계를 확장하지 않으면, 필터의 컨벌루션에 필요한 샘플이 부족해지면서 계수가 왜곡될 수 있다.

경계 처리 기법 중 가장 단순한 방식은 zero-padding이다. 신호 양쪽 끝에 0을 덧붙여 길이를 늘린 뒤 변환 과정을 수행하고, 이후에 다시 원래 길이로 잘라내는 방식이다. 이 방식은 구현이 간단하나, 실제 신호가 0으로 급격히 변한다고 가정하는 셈이 되므로 경계에서 계수가 부정확해지기 쉽다.

대안으로는 대칭(symmetric) 확장이 자주 쓰인다. 신호의 끝 단을 거울 대칭으로 복제하여 확장하는 방식이며, 경계 부근에서 급격한 불연속을 피할 수 있어 계수의 왜곡을 어느 정도 완화한다. 주기적(periodic) 확장 또한 가능하지만, 신호가 마치 원형으로 이어지는 것처럼 가정하기 때문에, 실제 데이터 특성과 맞지 않을 경우 경계 주변에서 왜곡된 계수가 발생할 수 있다.

Coiflet 필터를 사용할 때는 이러한 경계 처리 방식을 적절히 선택해 필터 길이로 인한 왜곡 가능성을 줄여야 한다. 고차수 Coiflet 필터는 더 긴 계수열을 가지므로, 경계 영역에서의 계수 누락 위험이 커지고, 결과적으로 변환 계수나 복원 신호가 경계 인근에서 부정확해질 확률이 높아진다. 상황에 따라 여러 가지 경계 처리 기법을 시도해본 뒤, 분석에 가장 적합한 방법을 골라서 활용하는 것이 일반적이다.

Last updated