## 5 Rank Selection  
Selecting the rank number is important for the sake of computational complexity and performance. In this section, we examine the efficient implementation of two stopping criteria for selecting the rank number \(d\). Unlike prior methods for rank selection, which utilize MSWF-based algorithms [20] or AVF-based recursions [21], we focus on an approach that jointly determines the rank number \(d\) based on the LS criterion computed by the filters \(\mathbf{S}_{D}[i]\) and \(\bar{\mathbf{\omega}}[i]\). In particular, we present a method for automatically selecting the ranks of the algorithms based on the exponentially-weighted _a posteriori_ least-squares type cost function described by:  
\[\mathcal{C}\left(\mathbf{S}_{D}[i],\bar{\mathbf{\omega}}[i]\right)=\sum_{i}^{l=1} \alpha^{i-1}|\bar{\mathbf{\omega}}[i-1]^{H}\mathbf{S}_{D}[i-1]\mathbf{r}[l]|^{2} \tag{43}\]  
where \(\alpha\) is the forgetting factor and \(\bar{\mathbf{\omega}}[i]\) is the reduced-rank filter with rank \(d\). For each time interval \(i\), we can select the rank \(d_{\text{opt}}\) that minimizes the cost function \(\mathcal{C}\left(\mathbf{S}_{D}[i],\bar{\mathbf{\omega}}_{D}[i]\right)\), and the exponential weighting factor \(\alpha\) is required as the optimal rank varies as a function of the data record. The key quantities to be updated are the projection matrix \(\mathbf{S}_{D}[i]\), the reduced-rank filter \(\bar{\mathbf{\omega}}[i]\), the associated reduced-rank steering vector \(\bar{\mathbf{a}}(\theta_{k})\) and the inverse of the reduced-rank covariance matrix \(\mathbf{R}_{D}^{-1}[i]\). To this end, we define the following extended projection matrix \(\mathbf{S}_{D}[i]\) as:  
\[\mathbf{S}_{D}=\begin{bmatrix}s_{1,1}&s_{1,2}&\cdots&s_{1,D_{\text{min}}}&\cdots &s_{1,D_{\text{max}}}\\ s_{2,1}&s_{2,2}&\cdots&s_{2,D_{\text{min}}}&\cdots&s_{1,D_{\text{max}}}\\ \vdots&\vdots&\ddots&\vdots&\ddots&\vdots\\ s_{M,1}&s_{M,2}&\cdots&s_{M,D_{\text{min}}}&\cdots&s_{M,D_{\text{max}}}\\ \end{bmatrix} \tag{44}\]  
and the extended reduced-rank filter weight vector \(\bar{\mathbf{\omega}}[i]\) as:  
\[\bar{\mathbf{\omega}}=\begin{bmatrix}\omega_{1}\\ \omega_{2}\\ \vdots\\ \omega_{\text{min}}\\ \vdots\\ \omega_{\text{max}}\\ \end{bmatrix} \tag{45}\]  
The extended projection matrix \(\mathbf{S}_{D}\) and the extended reduced-rank filter weight vector \(\bar{\mathbf{\omega}}\) are updated along with the associated quantities \(\bar{\mathbf{a}}(\theta_{k})\) and \(\mathbf{R}_{D}^{-1}[i]\) (only for the RLS) for the maximum allowed rank \(d_{\text{max}}\), and then, the proposed rank adaptation algorithm determines the rank that is best for each time instant \(i\) using the cost function (43). The proposed rank adaptation algorithm is then given by:  
\[D_{\text{opt}}=\arg\min_{D_{\text{min}}\leq d\leq D_{\text{max}}}\mathcal{C} \left(\mathbf{S}_{D}[i-1],\bar{\mathbf{\omega}}[i-1]\right) \tag{46}\]where \(d\) is an integer and \(D_{\text{min}}\) and \(D_{\text{max}}\) are the minimum and maximum ranks allowed for the reduced-rank filter, respectively. Note that a smaller rank may provide faster adaptation during the initial stages of the estimation procedure and a greater rank usually yields a better steady-state performance. Our studies reveal that the range for which the rank \(d\) of the proposed algorithms have a positive impact on the performance of the algorithms is limited. These values are rather insensitive to the system load and the number of array elements and work very well for all scenarios.