# 필터뱅크(Filter Bank) 해석

#### 필터뱅크와 웨이블릿 변환의 연관성

필터뱅크는 입력 신호를 여러 주파수 대역으로 나누어 처리하는 구조를 의미한다. 웨이블릿 변환이 이산화될 때, 이 과정을 효율적으로 수행하기 위해 필터뱅크 구조가 활용된다. 특히 2채널 필터뱅크 구조는 이산 웨이블릿 변환(DWT)을 구현하는 핵심적인 방식이며, 저주파 성분(스케일링)과 고주파 성분(웨이블릿)을 분리하는 과정이 필터뱅크로 이해될 수 있다. 일반적으로 해석(Analysis) 필터와 합성(Synthesis) 필터로 구성된 2채널 필터뱅크를 통해 신호를 세분화하고 재구성함으로써 원신호를 완전하게 복원할 수 있어야 한다. 이런 요구 사항을 만족하기 위한 필터 설계 및 해석 과정이 필터뱅크 해석의 주제이며, 웨이블릿 변환에서의 완전재구성(Perfect Reconstruction) 조건과 직접적인 관련이 있다.

#### 2채널 필터뱅크와 이산 웨이블릿 변환(DWT)

웨이블릿 변환을 2채널 필터뱅크로 해석하기 위해서는 한 쌍의 저역통과(Lowpass) 필터와 고역통과(Highpass) 필터가 필요하다. 신호가 이 필터들을 통과하면, 각 대역폭별로 신호가 분리되어 샘플링 레이트가 절반으로 줄어든 두 개의 하위 대역 신호들이 생성된다. 이산 웨이블릿 변환은 이 과정을 반복적으로 적용하면서 신호의 저주파 부를 계속 분해하거나, 필요에 따라 고주파 부를 추가로 분해하기도 한다.

필터뱅크에 기반한 DWT를 간단히 표현하면, 입력 신호를 $h\[n]$ 계수를 갖는 저역 필터와 $g\[n]$ 계수를 갖는 고역 필터로 동시에 통과시키고, 각각 다운샘플링(Downsampling) 과정을 거쳐서 저주파 성분 $\tilde{x}*\text{low}\[n]$과 고주파 성분 $\tilde{x}*\text{high}\[n]$을 얻게 된다.

$$
\tilde{x}*\text{low}\[n] = \sum*{k} x\[k],h\[2n - k], \quad \tilde{x}*\text{high}\[n] = \sum*{k} x\[k],g\[2n - k]
$$

이때 $x\[k]$는 입력 신호이며, $2n$은 다운샘플링 과정을 반영한다. 저역 필터 $h\[n]$과 고역 필터 $g\[n]$는 적절히 선택되어야 원신호를 완전히 복원할 수 있다.

#### 해석 필터와 합성 필터

필터뱅크 구조에서 웨이블릿 변환을 수행하기 위한 해석(Analysis) 필터는 입력 신호를 분해하는 역할을 담당한다. 반면, 변환 결과(하위 대역 신호)로부터 원신호를 복원하기 위해서는 합성(Synthesis) 필터가 적용된다. 해석 필터는 주로 $(h\[n], g\[n])$으로 구성되고, 합성 필터는 보통 $(\tilde{h}\[n], \tilde{g}\[n])$으로 구성된다.

재구성 과정에서, 다운샘플링된 하위 대역 신호에 업샘플링(Up-sampling)을 적용한 뒤 합성 필터를 거쳐서 최종적으로 두 부분 신호가 합쳐지는 형태를 취한다. 즉,

$$
\hat{x}\[n] = \sum\_{k} \tilde{x}*\text{low}\[k],\tilde{h}\[n-2k] ;+; \sum*{k} \tilde{x}\_\text{high}\[k],\tilde{g}\[n-2k]
$$

여기서 $\hat{x}\[n]$은 복원된 신호를 의미하고, 이 복원된 신호가 원래의 입력 $x\[n]$과 동일해지려면 특정한 조건이 충족되어야 한다. 이를 완전재구성(Perfect Reconstruction) 조건이라 부른다.

아래 그림은 2채널 필터뱅크를 간단히 나타낸 예시다.

