## 3 Joint Angle and Delay Estimation (JADE)
### GWO vs. Combining \(|\)Embedding Is (Is-Gwo\(|\)Gwoeis)  
GWO is inspired by the leadership hierarchy and the hunting mechanism of gray wolves in nature [28]. In a pack or population of, say, \(R^{\prime}\) individuals, we identify four types of gray wolves that emulate their leadership hierarchy: the \(\alpha\)-type are responsible for making hunting decisions (representing the solutions with best results). The \(\beta\)-type help the \(\alpha\)-type in decision making and act as their best substitute-candidates when one of them becomes old or dies (second-best solutions in the population). The \(\delta\)-type have only to submit to the \(\alpha\)- and \(\beta\)-types (third-best solutions). And the \(\omega\)-type are of the lowest rank, and must yield to the dominant ones. Guided by this \"social\" hierarchy's rules, gray wolves proceed to hunt along three main and consecutive stages: (1) tracking, chasing, and approaching the prey; (2) pursuing, encircling, and harassing it once it stops moving; and (3) attacking it. Mathematically and generally speaking, GWO translates the leadership hierarchy and the hunting mechanism summarily described above due to lack of space into an optimization by search (i.e., hunting) in any multi-dimensional space whose best solution (i.e., prey) that minimizes a given criterion (i.e., so-called \"fitness function\") is found in an iterative manner by mimicking the gray wolves (i.e., search agents) hunting behavior (i.e., search adaptation rules). In the present case, \(\mathbf{\Xi}_{opt}\triangleq\left[\mathbf{\theta}_{opt},\ \mathbf{\tau}_{opt}\right]\) and \(-\mathcal{F}_{c}\left(\mathbf{\theta},\mathbf{\tau}\right)\) in (13) stand, respectively, for the prey to be hunted and the fitness function to be minimized in a \(2Q\)-dimensional space. Hence, GWO translates as follows:  
**Step (1):** first, the wolves' positions are initialized in the \(2Q\) space according to one of the following cases (a) or (b). **Step (1.a) [GWO]:** The conventional GWO initially places the wolves pack of \(R^{\prime}=R\) individuals at random positions in the \(2Q\) search space \(\left\{\mathbf{\Sigma}_{0}^{(r)}\right\}_{r=1}^{R}=\left\{\left\{\mathbf{\Sigma}_{ \theta}^{(r)},\ \mathbf{\Sigma}_{\tau}^{(r)}\right\}\right\}_{=1}^{R}\) where \(\mathbf{\Sigma}_{\theta}^{(r)}\!=\!\left\{\mathcal{U}\left([-\frac{\pi}{2},\frac{ \pi}{2}\right)\right\}_{q=1}^{Q}\) and \(\mathbf{\Sigma}_{\tau}^{(r)}\!=\!\left\{\mathcal{U}\left([0,\tau_{\text{max}}] \right)\right\}_{q=1}^{Q}\). Hence, it requires larger packs and longer hunting (iterations) to catch the prey, i.e., find the correct angles of arrival (AoAs) and time delays (TDs) without guaranteeing global convergence. **Step (1.b) [IS-GWO or GWOEIS]:** Instead of random initial placement, IS-GWO and GWOEIS position the wolves at \(\left\{\mathbf{\Sigma}_{0}^{(r)}\right\}_{r=1}^{R}=\left\{\mathbf{\xi}^{(r)}=\left\{ \theta_{1}^{(r)},\cdots,\theta_{Q}^{(r)},\tau_{1}^{(r)},\cdots,\tau_{Q}^{(r)} \right\}\right\}_{r=1}^{R}\), stemming from the \(R^{\prime}=R\) realizations generated in (29). Hence, even with relatively less realizations, this still guarantees global convergence, and it would always provide good-enough rough initialization values to GWOEIS to make the latter converge much faster and more accurately with relatively less hunting iterations. **Step (2):** at each iteration \(\{t\}_{t=1}^{T_{H}}\) over the hunt duration \(T_{H}\), \(-\mathcal{F}_{c}\left(\mathbf{\Sigma}\right)\) is evaluated over each individual \(\mathbf{\Sigma}_{t-1}^{(r)}\) in the pack, and the fittest three that better minimize it are identified as \(\mathbf{\Sigma}_{t-1}^{\alpha},\mathbf{\Sigma}_{t-1}^{\beta}\), and \(\mathbf{\Sigma}_{t-1}^{\delta}\), respectively. **Step (3):** the so-called convergence factor \(a_{t}\) guiding the hunt is updated according to one of the following cases (a) or (b). **Step (3.a) [GWO or IS-GWO]:**\(a_{t}=2\ (1-\frac{t}{T_{H}})\) is simply set to decrease linearly from 2 to 0 over the hunt duration \(T_{H}\).