Skip to main content

Table 3 The flow diagram of computation of weight vector in adaptive beamformer B

From: DOA estimation based on data level Multistage Nested Wiener Filter

Initialization

 

\( \begin{array}{c}\hfill {\mathbf{t}}_{B(1)}={\left({e}^{j{\phi}_k}{r}_k\right)}^{*}{\mathbf{y}}_B(n)/{\left\Vert {\left({e}^{j{\phi}_k}{r}_k\right)}^{*}{\mathbf{y}}_B(n)\right\Vert}_2,\kern0.24em \hfill \\ {}\hfill \kern1.44em n=1,\cdots, \kern0.1em L-1\hfill \end{array} \)

 

Forward recursion for i = 2, , D

 

\( {\mathbf{t}}_{B(i)}={\displaystyle {\sum}_{i=1}^{L-1}{d}_{B\left(i-1\right)}^{*}{\mathbf{x}}_{B\left(i-1\right)}(n)/}{\displaystyle {\sum}_{i=1}^{L-1}{\left\Vert {d}_{B\left(i-1\right)}^{*}{\mathbf{x}}_{B\left(i-1\right)}(n)\right\Vert}_2} \)

 

t B(i) = t B(i)/t B(i)2

 

\( {d}_{B(i)}(n)={\mathbf{t}}_{B(i)}^{\mathrm{H}}{\mathbf{x}}_{B\left(i-1\right)}(n),\kern0.24em n=1,\cdots, L-1 \)

 

x B(i)(n) = x B(i− 1)(n) − d B(i)(n)t B(i), n = 1, , L − 1

 

ε B(D)(n) = d B(D)(n), n = 1, , L − 1

 

Backward recursion for i = D − 1, , 2

 

\( {\omega}_{B\left(i+1\right)}={\displaystyle {\sum}_{i=1}^{L-1}{d}_{B(i)}(n){\varepsilon}_{B\left(i+1\right)}^{*}(n)/}{\displaystyle {\sum}_{i=1}^{L-1}{\left|{\varepsilon}_{B\left(i+1\right)}(n)\right|}^2} \)

 

ε B(i)(n) = d B(i)(n) ‐ ω B(i+ 1) ε B(i+ 1)(n), n = 1, , L − 1

 

Calculate the Wiener filter coefficient

 

\( {\mathbf{w}}_k^{B(D)}={\displaystyle {\sum}_{i=1}^D{\left(-1\right)}^{i+1}\left\{{\displaystyle {\prod}_{l=1}^i}\left(-{\omega}_{B(l)}\right)\right\}\times {\mathbf{t}}_{B(i)}} \)