complementary transfer functions 에 대해 알아보겠습니다. 디지털 필터뱅크를 만들때 많이 사용되는 개념입니다. 예를들어 아래와 같은 디지털 필터뱅크가 있다고 합시다.
Complementary Transfer Functions
analysis filter bank와 synthesis filter bank 가 직렬적으로 이어져 있는 시스템이죠. synthesis filter bank 를 어떻게 잡아야 입력신호 $x[n]$과 닮은 친구를 복원할 수 있을까요? Filter $H_k$들로 파헤쳐진 신호들을 다시 모아서 잘 만들기 위해 서는 analysis filter bank에서 파헤친 신호들을 다시 보완하는 식의 filter bank 가 필요하고 이러한 필터를 구성하는 transfer function 을 complementary transfer functions이라고 합니다.
Strictly complementary transfer functions
신호 $x[n]$이 필터 $H_k$를 통과해서 신호 $x_k[n]$이 만들어진다고 합시다. 신호를 완벽히 복원해내기 위해서 $x_k[n]$을 합치면 $x[n]$이 나오길 바랍니다. 그럴려면 $H_k$를 어떻게 잡으면 좋을까요.
첫번째로는 $\sum_{k=0}^{M-1}H_k(z)=1$이 되도록 잡습니다. $x[n]$이 완전히 복원되겟죠.
두번재로는 $\sum_{k=0}^{M-1}H_k(z) = cz^{-n_0}$이 되도록 잡습니다. 그러면 $cx[n-n_0]$이 복원됩니다. 그런데 말이죠. 실제로는 더하기전에 synthesis filter $F_i(z)$사용합니다.
power complementary transfer functions
만약에 $\sum_{k=0}^{M-1}\mid H_k(e^{j\omega}) \mid^2=c$를 만족한다고 합시다. 그랬을 때 synthesis filter $F_k(z) = \tilde{H}_k(z)$로 잡습니다. 그러면 synthesis filter 통과시 출력값이 $cx[n]$이 나오겠죠. causal filter에는 delay filter가 도입된다고 합니다.
all pass transfer functions
혹은 $\sum_{k=0}^{M-1} H_k(z) = A(x)$가 되도록 잡습니다. $A(z)$ 는 all pass filter 입니다. 필터 $H_k$를 통과시키고 합치면 신호 $x[n]$의 주파수대역이 살아있는 신호가 나옵니다.