I am currently reading and trying to understand a paper (Kulkarni and Colburn, 2004) that utilizes system identification methods to approximate head-related transfer functions.
The general approach is to
- Compute an autoregressive (all-pole-) estimate of the transfer function using the autocorrelation method for linear prediction.
- Use the AR estimate as a starting point to compute a pole-zero-representation of the system transfer function iteratively.
- Evaluate the result of the estimation process on a logarithmic scale (Error in dB).
For the iterative procedure, the authors are proposing a cost function
$\hat{C} = \frac{1}{2\pi}\int_{-\pi}^{\pi}|H(e^{j\omega})A(e^{j\omega}) - B(e^{j\omega})|^2 d\omega $,
where $\hat{H}$ is the system transfer function, $A$ is the DTFT of the recursive coefficients and $B$ the DTFT of the transversal coefficients. I understand this approach originates from this paper (Kalman, 1958).
This cost function is then extended for the iterative process as
$\hat{C}_i = \frac{1}{2\pi}\int_{-\pi}^{\pi}|\frac{H(e^{j\omega})A_i(e^{j\omega})}{A_{i-1}(e^{j\omega})} - \frac{B_i(e^{j\omega})}{A_{i-1}(e^{j\omega})}|^2 d\omega $,
where the index $i$ denotes variables corresponding to the $i$th iteration. The iterative modification originates from this paper (Steiglitz and McBride, 1965).
In order to find a solution on a decibel scale, a weighting function $W$ is introduced:
$\hat{C}_i = \frac{1}{2\pi}\int_{-\pi}^{\pi} |W_i(e^{j\omega})|^2 |\frac{H(e^{j\omega})A_i(e^{j\omega})}{A_{i-1}(e^{j\omega})} - \frac{B_i(e^{j\omega})}{A_{i-1}(e^{j\omega})}|^2 d\omega $,
which is introduced in the paper as
$W_i(e^{j\omega}) = \frac{\log\left( H(e^{j\omega})\right) - \log\left( \frac{B_{i-1}(e^{j\omega})}{A_{i-1}(e^{j\omega})}\right)}{|H(e^{j\omega})A_{i-1}(e^{j\omega}) - B_{i-1}(e^{j\omega})|^2}$.
I understand this weighting function is the squared error in logarithmic scale between true and approximated transfer function, divided by the first cost function.
However, i have trouble understanding the process of arriving at the iterative cost function for several reasons. I would like to ask the following questions:
- Why is the first cost function $\hat{C}$ preferred to, say, $\frac{1}{2\pi}\int_{-\pi}^{\pi} |H(e^{j\omega}) - B(e^{j\omega})/A(e^{j\omega})|^2$ in the first place? what does it do?
- In the iterative cost function $\hat{C}_i$, what is the purpose of dividing by the recursive proportion of the last transfer function estimate?
- For what reason is a weighting function introduced for logarithmic error minimization, rather than just using its numerator as a cost function directly?
I would really appreciate any help or pointers into the right direction.