Skip to main content

Table 2 The flow diagram of computation of weight vector in adaptive beamformer A

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)} \)