HydraWave: Multi-Group Multicast Hybrid Precoding and Low-Latency Scheduling for Ubiquitous Industry 4.0 mmWave Communications

Luis F. Abanto-Leon, Matthias Hollick, and Gek Hong (Allyson) Sim
Secure Mobile Networking (SEEMOO) Lab, Technichal University of Darmstadt, Germany

M. Shell was with the Department
of Electrical and Computer Engineering, Georgia Institute of Technology, Atlanta,
GA, 30332 USA e-mail: (see http://www.michaelshell.org/contact.html).
J. Doe and J. Doe are with Anonymous University.
Manuscript received April 19, 2005; revised August 26, 2015.

Journal of  Class Files, Vol. 14, No. 8, August 2015
Shell et al.: Bare Demo of IEEEtran.cls for IEEE Communications Society Journals

Industry 4.0 anticipates massive interconnectivity of industrial devices (e.g., sensors, actuators) to support factory automation and production. Due to the rigidity of wired connections to harmonize with automation, wireless information transfer has attracted substantial attention. However, existing solutions for the manufacturing sector face critical issues in coping with the key performance demands: ultra-low latency, high throughput, and high reliability. Besides, recent advancements in wireless millimeter-wave technology advocates hybrid precoding with affordable hardware and outstanding spatial multiplexing performance. Thus, we present  — a new paradigm that contemplates the joint design of group scheduling and hybrid precoding for multi-group multicasting to support ubiquitous low-latency communications. Our hybrid precoder, based on semidefinite relaxation and Cholesky matrix factorization, facilitates the robust design of the constant-modulus phase shifts rendering formidable performance at a fraction of the power required by fully-digital precoders. Further, our novel group scheduling formulation minimizes the number of scheduling windows while accounting for the channel correlation of the co-scheduled multicast receivers. Compared to exhaustive search, which renders the optimal scheduling at high overhead,  incurs only $ 9.5 \% $ more delay. Notoriously,  attains up to $ 102 \% $ gain when compared to the other benchmarked schemes.

hybrid precoding, multi-group multicasting, low-latency, Industry 4.0, millimeter-wave, scheduling.

§ INTRODUCTION

The industrial revolution, Industry 4.0, fosters smart factories of the future where the components in a production chain—such as industrial equipment, logistics, products, and processes—are inherently interconnected. Given the hyper-connected vision of Industry 4.0, wired connections become less attractive because they (i) hinder automation by constraining the movement of industrial robotics and (ii) slow down mechanics. To overcome this obstacle, in recent years, significant effort has been dedicated to leveraging the benefits of wireless communications solutions for the manufacturing sector (e.g., 6TiSCH, ZigBee). However, the adoption of these technologies is either limited or has not been consolidated due to the uncertainty on their capability to offer performance similar to optical fiber and guarantee the critical requirements of industrial applications: ultra-high throughput and ultra-low latency with emphasis on high reliability [1].

Owing to recent advancements in wireless millimeter-wave (mmWave) technology, the mmWave spectrum is regarded as a solution to wire replacement in industrial/manufacturing sectors. In addition to providing multi-Gbps rates due to wideband availability, mmWave frequencies characterize for requiring antennas with a small footprint that can be easily embedded onto miniature machinery/devices. A measurement campaign conducted in an industrial environment has concluded that mmWave communications is feasible and effortlessly implementable in such environments [2]. Nevertheless, the research on wireless and (in particular) mmWave technology for the industrial context is still at its infancy.

Conventional method with sequential unicast

Multi-group multicasting

Latency performance

Comparison of mmWave unicast, conventional and proposed multi-group multicasting methods in Industry 4.0.

The industrial sectors can profoundly benefit from mmWave multicast beamforming to deliver common information to industrial equipment (e.g., sensors and actuators) for the distributed organization of production. In such setting, instead of sequentially transmitting unicast streams from a transmitter to each receiver (fig:singlegroup), multicasting to a group of devices (fig:multigroup) can boost the spectral efficiency and offer lower latency. Moreover, if the transmitter is equipped with multiple radio frequency (RF) chains, multi-group multicasting can be enabled thus making possible to serve several groups of devices concurrently while further leveraging the gains in terms of spectral efficiency and latency (fig:latency).

We envision a heterogeneous hyper-connected Industry 4.0 with (i) anchored receivers (e.g., sensors, actuators, programmable logic devices) that perform tasks locally and (ii) mobile receivers (e.g., robots) that carry out tasks at various locations. Specifically, multiple anchored receivers from different multicast groups can be found sharing the same space, thus increasing the difficulty of spatial multiplexing (fig:multigroup). In addition, due to mobility (e.g. robots), numerous  mobile receivers with different information needs may temporarily change their location to carry out specific tasks, thus either altering the density of devices at different phases of the production chain or generating a variable degree of interference.

Fully-digital precoders with a massive amount of antennas and RF chains are a tangible technology at sub-6GHz frequencies. However, in mmWave, these precoders are still not affordable due to hardware complexity and high power consumption. As a result, substantial effort has been oriented to (i) improve the architectures design (e.g., [3, 4]) and (ii) develop accurate channel estimation methods (e.g., [5, 6]) for hybrid precoders, aiming at facilitating physical-layer hybrid precoding with high signal-to-interference-plus-noise ratio (SINR). In industrial scenarios, the number of multicast groups is expected to be large in comparison to the number of RF chains, generating thereby the necessity for scheduling. Further, depending on how the groups are co-scheduled, the achievable performance of the precoder will be impacted. As a result, a scrupulous design that considers the joint optimization of scheduling, hybrid precoder (at the transmitter) and analog combiners (at receivers) is required to comply with the requirements of industrial applications. To this end, we propose , a versatile scheme that devises an agile scheduler and a robust multi-group multicast precoder with analog combiners, capable of providing high throughput, low latency, and high reliability (which is guaranteed through service ubiquitousness).

Literature on multicasting

31.8cmScheduling with PHY abstraction
2cPHY design w/o scheduling
2cPHY design w/ scheduling

Fully-digital     Hybrid     Fully-digital     Hybrid

1.4cm[7, 8, 9]
1.2cm[10, 11, 12, 13, 14]
1.4cm[12, 15, 16]
1.2cm[17, 18]

1.2cm[19, 20, 21, 22, 23, 24, 25, 26]
1.2cm[27, 28, 29, 30]

As shown in Table <ref>, the literature on single-group multicasting (SGM) focus on either pure scheduling with physical-layer (PHY) abstraction [7, 8, 9] or physical-layer beamforming/precoding with [17, 18] and without scheduling [10, 11, 12, 13, 14, 15, 16], ignoring the interference aspect in multi-group multicast scenarios. On the other hand, the body of research on multi-group multicasting (MGM) focuses mostly on fully-digital precoder designs without scheduling tailored for sub-6GHz frequencies [19, 20, 21, 22, 23, 24, 25, 26], which are not appropriate for mmWave. As a result, the more practical and cost-efficient hybrid precoders [27, 28, 29] have attracted substantial attention. Nevertheless, these solutions are either (i) constrained in application due to simplified assumptions [21, 28] or (ii) unimplementable in the existing multi-antenna hardware due to customized designs [27, 29]. In [30], MGM is investigated with hybrid precoders and finite resolution phase shifts but the scheduling aspect is not considered. The joint problem of group scheduling and precoding for multi-group multicasting has been studied for neither fully-digital nor hybrid precoders. The following summarizes our contributions:

* We introduce three propositions that support the design of precoders that ensure low-latency and high reliability. Proposition 1 renders insights on the (approximate) inverse relation between SINR and latency. Proposition 2 leverages on this result, and reveals that latency minimization is promoted when maximizing the minimum equalized SINR (e-SNR). This exposes a relevant relation with the max-min MGM problem. Proposition 3 supports our formulation of optimal joint group scheduling and precoding for the multi-group multicast problem, with emphasis on latency minimization and high reliability.

* Due to the complexity of solving the problem related to Proposition 3 (which requires exhaustive search), we devise a novel group scheduling formulation with a two-fold objective: (i) minimizing the number of scheduling windows and (ii) reducing channel correlation between the co-scheduled receivers. To attain the latter objective, we introduce a metric called aggregate inter-group correlation that is shown to be highly suitable for forming the co-scheduled multicast groups. As a result, we only need to solve the problem associated with Proposition 2 (which is comparatively simpler) for every window of the resultant scheduling thus reducing the complexity.

* The problem associated with Proposition 2 is non-convex. Due to the NP-hardness of this problem, we propose an alternate optimization scheme where the analog and digital components of the hybrid precoder (at the transmitter), and the analog combiners (at each receiver) are optimized sequentially. We recast each sub-problem as a semidefinite relaxation (SDR) program in order to convexify the non-convex expressions.

* We propose a versatile approach based on Cholesky matrix factorization, capable of handling an arbitrary number of phase rotations at both the analog component of the hybrid precoder (at the transmitter) and the analog combiners (at the receivers) with outstanding performance.

* Compared to prior art on multi-group multicast precoding, we consider receivers with multiple antennas, which can be adopted at mmWave frequencies owing to the small antenna footprints.

* Through extensive simulations, we evaluate the performance of our hybrid precoder and compare it against fully-digital and fully-analog implementations. Further, we also assess our proposed  (joint group scheduling and precoding) and compare it in terms of latency against three competing approaches: single-group multicasting (), random scheduling () and exhaustive search (). We show through simulations that  can attain gains up to $ 102 \% $ and $ 60 \% $ when compared against  and , respectively, while remaining within $ 9.5 \% $ optimality of .

§ RELATED WORK

In SGM scheduling with physical-layer abstraction [7, 8, 9], the transmitter adjusts the gains of single-lobe switched beams to improve the SNR at the receivers. These works mainly focus on achieving high throughput with minimum delay for all the multicast receivers. Concerning SGM physical-layer precoding (hybrid/fully-digital and with/without scheduling), researchers have studied the quality-of-service (QoS) and max-min fairness problems [10, 11, 12, 13, 14, 15, 17, 18]. Under these two categories, the QoS [19, 20, 21, 27, 28, 22, 23] and max-min fairness [22, 23, 29, 24, 25, 26] problems have also been researched for the MGM case. Fully-digital precoders are highly versatile for interference mitigation due to the availability of numerous RF chains. However, these designs consumes excessive power and require expensive hardware (particularly for mmWave). To address these issues, the use of analog-digital architectures (i.e., hybrid precoders) have received considerable attention. Hybrid precoders are constituted by a low-dimensional digital precoder that allows interference management and a high-dimensional network of phase shifters, with an arbitrary set of phase rotations that facilitates beamsteering. These designs do not have the same versatility as fully-digital implementations but are more energy-efficient and practical. Nevertheless, the existing hybrid precoder solutions (in general, multicast and multi-user unicast designs) are restricted in usage due to either (i) simplified assumptions in phase rotations selection or (i) unimplementability owing to customized hardware. Specifically, the solution propounded in [29] requires a especially connected network of phase shifters for optimal operation. On the other hand, in [21, 28], the usage is constrained to only four different phase shifts. In [27], the analog phase shifters are replaced by high-resolution lens arrays with adjustable power, thus circumventing the actual problem of phase selection.

A work that focuses on a problem slightly related to ours is [31], where the authors study user selection and MGM precoding with fully-digital transmitters and single-antenna receivers. In [31], specific users for each multicast group are selected in order to maximize the sum-rate. Contrastingly, in our case we deal with group selection for which we devise a metric (i.e., IGC) that depicts the mean channel vector correlation among the receivers of each group. Also, in our case, the objective is to design the precoders aiming at the minimization of the transmission latency.

§ MULTI-GROUP MULTICAST SYSTEM MODEL

We consider a mmWave system where a next generation Node B (gNodeB) equipped with a hybrid precoder aims to schedule $ G_T $ multicast groups comprising a total of $ K_T $ receivers. The sets of receivers and groups are denoted by $ \mathcal{K} = \left\lbrace 1, 2, \dots, K_T \right\rbrace $ and $ \mathcal{I} = \left\lbrace 1, 2, \dots, G_T \right\rbrace $, respectively. In addition, $ \mathcal{G}_i $ represents the set of receivers in multicast group $ i \in \mathcal{I} $. The number of receivers in the $ i $-th multicast group is represented by $ \left| \mathcal{G}_i \right| $. As in [22], we assume that $ \mathcal{G}_i \cap \mathcal{G}_{i'} = \left\lbrace \emptyset \right\rbrace, \forall i \neq i' $. The hybrid precoder at the gNodeB exhibits a sub-connected architecture, which consists of $ N_\mathrm{tx} $ transmit antennas and $ N^\mathrm{RF}_\mathrm{tx} $ RF chains. Thus, each RF chain is connected to a sub-array of $ L_\mathrm{tx} = N_\mathrm{tx} / N^\mathrm{RF}_\mathrm{tx} $ antennas [3]. Due to capacity constraints, each receiver is equipped with purely analog combiners that consist of $ N_\mathrm{rx} $ antennas and a single RF chain, i.e, $ N^\mathrm{RF}_\mathrm{rx} = 1 $ and $ L_\mathrm{rx} = N_\mathrm{rx} $. Since, in general $ G_T \geq N^\mathrm{RF}_\mathrm{tx} $, scheduling is necessary because $ N^\mathrm{RF}_\mathrm{tx} $ determines the maximum number of data streams (or groups) that can be spatially multiplexed.

We define $ T_s $ as the number of scheduling windows, wherein mutually exclusive subsets of multicast groups are served, as shown in Fig <ref>. The admissible range of scheduling windows, $ T_s $, depends on both $ N^\mathrm{RF}_\mathrm{tx} $ and $ G_T $. Specifically, $ \ceil[\big]{ \frac{G_T}{ N^\mathrm{RF}_\mathrm{tx} } } \leq T_s \leq G_T $ is maximum when exactly one multicast group is served per scheduling window. Also, $ T_s $ is minimum when the gNodeB operates at maximal utilization, serving $ N^\mathrm{RF}_\mathrm{tx} $ multicast groups simultaneously during every window (except for at most one window, if $ G_T \mod N^\mathrm{RF}_\mathrm{tx} \neq 0 $). Let $ \mathcal{V}_t $ denote an ordered set containing the indices of the co-scheduled groups within window $ t $. In addition, $ \mathcal{U}_t $ denotes the set of receivers catered during window $ t $, i.e. $ \mathcal{U}_t = \left\lbrace k \mid k \in \mathcal{G}_i, i \in \mathcal{V}_t \right\rbrace $. Similarly, $ \left\lbrace \mathcal{V}_t \right\rbrace^{T_s}_{t=1} $ and $ \left\lbrace \mathcal{U}_t \right\rbrace^{T_s}_{t=1} $ denote the collection of $ \mathcal{V}_t $ and $ \mathcal{U}_t $ for all scheduling windows, respectively. Since every multicast group is served only once within $ T_s $ windows, then $ \mathcal{V}_t \cap \mathcal{V}_{t' \neq t} = \left\lbrace \emptyset \right\rbrace $, $ \mathcal{U}_t \cap \mathcal{U}_{t' \neq t} = \left\lbrace \emptyset \right\rbrace $. Due to the multicast nature of the system, every receiver $ k \in \mathcal{G}_i $ requires the same length-$B_i$ bit stream $ \mathbf{b}_i = [ b_{i_1}, \dots b_{i_{B_i}} ]^T $. Thus, the amount of bits required by receiver $ k $ is $ B_k = B_i, \forall k \in \mathcal{G}_i $. At the transmitter, each bit stream $ \mathbf{b}_i $ is encoded at a suitable rate $ \pi_i $ that allows successful decoding at every intended receiver. As a result, $ G_T $ symbol streams $ \tilde{\mathbf{s}}_i = [ \tilde{s}_{i_1}, \tilde{s}_{i_2}, \dots ]^T $ ($ i \in \mathcal{I} $) with symbol-wise average unit power are produced, i.e., $ \mathbb{E} \left\lbrace \tilde{\mathbf{s}}_i \tilde{\mathbf{s}}^H_i \right\rbrace = \mathbf{I} $. The symbol streams are arranged in a matrix $ \mathbf{S} = \left[ \tilde{\mathbf{s}}_1, \dots, \tilde{\mathbf{s}}_{G_T} \right]^T  $ that is zero-padded where necessary, as the length of each stream $ \tilde{\mathbf{s}}_i $ depends on $ B_i $ and $ \pi_i $. Specifically, the non-zero entries of $ \mathbf{S} $ represent the effective data that needs to be delivered to all the groups (within $ T_s $ scheduling windows). Let $ \hat{\mathbf{S}}_t = \mathbf{V}_t \mathbf{S} $ denote the $ |\mathcal{V}_t| $ symbol streams transmitted during the $ t $-th scheduling window, where $ \mathbf{V}_t \in  \left\lbrace 0, 1 \right\rbrace^{| \mathcal{V}_t | \times G_{T}} $ is a binary scheduling matrix that filters the symbol streams from $ \mathbf{S} $. The transmission latency associated to the delivery of $ \hat{\mathbf{S}}_t $ is defined as $ \xi_t = \max_{i \in \mathcal{V}_t } \frac{B_i}{\pi_i} $, which represent the minimal time interval required by the devices in all the multicast groups $ i \in \mathcal{V}_t $ to receive the intended data.

[scale = 0.8]

[decoration = brace, raise=5pt, decorate] (-1.1,-0.4) – node[right = 6pt]  (-1.1,1.4);
[rotate = 90] at (-1.6,0.5) RF chain indices;

at (-1.0,1.2) $ N^t_{\mathrm{RF}} $;
at (-1.0,0.8) ⋮;
at (-1.0,0.2) $ 2 $;
at (-1.0,-0.2) $ 1 $;

[very thick] (-0.6,1.5) – (-0.6,-0.5);

at (-0.1,1.2) …;
at (-0.1,0.6) …;
at (-0.1,0.2) …;
at (-0.1,-0.2) …;

[very thick] (0.4,1.5) – (0.4,-0.5);

[pattern = crosshatch, pattern color = qmcolor0!90] (0.4,1.4) rectangle (1.0,1.0);
at (0.7,0.8) ⋮;
[pattern = crosshatch, pattern color = qmcolor1!90] (0.4,0.4) rectangle (2.6,0.0);
[pattern = crosshatch, pattern color = qmcolor2!90] (0.4,0) rectangle (1.8,-0.4);

at (0.7,1.2) white$ \mathcal{G}_7 $;
at (1.6,0.2) white$ \mathcal{G}_3 $;
at (1.1,-0.2) white$ \mathcal{G}_6 $;

[decoration = brace, raise=5pt, decorate] (2.58,-0.5) – node[right = 6pt]  (0.42,-0.5);
at (1.5,-1.05) latency $ \xi_1 $ due to;
at (1.5,-1.35) $ \scriptscriptstyle \mathcal{V}_1 = \left\lbrace 3, 6, 7, 9 \right\rbrace $;

[very thick] (2.6,1.5) – (2.6,-0.5);

[pattern = crosshatch, pattern color = qmcolor3!90] (2.6,0.4) rectangle (3.6,0.0);
[pattern = crosshatch, pattern color = qmcolor4!90] (2.6,0) rectangle (4.6,-0.4);

at (2.9,0.8) ⋮;
at (3.1,0.2) white$ \mathcal{G}_1 $;
at (3.6,-0.2) white$ \mathcal{G}_{12} $;

[decoration = brace, raise=5pt, decorate] (4.58,-0.5) – node[right = 6pt]  (2.62,-0.5);
at (3.6,-1.05) latency $ \xi_2 $ due to;
at (3.6,-1.35) $ \scriptscriptstyle \mathcal{V}_2 = \left\lbrace 1, {12} \right\rbrace $;

[very thick] (4.6,1.5) – (4.6,-0.5);

at (5.1,1.2) …;
at (5.1,0.6) …;
at (5.1,0.2) …;
at (5.1,-0.2) …;

[very thick] (5.6,1.5) – (5.6,-0.5);

[pattern = crosshatch, pattern color = qmcolor5!90] (5.6,1.4) rectangle (7.4,1.0);
at (5.9,0.8) ⋮;
[pattern = crosshatch, pattern color = qmcolor6!90] (5.6,0.4) rectangle (6.4,0.0);
[pattern = crosshatch, pattern color = qmcolor7!90] (5.6,0) rectangle (6.8,-0.4);

at (6.5,1.2) white$ \mathcal{G}_8 $;
at (6.0,0.2) white$ \mathcal{G}_{15} $;
at (6.2,-0.2) white$ \mathcal{G}_2 $;

[very thick] (7.4,1.5) – (7.4,-0.5);

[decoration = brace, raise=5pt, decorate] (7.38,-0.5) – node[right = 6pt]  (5.62,-0.5);
at (6.5,-1.05) latency $ \xi_{T_s} $ due to;
at (6.5,-1.35) $ \scriptscriptstyle \mathcal{V}_{T_s} = \left\lbrace 2, 4, 8, {15} \right\rbrace $;

at (1.5,1.7) window $ 1 $;
at (3.6,1.7) window $ 2 $;
at (6.5,1.7) window $ T_s $;

[decoration = brace, raise=5pt, decorate] (0.4,1.7) – node[right = 6pt]  (7.4,1.7);
at (3.9,2.2) $ T_s $ scheduling windows;

[->] (0.4,-0.6)–(-0.6,-0.6);
at (-0.5,-0.8) previous;
at (-0.5,-1.0) scheduling;
at (-0.5,-1.2) process;

Multicast groups scheduling: Multicast groups $ 1 $ and $ 12 $ have been jointly scheduled during window $ t = 2 $.

For any window $ t $, the analog and digital precoders of the hybrid transmitter are denoted by $ \mathbf{F}_t \in \mathbb{C}^{N_\mathrm{tx} \times N^\mathrm{RF}_\mathrm{tx}} $ and $ \mathbf{M}_t \in \mathbb{C}^{N^\mathrm{RF}_\mathrm{tx} \times | \mathcal{V}_t |} $, respectively. Any element $ \left( q,r \right)  $ of the analog precoder is a phase rotation with constant modulus. Thus, $ \left[ \mathbf{F}_t \right]_{q,r} \in \mathcal{F}$, where $ q \in \mathcal{Q} = \left\lbrace (r-1) L_\mathrm{tx} + l \mid 1 \leq l \leq L_\mathrm{tx} \right\rbrace $, $ r \in \mathcal{R} = \left\lbrace 1, \dots, N^\mathrm{RF}_\mathrm{tx} \right\rbrace $, and $~\mathcal{F} = \bigg\{ \sqrt{\delta_F} \dots, \sqrt{\delta_F} e^{j \frac{ 2 \pi \left( D_F - 1 \right) }{D_F}} \bigg\} $. $ D_F $ denotes the number of different phase shifts allowed at the transmitter, and $ \delta_F $ is a scaling factor. The combiner of the $ k $-th receiver is denoted by $ \mathbf{w}_k \in {\mathbb{C}}^{N_\mathrm{rx} \times 1}$, where $ \left[ \mathbf{w}_k \right]_{l} \in \mathcal{W}$, $ l \in \mathcal{L} = \left\lbrace 1, \dots, N_\mathrm{rx} \right\rbrace $, $ \mathcal{W} = \bigg\{ \sqrt{\delta_W}, \dots, \sqrt{\delta_W} e^{j \frac{ 2 \pi \left( D_W - 1 \right) }{D_W}} \bigg\} $, $ D_W $ is the number of phase shifts allowed at the analog combiner, and $ \delta_W $ is a scaling factor. The instantaneous downlink signal is represented by $ \mathbf{x}_t = \mathbf{F}_t \mathbf{M}_t \tilde{\mathbf{s}} $, where $ \tilde{\mathbf{s}} = \left[ \tilde{s}_{1_c}, \dots, \tilde{s}_{{| \mathcal{V}_t |}_c} \right]^T \in \mathbb{C}^{| \mathcal{V}_t | \times 1} $ sweeps through every column $ c $ of $ \hat{\mathbf{S}}_t $ extracting the multicast symbols to be delivered during window $ t $. The received signal at the $ k $-th device is denoted by $ y_k = \mathbf{w}^H_k \mathbf{H}_k \mathbf{x}_t $, where $ \mathbf{H}_k \in {\mathbb{C}}^{ N_\mathrm{rx} \times N_\mathrm{tx}} $ denotes the channel between the device and the gNodeB, whereas $ \mathbf{n}_k \sim \mathcal{CN} \left( \mathbf{0}, {\sigma}^2 \mathbf{I} \right) $ denotes additive white Gaussian noise. Assuming a flat-fading channel, $ y_k $ is given by

\begin{align} \label{e1}
y_k = \underbrace{
\mathbf{w}^H_k \mathbf{H}_k \mathbf{F}_t \mathbf{M}_t \mathbf{s}_{i_t}
_{\text{desired multicast signal}} +
\underbrace{
\mathbf{w}^H_k \mathbf{H}_k \sum^{|\mathcal{V}_t|}_{\substack{j_t = 1, j_t \neq i_t}} \mathbf{F}_t \mathbf{M}_t \mathbf{s}_{j_t}
_{\text{interference}} +
\underbrace{
\mathbf{w}^H_k \mathbf{n}_k
\end{align}

where $ i_t \in \left\lbrace 1, 2, \dots, |\mathcal{V}_t| \right\rbrace $ is a relative index to denote the elements of $ \mathcal{V}_t $. Also, $ \mathbf{s}_{i_t} = \tilde{\mathbf{s}} - \mathbf{s}_{j_t} $ is a vector that contains zeros except for the $ i_t $-th position, which stores the $ i_t $-th element of $ \tilde{\mathbf{s}} $. Thus, the SINR at receiver $ k $ is defined as

\begin{equation} \label{e2}
\mathrm{SINR}_k =
\frac
{\left| \mathbf{w}^H_k \mathbf{H}_k \mathbf{F}_t \mathbf{M}_t \mathbf{e}_{i_t} \right|^2}
{\displaystyle \sum^{|\mathcal{V}_t|}_{\substack{j_t = 1,  j_t \neq i_t }} \left| \mathbf{w}^H_k \mathbf{H}_k \mathbf{F}_t \mathbf{M}_t \mathbf{e}_{j_t} \right|^2 + \sigma^2 \left\| \mathbf{w}_k \right\|^2_2},
\end{equation}

where $ \mathbf{e}_{i_t} $ stores a $ 1 $ in the $ i_t $-th position if $ k \in \mathcal{V}_t \left\lbrace i_t \right\rbrace $ or $ 0 $ otherwise. Based on [32], the achievable rate $ \pi $ is approximated by the modified Shannon capacity,

\begin{equation} \label{e3}
\pi = \min \{ C, C_{\mathrm{max}} \},
\end{equation}

where $ C = \log_2 (1 + \beta \cdot \mathrm{SINR}) $, $ C_{\mathrm{max}} $ is the capacity limit and $ \beta = 0.5 $ represents the SINR loss [32]. In (<ref>) and (<ref>), we have dropped the subscript $ t $ when referring to $ \mathbf{w}_k $ because only the combiners of the scheduled receivers need to be designed.

Remark: $ \mathbf{V}_t $ is obtained from $ \mathcal{V}_t = \left\lbrace v^t_1, v^t_2, \dots \right\rbrace $. For instance, if $ v^t_{a} \left( a \in \left\lbrace 1, 2, \dots, {|\mathcal{V}_t|} \right\rbrace \right) $ is in the $ z $-th position in $ \mathcal{V}_t $, then the element in the $ z $-th row and $ v^t_a $-th column of $ \mathbf{V}_t $ is set to $ 1 $.

§ SCHEDULING CRITERIA FOR MULTICASTING

Note that $ T_s $ is not necessarily related to the overall transmission latency $ \xi = \sum^{T_s}_{t = 1} \xi_t $. Each bit stream $ \mathbf{b}_i $ is to be transmitted at an optimal rate $ \pi_i $ that not only should provide service ubiquitousness (data decoding at every intended receiver) but also should minimize the transmission latency of the co-scheduled groups. Encoding every $ \mathbf{b}_i \in \mathcal{V}_t $ at a high rate will promote low latency $ \xi_t $, but it will require superior SINR at every receiver $ k \in \mathcal{G}_i ( i \in \mathcal{V}_t ) $ to ensure successful decoding. Nevertheless, under constrained transmit and receive power, a high SINR at every receiver cannot be guaranteed, compromising thereby the service ubiquitousness. On the other hand, transmitting at very low rate improves data decodability for a larger number of receivers (ubiquitousness enhancement) at the expense of increasing latency. In light of this observation, we realize that the optimal rate needs to be carefully devised to (i) improve the ubiquitousness and (ii) minimize the latency. However, the optimal rate depends on the SINR, which can only be determined once the scheduling, precoder and combiners have been designed. This calls for a meticulous design of the hybrid precoder, analog combiners, and scheduling in order to attain ubiquitous multi-group multicast service with low latency. In the following, we present three propositions that will guide our design of $ \left\lbrace \mathcal{V}_{t} \right\rbrace^{T_s}_{t = 1} $, $ \left\lbrace \mathbf{F}_{t} \right\rbrace^{T_s}_{t = 1} $, $ \left\lbrace \mathbf{M}_{t} \right\rbrace^{T_s}_{t = 1} $, $\left\lbrace \mathbf{w}_k \right\rbrace^{K_T}_{k = 1} $ to attain the desired objectives.

Proposition 1: Let $ 1 \leq t' \leq T_s $ be a window with defined $ \mathcal{V}_{t'} $, $ \mathbf{F}_{t'} $, $ \mathbf{M}_{t'} $, $\left\lbrace \mathbf{w}_k \right\rbrace_{k \in \mathcal{U}_{t'}} $, then the transmission latency $ \xi_{t' \mid \mathcal{V}_{t'}, \mathbf{F}_{t'}, \mathbf{M}_{t'}, \left\lbrace \mathbf{w}_k \right\rbrace_{k \in \mathcal{U}_{t'}}} $ is approximately inversely proportional to the minimum regularized SINR (r-SINR) among all the co-scheduled receivers.

We assume that for a certain window $ t' $, the sets $ \mathcal{V}_{t'} $ and $ \mathcal{U}_{t'} $ have been determined. Moreover, we consider that $ \mathbf{F}_{t'} $ and $ \mathbf{M}_{t'} $ at the transmitter, and $ \left\lbrace \mathbf{w}_k \right\rbrace_{k \in \mathcal{U}_{t'}} $ for each scheduled receiver, have been designed. Under these assumptions, the SINR at any receiver is obtained via (<ref>). The maximal rate $ \pi_{k \mid \mathcal{V}_{t'}, \mathbf{F}_{t'}, \mathbf{M}_{t'}, \mathbf{w}_k} $ at which receiver $ k \in \mathcal{G}_i, \left( i \in \mathcal{V}_{t'} \right) $ can successfully decode is given by (<ref>). Thus, the minimal latency associated to receiver $ k \in \mathcal{G}_i \left( i \in \mathcal{V}_{t'} \right) $ is $ \xi_{ k \mid \mathcal{V}_{t'}, \mathbf{F}_{t'}, \mathbf{M}_{t'}, \mathbf{w}_k } = \frac{B_i}{\pi_{k \mid \mathcal{V}_{t'}, \mathbf{F}_{t'}, \mathbf{M}_{t'}, \mathbf{w}_k}} $. Since every receiver $ k \in \mathcal{G}_i \left( i \in \mathcal{V}_{t'} \right) $ requires the same information, the optimal rate at which $ \mathbf{b}_i $ can be encoded while guaranteeing successful reception at every receiver, is determined by $ \pi_{i \mid \mathcal{V}_{t'}, \mathbf{F}_{t'}, \mathbf{M}_{t'}, \left\lbrace \mathbf{w}_k \right\rbrace_{k \in \mathcal{U}_{t'}} } = \min_{ k \in \mathcal{G}_i } \pi_{k \mid \mathcal{V}_{t'}, \mathbf{F}_{t'}, \mathbf{M}_{t'}, \mathbf{w}_k } $. The latency associated to multicast group $ i \in \mathcal{V}_{t'} $ is denoted by $ \xi_{ i \mid \mathcal{V}_{t'}, \mathbf{F}_{t'}, \mathbf{M}_{t'}, \left\lbrace \mathbf{w}_k \right\rbrace_{k \in \mathcal{U}_{t'}} } $, and the latency owing to all multicast groups scheduled during window $ t' $ is defined as $ \xi_{t' \mid \mathcal{V}_{t'}, \mathbf{F}_{t'}, \mathbf{M}_{t'}, \left\lbrace \mathbf{w}_k \right\rbrace_{k \in \mathcal{U}_{t'}}} = \max_{ i \in \mathcal{V}_{t'} } \xi_{i \mid \mathcal{V}_{t'}, \mathbf{F}_{t'}, \mathbf{M}_{t'}, \left\lbrace \mathbf{w}_k \right\rbrace_{k \in \mathcal{U}_{t'}} } $, which can also be expressed as

\begin{equation} \label{e4}
\xi^{\star}_{t'} = \xi_{t' \mid \mathcal{U}_{t'}, \mathbf{F}_{t'}, \mathbf{M}_{t'}, \left\lbrace \mathbf{w}_k \right\rbrace_{k \in \mathcal{U}_{t'}}} =
\max_{k \in \mathcal{U}_{t'}}
\left\lbrace
\frac{B_k}{\pi_{k \mid \mathcal{U}_{t'}, \mathbf{F}_{t'}, \mathbf{M}_{t'}, \mathbf{w}_k}}
\right\rbrace
\end{equation}

As shown in Appendix <ref>, the transmission latency is approximately inversely proportional to the minimum r-SINR among all the receivers $ k \in \mathcal{U}_{t'} $, i.e.,

\begin{align} \label{e5}
\begin{split}
\xi^{\star}_{t'} \approxprop^{-1}
\min_{k \in \mathcal{U}_{t'}}
\Big\{
\left( 1 + \beta \cdot \mathrm{SINR}_{k \mid \mathcal{V}_{t'}, \mathbf{F}_{t'}, \mathbf{M}_{t'}, \mathbf{w}_k} \right)^\frac{1}{B_k}
\Big\},
\end{split}
\end{align}

where $ (1 + \beta \cdot \mathrm{SINR}_{k \mid \mathcal{V}_{t'}, \mathbf{F}_{t'}, \mathbf{M}_{t'}, \mathbf{w}_k})^\frac{1}{B_k} $ is termed r-SINR. Further, (<ref>) reveals a crucial relation between latency and SINR, which we exploit to design optimal precoders and combiners.

Proposition 2: Let $ t' $ be a window  with defined $ \mathcal{V}_{t'} $, then the minimization of transmission latency $ \xi_{t' \mid \mathcal{V}_{t'}} $ is equivalent to designing $ \mathbf{F}_{t'}, \mathbf{M}_{t'}, \left\lbrace \mathbf{w}_k \right\rbrace_{k \in \mathcal{U}_{t'}} $ such that the minimum equalized SINR (e-SINR) of all co-scheduled receivers is maximized.

To minimize the latency associated to $ \mathcal{V}_{t'} $, the optimization problem that devises optimal $ \mathbf{F}_{t'}, \mathbf{M}_{t'}, \left\lbrace \mathbf{w}_k \right\rbrace_{k \in \mathcal{U}_{t'}} $ is

\begin{align} \label{e6}
% Left-hand side
\min_{\substack{
\mathbf{F}_{t'} \in \Omega_F \\
\mathbf{M}_{t'} \in \Omega_M \\
\left\lbrace \mathbf{w}_k \right\rbrace_{k \in \mathcal{U}_{t'}} \in \Omega_W
\xi_{t' \mid \mathcal{U}_{t'}} \leftrightarrow
% Right-hand side
\max_{\substack{
\mathbf{F}_{t'} \in \Omega_F \\
\mathbf{M}_{t'} \in \Omega_M \\
\left\lbrace \mathbf{w}_k \right\rbrace_{k \in \mathcal{U}_{t'}} \in \Omega_W
\min_{k \in \mathcal{U}_{t'}}
\frac{\mathrm{SINR}_{k \mid \mathcal{V}_{t'}}}{B_k},
\end{align}

where $ \frac{\mathrm{SINR}_{k \mid \mathcal{V}_{t'}}}{B_k} $ is e-SINR. Also, $ \Omega_F $, $ \Omega_M $, and $ \Omega_W $ are the feasible sets for the analog precoder, digital precoder and analog combiners, respectively. A more detailed derivation of this expression is available in Appendix <ref>.

Proposition 3: The minimization of the overall transmission latency of the system is equivalent to simultaneously maximizing the minimum e-SINR of the co-scheduled receivers at every scheduling window.

It follows from Proposition 2 that, in order to minimize the overall latency, the latency associated to every scheduling window $ t $ must also be minimum. Thus,

\begin{align} \label{e7}
% Left-hand side
\min_{\substack{
\left\lbrace \mathbf{F}_t \right\rbrace^{T_s}_{t = 1} \in \Omega_F \\
\left\lbrace \mathbf{M}_t \right\rbrace^{T_s}_{t = 1} \in \Omega_M \\
\left\lbrace \mathbf{w}_k \right\rbrace^{K_T}_{k = 1} \in \Omega_W \\
\left\lbrace \mathcal{V}_t \right\rbrace^{T_s}_{t = 1} \in \Omega_{V(T_s)} \\
T_s \in \Omega_{T}
\boldsymbol{\xi} \leftrightarrow
% Right-hand side
\max_{\substack{
\left\lbrace \mathbf{F}_t \right\rbrace^{T_s}_{t = 1} \in \Omega_F \\
\left\lbrace \mathbf{M}_t \right\rbrace^{T_s}_{t = 1} \in \Omega_M \\
\left\lbrace \mathbf{w}_k \right\rbrace^{K_T}_{k = 1} \in \Omega_W \\
\left\lbrace \mathcal{V}_t \right\rbrace^{T_s}_{t = 1} \in \Omega_{V(T_s)} \\
T_s \in \Omega_{T}
\bigwedge^{T_s}_{t = 1}
\min_{k \in \mathcal{U}_{t}}
\left\lbrace
\frac{\mathrm{SINR}_{k \mid \mathcal{V}_{t}}}{B_k}
\right\rbrace,
\end{align}

where $ \boldsymbol{\xi} = \left[ \xi_1, \dots, \xi_{T_s} \right]^T $. Besides, $ \Omega_{V(T_s)} $ denotes the feasible set of all the scheduling combinations for a given $ T_s $, whereas $ \Omega_T \equiv \left[ \ceil[\big]{ G_T / { N^\mathrm{RF}_\mathrm{tx} } }, G_T \right] $ defines the feasible set of $ T_s $. Since the feasible sets $ \Omega_F $, $ \Omega_M $, $ \Omega_W $, $ \Omega_{V(T_s)} $, and $ \Omega_T $ are non-convex (discussed in Section V), (<ref>) is difficult to solve. Moreover, $ \left\lbrace \mathbf{F}_t \right\rbrace^{T_s}_{t = 1} $, $ \left\lbrace \mathbf{M}_t \right\rbrace^{T_s}_{t = 1} $, and $ \left\lbrace \mathbf{w}_k \right\rbrace^{K_T}_{k = 1} $ are mutually coupled as observed in (<ref>). Furthermore, the number of potential scheduling combinations grows combinatorially with $ G_T $ and $ N^\mathrm{RF}_\mathrm{tx} $.

A straightforward but intractable solution to (<ref>) is exhaustive search (), whereby every scheduling pattern $ \left\lbrace \mathcal{V}_t \right\rbrace^{T_s}_{t = 1} \in \Omega_{V(T_s)} $ for every value $ T_s \in \Omega_T $ is created. Then, for each pattern, the precoder and combiners are to be designed according to (<ref>) while keeping the best-performing scheduling. A simpler approach consists in randomly associating the groups () and then solving (<ref>). It is evident that for any scheduling choice, we are required to solve (<ref>) for every window. Thus, in the following, we propose an approach based on semidefinite relaxation and Cholesky matrix factorization to design near-optimal hybrid precoders and analog combiners.

§ PROPOSED JOINT DESIGN OF HYBRID PRECODER AND ANALOG COMBINERS

Given $ \mathcal{V}_t $, a suitable hybrid precoder and analog combiners for window $ t $ can be designed based on (<ref>).
Thus, the latency $ \xi_t $ is minimized when

\begin{align}
% Objective 8a
\mathcal{P}_0: & \max_{\substack{
\mathbf{F}_t, \mathbf{M}_t, \\
\left\lbrace \mathbf{w}_k \right\rbrace_{k \in {\mathcal{U}_t}}
& & 			 \min_{k \in {\mathcal{U}_t}}
\frac
{ \frac{1}{B_k} \left| \mathbf{w}^H_k \mathbf{H}_k \mathbf{F}_t \mathbf{M}_t \mathbf{e}_{i_t} \right|^2}
{\displaystyle \sum^{|\mathcal{V}_t|}_{\substack{j_t = 1 \\ j_t \neq i_t }} \left| \mathbf{w}^H_k \mathbf{H}_k \mathbf{F}_t \mathbf{M}_t \mathbf{e}_{j_t} \right|^2 + \sigma^2 \left\| \mathbf{w}_k \right\|^2_2} \label{e8a}
\\
\vspace{-0.2cm}
% Constraint 8b
& ~~~~ \mathrm{s.t.} & & \left\| \mathbf{F}_t \mathbf{M}_t \right\|^2_\mathrm{F} \leq P^\mathrm{max}_\mathrm{tx}, \label{e8b}
\\
% Constraint 8c
& & & \left\| \mathbf{w}_k \right\|^2_2 \leq P^\mathrm{max}_\mathrm{rx}, k \in \mathcal{U}_t, \label{e8c}
\\
% Constraint 8d
& & & \left[ \mathbf{F}_t \right]_{q,r} \in \mathcal{F},  q \in \mathcal{Q}, r \in \mathcal{R}, \label{e8d}
\\
% Constraint 8e
& & & \left[ \mathbf{w}_k \right]_{l} \in \mathcal{W}, l \in \mathcal{L}, \label{e8e}
\end{align}

where (<ref>) aims at maximizing the minimum e-SINR, (<ref>) restricts the transmit power of the hybrid precoder, whereas (<ref>) limits the receive power of each receiver. On the other hand, (<ref>) and (<ref>) enforce the phase shifts of the analog precoder $ \mathbf{F}_t $ and analog combiners $ \left\lbrace \mathbf{w}_k \right\rbrace_{k \in {\mathcal{U}_t}} $ to have constant modulus. Furthermore, (<ref>) is non-convex since it is as a fractional program of quadratic forms with coupled parameters. The constraints (<ref>) and (<ref>) are non-convex since $ \left[ \mathbf{F}_t \right]_{q,r} $ and $ \left[ \mathbf{w} \right]_{l} $ belong to the non-convex sets $ \mathcal{F} $ and $ \mathcal{W} $, respectively. Thus, (<ref>) is also non-convex. Besides, (<ref>) is non-convex due to the coupling between $ \mathbf{F}_t $ and $ \mathbf{M}_t $, and the existence of (<ref>). As a result, $ \mathcal{P}_0 $ is a non-convex program with non-convex constrains. Note that (<ref>) can be recast as (<ref>),

𝒫_0:     max_
α, 𝐅, 𝐌,

{𝐰_k }^K_k=1

s.t.         1/B_k | 𝐰^H_k 𝐇_k 𝐅 𝐌 𝐞_i |^2/∑_j ≠i | 𝐰^H_k 𝐇_k 𝐅 𝐌 𝐞_j |^2 + σ^2  𝐰_k ^2_2 ≥α,

𝐅 𝐌 ^2_F ≤P^max_tx,

𝐰_k ^2_2 ≤P^max_rx, ∀k ∈𝒰_t,

[ 𝐅 ]_q,r ∈ℱ,  q ∈𝒬, r ∈ℛ,

[ 𝐰_k ]_l ∈𝒲, l ∈ℒ,

For notation simplification, we assume that $ G = |\mathcal{V}_t| $ and $ K = |\mathcal{U}_t| $. In addition, we also drop the subscript $ t $ when referring to $ \mathbf{F}_t $ and $ \mathbf{M}_t $. Note that $ \mathcal{P}_0 $ is challenging to solve due to parameter coupling and non-convexity of the feasible sets. In fact, for the particular case when $ \mathbf{F} = \mathbf{I} $ and $ \mathbf{w}_k = 1 $, $ \mathcal{P}_0 $ was shown to be NP-hard [10]. In this paper, we resort to alternate optimization [33] to solve (<ref>). Thus, $ \mathbf{F} $, $ \mathbf{M} $, and $ \left\lbrace \mathbf{w}_k \right\rbrace^K_{k=1} $ are sequentially optimized in an iterative manner.

§.§ Optimization of $\mathbf{F}$

Given $ \mathbf{M} $ and $ \left\lbrace \mathbf{w}_k \right\rbrace^K_{k=1} $, $ \alpha $ and $ \mathbf{F} $ are optimized as follows,

𝒫_1:     max_α, 𝐅           α

s.t.         αB_k ∑_j ≠i | 𝐰^H_k 𝐇_k 𝐅 𝐌 𝐞_j |^2 + αB_k σ^2  𝐰_k ^2_2

- | 𝐰^H_k 𝐇_k 𝐅 𝐌 𝐞_i |^2 ≤0, ∀k ∈𝒰_t,

𝐅 𝐌 ^2_F ≤P^max_tx,

[ 𝐅 ]_q,r ∈ℱ,  q ∈𝒬, r ∈ℛ,

Due to the sub-connected architecture of the analog precoder, $ \mathbf{F} $ is sparse. Thus, we can express $ \mathbf{F} \mathbf{M} = \mathrm{diag} \left( \mathbf{f} \right) \widetilde{\mathbf{M}} $, where $ \widetilde{\mathbf{M}} = \mathbf{M} \otimes \mathbf{1}_{L_{\mathrm{tx}}} $, and $ \mathbf{f} \in \mathbb{C}^{N_\mathrm{tx} \times 1} $ is a vector that contains the non-zero elements of $ \mathbf{F} $. In addition, $ \mathbf{F} \mathbf{M} \mathbf{e}_i = \mathrm{diag} \left( \widetilde{\mathbf{M}}  \mathbf{e}_i \right) \mathbf{f} $. Thus, (<ref>) is equivalent to

𝒫_1:     max_α, 𝐟           α

s.t.         αB_k ∑_j ≠i 𝐟^H 𝐛_k,j 𝐛^H_k,j 𝐟 - 𝐟^H 𝐛_k,i 𝐛^H_k,i 𝐟

+ αB_k σ^2  𝐰_k ^2_2 ≤0, ∀k ∈𝒰_t,

𝐋 𝐟 ^2_2 ≤P^max_tx,

[ 𝐟 ]_n ∈ℱ,  n ∈𝒩,

where $ \mathbf{b}_{k,i} = \mathrm{diag} \left( \widetilde{\mathbf{M}} \mathbf{e}_i \right)^H \mathbf{H}^H \mathbf{w}^H_k $, $ \mathbf{L} = \left( \widetilde{\mathbf{M}}^T \otimes \mathbf{1}_{N_{\mathrm{tx}}} \right) \odot \left( \mathbf{1}_G \otimes \mathbf{I}_{N_{\mathrm{tx}} \times N_{\mathrm{tx}}} \right) $, $ \mathcal{N} = \left\lbrace 1, 2, \dots, N_{\mathrm{tx}} \right\rbrace $. Realize that (<ref>) is non-convex due the combinatorial selection of phase shifts $ \left[ \mathbf{f} \right]_n  $ from $ \mathcal{F} $. Similarly, (<ref>) and (<ref>) are non-convex as they depend on $ \mathbf{f} $, whereas (<ref>) is linear. In order to approach $ \mathcal{P}_1 $, our strategy consists of three stages. In the first stage (Stage A1), we recast $ \mathcal{P}_1 $ as an SDR program to convexify (<ref>), (<ref>), and (<ref>), thus resulting in $ \mathcal{P}_{\mathrm{SDR},1} $ in (<ref>). After convexification, the only non-convex constraint that remains in $ \mathcal{P}_{\mathrm{SDR},1} $ is (<ref>). To find a near-optimal solution, we resort to the bisection method in the second stage (Stage A2). In the third stage (Stage A3), we use Cholesky factorization and randomization to recover $ \mathbf{f} $ from  $ \mathbf{Y} $.

Stage A1 (Transformation of $ \mathcal{P}_1 $ to SDR):

𝒫_SDR,1:     max_α, 𝐘           α

s.t.         αB_k Tr ( 𝐁_k,\i 𝐘 ) - Tr ( 𝐁_k,i 𝐘 )

+ αB_k σ^2  𝐰_k ^2_2 ≤0, ∀k ∈𝒰_t,

Tr ( 𝐃 𝐘 ) ≤P^max_tx,

diag ( 𝐘 ) = δ_F 1_N_tx,

𝐘 ≽0,

where $ \mathbf{Y} = \mathbf{f} \mathbf{f}^H $, $ \mathbf{D} = \mathbf{L}^H \mathbf{L} $, $ \mathbf{B}_{k,\backslash i} = \sum_{j \neq i} \mathbf{b}_{k,j} \mathbf{b}^H_{k,j} $ and $ \mathbf{B}_{k,i} = \mathbf{b}_{k,i} \mathbf{b}^H_{k,i} $ are positive semi-definite matrices.

Stage A2 (Bisection search for $ \mathcal{P}_{\mathrm{SDR},1} $):
Notice that (<ref>) is quasi-convex on $ \mathbf{Y} $ and $ \alpha $ because for any $ \alpha \geq 0 $, (<ref>) collapses to a convex constraint. Thus, we resort to the bisection search method [34, 23, 10], where we define an initial interval $ \left[ \alpha^{(0)}_L, \alpha^{(0)}_U \right]  $ for $ \alpha $. Then, we progressively update the interval depending on the returned solutions for $ \mathbf{Y} $. A natural lower bound is $ \alpha^{(0)}_L = 0 $. An upper bound $ \alpha^{(0)}_U $ can be obtained by assigning the total power to the weakest receiver $ k \in \mathcal{U}_t $. Thus, from (<ref>) we obtain  $ \alpha^{(0)}_U = \min_{k \in \mathcal{U}_t} \frac{\mathrm{Tr} \left( \mathbf{B}_{k,i} \mathbf{Y} \right) }{B_k \sigma^2 \left\| \mathbf{w}_k \right\|^2_2} $. Further, since $ \mathbf{B}_{k,i} $ and $ \mathbf{Y} $ are positive semidefinite, $ \mathrm{Tr} \left( \mathbf{B}_{k,i} \mathbf{Y} \right) \leq \mathrm{Tr} \left( \mathbf{B}_{k,i} \right)  \mathrm{Tr} \left( \mathbf{Y} \right) $ holds [35]. Also, $ \mathrm{Tr} \left( \mathbf{Y} \right) = \mathrm{Tr} \left( \mathbf{f} \mathbf{f}^H \right) = N^{\mathrm{RF}}_\mathrm{tx} $. Therefore, $ \alpha^{(0)}_U = \min_{k \in \mathcal{U}_t} \frac{ N^{\mathrm{RF}}_\mathrm{tx} \mathrm{Tr} \left( \mathbf{B}_{k,i} \right) }{B_k \sigma^2 \left\| \mathbf{w}_k \right\|^2_2} $. With the initial interval defined, at every iteration $ \ell $ we set $ \alpha^{(\ell)} = \frac{\alpha^{(\ell)}_L + \alpha^{(\ell)}_U}{2} $ and solve $ \mathcal{P}^{(\ell)}_{\mathrm{SDR},1} $ for $ \mathbf{Y} $ with the given $ \alpha^{(\ell)} $. At each iteration $ \ell $, we update the lower and upper bounds in the following manner. If $ \mathcal{P}^{(\ell)}_{\mathrm{SDR},1} $ is feasible, then $ \alpha^{(\ell + 1)}_L = \alpha^{(\ell)} $. Otherwise, $ \alpha^{(\ell + 1)}_U = \alpha^{(\ell)} $. Through this procedure, an $ \epsilon $-suboptimal solution can be obtained within $ N_{\mathrm{bis}_1} = \log_2 \left( \frac{1}{\epsilon} \left( {\alpha^{(0)}_U - \alpha^{(0)}_L} \right) \right) $ iterations.

Stage A3 (Recovery of $ \mathbf{f} $):
Let $ \widehat{\mathbf{Y}} $ represent an $ \epsilon $-suboptimal solution to (<ref>). When $ \widehat{\mathbf{Y}} $ is rank-1, an optimal solution $ \mathbf{Y}^{\star} = \widehat{\mathbf{Y}} $ has been found to (<ref>). Thus, $ \mathbf{f}^{\star} $ can be recovered straightforwardly by means of eigen-decomposition. Otherwise, we resort to a procedure inspired by [36].

Stage A3-1:
Any element $\left( n_1, n_2 \right) $ of $ \mathbf{Y} $ can be represented as $ \left[ \mathbf{Y} \right]_{n_1,n_2}  = \left[ \mathbf{f} \right]_{n_1} \left[ \mathbf{f} \right]^{*}_{n_2} $. If we define a vector $ \mathbf{u} \in \mathbb{C}^{ N_\mathrm{tx} \times 1} $ such that $ \left\| \mathbf{u}\right\|^2_2 = \mathbf{u}^H \mathbf{u} = 1 $, we can express $ \left[ \mathbf{Y} \right]_{n_1,n_2} $ in terms of $ \mathbf{u} $, i.e., $ \left[ \mathbf{Y} \right]_{n_1,n_2}  = \left( \left[ \mathbf{f} \right]_{n_1} \mathbf{u}^T \right) \left( \left[ \mathbf{f} \right]^{*}_{n_2} \mathbf{u}^{*} \right) $. Moreover, if we define $ \mathbf{q}_{n} = \left[ \mathbf{f} \right]_{n} \mathbf{u} $, $ \mathbf{Y} $ can be recast as $ \mathbf{Y} = \mathbf{Q}^T \mathbf{Q}^{*} $ with $ \mathbf{Q} = \left[ \mathbf{q}_1, \dots, \mathbf{q}_{N_\mathrm{tx}} \right] $.

Stage A3-2:
By means of Cholesky factorization, we can decompose $ \widehat{\mathbf{Y}} $ as $ \widehat{\mathbf{Y}} = \widehat{\mathbf{Q}}^T \widehat{\mathbf{Q}}^{*} $, where $ \widehat{\mathbf{Q}} = \left[ \widehat{\mathbf{q}}_1, \dots, \widehat{\mathbf{q}}_{N_\mathrm{tx}} \right]  $. In Stage A3-1, we assumed that every $ \mathbf{q}_n $ is originated from the same vector $ \mathbf{u} $. Thus, we need to find both $ \mathbf{f} $ and $ \mathbf{u} $ that satisfy $ \mathbf{q}_n = \left[ \mathbf{f} \right]_n \mathbf{u}, \forall n \in \mathcal{N} $. Since such vectors $ \mathbf{f} $ and $ \mathbf{u} $ may not exist, we aim at finding approximate $ \widehat{\mathbf{u}} $  and $ \widehat{\mathbf{f}} $, such that $ \widehat{\mathbf{q}}_n \approx \left[ \widehat{\mathbf{f}} \right]_n \widehat{\mathbf{u}}, \forall n \in \mathcal{N} $. Mathematically, this is expressed as

𝒫_LS,1:     min_𝐮, 𝐟

∑^N_tx_n = 1  𝐪_n - [ 𝐟 ]_n  𝐮 ^2_2

s.t.          𝐮 ^2_2 = 1,

[ 𝐟 ]_n ∈ℱ, ∀n ∈𝒩,

where we find $ \widehat{\mathbf{u}} $ and $ \widehat{\mathbf{f}} $ with the least error in the 2-norm sense.

Stage A3-3:
Minimizing simultaneously both $ \widehat{\mathbf{u}} $ and $ \widehat{\mathbf{f}} $ is challenging. Thus, we generate a random vector $ \widehat{\mathbf{u}} $, such that $ \left\| \mathbf{u}\right\|^2_2 = 1 $. Therefore, we solve

\begin{align} \label{e14}
% Objective 14a
\widehat{\mathcal{P}}_{\mathrm{LS},2}: & \min_{
\substack{
\left[ \widehat{\mathbf{f}} \right]_n \in \mathcal{F}, \forall n \in \mathcal{N} \\
\sum^{N_\mathrm{tx}}_{n=1} \left\| \widehat{\mathbf{q}}_n - \left[ \widehat{\mathbf{f}} \right]_n  \widehat{\mathbf{u}} \right\|^2_2
\end{align}

By expanding (<ref>), we obtain

\begin{align} \label{e15}
% Objective 15a
\widehat{\mathcal{P}}_{\mathrm{LS},2}: & \max_{
\substack{
\left[ \widehat{\mathbf{f}} \right]_n \in \mathcal{F}, \forall n \in \mathcal{N} \\
\sum^{N_\mathrm{tx}}_{n=1} \mathfrak{Re} \left( \left[ \widehat{\mathbf{f}} \right]_n \widehat{\mathbf{q}}^H_n \widehat{\mathbf{u}} \right).
\end{align}

Note that (<ref>) can be decomposed into $ N_\mathrm{tx} $ parallel sub-problems. Further, since $ z_n = \widehat{\mathbf{q}}^H_n \widehat{\mathbf{u}} $ is known in $ \widehat{\mathcal{P}}_{\mathrm{LS},2} $, we  select $ \left[ \widehat{\mathbf{f}} \right]_n $ such that the real part is maximized. This is equivalent to choosing $ \left[ \widehat{\mathbf{f}} \right]_n $ with the closest phase to $ z^{*}_n $. Therefore, among the phase rotations in $ \mathcal{F} $, we choose the closest to $ z^{*}_n $. To improve $ \widehat{\mathbf{f}} $,  we generate $ N_{\mathrm{rand}_1} $ vectors $ \widehat{\mathbf{u}}_v $ with $ \left\| \mathbf{u}_v \right\|^2_2 = 1 $ ($ v = 1, \dots, N_{\mathrm{rand}_1} $), and for each we find its corresponding $ \widehat{\mathbf{f}}_v $. Then, we select $ \mathbf{f}^{\dagger} $ among $ N_{\mathrm{rand}_1} $ candidates that provides the largest minimum e-SINR, i.e., $ \mathbf{f}^{\dagger} = \arg_{ \widehat{\mathbf{f}}_1, \dots, \widehat{\mathbf{f}}_{N_{\mathrm{rand}_1}}} \max \min_{k \in \mathcal{U}_t} \frac{\mathrm{SINR}_k}{B_k} $. Finally, $ \mathbf{f}^{\dagger} $  is reshaped to obtain $ \mathbf{F}^{\dagger} = \mathrm{reshape} \left( \mathbf{f}^{\dagger} \right) $. The function $ \mathrm{reshape}(\cdot) $ reverses the effect of $ \mathrm{vec}(\cdot) $.

§.§ Optimization of $ \mathbf{M} $

Assuming that $ \mathbf{F} $ and $ \left\lbrace \mathbf{w}_k \right\rbrace^K_{k=1} $ are known, (<ref>) collapses to

𝒫_2:     max_α, 𝐌           α

s.t.        αB_k ∑_j ≠i | 𝐰^H_k 𝐇_k 𝐅 𝐌 𝐞_j |^2 + αB_k σ^2  𝐰_k ^2_2

- | 𝐰^H_k 𝐇_k 𝐅 𝐌 𝐞_i |^2 ≤0, ∀k ∈𝒰_t,

𝐅 𝐌 ^2_F ≤P^max_tx,

We can equivalently express $ \mathcal{P}_2 $ as,

𝒫_2:     max_α, 𝐦           α

s.t.         αB_k ∑_j ≠i 𝐦^H 𝐜_k,j 𝐜^H_k,j 𝐦 - 𝐦^H 𝐜_k,i 𝐜^H_k,i 𝐦

+ αB_k σ^2  𝐰_k ^2_2 ≤0, ∀k ∈𝒰_t,

( 𝐈 ⊗𝐅 ) 𝐦 ^2_2 ≤P^max_tx,

where $ \mathbf{c}_{k,i} = \left( \mathbf{e}_i \otimes \left( \mathbf{F}^H \mathbf{H}^H_k \mathbf{w}_k \right) \right) $ and $ \mathbf{m} = \mathrm{vec} \left( \mathbf{M} \right) $. Following a similar procedure as before, the SDR form of (<ref>) is

\begin{align}
% Objective 18a
\mathcal{P}_{\mathrm{SDR},2}: & \max_{\alpha, \mathbf{Z}} & ~ & \alpha \label{e18a}
\\
\vspace{-0.2cm}
% Constraint 18b
& ~~ \mathrm{s.t.} & & \alpha B_k \mathrm{Tr} \left( \mathbf{C}_{k,\backslash i} \mathbf{Z} \right) - \mathrm{Tr} \left( \mathbf{C}_{k,i} \mathbf{Z} \right) \nonumber
\\
& & & + \alpha B_k \sigma^2 \left\| \mathbf{w}_k \right\|^2_2 \leq 0, \forall k \in \mathcal{U}_t, \quad \quad \quad \label{e18b}
\\
% Constraint 18c
& & & \mathrm{Tr} \left( \mathbf{J} \mathbf{Z} \right) \leq P^\mathrm{max}_\mathrm{tx}, \label{e18c}
\\
% Constraint 18d
& & & \mathbf{Z} \succcurlyeq 0, \label{e18d}
\\
% Constraint 18e
& & & \alpha \geq 0, \label{e18e}
\end{align}

where $ \mathbf{Z} = \mathbf{m} \mathbf{m}^H $, $ \mathbf{J} = \left( \mathbf{I} \otimes \mathbf{F} \right)^H \left( \mathbf{I} \otimes \mathbf{F} \right) $, $ \mathbf{C}_{k,\backslash i} = \sum_{j \neq i} \mathbf{c}_{k,j} \mathbf{c}^H_{k,j} $ and $ \mathbf{C}_{k,i} = \mathbf{c}_{k,i} \mathbf{c}^H_{k,i} $. As in Stage A2, we use the bisection method to approach (<ref>). In this case, $ \alpha^{(0)}_L = 0 $ and $ \alpha^{(0)}_U = \min_{k \in \mathcal{U}_t} \frac{ P^{\mathrm{max}}_\mathrm{tx} \mathrm{Tr} \left( \mathbf{C}_{k,i} \right) }{B_k \sigma^2 \left\| \mathbf{w}_k \right\|^2_2} $. The process is repeated for $ N_{\mathrm{bis}_2} $ iterations. At the end of the bisection procedure, we obtain $ \widehat{\mathbf{Z}} $ from which $ \widehat{\mathbf{m}} $ is estimated. If $ \widehat{\mathbf{Z}} $ is rank-1, then an optimal solution $ \mathbf{Z}^{\star} = \widehat{\mathbf{Z}} $ has been found to (<ref>). Otherwise, we generate $ N_{\mathrm{rand}_2} $ candidates according to $ \widehat{\mathbf{m}}_v \sim \mathcal{CN} \left( \mathbf{0}, \widehat{\mathbf{Z}} \right) $ ($ v = 1, \dots, N_{\mathrm{rand}_2} $) and retain the best-performing candidate $ \mathbf{m}^{\dagger} = \arg_{ \widehat{\mathbf{m}}_1, \dots, \widehat{\mathbf{m}}_{N_{\mathrm{rand}_2}}} \max \min_{k \in \mathcal{U}_t} \frac{\mathrm{SINR}_k}{B_k} $ [37, 38]. Finally, $ \mathbf{m}^{\dagger} $ is reshaped to obtain $ \mathbf{M}^{\dagger} $.

§.§ Optimization of $ \left\lbrace \mathbf{w}_k \right\rbrace^K_{k = 1} $

Now, we assume that $ \mathbf{F} $ and $ \mathbf{M} $ are given. Therefore, we optimize the analog combiners $ \left\lbrace \mathbf{w}_k \right\rbrace^K_{k = 1} $ as shown in (<ref>)

\begin{align}
% Objective 19a
\mathcal{P}_3: & \max_{\alpha, \left\lbrace \mathbf{w}_k \right\rbrace^K_{k = 1}} & ~ & \alpha \label{e19a}
\\
\vspace{-0.2cm}
% Constraint 19b
& ~~~~~ \mathrm{s.t.} & & {\alpha B_k \sum_{j \neq i} \left| \mathbf{w}^H_k \mathbf{H}_k \mathbf{F} \mathbf{M} \mathbf{e}_j \right|^2 + \alpha B_k \sigma^2 \left\| \mathbf{w}_k \right\|^2_2} \nonumber
\\
& & & - \left| \mathbf{w}^H_k \mathbf{H}_k \mathbf{F} \mathbf{M} \mathbf{e}_i \right|^2 \leq 0, \forall k \in \mathcal{U}_t, \label{e19b}
\\
% Constraint 19c
& & & \left\| \mathbf{w}_k \right\|^2_2 \leq P^\mathrm{max}_\mathrm{rx}, \forall k \in \mathcal{U}_t, \label{e19c}
\\
% Constraint 19d
& & & \left[ \mathbf{w}_k \right]_{l} \in \mathcal{W}, l \in \mathcal{L}, \label{e19d}
\\
% Constraint 19e
& & & \alpha \geq 0. \label{e19e}
\end{align}

We observe that each combiner can be optimized independently since any variation of $ \mathbf{w}_k $ will only affect the SINR of the $ k $-th receiver. Therefore, we solve $ K $ sub-problems $ \mathcal{P}^{(k)}_{3} $ in parallel. The SDR form of $ \mathcal{P}^{(k)}_{3} $ is

\begin{align}
% Objective 20a
\mathcal{P}^{(k)}_{\mathrm{SDR},3}: & \max_{\alpha, \mathbf{W}_k} & ~ & \alpha \label{e20a}
\\
\vspace{-0.2cm}
% Constraint 20b
& ~~ \mathrm{s.t.} & & \alpha B_k \mathrm{Tr} \left( \widetilde{\mathbf{P}}_{k,\backslash i} \mathbf{W}_k \right) - \mathrm{Tr} \left( \mathbf{P}_{k,i} \mathbf{W}_k \right), \label{e20b}
\\
% Constraint 20c
& & & \mathrm{Tr} \left( \mathbf{W}_k \right) \leq P^\mathrm{max}_\mathrm{rx}, \label{e20c}
\\
% Constraint 20d
& & & \mathrm{diag} \left( \mathbf{W}_k \right) = \delta_W \mathbf{1}_{N_\mathrm{rx}}, \label{e20d}
\\
% Constraint 20e
& & & \mathbf{W}_k \succcurlyeq 0, \label{e20e}
\\
% Constraint 20f
& & & \alpha \geq 0, \label{e20f}
\end{align}

where $ \mathbf{W}_k = \mathbf{w}_k \mathbf{w}^H_k $, $ \mathbf{P}_{k,i} = \mathbf{H}_k \mathbf{F} \mathbf{M} \mathbf{e}_i \mathbf{e}^H_i \mathbf{M}^H \mathbf{F}^H \mathbf{H}_k $ and $ \widetilde{\mathbf{P}}_{k,\backslash i} = \sum_{j \neq i} \mathbf{P}_{k,j} + B_k \sigma^2 \mathbf{I} $. Since the combiners $ \mathbf{w}_k $ are analog, we follow the same procedure used to optimize $ \mathbf{F} $. In this case, the lower bound is $ \alpha^{(0)}_{L_k} = 0 $ whereas the upper bound $ \alpha^{(0)}_{U_k} = \lambda_{\mathrm{max}} \left( \mathbf{P}_{k,i} \widetilde{\mathbf{P}}^{-1}_{k,\backslash i} \right) $ is the maximum eigenvalue of matrix $ \mathbf{P}_{k,i} \widetilde{\mathbf{P}}^{-1}_{k,\backslash i} $. The bisection process is repeated for $ N_{\mathrm{bis}_3} $ iterations as explained in Stage A2, upon whose completion $ \widehat{\mathbf{W}}_k $ is obtained. If $ \widehat{\mathbf{W}}_k $ is rank-1, then $ \mathbf{W}^{\star}_k = \widehat{\mathbf{W}}_k $ is also optimal to (<ref>). Otherwise we generate $N_{\mathrm{rand}_3} $ candidates $ \widehat{\mathbf{w}}_{k,v} $ ($ v = 1, \dots, N_{\mathrm{rand}_3} $) for each $ \widehat{\mathbf{w}}_k $ as discussed in Stage A3, and select the best-performing $ \mathbf{w}^{\dagger}_k = \arg_{ \widehat{\mathbf{w}}_{k,1}, \dots, \widehat{\mathbf{w}}_{k,N_{\mathrm{rand}_3}}} \max \frac{\mathrm{SINR}_k}{B_k} $.

To further refine $ \mathbf{F} $, $ \mathbf{M} $, $ \left\lbrace \mathbf{w}_k \right\rbrace^K_{k = 1} $, we sequentially solve $ \mathcal{P}_{\mathrm{SDR},1} $, $ \mathcal{P}_{\mathrm{SDR},2} $ and $ \left\lbrace \mathcal{P}^{(k)}_{\mathrm{SDR},3} \right\rbrace^{K}_{k = 1} $ for a number of $ N_\mathrm{iter} $ iterations. Also, since the number of bits $ B_i $ to be transmitted can be arbitrarily large, we use normalized values $ \widetilde{B}_i $ in the range $ \left[ 0, 1 \right] $, only for optimization purposes. Also, the scaling factors $ \delta_F $ and $ \delta_W $, in Section III, are chosen such that $ \left\| \mathbf{F} \right\|^2_\mathrm{F} = N^\mathrm{RF}_\mathrm{tx} $ and $ \left\| \mathbf{w}_k \right\|^2_2 = P^\mathrm{max}_\mathrm{rx} $. Thus, $ \delta_F = N^\mathrm{RF}_\mathrm{tx} / N_\mathrm{tx} $ and $ \delta_W = P^\mathrm{max}_\mathrm{rx} / N_\mathrm{rx} $.

§ PROPOSED SCHEDULING ALGORITHM

Given that scheduling plays a key role in ensuring minimum latency, in this section, we propose a novel scheduling formulation that aims to minimize both, the number of scheduling windows and the aggregate inter-group correlation (IGC). We model the scheduling problem as a Boolean program,

\begin{align}
% Objective 21a
\mathcal{S}: & \min_{ \left\lbrace \mu_{i,i} \right\rbrace^{G_T}_{i = 1}, \left\lbrace \tau_{i,j,l} \right\rbrace } & & \underbrace{ \sum^{G_T}_{i = 1} \mu_{i,i} }_{\text{first term}} + \omega \underbrace { \sum^{G_T - 1}_{i = 1} \sum^{G_T - 1}_{j \geq i} \sum^{G_T}_{l > j} \rho_{j,l} \cdot \tau_{i,j,l} }_{\text{second term: aggregate IGC}} \label{e21a}
\\
\vspace{-0.2cm}
% Constraint 21b
& ~~~~ \mathrm{s.t.} & & \sum_{ i \leq j < l} \rho_{j,l} \cdot  \tau_{i,j,l} \leq \lambda \cdot \mu_{i,i}, \forall i, \label{e21b}
\\
% Constraint 21c
& & & \sum_{i \leq j} \mu_{i,j} = 1, \forall j, \label{e21c}
\\
% Constraint 21d
& & & \sum_{j \geq i} \mu_{i,j} \leq N^{\mathrm{RF}}_{\mathrm{tx}}, \forall i, \label{e21d}
\\
% Constraint 21e
& & & \mu_{i,j} \leq \mu_{i,i}, \forall i < j, \label{e21e}
\\
% Constraint 21f
& & & \mu_{i,j} + \mu_{i,l} \leq 1 + \tau_{i,j,l}, \forall i \le j < l, \label{e21f}
\\
% Constraint 21g
& & & \mu_{i,j} \in \left\lbrace 0, 1 \right\rbrace, \label{e21g}
\\
% Constraint 21h
& & & \tau_{i,j,l} \in \left\lbrace 0, 1 \right\rbrace. \label{e21h}
\end{align}

Each binary variable $ \mu_{i,j} $ assumes the value of $ 1 $ if multicast group $ j $ is scheduled in the $ i $-th window (or $ 0 $ otherwise). The binary variable $ \tau_{i,j,l} $ is $ 1 $ if any two multicast groups $ j $ and $ l $ have been co-scheduled during the $ i $-th window. Also, we define $ \rho_{j,l} = \frac{ \left| \mathbf{h}^H_j \mathbf{h}_l \right| }{ \left\| \mathbf{h}_j \right\|_2 \left\| \mathbf{h}_l \right\|_2 } $ as the inter-group correlation (IGC) between groups $ j $ and $ l $, where $ \mathbf{h}_j = \frac{1}{|\mathcal{G}_j|} \sum_{k \in \mathcal{G}_j} \mathrm{vec} \left( \mathbf{H}_k \right) $ is the mean channel vector of all receivers $ k $ in group $ j $. The first term in (<ref>) represents the number of scheduling windows, whereas the second term is the aggregate IGC, which is computed in a pair-wise manner and accumulated as a penalization. If there exist more than a solution that yields the same optimal amount of scheduling windows, the second term penalizes the candidates that exhibit large aggregate IGC. Realize that by minimizing the aggregate IGC, we attempt to produce scheduling patterns wherein receivers of different co-scheduled groups are the least correlated (on average), thereby enhancing the SINR and latency. For every window $ i $, (<ref>) restricts the aggregate IGC of the co-scheduled groups to remain below $ \lambda $, which is the maximum threshold. Also, (<ref>) enforces every group $ j $ to be scheduled once, whereas (<ref>) restricts the number of groups per window to be at most $ N^{\mathrm{RF}}_{\mathrm{tx}} $. Without loss of generality, (<ref>) and the condition $ i < j $ imposed on (<ref>)–(<ref>) reduce the search space and therefore the complexity. Further, (<ref>) binds the variables $ \mu_{i,j} $ and $ \tau_{i,j,l} $ and ensures consistency among them. Finally, (<ref>) and (<ref>) declare $ \mu_{i,i} $ and $ \tau_{i,j,l} $ as Boolean. In (<ref>), $ \omega $ is chosen such that the first and second term have equal weights on average.

§ NUMERICAL RESULTS

This section sheds light on the performance of our proposed scheme  (joint group scheduling and precoding). We focus on two performance metrics: minimum e-SINR and latency. First, to gain insights into the effectiveness of our hybrid precoder design, we evaluate its performance against fully-digital and fully-analog implementations, in which we leave out the scheduling aspect. Next, we investigate the impact of different  scheduling algorithms on the total latency, which additionally accounts for the beam-switching delay between the scheduling windows.

: our proposed scheduling and precoding scheme.

: single-group multicasting scheduling serves only one multicast group per scheduling window.

: random scheduling selects stochastically an allocation pattern among all possible combinations.

: exhaustive search finds the best scheduling policy that minimizes latency among all the possibilities.

In simulations, we consider the geometric channel model with $ N_{\mathrm{paths}} = 6 $ propagation paths between the transmitter and each receiver [39, 40], considering the high density of reflecting surfaces in an industrial environment. The receivers are divided equally among all the multicast groups. The numerical results show the average performance over $100$ channel realizations. tab:param summarizes the parameters setting.

[inner sep = 0.3mm]
ymin = 0,
ymax = 175,
width = 6.0cm,
height = 3.0cm,
bar width = 6pt,
tick align = inside,
x label style=align=center, font=,,
ylabel = Min. e-SINR,
y label style=at=(-0.1,0.5), font=,,

symbolic x coords = Nrx1, Nrx2, Nrx3,
xticklabels = $ N_\mathrm{rx} = 1 $, $ N_\mathrm{rx} = 2 $, $ N_\mathrm{rx} = 3 $,
x tick label style = text width = 2cm, align = center, font = 78,
y tick label style = text width = 0.8cm, align = right, font = 78,
xtick = data,
enlarge y limits = value = 0.3, upper,
enlarge x limits = 0.24,
legend columns = 5,
legend pos = north east,
legend style=at=(0.6,1.10),anchor=south west, font=65, text width=1.55cm,text height=0.02cm,text depth=.ex, fill = none,

nodes near coords bottom/.style=
close to zero/.style=
at=(axis cs:/data point/x,/data point/y),
big value/.style=
at=(axis cs:/data point/x,/data point/y),
color = black, text opacity=1,

inner ysep = 0.5pt, yshift = -21pt
every node near coord/.append style=
check for zero/.code=

=/pgfplots/close to zero
/pgfplots/big value

check for zero,
rotate=90, anchor = west, font = 0.51,
nodes near coords,

nodes near coords=[fixed zerofill,precision=2],
nodes near coords bottom = 105,

[fill = bcolor1] coordinates (Nrx1, 101.0345) (Nrx2, 167.5321) (Nrx3, 216.0149);

[fill = bcolor2] coordinates (Nrx1, 60.3298) (Nrx2, 99.9330) (Nrx3, 129.4011);

[fill = bcolor3] coordinates (Nrx1, 36.3392) (Nrx2, 62.2636) (Nrx3, 79.0546);

[fill = bcolor4] coordinates (Nrx1, 18.8461) (Nrx2, 34.1564) (Nrx3, 46.3972);

[fill = bcolor5] coordinates (Nrx1, 8.5153) (Nrx2, 17.0937) (Nrx3, 25.0711);

[inner sep = 0.3mm]
ymin = 0,
ymax = 75,
width = 6.0cm,
height = 3.0cm,
bar width = 6pt,
tick align = inside,
x label style=align=center, font=,,
y label style=at=(-0.1,0.5), font=,,

symbolic x coords = Nrx1, Nrx2, Nrx3,
xticklabels = $ N_\mathrm{rx} = 1 $, $ N_\mathrm{rx} = 2 $, $ N_\mathrm{rx} = 3 $,
x tick label style = text width = 2cm, align = center, font = 78,
y tick label style = text width = 0.5cm, align = right, font = 78,
xtick = data,
enlarge y limits = value = 0.4, upper,
enlarge x limits = 0.24,

nodes near coords bottom/.style=
close to zero/.style=
at=(axis cs:/data point/x,/data point/y),
big value/.style=
at=(axis cs:/data point/x,/data point/y),
color = black, text opacity=1,

inner ysep = 0.5pt, yshift = -18pt
every node near coord/.append style=
check for zero/.code=

=/pgfplots/close to zero
/pgfplots/big value

check for zero,
rotate=90, anchor = west, font = 0.51,
nodes near coords,

nodes near coords=[fixed zerofill,precision=2],
nodes near coords bottom = 70,

[fill = bcolor1] coordinates (Nrx1, 47.6338) (Nrx2, 76.3093) (Nrx3, 98.4381);

[fill = bcolor2] coordinates (Nrx1, 24.4036) (Nrx2, 39.1340) (Nrx3, 48.8037);

[fill = bcolor3] coordinates (Nrx1, 10.5616) (Nrx2, 18.6608) (Nrx3, 23.3403);

[fill = bcolor4] coordinates (Nrx1, 4.6031) (Nrx2, 8.3678) (Nrx3, 10.7263);

[fill = bcolor5] coordinates (Nrx1, 2.1031) (Nrx2, 4.0046) (Nrx3, 5.2668);

[inner sep = 0.3mm]
ymin = 0,
ymax = 31,
width = 6.0cm,
height = 3.0cm,
bar width = 6pt,
tick align = inside,
x label style=align=center, font=,,
y label style=at=(-0.1,0.5), font=,,

symbolic x coords = Nrx1, Nrx2, Nrx3,
xticklabels = $ N_\mathrm{rx} = 1 $, $ N_\mathrm{rx} = 2 $, $ N_\mathrm{rx} = 3 $,
x tick label style = text width = 2cm, align = center, font = 78,
y tick label style = text width = 0.5cm, align = right, font = 78,
xtick = data,
enlarge y limits = value = 0.2, upper,
enlarge x limits = 0.24,
legend columns = 1,
legend pos = north east,
legend style=at=(1,0),anchor=south west, font=65, text width=1.0cm,text height=0.02cm,text depth=.ex, fill = none,

nodes near coords bottom/.style=
close to zero/.style=
at=(axis cs:/data point/x,/data point/y),
big value/.style=
at=(axis cs:/data point/x,/data point/y),
color = black, text opacity=1,

inner ysep = 0.5pt, yshift = -18pt
every node near coord/.append style=
check for zero/.code=

=/pgfplots/close to zero
/pgfplots/big value

check for zero,
rotate=90, anchor = west, font = 0.51,
nodes near coords,

nodes near coords=[fixed zerofill,precision=2],
nodes near coords bottom = 20,

[fill = bcolor1] coordinates (Nrx1, 15.9837) (Nrx2, 26.3660) (Nrx3, 35.5727);

[fill = bcolor2] coordinates (Nrx1, 8.8593) (Nrx2, 14.9988) (Nrx3, 20.2280);

[fill = bcolor3] coordinates (Nrx1, 4.3380) (Nrx2, 7.5459) (Nrx3, 10.3651);

[fill = bcolor4] coordinates (Nrx1, 2.1725) (Nrx2, 3.9129) (Nrx3, 5.5151);

[fill = bcolor5] coordinates (Nrx1, 0.9574) (Nrx2, 1.9910) (Nrx3, 2.9776);

[inner sep = 0.3mm]

ymin = 0,
ymax = 1.4,
width = 6.0cm,
height = 3.0cm,
bar width = 6pt,
tick align = inside,
x label style=align=center, font=,,
ylabel = Latency (ms),
y label style=at=(-0.1,0.5), font=,,

symbolic x coords = Nrx1, Nrx2, Nrx3,
xticklabels = $ N_\mathrm{rx} = 1 $, $ N_\mathrm{rx} = 2 $, $ N_\mathrm{rx} = 3 $,
x tick label style = text width = 2cm, align = center, font = 78,
y tick label style = text width = 0.8cm, align = right, font = 78,
xtick = data,
enlarge y limits = value = 0.3, upper,
enlarge x limits = 0.24,
legend columns = 8,
legend pos = north east,
legend style=at=(0.015,0.78),anchor=south west, font=65, text width=1.55cm,text height=0.02cm,text depth=.ex, fill = none,

nodes near coords bottom/.style=
close to zero/.style=
at=(axis cs:/data point/x,/data point/y),
big value/.style=
at=(axis cs:/data point/x,/data point/y),
color = black, text opacity=1,

inner ysep = 0.5pt, yshift = -16pt
every node near coord/.append style=
check for zero/.code=

=/pgfplots/close to zero
/pgfplots/big value

check for zero,
rotate=90, anchor = west, font = 0.51,
nodes near coords,

nodes near coords=[fixed zerofill,precision=2],
nodes near coords bottom = 0.8,

[fill = bcolor1] coordinates (Nrx1, 0.8364) (Nrx2, 0.8334) (Nrx3, 0.8333);

[fill = bcolor2] coordinates (Nrx1, 0.8549) (Nrx2, 0.8365) (Nrx3, 0.8336);

[fill = bcolor3] coordinates (Nrx1, 0.9562) (Nrx2, 0.8503) (Nrx3, 0.8411);

[fill = bcolor4] coordinates (Nrx1, 1.2099) (Nrx2, 0.9777) (Nrx3, 0.8947);

[fill = bcolor5, every node near coord/.append style=color = black] coordinates (Nrx1, 1.7379) (Nrx2, 1.2765) (Nrx3, 1.0887);

Fully-digital precoder ($ N_{\mathrm{tx}}^{\mathrm{RF}} = 24 $)

[inner sep = 0.3mm]
ymin = 0,
ymax = 3.25,
width = 6.0cm,
height = 3.0cm,
bar width = 6pt,
tick align = inside,
x label style=align=center, font=,,
y label style=at=(-0.1,0.5), font=,,

symbolic x coords = Nrx1, Nrx2, Nrx3,
xticklabels = $ N_\mathrm{rx} = 1 $, $ N_\mathrm{rx} = 2 $, $ N_\mathrm{rx} = 3 $,
x tick label style = text width = 2cm, align = center, font = 78,
y tick label style = text width = 0.5cm, align = right, font = 78,
xtick = data,
enlarge y limits = value = 0.4, upper,
enlarge x limits = 0.24,
legend columns = 8,
legend pos = north east,
legend style=at=(0.015,0.78),anchor=south west, font=65, text width=1.55cm,text height=0.02cm,text depth=.ex, fill = none,

nodes near coords bottom/.style=
close to zero/.style=
at=(axis cs:/data point/x,/data point/y),
big value/.style=
at=(axis cs:/data point/x,/data point/y),
color = black, text opacity=1,

inner ysep = 0.5pt, yshift = -16pt
every node near coord/.append style=
check for zero/.code=

=/pgfplots/close to zero
/pgfplots/big value

check for zero,
rotate=90, anchor = west, font = 0.51,
nodes near coords,

nodes near coords=[fixed zerofill,precision=2],
nodes near coords bottom = 2,

[fill = bcolor1] coordinates (Nrx1, 0.9158) (Nrx2, 0.8608) (Nrx3, 0.8426);

[fill = bcolor2] coordinates (Nrx1, 1.1108) (Nrx2, 0.9444) (Nrx3, 0.8993);

[fill = bcolor3] coordinates (Nrx1, 1.5821) (Nrx2, 1.2325) (Nrx3, 1.1277);

[fill = bcolor4] coordinates (Nrx1, 2.5208) (Nrx2, 1.7824) (Nrx3, 1.5804);

[fill = bcolor5, every node near coord/.append style=color = black] coordinates (Nrx1, 4.1733) (Nrx2, 2.6996) (Nrx3, 2.2955);

Hybrid precoder ($ N_{\mathrm{tx}}^{\mathrm{RF}} = 4 $)

[inner sep = 0.3mm]
ymin = 0,
ymax = 7,
width = 6.0cm,
height = 3.0cm,
bar width = 6pt,
tick align = inside,
x label style=align=center, font=,,
y label style=at=(-0.1,0.5), font=,,

symbolic x coords = Nrx1, Nrx2, Nrx3,
xticklabels = $ N_\mathrm{rx} = 1 $, $ N_\mathrm{rx} = 2 $, $ N_\mathrm{rx} = 3 $,
x tick label style = text width = 2cm, align = center, font = 78,
y tick label style = text width = 0.5cm, align = right, font = 78,
xtick = data,
enlarge y limits = value = 0.2, upper,
enlarge x limits = 0.24,
legend columns = 5,
legend pos = north east,
legend style=at=(-0.08,-0.88),anchor=south east, font=65, text width=1.15cm,text height=0.02cm, text depth=.ex, fill = none,

nodes near coords bottom/.style=
close to zero/.style=
at=(axis cs:/data point/x,/data point/y),
big value/.style=
at=(axis cs:/data point/x,/data point/y),

inner ysep = 0.5pt, yshift = -16pt
every node near coord/.append style=
check for zero/.code=

=/pgfplots/close to zero
/pgfplots/big value

check for zero,
rotate=90, anchor = west, font = 0.51,
nodes near coords,

nodes near coords=[fixed zerofill,precision=2],
nodes near coords bottom = 4,

[fill = bcolor1] coordinates (Nrx1, 1.4768) (Nrx2, 1.1572) (Nrx3, 1.0544);

[fill = bcolor2] coordinates (Nrx1, 1.8373) (Nrx2, 1.4284) (Nrx3, 1.2545);

[fill = bcolor3] coordinates (Nrx1, 2.6733) (Nrx2, 1.9092) (Nrx3, 1.6104);

[fill = bcolor4] coordinates (Nrx1, 4.2911) (Nrx2, 2.8347) (Nrx3, 2.2721);

[fill = bcolor5] coordinates (Nrx1, 7.7852) (Nrx2, 4.3762) (Nrx3, 3.3215);

Fully-analog precoder ($ N_{\mathrm{tx}}^{\mathrm{RF}} = 4 $)

Evaluation of e-SINR and latency for different precoders

[inner sep = 0.3mm]
hide axis,
width = 1.8cm,
height = 1.8cm,
xmin = 0,
xmax = 1,
ymin = 0,
ymax = 1,
legend columns = 1,

legend style=at=(1,0.5), draw=white!15!black, anchor=south west, font=65, text width=1.1cm,text height=4.1mm,text depth=.ex, fill = none,

fill = bcolor1, mark=none, line width=0.5pt,
$K_T = 4$,
fill = bcolor2, mark=none, line width=0.5pt,
$K_T = 8$,
fill = bcolor3, mark=none, line width=0.5pt,
$K_T = 16$,
fill = bcolor4, mark=none, line width=0.5pt,
$K_T = 32$,
fill = bcolor5, mark=none, line width=0.5pt,
$K_T = 64$,

Simulations configuration

Parameter				    Notation & Value

Number of antennas at the transmitter       $ N_\mathrm{tx} = 24 $ (with $ L_\mathrm{tx} = 6 $)

Number of antennas at the receiver          $ N_\mathrm{rx} = \left\lbrace 1, 2, 3 \right\rbrace $

Number of RF chains	at the transmitter      $ N^\mathrm{RF}_\mathrm{tx} = 4 $

Number of shifts at the transmitter	        $ D_F = 16 $

Number of phase shifts at the receivers	    $ D_W= 4 $

Maximum transmit power		    $ P^{\mathrm{max}}_\mathrm{tx} = 20 $ dBm ($ 100 $ mW)

Maximum receive power		    $ P^{\mathrm{max}}_\mathrm{rx} = 0 $ dBm ($ 1 $ mW)

Noise power					    $ \sigma^2 = 10 $ dBm

Number of multicast groups      $ G_T = 4 $

Number of receivers		        $ K_T = \left\lbrace 4, 8, 16, 32, 64 \right\rbrace $

Bit-stream length		        $ B_{1} = B_{2} = B_{3} = B_{4} = 4$ Mbits

Number of bisection procedures     $ N_{\mathrm{bis}_1} = N_{\mathrm{bis}_2} = N_{\mathrm{bis}_3} = 10 $

3*Number of randomizations     $ N_{\mathrm{rand}_1} = 5 \cdot N_\mathrm{tx} $

$ N_{\mathrm{rand}_2} = 100 \cdot | \mathcal{G}_t | $

$ N_{\mathrm{rand}_3} = 20 \cdot N_\mathrm{rx} $

Number of sequential iterations     $ N_\mathrm{iter} = 3 $

§.§.§ Performance of Hybrid Precoder without Scheduling

We compare the performance of the proposed hybrid precoder design against a fully-digital implementation, which can be obtained as a particular case of our formulation when $ N^{\mathrm{RF}}_\mathrm{tx} = N_\mathrm{tx} $, $ L_\mathrm{tx} = 1 $ and $ \mathbf{F} = \mathbf{I} $. Similarly, we also consider a fully-analog precoder that can be obtained when $ \mathbf{M} = \mathbf{I} $. In this scenario, we consider a single window $ t' $ with a defined scheduling $ \mathcal{V}_{t'} $, where two multicast groups are concurrently served. The performance of this scenario is shown in Fig. <ref> and is essentially related to Proposition 2. We observe that, for a given number of receivers $ K_T $, the minimum e-SINR improves with an increasing number of receive antennas $ N_\mathrm{rx} $, because the beam-steering capability of each receiver is augmented. Further, for a given $ N_\mathrm{rx} $, as the number of receivers $ K_T $ increases, the e-SINR reduces since the total power is distributed accordingly. In terms of latency, (calculated with (<ref>)), the fully-digital precoder outperforms the hybrid and fully-analog precoders as it is endowed with a larger amount of RF chains that allows enhanced interference reduction, thus promoting higher data rates. However, due to excessive power consumption and hardware costs of fully-digital precoders in mmWave frequencies, the hybrid precoder is a promising candidate with low power consumption and high performance. For instance, if $ P_\mathrm{RF} = 250 $ mW [41] and $ P_\mathrm{PS} = 30 $ mW [42] represent the power consumed by a single RF chain and a single 4-bit-resolution phase shifter ($ D_F = 16 $), the instantaneous power consumed by the hybrid and digital precoders are $ P_\mathrm{hyb} = P^{\mathrm{max}}_\mathrm{tx} + N^{\mathrm{RF}}_\mathrm{tx} P_\mathrm{RF} + N_\mathrm{tx} P_\mathrm{PS} = 1.82 $ W and $ P_\mathrm{dig} = P^{\mathrm{max}}_\mathrm{tx} + N^{\mathrm{RF}}_\mathrm{tx} P_\mathrm{RF} = 6.10 $ W, respectively. This reveals an improvement of $ 235\% $ on energy consumption and $ 44\%-232\% $ on energy efficiency (results excluded due to space limitation).

§.§.§ Performance of Hybrid Precoder with Scheduling

f4 illustrates the performance of , , , and . In our scheduling formulation in (<ref>), $ \lambda $ controls the maximum tolerable aggregate IGC. Thus, in the fully-digital precoder case, a larger $ \lambda $ can be supported due to the versatility of the precoder to manage interference. On the other hand, due to the limited amount of RF chains, the values of $ \lambda $ used with the hybrid and analog precoders need to be comparatively smaller. We observe that, in terms of latency, the fully-digital precoder outperforms the hybrid and fully-analog implementations. Further, for any precoder type with a small number of receivers (e.g., $ K_T = 16 $),  produces the greatest latency while  is optimal (according to Proposition 3). On the other hand,  exhibits an intermediate performance between  and . As the number of receivers increases (e.g., $ K_T = 64 $), the performance gap between  and  reduces considerably because interference becomes more complex to manage, thus yielding  optimal in some realizations. On the contrary,  deteriorates since the impact of scheduling becomes more relevant in the presence of higher interference. When considering a switching delay of $ \delta_\mathrm{SW} = 0.5 $ ms between consecutive windows [7], similar behavior can be observed except for  being heavily penalized due to the incapability of spatial multiplexing. Furthermore, we include the performance of  with different values of $ \lambda $. In Fig. <ref>, $ \lambda_{\mathrm{opt}} $ is obtained upon evaluating several $ \lambda $ and bisecting the search space until negligible variation is observed. For the fully-digital precoder,  attains near-optimality when $ K_T = 16 $. Also, its performance remains within $ 11\% $ of the optimal value for $ K_T = \left\lbrace 32, 64 \right\rbrace $ when $ \delta_\mathrm{SW} = 0.0 $, and within $ 9\% $ when $ \delta_\mathrm{SW} = 0.5 $ ms. In the hybrid and fully-analog cases, the performance of  remains in the range $ 1.5 - 9.5 \% $ and $ 3.4 - 11.7 \%$ of the optimal , respectively. In the hybrid precoder case,  exhibits gains up $ 32 \% $ higher than  and up to $ 102 \% $ compared to  when $ \delta_\mathrm{SW} = 0 $. When $ \delta_\mathrm{SW} = 0.5 $, the gains are up to $ 60 \% $ and $ 59 \% $, respectively. While finding $ \lambda_{\mathrm{opt}} $ could be time-consuming, we notice that for a reasonable value of $ \lambda = \left\lbrace 0.05, 0.1 \right\rbrace $ the fully-digital and hybrid precoders behave remarkably compared to  while outperforming  and .

every axis/.style=
ybar stacked,
ymin = 0,
ymax = 5.1,
width = 7.0cm,
height = 3.85cm,
bar width = 4.5pt,
tick align = inside,
ytick style = draw = none,
xtick style = draw = none,
x label style=align=center, font=,,
ylabel = Latency (ms),
y label style=at=(-0.04,0.5), font=,,
symbolic x coords = K4, K8, K16,
xticklabels = $ K_T = 16 $, $ K_T = 32 $, $ K_T = 64 $,
x tick label style = text width = 1.7cm, align = center, font = 78,
y tick label style = text width = 0.3cm, align = right, font = 78,
xtick = data,
enlarge y limits = value = 0.3, upper,
enlarge x limits = 0.24,
nodes near coords,
nodes near coords align = vertical,
every node near coord/.append style=xshift=,yshift=-10pt, color = black, rotate = 90, anchor = west, font = 22,
legend columns = -1,
legend pos = north east,
legend style=at=(-0.13,1.02),anchor=south west, font=54, text height=0.02cm, text depth = .ex, fill = none, /tikz/every even column/.append style=column sep=0.046cm,
show sum on top/.style=
/pgfplots/scatter/@post marker code/.append code=
at=(normalized axis cs:
/data point/x,
/data point/y)
xshift=, yshift=, anchor=west, color = black, rotate = 90, font = 22,
/data point/y;

[bar shift = -22.0pt, hide axis]

gcolor7!80, fill = dcolor1, mark=none, line width=0.5pt,

gcolor7!80, fill = dcolor2, mark=none, line width=0.5pt,

gcolor7!80, fill = dcolor3, mark=none, line width=0.5pt,

gcolor7!80, fill = dcolor5, mark=none, line width=0.5pt,
$| \lambda = 0.01 $,

gcolor7!80, fill = dcolor7, mark=none, line width=0.5pt,
$| \lambda = 0.05 $,

gcolor7!80, fill = dcolor8, mark=none, line width=0.5pt,
$| \lambda = 0.1 $,

gcolor7!80, fill = dcolor9, mark=none, line width=0.5pt,
$| \lambda = 0.2 $,

gcolor7!80, fill = dcolor10, mark=none, line width=0.5pt,
$| \lambda = 0.4 $,

gcolor7!80, fill = dcolor11, mark=none, line width=0.5pt,
$| \lambda_\mathrm{opt} $,

gcolor7!60, pattern = crosshatch, pattern color = gcolor7!80,
Switching delay,

+[visualization depends on=value Cx ,
visualization depends on=value Cy ,
every node near coord/.append style=color=white,
gcolor7!80, fill = dcolor1]
table [x = x, y = C]

x 	C       	Cx	Cy
K4 	3.3352   	0   5
K8 	3.3487   	0   5.5
K16 3.5837   	0   6
+[visualization depends on=value Dx ,
visualization depends on=value Dy ,
every node near coord/.append style=opacity=0,
show sum on top,
gcolor7!60, pattern = crosshatch, pattern color = dcolor1]
table [x = x, y = D]

x 	D		Dx  	Dy
K4 	1.5    	-22.0   -2
K8 	1.5    	-22.0   -2
K16 1.5    	-22.0   -2

[bar shift = -16.5pt, hide axis]
+[visualization depends on=value Cx ,
visualization depends on=value Cy ,
gcolor7, fill = dcolor2]
table [x = x, y = C]

x 	C        Cx  Cy
K4 	2.2167   0   2
K8 	2.5084   0   2.5
K16 3.5588   0   6
+[visualization depends on=value Dx ,
visualization depends on=value Dy ,
every node near coord/.append style=opacity=0,
show sum on top,
gcolor7!60, pattern = crosshatch, pattern color = dcolor2]
table [x = x, y = D]

x 	D	 	Dx  	Dy
K4  0.7450	-16.5   -2
K8  0.7050  -16.5   -2
K16 0.6900  -16.5   -2

[bar shift = -11.0pt, hide axis]
+[visualization depends on=value Cx ,
visualization depends on=value Cy ,
gcolor7!80, fill = dcolor3]
table [x = x, y = C]

x 	C 		Cx  Cy
K4 	1.3216  0  	0
K8 	1.9241  0   1
K16 2.5541 	0   4
+[visualization depends on=value Dx ,
visualization depends on=value Dy ,
every node near coord/.append style=opacity=0,
show sum on top,
gcolor7!60, pattern = crosshatch, pattern color = dcolor3]
table [x = x, y = D]

x 	D    	Dx  	Dy
K4 	0.0130  -11.0	-2
K8 	0.2099  -11.0	-2
K16 0.4949 	-11.0	-2

[bar shift = -5.5pt, hide axis]
+[visualization depends on=value Cx ,
visualization depends on=value Cy ,
gcolor7!80, fill = dcolor5]
table [x = x, y = C]

x 	C      	Cx  Cy
K4 	3.1382  0   6
K8 	3.1683  0   6
K16 3.4699 	0   7
+[visualization depends on=value Dx ,
visualization depends on=value Dy ,
every node near coord/.append style=opacity=0,
show sum on top,
gcolor7!60, pattern = crosshatch, pattern color = dcolor5]
table [x = x, y = D]

x 	D   	Dx  	Dy
K4 	1.3800  -5.5	-2
K8 	1.3750  -5.5	-2
K16 1.3850 	-5.5	-2

[bar shift = 0.0pt, hide axis]
+[visualization depends on=value Cx ,
visualization depends on=value Cy ,
gcolor7!80, fill = dcolor7]
table [x = x, y = C]

x 	C      	Cx  Cy
K4 	2.2945  0  	2
K8 	2.4499  0  	3
K16 3.0175 	0  	5
+[visualization depends on=value Dx ,
visualization depends on=value Dy ,
every node near coord/.append style=opacity=0,
show sum on top,
gcolor7!60, pattern = crosshatch, pattern color = dcolor7]
table [x = x, y = D]

x 	D   	Dx  Dy
K4 	0.8650 	0.0	-2
K8 	0.8550  0.0	-2
K16 0.8750 	0.0	-2

[bar shift = 5.5pt, hide axis]
+[visualization depends on=value Cx ,
visualization depends on=value Cy ,
gcolor7!80, fill = dcolor8]
table [x = x, y = C]

x 	C      	Cx  Cy
K4 	1.8670  0   0
K8 	2.1433  0   1
K16 2.8906 	0   5
+[visualization depends on=value Dx ,
visualization depends on=value Dy ,
every node near coord/.append style=opacity=0,
show sum on top,
gcolor7!60, pattern = crosshatch, pattern color = dcolor8]
table [x = x, y = D]

x 	D   	Dx  Dy
K4 	0.5950  5.5	-2
K8 	0.6000  5.5	-2
K16 0.6450 	5.5	-2

[bar shift = 11.0pt, hide axis]
+[visualization depends on=value Cx ,
visualization depends on=value Cy ,
every node near coord/.append style=color=white,
gcolor7!80, fill = dcolor9]
table [x = x, y = C]

x 	C      	Cx  Cy
K4 	1.7234  0   0
K8 	2.0202  0   0
K16 2.8355 	0   4
+[visualization depends on=value Dx ,
visualization depends on=value Dy ,
every node near coord/.append style=opacity=0,
show sum on top,
gcolor7!60, pattern = crosshatch, pattern color = dcolor9]
table [x = x, y = D]

x 	D   	Dx		Dy
K4 	0.5000  11.0	-2
K8 	0.4950  11.0	-2
K16 0.5050 	11.0	-2

[bar shift = 16.5pt, hide axis]
+[visualization depends on=value Cx ,
visualization depends on=value Cy ,
every node near coord/.append style=color=white,
gcolor7!80, fill = dcolor10]
table [x = x, y = C]

x 	C      	Cx  Cy
K4 	1.6612  0   0
K8 	2.0380  0   0
K16 3.0265 	0   4
+[visualization depends on=value Dx ,
visualization depends on=value Dy ,
every node near coord/.append style=opacity=0,
show sum on top,
gcolor7!60, pattern = crosshatch, pattern color = dcolor10]
table [x = x, y = D]

x 	D   	Dx  	Dy
K4 	0.4250  16.5	-2
K8 	0.4450  16.5	-2
K16 0.4500 	16.5	-2

[bar shift = 22.0pt]
+[visualization depends on=value Cx ,
visualization depends on=value Cy ,
every node near coord/.append style=color=white,
gcolor7!80, fill = dcolor11]
table [x = x, y = C]

x 	C   	Cx Cy
K4 	1.3236  0  0
K8 	2.0202  0  0
K16 2.8345 	0  4
+[visualization depends on=value Dx ,
visualization depends on=value Dy ,
every node near coord/.append style=opacity=0,
show sum on top,
gcolor7!60, pattern = crosshatch, pattern color = dcolor11]
table [x = x, y = D]

x 	D   	Dx  	Dy
K4 	0.0100  22.0	-2
K8 	0.1624  22.0	-2
K16 0.5000 	22.0	-2

Fully-digital precoder

every axis/.style=
ybar stacked,
ymin = 0,
ymax = 8.7,
width = 7.0cm,
height = 3.85cm,
bar width = 4.5pt,
tick align = inside,
ytick style = draw = none,
xtick style = draw = none,
x label style=align=center, font=,,
symbolic x coords = K4, K8, K16,
xticklabels = $ K_T = 16 $, $ K_T = 32 $, $ K_T = 64 $,
x tick label style = text width = 1.7cm, align = center, font = 78,
y tick label style = text width = 0.3cm, align = right, font = 78,
xtick = data,
enlarge y limits = value = 0.3, upper,
enlarge x limits = 0.24,
nodes near coords,
nodes near coords align = vertical,
every node near coord/.append style=xshift=,yshift=-8pt, color = black, rotate = 90, anchor = west, font = 22,
legend columns = -1,
legend pos = north east,
legend style=at=(0.00,1.08),anchor=south west, font=54, text height=0.02cm, text depth = .ex, fill = none, /tikz/every even column/.append style=column sep=0.0525cm,
show sum on top/.style=
/pgfplots/scatter/@post marker code/.append code=
at=(normalized axis cs:
/data point/x,
/data point/y)
xshift=, yshift=, anchor=west, color = black, rotate = 90, font = 22,
/data point/y;

[bar shift = -22.0pt, hide axis]
+[visualization depends on=value Cx ,
visualization depends on=value Cy ,
every node near coord/.append style=color=white,
gcolor7!80, fill = dcolor1]
table [x = x, y = C]

x 	C      	Cx	Cy
K4 	3.3384	0  	0
K8 	3.4198	0  	0
K16 3.9737 	0  	0
+[visualization depends on=value Dx ,
visualization depends on=value Dy ,
every node near coord/.append style=opacity=0,
show sum on top,
gcolor7!60, pattern = crosshatch, pattern color = dcolor1]
table [x = x, y = D]

x 	D 		Dx  	Dy
K4 	1.5  	-22.0	-2
K8 	1.5  	-22.0	-2
K16 1.5 	-22.0	-2

[bar shift = -16.5pt, hide axis]
+[visualization depends on=value Cx ,
visualization depends on=value Cy ,
gcolor7!80, fill = dcolor2]
table [x = x, y = C]

x 	C   	Cx  Cy
K4 	3.1692  0   0
K8 	4.8318  0   0
K16 8.0442 	0   0
+[visualization depends on=value Dx ,
visualization depends on=value Dy ,
every node near coord/.append style=opacity=0,
show sum on top,
gcolor7!60, pattern = crosshatch, pattern color = dcolor2]
table [x = x, y = D]

x 	D   	Dx  	Dy
K4 	0.7450  -16.5	-2
K8 	0.7050  -16.5	-2
K16 0.6900 	-16.5	-2

[bar shift = -11.0pt, hide axis]
+[visualization depends on=value Cx ,
visualization depends on=value Cy ,
gcolor7!80, fill = dcolor3]
table [x = x, y = C]

x 	C      	Cx  Cy
K4 	2.3701  0  	-2
K8 	3.1827  0  	0
K16 3.9117 	0  	0
+[visualization depends on=value Dx ,
visualization depends on=value Dy ,
every node near coord/.append style=opacity=0,
show sum on top,
gcolor7!60, pattern = crosshatch, pattern color = dcolor3]
table [x = x, y = D]

x 	D   	Dx  	Dy
K4 	0.5023  -11.0	-2
K8 	0.7250  -11.0	-2
K16 1.1959 	-11.0	-2

[bar shift = -5.5pt, hide axis]
+[visualization depends on=value Cx ,
visualization depends on=value Cy ,
gcolor7!80, fill = dcolor5]
table [x = x, y = C]

x 	C      	Cx  Cy
K4 	3.2291 	0  	0
K8 	3.4243 	0  	0
K16 4.1184 	0  	0
+[visualization depends on=value Dx ,
visualization depends on=value Dy ,
every node near coord/.append style=opacity=0,
show sum on top,
gcolor7!60, pattern = crosshatch, pattern color = dcolor5]
table [x = x, y = D]

x 	D   	Dx  	Dy
K4 	1.3800  -5.5	-2
K8 	1.3750  -5.5	-2
K16 1.3850 	-5.5	-2

[bar shift = 0.0pt, hide axis]
+[visualization depends on=value Cx ,
visualization depends on=value Cy ,
gcolor7!80, fill = dcolor7]
table [x = x, y = C]

x 	C      	Cx  Cy
K4 	2.7543  0  	0
K8 	3.5078  0  	0
K16 5.0191 	0  	0
+[visualization depends on=value Dx ,
visualization depends on=value Dy ,
every node near coord/.append style=opacity=0,
show sum on top,
gcolor7!60, pattern = crosshatch, pattern color = dcolor7]
table [x = x, y = D]

x 	D   	Dx 	Dy
K4 	0.8650  0.0	-2
K8 	0.8550  0.0	-2
K16 0.8750 	0.0	-2

[bar shift = 5.5pt, hide axis]
+[visualization depends on=value Cx ,
visualization depends on=value Cy ,
gcolor7!80, fill = dcolor8]
table [x = x, y = C]

x 	C      	Cx  Cy
K4 	2.5876  0  	0
K8 	3.6754  0  	0
K16 5.6329 	0  	0
+[visualization depends on=value Dx ,
visualization depends on=value Dy ,
every node near coord/.append style=opacity=0,
show sum on top,
gcolor7!60, pattern = crosshatch, pattern color = dcolor8]
table [x = x, y = D]

x 	D   	Dx		Dy
K4 	0.5950  5.5		-2
K8 	0.6000  5.5		-2
K16 0.6450 	5.5		-2

[bar shift = 11.0pt, hide axis]
+[visualization depends on=value Cx ,
visualization depends on=value Cy ,
every node near coord/.append style=color=white,
gcolor7!80, fill = dcolor9]
table [x = x, y = C]

x 	C   	Cx  Cy
K4 	2.5311  0   0
K8 	3.8623  0   0
K16 6.2670 	0   0
+[visualization depends on=value Dx ,
visualization depends on=value Dy ,
every node near coord/.append style=opacity=0,
show sum on top,
gcolor7!60, pattern = crosshatch, pattern color = dcolor9]
table [x = x, y = D]

x 	D   	Dx  	Dy
K4 	0.5000  11.0	-2
K8 	0.4950  11.0	-2
K16 0.5050 	11.0	-2

[bar shift = 16.5pt, hide axis]
+[visualization depends on=value Cx ,
visualization depends on=value Cy ,
every node near coord/.append style=color=white,
gcolor7!80, fill = dcolor10]
table [x = x, y = C]

x 	C   	Cx  Cy
K4 	2.9734  0   0
K8 	4.6320  0   0
K16 7.7664 	0   0
+[visualization depends on=value Dx ,
visualization depends on=value Dy ,
every node near coord/.append style=opacity=0,
show sum on top,
gcolor7!60, pattern = crosshatch, pattern color = dcolor10]
table [x = x, y = D]

x 	D   	Dx  	Dy
K4 	0.4250  16.5	-2
K8 	0.4450  16.5	-2
K16 0.4500 	16.5	-2

[bar shift = 22.0pt]
+[visualization depends on=value Cx ,
visualization depends on=value Cy ,
every node near coord/.append style=color=white,
gcolor7!80, fill = dcolor11]
table [x = x, y = C]

x 	C   	Cx  Cy
K4 	2.5311  0   0
K8 	3.4087  0   0
K16 3.9737 	0   0
+[visualization depends on=value Dx ,
visualization depends on=value Dy ,
every node near coord/.append style=opacity=0,
show sum on top,
gcolor7!60, pattern = crosshatch, pattern color = dcolor11]
table [x = x, y = D]

x 	D   	Dx  	Dy
K4 	0.5000  22.0	-2
K8 	0.8667  22.0	-2
K16 1.4962 	22.0	-2

Hybrid precoder

every axis/.style=
ybar stacked,
ymin = 0,
ymax = 14.0,
width = 7.0cm,
height = 3.85cm,
bar width = 4.5pt,
tick align = inside,
ytick style = draw = none,
xtick style = draw = none,
x label style=align=center, font=,,
nodes near coords,
nodes near coords align = vertical,
every node near coord/.append style=xshift=,yshift=-9pt, color = black, rotate = 90, anchor = west, font = 22,
symbolic x coords = K4, K8, K16,
xticklabels = $ K_T = 16 $, $ K_T = 32 $, $ K_T = 64 $,
x tick label style = text width = 1.7cm, align = center, font = 78,
y tick label style = text width = 0.3cm, align = right, font = 78,
xtick = data,
enlarge y limits = value = 0.3, upper,
enlarge x limits = 0.24,
legend columns = -1,
legend pos = north east,
legend style=at=(0.00,1.08),anchor=south west, font=54, text height=0.02cm, text depth = .ex, fill = none, /tikz/every even column/.append style=column sep=0.0525cm,
show sum on top/.style=
/pgfplots/scatter/@post marker code/.append code=
at=(normalized axis cs:
/data point/x,
/data point/y)
xshift=, yshift=, anchor=west, color = black, rotate = 90, font = 22,
/data point/y;

[bar shift = -22.0pt, hide axis]
+[visualization depends on=value Cx ,
visualization depends on=value Cy ,
every node near coord/.append style=color=white,
gcolor7!80, fill = dcolor1]
table [x = x, y = C]

x 	C      	Cx   Cy
K4 	4.2027	0    0
K8 	5.1846	0    0
K16 6.4728 	0    0
+[visualization depends on=value Dx ,
visualization depends on=value Dy ,
every node near coord/.append style=opacity=0,
show sum on top,
gcolor7!60, pattern = crosshatch, pattern color = dcolor1]
table [x = x, y = D]

x 	D    Dx  	Dy
K4 	1.5	 -22	-2
K8 	1.5  -22	-2
K16 1.5  -22	-2

[bar shift = -16.5pt, hide axis]
+[visualization depends on=value Cx ,
visualization depends on=value Cy ,
gcolor7!80, fill = dcolor2]
table [x = x, y = C]

x 	C   	Cx  Cy
K4 	4.7238 	0   0
K8 	7.4616  0   0
K16 12.4183 0   0
+[visualization depends on=value Dx ,
visualization depends on=value Dy ,
every node near coord/.append style=opacity=0,
show sum on top,
gcolor7!60, pattern = crosshatch, pattern color = dcolor2]
table [x = x, y = D]

x 	D   	Dx		Dy
K4 	0.745  	-16.5	-2
K8 	0.705  	-16.5	-2
K16 0.690 	-16.5	-2

[bar shift = -11.0pt, hide axis]
+[visualization depends on=value Cx ,
visualization depends on=value Cy ,
gcolor7!80, fill = dcolor3]
table [x = x, y = C]

x 	C   	Cx  Cy
K4 	3.4959 	0  	0
K8 	4.8673 	0  	0
K16 6.2551 	0  	0
+[visualization depends on=value Dx ,
visualization depends on=value Dy ,
every node near coord/.append style=opacity=0,
show sum on top,
gcolor7!60, pattern = crosshatch, pattern color = dcolor3]
table [x = x, y = D]

x 	D   	Dx		Dy
K4 	0.6038  -11.0	-2
K8 	0.8634  -11.0	-2
K16 1.1952 	-11.0	-2

[bar shift = -5.5pt, hide axis]
+[visualization depends on=value Cx ,
visualization depends on=value Cy ,
gcolor7!80, fill = dcolor5]
table [x = x, y = C]

x 	C   	Cx  Cy
K4 	4.1664  0  0
K8 	5.2866  0  0
K16 6.6371 	0  0
+[visualization depends on=value Dx ,
visualization depends on=value Dy ,
every node near coord/.append style=opacity=0,
show sum on top,
gcolor7!60, pattern = crosshatch, pattern color = dcolor5]
table [x = x, y = D]

x 	D   	Dx  	Dy
K4 	1.3800  -5.5	-2
K8 	1.3750  -5.5	-2
K16 1.3850 	-5.5	-2

[bar shift = 0.0pt, hide axis]
+[visualization depends on=value Cx ,
visualization depends on=value Cy ,
gcolor7!80, fill = dcolor7]
table [x = x, y = C]

x 	C      	Cx  Cy
K4 	3.9119  0   0
K8 	5.4890  0   0
K16 8.0463 	0   0
+[visualization depends on=value Dx ,
visualization depends on=value Dy ,
every node near coord/.append style=opacity=0,
show sum on top,
gcolor7!60, pattern = crosshatch, pattern color = dcolor7]
table [x = x, y = D]

x 	D   	Dx 	Dy
K4 	0.8650  0.0	-2
K8 	0.8550  0.0	-2
K16 0.8750 	0.0	-2

[bar shift = 5.5pt, hide axis]
+[visualization depends on=value Cx ,
visualization depends on=value Cy ,
gcolor7!80, fill = dcolor8]
table [x = x, y = C]

x 	C      	Cx  Cy
K4 	3.9540  0   0
K8 	5.8668  0   0
K16 9.2767 	0   0
+[visualization depends on=value Dx ,
visualization depends on=value Dy ,
every node near coord/.append style=opacity=0,
show sum on top,
gcolor7!60, pattern = crosshatch, pattern color = dcolor8]
table [x = x, y = D]

x 	D   	Dx  Dy
K4 	0.5950  5.5	-2
K8 	0.6000  5.5	-2
K16 0.6450 	5.5	-2

[bar shift = 11.0pt, hide axis]
+[visualization depends on=value Cx ,
visualization depends on=value Cy ,
every node near coord/.append style=color=white,
gcolor7!80, fill = dcolor9]
table [x = x, y = C]

x 	C      	 Cx  Cy
K4 	3.9870   0   0
K8 	6.0888   0   0
K16 10.2409  0   0
+[visualization depends on=value Dx ,
visualization depends on=value Dy ,
every node near coord/.append style=opacity=0,
show sum on top,
gcolor7!60, pattern = crosshatch, pattern color = dcolor9]
table [x = x, y = D]

x 	D   	Dx  Dy
K4 	0.5000  11.0	-2
K8 	0.4950  11.0	-2
K16 0.5050 	11.0	-2

[bar shift = 16.5pt, hide axis]
+[visualization depends on=value Cx ,
visualization depends on=value Cy ,
every node near coord/.append style=color=white,
gcolor7!80, fill = dcolor10]
table [x = x, y = C]

x C      	 Cx  Cy
K4 	4.4096   0   0
K8 	6.8653   0   0
K16 12.0911  0   0
+[visualization depends on=value Dx ,
visualization depends on=value Dy ,
every node near coord/.append style=opacity=0,
show sum on top,
gcolor7!60, pattern = crosshatch, pattern color = dcolor10]
table [x = x, y = D]

x 	D   	Dx  	Dy
K4 	0.4250  16.5	-2
K8 	0.4450  16.5	-2
K16 0.4500 	16.5	-2

[bar shift = 22.0pt]
+[visualization depends on=value Cx ,
visualization depends on=value Cy ,
every node near coord/.append style=color=white,
gcolor7!80, fill = dcolor11]
table [x = x, y = C]

x 	C 		Cx  Cy
K4 	3.9119 	0   0
K8 	5.1810  0   0
K16 6.4653 	0   0
+[visualization depends on=value Dx ,
visualization depends on=value Dy ,
every node near coord/.append style=opacity=0,
show sum on top,
gcolor7!60, pattern = crosshatch, pattern color = dcolor11]
table [x = x, y = D]

x 	D   	Dx  Dy
K4 	0.5751	22.0	-2
K8 	1.1630  22.0	-2
K16 1.4950  22.0	-2

Fully-analog precoder

Latency performance of different scheduling schemes with fully-digital, hybrid, and fully-analog precoders.

§ DISCUSSION AND FUTURE WORK

Optimization Parameters:
Finding $ \lambda_{\mathrm{opt}} $ is challenging as it depends on the channel between the transmitter and receivers, as well as on the total interference. In order to circumvent this problem, a system could be trained using deep-learning to map the inputs to a suitable value of $ \lambda $. Other possible options are data clustering and multivariate regression.

Hybrid Precoder Design:
Compared to most approaches on hybrid precoding (multi-user or multicast) in the literature, in this paper, the hybrid precoder is not obtained as an approximation of the optimal digital implementation. We design the precoder without any knowledge of the digital implementation. We presume that the performance of the hybrid precoder can be further boosted if a better initialization scheme is explored.

Hybrid Precoder Complexity:
The worst-case complexity of the hybrid precoder design, when using standard interior-point methods is $ N_{\mathrm{bis}_1} \mathcal{O} \left( G^3 N^6_\mathrm{tx} + K G N^2_\mathrm{tx} \right) + $ $ N_{\mathrm{bis}_2} \mathcal{O} \left( \left( G N^{\mathrm{RF}}_\mathrm{tx} \right)^6 + K \left( G N^{\mathrm{RF}}_\mathrm{tx} \right)^2 \right) + $ $ K N_{\mathrm{bis}_3} \mathcal{O} \left( N^6_\mathrm{rx} + N^2_\mathrm{rx} \right) $.

Optimal Scheduler:
Finding the optimal scheduler is intrinsically of combinatorial nature. Alternative relaxations of $ 0-1 $ parameters in Proposition 3 based on , , and  functions could be further explored.

§ CONCLUSION

We investigated the joint optimization of scheduling and multi-group multicast hybrid precoders to achieve ubiquitous low-latency mmWave communications in Industry 4.0 settings. We proposed a scheme based on alternate optimization, semidefinite relaxation and Cholesky matrix factorization to design the hybrid precoder. Also, we presented a novel scheduling formulation that takes into account the number of RF chains at the transmitter while minimizes the number of scheduling windows and channel correlation among the co-scheduled receivers. We corroborated through simulations that in terms of SINR the hybrid precoder can attain outstanding performance with a few number of RF chains. In terms of latency performance, the proposed  is capable of performing within $ 9.5 \% $ of the optimal  while exhibiting noticeable advantage over  and .

§ ACKNOWLEDGMENT

The research is funded by the Deutsche Forschungsgemeinschaft (DFG) within the B5G-Cell project in SFB 1053 MAKI.

§ DERIVATION OF PROPOSITION 1

Let $ C^{\star}_k = C_{k \mid \mathcal{V}_{t'}, \mathbf{F}_{t'}, \mathbf{M}_{t'}, \mathbf{w}_k} $, $ \mathrm{SINR}^{\star}_k = \mathrm{SINR}_{k \mid \mathcal{V}_{t'}, \mathbf{F}_{t'}, \mathbf{M}_{t'}, \mathbf{w}_k} $ and $ \xi^{\star}_{t'} = \xi_{ t' \mid \mathcal{U}_{t'}, \mathbf{F}_{t'}, \mathbf{M}_{t'}, \left\lbrace \mathbf{w}_k \right\rbrace_{k \in \mathcal{U}_{t'}} } $. From (<ref>), the transmission latency $ \xi^{\star}_{t'} $ with known $ \mathcal{U}_{t'}, \mathbf{F}_{t'}, \mathbf{M}_{t'}, \left\lbrace \mathbf{w}_k \right\rbrace_{k \in \mathcal{U}_{t'}} $ is defined as

\begin{align}
% Equation A1.a
\xi^{\star}_{t'} = &
\max_{k \in \mathcal{U}_{t'}}
\left\lbrace
\frac{B_k}{ \min \left\lbrace C^{\star}_k, C_\mathrm{max} \right\rbrace }
\right\rbrace \label{eA1a}
\\
% Equation A1.b
= &
\max_{k \in \mathcal{U}_{t'}}
\left\lbrace
\max
\left\lbrace
\frac{B_k}{C^{\star}_k}, \frac{B_k}{C_{\mathrm{max}}}
\right\rbrace
\right\rbrace \label{eA1b}
\\
% Equation A1.c
= &
\frac{1}
\displaystyle \min_{k \in \mathcal{U}_{t'}}
\left\lbrace
\min
\left\lbrace
\frac{C^{\star}_k}{B_k}, \frac{C_{\mathrm{max}}} {B_k}
\right\rbrace
\right\rbrace
} \label{eA1c}
\\
% Equation A1.d
= &
\frac{1}
\displaystyle \min_{k \in \mathcal{U}_{t'}}
\left\lbrace
\frac{\log_2 (1 + \beta \cdot \mathrm{SINR}^{\star}_k)}{B_k}, \frac{C_{\mathrm{max}}} {B_k}
\right\rbrace
} \label{eA1d}
\\
% Equation A1.e
= &
\frac{1}
\log_2
\left(
\displaystyle \min_{k \in \mathcal{U}_{t'}}
\left\lbrace
(1 + \beta \cdot \mathrm{SINR}^{\star}_k)^\frac{1}{B_k}, 2^{\frac{C_{\mathrm{max}}}{B_k}}
\right\rbrace
\right)
}. \label{eA1e}
\end{align}

Because (<ref>) involves extremizations of the same type, they can be combined. When $ | \mathcal{V}_t | > 1 $, in general $ 1 + \beta \cdot \mathrm{SINR}^{\star}_k \leq 2^{C_{\mathrm{max}}} $, due to interference and restricted transmit/receive power. Further, since $ \log_2(\cdot) $ is monotonically increasing, then,

\begin{align} \label{eA2}
\scriptsize
\xi^{\star}_{t'} \approxprop^{-1}
\displaystyle \min_{k \in \mathcal{U}_{t'}}
\left\lbrace
(1 + \beta \cdot \mathrm{SINR}^{\star}_k)^\frac{1}{B_k}
\right\rbrace .
\end{align}

§ DERIVATION OF PROPOSITION 2

Let $ \xi^{\star}_{t'} = \xi_{t' \mid \mathcal{U}_{t'}} $ and $ \mathrm{SINR}^{\star}_k = \mathrm{SINR}_{k \mid \mathcal{U}_{t'}} $ represent the latency during window $ t' $ and the SINR of receiver $ k \in \mathcal{U}_{t'} $, respectively when solely $ \mathcal{U}_t $ is known. Thus, $ \mathbf{F}_{t'}, \mathbf{M}_{t'}, \left\lbrace \mathbf{w}_k \right\rbrace_{k \in \mathcal{U}_{t'}} $ are be designed in order to minimize (<ref>), i.e.,

\begin{align} \label{eB1}
& \min_{\substack{
\mathbf{F}_{t'} \in \Omega_F,
\mathbf{M}_{t'} \in \Omega_M \\
\left\lbrace \mathbf{w}_k \right\rbrace_{k \in \mathcal{U}_{t'}} \in \Omega_W
\frac{1}
\displaystyle \min_{k \in \mathcal{U}_{t'}}
\left\lbrace
\min
\left\lbrace
\frac{C^{\star}_k}{B_k}, \frac{C_{\mathrm{max}}} {B_k}
\right\rbrace
\right\rbrace,
\end{align}

which is equivalent to

\begin{align}
% Equation B2.a
\overset{\mathrm{(B.1)}}{=}
& \max_{\substack{
\mathbf{F}_{t'} \in \Omega_F,
\mathbf{M}_{t'} \in \Omega_M \\
\left\lbrace \mathbf{w}_k \right\rbrace_{k \in \mathcal{U}_{t'}} \in \Omega_W
\min_{k \in \mathcal{U}_{t'}}
\left\lbrace
\min
\left\lbrace
\frac{C^{\star}_k}{B_k}, \frac{C_{\mathrm{max}}} {B_k}
\right\rbrace
\right\rbrace \label{eB2a}
\\
% Equation B2.b
\overset{\mathrm{(B.1)}}{=}
& \max_{\substack{
\mathbf{F}_{t'} \in \Omega_F,
\mathbf{M}_{t'} \in \Omega_M \\
\left\lbrace \mathbf{w}_k \right\rbrace_{k \in \mathcal{U}_{t'}} \in \Omega_W
\min_{k \in \mathcal{U}_{t'}}
\left\lbrace
\frac{C^{\star}_k}{B_k}
\right\rbrace \label{eB2b}
\\
% Equation B2.c
\overset{\mathrm{(B.1)}}{=}
& \max_{\substack{
\mathbf{F}_{t'} \in \Omega_F,
\mathbf{M}_{t'} \in \Omega_M \\
\left\lbrace \mathbf{w}_k \right\rbrace_{k \in \mathcal{U}_{t'}} \in \Omega_W
\min_{k \in \mathcal{U}_{t'}}
\left\lbrace
\frac{\log_2 \left( 1 + \beta \cdot \mathrm{SINR}^{\star}_k \right) }{B_k}
\right\rbrace \label{eB2c}
\\
% Equation B2.d
\overset{\mathrm{(B.1)}}{=}
& \max_{\substack{
\mathbf{F}_{t'} \in \Omega_F,
\mathbf{M}_{t'} \in \Omega_M \\
\left\lbrace \mathbf{w}_k \right\rbrace_{k \in \mathcal{U}_{t'}} \in \Omega_W
\min_{k \in \mathcal{U}_{t'}}
\left\lbrace
\frac{\mathrm{SINR}^{\star}_k}{B_k}
\right\rbrace \label{eB2d}
\\
% Equation B2.e
\overset{\mathrm{(B.1)}}{=}
& \max_{\substack{
\mathbf{F}_{t'} \in \Omega_F,
\mathbf{M}_{t'} \in \Omega_M \\
\left\lbrace \mathbf{w}_k \right\rbrace_{k \in \mathcal{U}_{t'}} \in \Omega_W
\min_{i \in \mathcal{V}_{t'}} \min_{k \in \mathcal{G}_i} \left\lbrace \frac{\mathrm{SINR}^{\star}_k}{B_k} \right\rbrace, \label{eB2e}
\end{align}

where (<ref>) collapses to (<ref>) because $ C_\mathrm{max} $ does not depend on $ \mathbf{F}_{t'}, \mathbf{M}_{t'}, \left\lbrace \mathbf{w}_k \right\rbrace_{k \in \mathcal{U}_{t'}} $. In (<ref>), since $ \log_2 \left( 1 + \beta \cdot \mathrm{SINR}^{\star}_k \right) $ is an injective mapping of $ \mathrm{SINR}^{\star}_k $, it is equivalent to (<ref>). Further, (<ref>) is an alternative notation for (<ref>).

[1]
B. Martinez, C. Cano, and X. Vilajosana, “A Square Peg in a Round Hole: The
Complex Path for Wireless in the Manufacturing Industry,” IEEE
Communications Magazine, vol. 57, no. 4, pp. 109–115, Apr. 2019.

[2]
A. Loch, C. Cano, G. H. Sim, A. Asadi, and X. Vilajosana, “A Channel
Measurement Campaign for mmWave Communication in Industrial Settings.”
[Online]. Available: <https://arxiv.org/abs/1903.10502>

[3]
X. Song, T. Kühne, and G. Caire, “Fully-Connected vs. Sub-Connected Hybrid
Precoding Architectures for mmWave MU-MIMO,” CoRR, Nov. 2019.
[Online]. Available: <https://arxiv.org/pdf/1904.10276.pdf>

[4]
D. Zhang, Y. Wang, X. Li, and W. Xiang, “Hybridly Connected Structure for
Hybrid Beamforming in mmWave Massive MIMO Systems,” IEEE Transactions
on Communications, vol. 66, no. 2, pp. 662–674, Feb. 2018.

[5]
A. Alkhateeb, O. E. Ayach, G. Leus, and R. W. Heath, “Channel Estimation and
Hybrid Precoding for Millimeter Wave Cellular Systems,” IEEE Journal
of Selected Topics in Signal Processing, vol. 8, no. 5, pp. 831–846, Oct.

[6]
Z. Marzi, D. Ramasamy, and U. Madhow, “Compressive Channel Estimation and
Tracking for Large Arrays in mm-Wave Picocells,” IEEE Journal of
Selected Topics in Signal Processing, vol. 10, no. 3, pp. 514–527, Apr.

[7]
H. Zhang, Y. Jiang, K. Sundaresan, S. Rangarajan, and B. Zhao, “Wireless
Multicast Scheduling With Switched Beamforming Antennas,” IEEE/ACM
Transactions on Networking, vol. 20, no. 5, pp. 1595–1607, Oct. 2012.

[8]
K. Sundaresan, K. Ramachandran, and S. Rangarajan, “Optimal Beam Scheduling
for Multicasting in Wireless Networks,” in ACM Mobicom, 2009, pp.

[9]
G. H. Sim and J. Widmer, “Finite Horizon Opportunistic Multicast
Beamforming,” IEEE Transactions on Wireless Communications, vol. 16,
no. 3, pp. 1452–1465, Mar. 2017.

[10]
N. D. Sidiropoulos, T. N. Davidson, and Z. Luo, “Transmit Beamforming for
Physical-Layer Multicasting,” IEEE Transactions on Signal
Processing, vol. 54, no. 6, pp. 2239–2251, Jun. 2006.

[11]
L. Tran, M. F. Hanif, and M. Juntti, “A Conic Quadratic Programming Approach
to Physical Layer Multicasting for Large-Scale Antenna Arrays,” IEEE
Signal Processing Letters, vol. 21, no. 1, pp. 114–117, Jan. 2014.

[12]
J. Choi, “Iterative Methods for Physical-Layer Multicast Beamforming,”
IEEE Transactions on Wireless Communications, vol. 14, no. 9, pp.
5185–5196, Sept. 2015.

[13]
M. Bengtsson and B. Ottersten, “Optimal and Suboptimal Transmit
Beamforming,” in Handbook of Antennas in Wireless Communications,
L. C. Godara, Ed., CRC Press, Aug. 2001, ch. 18.

[14]
B. Gopalakrishnan and N. D. Sidiropoulos, “High Performance Adaptive
Algorithms for Single-Group Multicast Beamforming,” IEEE Transactions
on Signal Processing, vol. 63, no. 16, pp. 4373–4384, Aug 2015.

[15]
M. Dai and B. Clerckx, “Hybrid Precoding for Physical Layer Multicasting,”
IEEE Communications Letters, vol. 20, no. 2, Feb. 2016.

[16]
L. F. Abanto-Leon and G. H. Sim, “Learning-based Max-Min Fair Hybrid
Precoding for mmWave Multicasting,” in IEEE ICC, Jun. 2020.

[17]
E. Aryafar, M. A. Khojastepour, K. Sundaresan, S. Rangarajan, and E. Knightly,
“ADAM: An Adaptive Beamforming System for Multicasting in Wireless LANs,”
IEEE/ACM Transactions on Networking, vol. 21, no. 5, pp. 1595–1608,
Oct. 2013.

[18]
L. Zhou, Z. Xu, W. Jiang, and W. Luo, “Joint Multicast Beamforming and User
Scheduling in Large-scale Antenna Systems,” IET Communications,
vol. 12, no. 11, pp. 1307–1314, Jul. 2018.

[19]
E. Karipidis, N. D. Sidiropoulos, and Z. Q. Luo, “Transmit Beamforming of
Multiple Co-Channel Multicast Group,” in IEEE CAMSAP, Dec. 2005, pp.

[20]
N. Bornhorst and M. Pesavento, “An Iterative Convex Approximation Approach
for Transmit Beamforming in Multi-Group Multicasting,” in IEEE
SPAWC, Jun. 2011, pp. 426–430.

[21]
O. T. Demir and T. E. Tuncer, “Multi-group Multicast Beamforming for
Simultaneous Wireless Information and Power Transfer,” in EUPSICO,
Aug. 2015, pp. 1356–1360.

[22]
E. Karipidis, N. D. Sidiropoulos, and Z. Luo, “Quality of Service and Max-Min
Fair Transmit Beamforming to Multiple Cochannel Multicast Groups,”
IEEE Transactions on Signal Processing, vol. 56, no. 3, pp.
1268–1279, Mar. 2008.

[23]
Y. Gao and M. Schubert, “Group-oriented Beamforming for Multi-stream
Multicasting based on Quality-of-service Requirements,” in IEEE
CAMSAP, Dec. 2005, pp. 193–196.

[24]
A. Schad and M. Pesavento, “Max-min Fair Transmit Beamforming for Multi-Group
Multicasting,” in WSA, Mar. 2012, pp. 115–118.

[25]
D. Christopoulos, S. Chatzinotas, and B. Ottersten, “Weighted Fair Multicast
Multigroup Beamforming Under Per-antenna Power Constraints,” IEEE
Transactions on Signal Processing, vol. 62, no. 19, pp. 5132–5142, Oct.

[26]
M. Sadeghi, E. Björnson, E. G. Larsson, C. Yuen, and T. L. Marzetta,
“Max-Min Fair Transmit Precoding for Multi-Group Multicasting in Massive
MIMO,” IEEE Transactions on Wireless Communications, vol. 17, no. 2,
pp. 1358–1373, Feb. 2018.

[27]
J. Huang, Z. Cheng, E. Chen, and M. Tao, “Low-Complexity Hybrid
Analog/Digital Beamforming for Multicast Transmission in mmWave Systems,”
in IEEE ICC, May. 2017, pp. 1–6.

[28]
O. T. Demir and T. E. Tuncer, “Antenna Selection and Hybrid Beamforming for
Simultaneous Wireless Information and Power Transfer in Multi-Group
Multicasting Systems,” IEEE Transactions on Wireless Communications,
vol. 15, no. 10, pp. 6948–6962, Oct. 2016.

[29]
M. Sadeghi, L. Sanguinetti, and C. Yuen, “Hybrid Precoding for Multi-Group
Physical Layer Multicasting,” in EW, May. 2018, pp. 1–6.

[30]
L. F. Abanto-Leon, M. Hollick, and G. H. Sim, “Hybrid Precoding for
Multi-Group Multicasting in mmWave Systems,” in IEEE GLOBECOM, Dec.

[31]
D. Christopoulos, S. Chatzinotas, and B. Ottersten, “Multicast Multigroup
Precoding and User Scheduling for Frame-Based Satellite Communications,”
IEEE Transactions on Wireless Communications, vol. 14, no. 9, pp.
4695–4707, Sept. 2015.

[32]
M. R. Akdeniz, Y. Liu, M. K. Samimi, S. Sun, S. Rangan, T. S. Rappaport, and
E. Erkip, “Millimeter Wave Channel Modeling and Cellular Capacity
Evaluation,” IEEE Journal on Selected Areas in Communications,
vol. 32, no. 6, pp. 1164–1179, Jun. 2014.

[33]
I. Csiszár and G. Tusnády, “Information Geometry and Alternating
Minimization Procedures,” Statistics & Decisions: Supplement
Issues, vol. 1, pp. 205–237, 1984.

[34]
A. Wiesel, Y. C. Eldar, and S. Shamai, “Linear Precoding via Conic
Optimization for Fixed MIMO Receivers,” IEEE Transactions on Signal
Processing, vol. 54, no. 1, pp. 161–176, Jan. 2006.

[35]
Z. P. Yang and X. X. Feng, “A Note on the Trace Inequality for Products of
Hermitian Matrix Power,” Journal of Inequalities in Pure and Applied
Mathematics, vol. 3, no. 5, Jul. 2002.

[36]
W. K. Ma, P. C. Ching, and Z. Ding, “Semidefinite Relaxation Based Multiuser
Detection for M-Ary PSK Multiuser Systems,” IEEE Transactions on
Signal Processing, vol. 52, no. 10, pp. 2862–2872, Oct. 2004.

[37]
Z. Luo, N. D. Sidiropoulos, P. Tseng, and S. Zhang, “Approximation Bounds for
Quadratic Optimization with Homogeneous Quadratic Constraints,” SIAM
Journal on Optimization, vol. 18, no. 1, pp. 1–28, Feb. 2007.

[38]
S. Zhang and Y. Huang, “Complex Quadratic Optimization and Semidefinite
Programming,” SIAM Journal on Optimization, vol. 16, no. 3, pp.
871–890, Jan. 2006.

[39]
A. A. M. Saleh and R. Valenzuela, “A Statistical Model for Indoor Multipath
Propagation,” IEEE Journal on Selected Areas in Communications,
vol. 5, no. 2, pp. 128–137, Feb. 1987.

[40]
R. W. Heath, N. González-Prelcic, S. Rangan, W. Roh, and A. M. Sayeed, “An
Overview of Signal Processing Techniques for Millimeter Wave MIMO Systems,”
IEEE Journal of Selected Topics in Signal Processing, vol. 10, no. 3,
pp. 436–453, Apr. 2016.

[41]
X. Gao, L. Dai, S. Han, C. I, and R. W. Heath, “Energy-Efficient Hybrid
Analog and Digital Precoding for MmWave MIMO Systems With Large Antenna
Arrays,” IEEE Journal on Selected Areas in Communications, vol. 34,
no. 4, pp. 998–1009, Apr. 2016.

[42]
R. Méndez-Rial, C. Rusu, N. González-Prelcic, A. Alkhateeb, and R. W. Heath,
“Hybrid MIMO Architectures for mmWave Communications: Phase Shifters or
Switches?” IEEE Access, vol. 4, pp. 247–267, 2016.