{% @mermaid/diagram content="flowchart TD
A("Input x\[n]") --> B\[분해: 해석 필터 h, g]
B -->|Downsampling| C\[저주파 성분]
B -->|Downsampling| D\[고주파 성분]
C -->|Upsampling| E\[합성 필터]
D -->|Upsampling| E\[합성 필터]
E --> F("Output x̂\[n]")" %}

#### 완전재구성(Perfect Reconstruction) 조건

해석 필터와 합성 필터가 주어진 경우, 신호가 한 번 분해되고 다시 합성되는 과정을 거쳐도 원신호와 동일하게 복원되어야 한다. 이를 위해서는 아래와 같은 조건들이 만족되어야 한다.

해석단에서의 다운샘플링과 합성단에서의 업샘플링을 고려하면, 재구성 신호 $\hat{x}\[n]$는

$$
\hat{x}\[n]  = \sum\_{k} \tilde{x}*\text{low}\[k] ,\tilde{h}\[n-2k]  + \sum*{k} \tilde{x}\_\text{high}\[k] ,\tilde{g}\[n-2k]
$$

로 표현되며, $\tilde{x}*\text{low}\[k]$와 $\tilde{x}*\text{high}\[k]$에는 각각 $h\[n]$, $g\[n]$가 적용된다.

주파수 영역 관점에서, 해석 필터 $H(e^{j\omega})$와 $G(e^{j\omega})$, 그리고 합성 필터 $\tilde{H}(e^{j\omega})$와 $\tilde{G}(e^{j\omega})$가 특정한 조합 관계를 만족해야만, 주파수 축에서의 상호간 간섭과 왜곡이 없이 완전재구성이 가능하다. 이를 정식화하기 위해 2채널 필터뱅크에서 요구되는 조건을 주로 다음과 같은 합성 조건으로 표현한다.

다운샘플링 연산자의 특성상, $H(e^{j\omega})$와 $G(e^{j\omega})$가 2$\pi$ 주기 내에서 서로 다른 대역을 커버하도록 설계되고, $\tilde{H}(e^{j\omega})$, $\tilde{G}(e^{j\omega})$ 역시 필터 간의 합성과정에서 상호간 간섭이 상쇄되도록 구성된다.

이 과정에서 잔류 에일리어싱(Aliasing) 성분이 없으며, 위상왜곡(Phase Distortion)이 적은 형태로 필터들이 맞추어질 때 신호의 원형 복원이 달성된다. 특히 해석 필터와 합성 필터 사이에 다음과 같은 곱셈 관계가 형성되면, $X(e^{j\omega})$가 그대로 복원될 수 있다.

$$
H(e^{j\omega}),\tilde{H}(e^{j\omega})  ;+; G(e^{j\omega}),\tilde{G}(e^{j\omega})  = 2 \quad (\text{Aliasing Free Condition})
$$

위 식에서 우변이 2인 이유는 다운샘플링 계수가 2이기 때문이다.

#### 위상 특성

필터의 위상(Phase) 특성은 재구성된 신호가 원신호와 동일하더라도, 추가적인 위상 지연이나 왜곡 없이 복원되기 위해 중요한 요소다. 선형위상(Linear Phase)을 유지하려면 각 필터가 특정한 대칭성을 가져야 한다. 하지만 대칭 필터의 계수들을 구성하면, 필터 길이와 지수감쇠(Decay) 특성 등을 제한하게 된다. 웨이블릿 변환에서 자주 사용되는 다우베시( Daubechies ) 계열 웨이블릿은 완전재구성 필터이면서 최소 지지(Minimum Support)를 갖도록 설계되어 있지만, 대체로 선형위상을 만족하진 않는다.

선형위상 특성을 희생하는 대신 대역분할 효율을 높이거나, 웨이블릿의 정규직교성(Orthonormality) 혹은 쌍직교성(Biorthogonality)을 확보하는 방향으로 설계하는 것이 일반적이다.

#### 정규직교성(Orthonormality)과 쌍직교성(Biorthogonality)

웨이블릿 기반 필터뱅크 설계에서 중요한 개념으로 정규직교성과 쌍직교성이 있다. 정규직교 웨이블릿 계열을 구성하기 위해서는 해석 필터와 합성 필터가 동일해야 하며, 이 두 필터 집합이 서로 직교(Inner Product가 0) 관계를 만족해야 한다. 이를 수식으로 표현하면, 해석 필터 $h\[n]$가 주어졌을 때, 모든 정수 $k$에 대해

$$
\sum\_{n} h\[n],h\[n-2k]=\delta\[k]
$$

가 성립해야 한다. 여기서 $\delta\[k]$는 크로네커 델타(Kronecker Delta)를 의미하고, 필터 길이에 따라 합의 범위가 결정된다. 고역 필터 $g\[n]$도 마찬가지 원리로 구성된다. 이때 해석 필터와 합성 필터가 같으므로, 구현 관점에서 필터 수가 줄어드는 장점이 있다.

쌍직교성 구조에서는 해석 필터와 합성 필터가 서로 다를 수 있다. 해석 필터 집합 ${h\[n],,g\[n]}$, 합성 필터 집합 ${\tilde{h}\[n],,\tilde{g}\[n]}$가 있다고 할 때, 정규직교성 대신 다음과 같은 조건이 요구된다.

$$
\sum\_{n} h\[n],\tilde{h}\[n-2k]=\delta\[k],
\quad
\sum\_{n} g\[n],\tilde{g}\[n-2k]=\delta\[k],
\\
\sum\_{n} h\[n],\tilde{g}\[n-2k]=0,
\quad
\sum\_{n} g\[n],\tilde{h}\[n-2k]=0
$$

이때 해석 필터는 서로 직교가 아니지만, 합성 필터와 합쳐진 전체 시스템 측면에서는 완전재구성이 보장되는 구조가 형성된다. 이 구조를 활용하면 필터 길이나 위상 특성 선택 등에 있어 비교적 자유도가 높아, 다양한 응용 영역에서 활용된다.

#### 폴리페이즈(Polyphase) 표현

필터뱅크 해석을 더 간결하게 표현하기 위해 폴리페이즈(Polyphase) 구조가 활용된다. 폴리페이즈 표현은 필터 계수를 짝수 인덱스와 홀수 인덱스로 분할하여, 다운샘플링 과정을 수학적으로 더 깔끔히 나타낼 수 있게 한다. 해석 필터 $h\[n]$가 주어지면, 이를 짝수 성분 $h^{(0)}\[n]$과 홀수 성분 $h^{(1)}\[n]$으로 나눈다. 즉,

$$
h\[n]  = \begin{cases}  h^{(0)}\[m], & n=2m,\ h^{(1)}\[m], & n=2m+1. \end{cases}
$$

해석 필터뱅크가 이 폴리페이즈 형태로 변환되면, 다운샘플링이 반영되는 지점에서 $z^{-1}$ 연산과의 결합 관계가 단순화되어, 전반적인 시스템 다이어그램이 축소된다.

합성 필터에 대해서도 동일한 방식으로 계수를 폴리페이즈 성분으로 나누어 표현할 수 있으며, 시스템의 완전재구성 조건을 폴리페이즈 행렬의 행렬 곱 형태로 재정의할 수 있다. 예컨대 해석단 폴리페이즈 행렬을

$$
\mathbf{H}\_p(z) = \begin{pmatrix} H^{(0)}(z) & H^{(1)}(z) \ G^{(0)}(z) & G^{(1)}(z)  \end{pmatrix}
$$

라고 할 때, 합성단 폴리페이즈 행렬

$$
\mathbf{\tilde{H}}\_p(z) = \begin{pmatrix} \tilde{H}^{(0)}(z) & \tilde{H}^{(1)}(z) \ \tilde{G}^{(0)}(z) & \tilde{G}^{(1)}(z)  \end{pmatrix}
$$

과의 곱에서 특정한 조건이 충족되면 완전재구성이 성립한다.

#### 리프팅(Lifting) 방식

이산 웨이블릿 변환을 구현하기 위한 또 다른 방법으로 리프팅 스킴(Lifting Scheme)이 있다. 리프팅은 기존의 필터 기반 접근보다 더 단순화된 연산 구조로 DWT를 구현할 수 있는 방법이며, 올패스( All-pass ) 필터나 일부 단순 연산을 반복하여 웨이블릿 및 스케일링 계수를 만들어낸다.

리프팅을 통해 분석 필터와 합성 필터를 직접 유도하기도 하며, 기존의 정규직교 혹은 쌍직교 필터 집합을 리프팅 형태로 재구성할 수도 있다. 이 방식은 필터 길이 확장이나 다른 형태의 파라미터 수정이 용이하다는 장점이 있다.

#### 경계조건(Boundary Condition)과 신호 길이

디지털 환경에서 필터뱅크를 적용할 때는 신호의 유한 길이로 인해 경계구간에서 발생하는 현상을 어떻게 처리할지가 중요하다. 웨이블릿 변환에서도 동일한 문제가 발생하며, 특히 다운샘플링 과정에서 경계부에 충분한 샘플이 없는 경우 필터 연산을 완전하게 적용하기 어렵다.

가장 간단한 방식은 신호의 앞뒤로 0을 추가(Zero Padding)하는 것이지만, 이 경우 신호 값이 갑자기 0으로 변하기 때문에 경계 주변에서 인위적 불연속이 생길 수 있다. 이를 완화하기 위해 신호의 경계를 거울 대칭(Reflection)하거나, 순환(Circular) 방식으로 확장하여 경계 문제를 해결하기도 한다.

웨이블릿 필터뱅크 설계 시, 경계효과가 전체 변환 결과에 미치는 영향을 최소화하도록 다음과 같은 선택지를 둔다.

$,\rightarrow$ zero-padding $,\rightarrow$ reflection (symmetric) extension $,\rightarrow$ periodic extension

이러한 방식을 어떻게 적용하느냐에 따라 해석 및 합성 과정에서 경계부 계수들이 달라지며, 복원 신호에서 미세한 왜곡이 나타날 수 있다. 따라서 응용 목적(신호 압축, 잡음 제거, 이상 탐지 등)에 맞추어, 경계처리 기법을 적절히 선택해야 한다.

#### 단계별 분해와 트리(Tree) 구조

2채널 필터뱅크를 반복적으로 적용해나가면, 저주파 대역과 고주파 대역이 재차 분해되어 마치 트리(Tree) 형태의 분해 결과를 얻게 된다. 웨이블릿 변환에서는 일반적으로 저주파 대역만 계속 분해해서 다중해상도(Multi-resolution) 분석을 수행한다.

시간영역에서의 필터뱅크 적용 결과를 트리 구조로 표현하면, 루트 노드가 원 신호이고, 1단계 분해에서 저주파 성분과 고주파 성분을 자식 노드로 갖는다. 이후 저주파 성분을 다시 2단계 분해하면, 두 개의 자식 노드(더 낮은 저주파와 그보다 높은 주파수 대역)가 생기는 식으로 확장된다.

{% @mermaid/diagram content="flowchart TB
A\[원 신호] --> B\[1단계 분해: 저주파, 고주파]
B --> C\[2단계 분해: 저주파의 저주파, 저주파의 고주파]
C --> D\[3단계 분해...]" %}

이와 같은 구조를 통해, 저주파 대역은 점진적으로 정밀하게 분석하면서 고주파 대역도 꾸준히 모니터링할 수 있다. 이 구조는 영상처리, 음성처리, 신호분석 등 다양한 분야에서 멀티레벨 해상도의 편의를 제공한다.

#### 연산 복잡도(Computational Complexity)

필터뱅크 형태로 웨이블릿 변환을 구현하면, 단계별로 2배씩 샘플 수가 줄어드는 다운샘플링 효과 덕분에 연산량이 줄어든다. $N$ 길이의 신호를 $J$번 분해한다고 할 때, 각 단계마다 약 $O(N)$ 수준의 연산이 추가되어, 전체적으로 $O(N,J)$ 내지 $O(N)$ 수준으로 계산이 가능하다.

폴리페이즈(Polyphase) 구조나 리프팅(Lifting) 스킴을 적용하면, 필터 계수를 적용하는 과정에서 연산을 중복 없이 묶어서 처리할 수 있어, 실제 구현에서의 속도를 추가로 높일 수 있다. 또한, 필터 길이가 길어지면 그만큼 한 번의 컨볼루션(Convolution) 연산량이 증가하지만, 다운샘플링에 의해 전체 연산 횟수가 줄어드는 효과도 동시에 발생한다.
