From: DOA estimation based on data level Multistage Nested Wiener Filter
Initialization | |
\( {\mathbf{t}}_{A(1)}={r}_k^{*}{\mathbf{y}}_A(n)/{\left\Vert {r}_k^{*}{\mathbf{y}}_A(n)\right\Vert}_2,\kern0.24em n=1,\cdots, \kern0.1em L-1 \) | |
Forward recursion for i = 2, 3, ⋯, D | |
\( {\mathbf{t}}_{A(i)}={\displaystyle {\sum}_{n=1}^{L-1}{d}_{A\left(i-1\right)}^{*}{\mathbf{x}}_{A\left(i-1\right)}(n)} \) | |
t A(i) = t A(i)/‖t A(i)‖ 2 | |
\( {d}_{A(i)}(n)={\mathbf{t}}_{A(i)}^{\mathrm{H}}{\mathbf{x}}_{A\left(i-1\right)}(n),\kern0.24em n=1,\cdots, L-1 \) | |
\( \begin{array}{c}\hfill {\mathbf{x}}_{A(i)}(n)={\mathbf{x}}_{A\left(i-1\right)}(n)-{d}_{A(i)}(n){\mathbf{t}}_{A(i)},\kern0.24em \hfill \\ {}\hfill \kern1.44em n=1,\cdots, \kern0.1em L-1\hfill \end{array} \) | |
ε A(D)(n) = d A(D)(n), n = 1, ⋯, L − 1 | |
Backward recursion for i = D − 1, ⋯, 2 | |
\( {\omega}_{A\left(i+1\right)}={\displaystyle {\sum}_{n=1}^{L-1}{d}_{A(i)}(n){\varepsilon}_{\left(i+1\right)}^{*}(n)/}{\displaystyle {\sum}_{n=1}^{L-1}{\left|{\varepsilon}_{A\left(i+1\right)}(n)\right|}^2} \) | |
\( \begin{array}{c}\hfill {\varepsilon}_{A(i)}(n)={d}_{A(i)}(n)-{\omega}_{A\left(i+1\right)}{\varepsilon}_{A\left(i+1\right)}(n),\hfill \\ {}\hfill \kern1.44em n=1,\cdots, \kern0.1em L-1\hfill \end{array} \) | |
Calculate the Wiener filter coefficient | |
\( {\mathbf{w}}_k^{A(D)}={\displaystyle {\sum}_{i=1}^D{\left(-1\right)}^{i+1}}\left\{{\displaystyle {\prod}_{l=1}^i}\left(-{\omega}_{A(l)}\right)\right\}\times {\mathbf{t}}_{A(i)} \) |