앞서 배웠던 Wiener-Hopf equation을 풀기 위해, 필요한 값들을 정리해보았습니다. R,r과 input signal variance 등 autocorrelation을 알면 linear prediction을 수행할 수 있다는 걸 알 수 있습니다.
Wiener filter와 Forward predictor 간 수식 표기를 나타낸 표입니다.
Rwf=r
PM=r(0)−rTwf
Forward linear prediction에서 필터 계수는 wf=R−1r의 계산을 통해 얻을 수 있습니다. 그러나 R−1 (공분산 행렬의 역행렬)을 구하는 것은 계산 복잡도가 높기 때문에, 이를 재귀적으로 풀어 연산량과 메모리를 절약하려는 방법이 고안되었습니다. 이 방법을 Levinson-Durbin 알고리즘이라고 합니다.
기존의 Wiener-Hopf equation을 (M+1)×(M+1) autocorrelation matrix로 dimension을 하나 추가해주고 forward prediction error coefficient인 aM을 곱함으로써, 여러 변수를 고려한 최적의 필터 설계를 위한 augmented Wiener-Hopf equation으로 변형할 수 있습니다.
2. Backward linear prediction
Forward predictor와 비교했을 때 Backward predictor는 tap input과 desired 간 cross-correlation vector 순서가 반대입니다. 하지만, prediction error power PM는 forward나 backward나 같은 값을 가집니다.
3. Levinson-Durbin algorithm
Levinson-Durbin algorithm은 augmented Wiener-Hopf equation을 푸는데 쓰이는 recursive한 알고리즘으로, m차 해을 얻기 위해 m−1차 prediction error filter의 augmented Wiener-Hopf equation의 해를 사용합니다. 복잡한 행렬 계산 대신 재귀적인 방식으로 해를 구하기 때문에, 효율적으로 메모리를 사용하고 연산량을 줄인다는 장점을 가집니다.
위 필기에서도 알 수 있듯이, m차 prediction error coefficient는 m−1차 forward/backward prediction error coefficient에 대한 식으로 나타낼 수 있습니다.
m−1차 coefficient를 이용해 m차 coefficient를 구하도록, augmented Wiener-Hopf equation을 풀어보면 κm과 m차 prediction error power에 대한 식을 얻을 수 있습니다. Pm−1을 알면 κm을 구할 수 있고, κm을 알면 다음 Pm을 구할 수 있습니다. 또한, 전개 과정에서 얻은 Pm에 대한 관계식을 통해 predictor 차수가 증가할수록 error power가 감소하는 것을 알 수 있습니다. 이렇게, 재귀적으로 augmented Wiener-Hopf equation을 풀어나감으로써, 연산량도 줄이고 유용한 부차적인 정보도 얻을 수 있게 됩니다.
κm과 Δm−1의 의미를 해석해봅시다.
κm은 마지막 m차 forward prediction error coefficient로 정의되고 Δm−1은 forward prediction error와 delayed backward prediction erorr 간 cross correlation을 나타냅니다. Δm−1이 왜 이렇게 정의되는지 수식을 통해 알아보도록 하겠습니다.
u(n−m)의 backward prediction을 가정하고 Δm−1=E[u(n−m)fm−1(n)] 식을 이용해 풀어쓰면, Δm−1가 forward prediction error와 delayed backward prediction error의 cross-correlation이라는 것을 알 수 있습니다.
0차 forward/backward prediction error를 모두 u(n)이라 두었을 때, Levinson-Durbin algorithm 메커니즘을 정리하였습니다. 첫 번째 coefficient는 항상 1이고, 마지막 coefficient는 reflection coefficient (κ2=a2,2)입니다. 여기서 κ1은 power 대비 한 샘플 delay 됐을 때 signal의 correlation을 나타냅니다.
reflection coefficient κm와 partial correlation coefficient ρm의 관계식은 위와 같습니다.
inverse Levinson-Durbin algorithm을 통해 m차 coefficient로부터 과거의 m−1차 coefficient를 구할 수 있습니다.
4. Lattice predictors
Lattice predictor는 linear prediction을 수행하는 또 다른 방법으로, 입력 u(n)이 들어왔을 때, 낮은 차수에서 높은 차수까지 마치 결정과 같은 구조로 reflection coefficient를 재귀적으로 계산합니다.
All-pole filter는 재귀적으로 M차에서 M−1, M−2, ..., 0차로 계산하며, 최종적으로 f0(n)=u(n)을 구합니다. All-pass filter는 fM(n)에서 delayed bM(n)을 output으로 반환합니다. All-zero filter는 입력 u(n)에서 시작하여 재귀적으로 fM(n)을 예측하는 필터입니다.