A novel coding design is proposed to enhance information retrieval in a wireless network of users with partial access to the data, in the sense of observation, measurement, computation, or storage. Information exchange in the network is assisted by a multi-antenna base station (BS), with no direct access to the data. Accordingly, the missing parts of data are exchanged among users through an uplink (UL) step followed by a downlink (DL) step. In this paper, new coding strategies, inspired by coded caching (CC) techniques, are devised to enhance both UL and DL steps. In the UL step, users transmit encoded and properly combined parts of their accessible data to the BS. Then, during the DL step, the BS carries out the required processing on its received signals and forwards a proper combination of the resulting signal terms back to the users, enabling each user to retrieve the desired information. Using the devised coded data retrieval strategy, the data exchange in both UL and DL steps requires the same communication delay, measured by normalized delivery time (NDT). Furthermore, the NDT of the UL/DL step is shown to coincide with the optimal NDT of the original DL multi-input single-output CC scheme, in which the BS is connected to a centralized data library.

coded caching; multi-user information retrieval; coded distributed computing; multi-antenna communications

§ INTRODUCTION

Multi-user information retrieval (MIR) is a generic field of research exploring mechanisms to enable each user in the network to recover specific pieces of information that are either aggregated at a central master node or distributed across the network [1].
An example use case is a distributed coded computing platform where the computation tasks are split among multiple servers, and the outputs are gathered and distributed by a master node (acting as the BS) such that each server has the result of a specific task [2]. Another example is a sensor network where the data is gathered by a BS from sensing nodes and then distributed to multiple actuators, each needing a specific type of data for their action [3]. Clearly, with the involvement of a BS, MIR consists of two consecutive steps: 1) an uplink (UL) step where the data is gathered by the BS, and 2) a downlink (DL) step where the gathered data is distributed to requesting nodes according to their needs. The goal of this paper is to introduce novel coding mechanisms to reduce the time needed to fulfill both UL and DL steps.

The coding solutions devised in this paper draw inspiration from the coded caching (CC) technique, originally proposed to reduce the load at peak traffic times by employing the caches distributed in the network as a supplementary communication resource [4]. In a single-stream downlink network with $K$ users, each with sufficient memory to store a fraction $\gamma$ of the entire file library, CC boosts the achievable rate by the multiplicative factor of $K\gamma + 1$, which scales with the cumulative cache size in the entire network. This new gain is accomplished by multicasting carefully designed codewords to different subsets of users with size $K\gamma + 1$, and can also be aggregated with the spatial multiplexing gain to enable the speed-up factor of $K\gamma+L$ in a multi-input multi-output (MISO) setup with $L$ antennas at the transmitter [5, 6]. Due to these exciting properties, CC has been extensively studied in the literature, to address its challenges, such as exponentially growing subpacketization [7, 8], complex beamformer design [9, 10], privacy [11], and applicability to dynamic setups [12], and to investigate its benefits in use cases such as large-scale video-on-demand (VoD)  [13] and extended reality (XR) [14, 15]. Variations of the original CC models have also been studied, e.g., for data shuffling [16, 17, 18] and linear function retrieval [19, 20].

In the context of coded MIR, existing works in the literature have primarily considered the application of CC in distributed computing systems, which offer various advantages, such as enhanced scalability, reliability, and cost-effectiveness, over centralized computing solutions [21]. In such systems, the setup mainly consists of a network of $K$ computing nodes,
a library of files $\{d^n\}_n$, and a set of functions $\{\phi^n(\cdot)\}_n$. Each file $d^n$ is split into non-overlapping portions $d^n_{\CP}$, where $\CP$ can be any subset of computing nodes with a predefined size. Each computing node $k$ calculates the output of all the functions over all the file parts $\{d^n_{\CP}\}_n$ for which $k \in \CP$. Subsequently, the nodes exchange their calculated outputs, ensuring that each node $k$ could ultimately reconstruct the output of its desired function $\phi^k(d^k)$ over its specified file $d^k$. Coding mechanisms resembling those of CC have been introduced to alleviate the communication load during the data exchange, where the excess computed elements at each node are used to remove undesired terms from the received signals, similar to cache-aided interference removal. The result is a balance between the excess computation power and the required communication load among servers [22, 23, 24, 25].

In this paper,
we propose new coding schemes, inspired by CC, for

wireless MIR scenarios where the information exchange among users is assisted by a multi-antenna BS as the helper node (similar to a two-way relay setup [26]).
With the proposed solution,
the aim is to generate the multicast signals in the DL step based on the signals received during the UL step, such that the DL step performs similarly to the downlink communication of the original MISO-CC scheme [5, 6].

For this purpose, a novel transmission design is required for the UL step, benefiting from the over-the-air addition of the signals transmitted by network users and the modest computation capability at the BS to create the codewords needed in the DL step over a small number of transmission slots. We show that the time required in the UL step can, in fact, be made equal to the time required in DL, which has already been shown to be information-theoretically optimal under simple conditions in downlink MISO-CC communications [27].

As multi-antenna connectivity is an integral part of all modern communication systems, including 5G and beyond cellular networks [28], the coding solutions devised in this paper for MIR are applicable to diverse scenarios,
such as industrial IoT (exchanging measurements or observations) [29], distributed coded computing (exchanging computation results) [22], or distributed cache networks (exchanging cached contents) [4].

Notation: In this paper, bold lower-case and calligraphic letters show vectors and sets, respectively. Moreover, $\Bv[j]$ represents the $j$-entry of vector $\Bv$. We use $\BM^{\rm T}$ and $\BM \herm$ to demonstrate the transpose and conjugate-transpose (Hermitian) of matrix $\BM$, respectively. For integers $a$ and $b$, $\left[ a:b \right]$ shows the set $\lbrace a,\cdots,b \rbrace$ and $[a]=\lbrace 1,\cdots,a \rbrace$.  $\left\vert \CA \right\vert$ is the cardinality of $\CA$, and for $\CB \subseteq \CA$, $\CA\backslash \CB$ represents $\{x\in \CA: x\notin \CB\}$.

CC schemes can also be used to address the MIR problem in distributed computing systems. Distributed computing offers various advantages over centralized computing, such as enhanced scalability, reliability, and cost-effectiveness [21]. Moreover, in many real-world applications [1], including telecommunication networks (e.g., wireless sensor networks), time-sensitive process control (e.g., aircraft monitoring systems), and parallel computation (e.g., computer graphics), the data cannot be centrally aggregated due to the organizational or technical constraints, and the data recovery is carried out through the use of a cluster of devices working collaboratively.

For instance, the wireless MapReduce coded computing models are comprised of three phases: 1) Map Phase,  2) Shuffle phase, and 3) Reduce phase. During the Map phase, first, data is split and processed at distributed nodes, and in the shuffle phase, users transmit the results to a central server to complete the final process in the Reduce phase. This coded computing setup can be treated as a CC model in which, during the content placement phase, the system completes the Map tasks, and in the content delivery phase, it completes the Shuffle and Reduce phases in two consecutive steps.

In this paper, we present a data delivery algorithm for information retrieval in a cache-aided MISO setup, in which a base station (BS) with $L$ transmit antennas serves $K$ single-antenna users, each equipped with the cache ratio of $\gamma$. The BS does not have access to the library, and each user is able to recover its requested data after two phases: i)  content placement phase, and ii) content delivery phase. During the content placement phase, a $\gamma$ portion of the entire library is stored in the cache memory of each user. The content delivery phase commences once the set of active users reveals their required files to the base station (BS), i.e., the central server, and involves two consecutive steps: 1) Uplink (UL) step, and 2) Downlink (DL) step. In the uplink step, a set of users transmit their cached data to the BS, and in the DL step, the BS decodes/amplifies its received signals and forwards them to the users. In order to achieve the optimal memory-load tradeoff in the DL, the BS follows a similar approach as in [5, 6], and each user adopts the signal-level decoding method to retrieve its requested file [8]. To facilitate the data transmission to the BS during the UL step, we start by considering two naive transmission strategies – one utilizing only the available spatial multiplexing gain and the other leveraging solely the... global coded caching gain. However, it is observed that neither of these strategies can achieve an UL load equivalent to that of the DL. Accordingly, we devise an UL transmission strategy in which, during each transmission, $K\gamma+L$ users are selected to transmit a clever combination of their cached data to the BS, enabling BS to create all codewords of size $K\gamma+1$. It is proven that this scheme achieves the UL load equal to the optimal DL load, as it benefits from both global coded caching gain and spatial multiplexing gain.

§ PROBLEM FORMULATION

This paper aims to leverage the underlying coding mechanism of CC to improve multi-user information retrieval in application scenarios where each user has direct access only to a part of each content (i.e., data files),
but requires all parts of one or more specific contents. We emphasize that in this context, the content may be generated online (e.g., in industrial IoT applications) [29] or be cached in advance [4].

In order to exchange data, as depicted in Fig. <ref>, $K$ single-antenna users communicate with an $L$-antenna BS. Here, we consider the worst-case scenario where each user is required to recover a distinct content file. As the contents are only partially accessible by each user and the BS lacks direct access to the content library to satisfy users' demands, a relay-type two-way UL-DL model is used for data exchange. In the UL step, users transmit a portion of their accessible contents to the BS via a number of consecutive UL transmissions. Assuming the BS possesses sufficient computation capability to process and enough memory to store all received signals, it then appropriately processes and combines the received signals, and forwards them back to the users in the DL step.[In the context of distributed coded computing, the proposed model can be considered as a multi-antenna extension of the system models described in [2, 22].]

System model for a coded data retrieval network with $K$ single antenna users and a BS with $L$ antennas: A $\gamma$ portion of the entire library is either locally generated or stored beforehand in the cache memories of users.

The content library consists of $N$ files $W^n$, $n \in [N]$, each with a size of $F$ bits. Without loss of generality, we assume $N=K$.

Let us use $W^n_{\CP}$, $\CP \subseteq [K]$, to denote the part of the content file $W^n$ that can be accessed by every user in $\CP$. We impose two simplifying assumptions: 1) each part of each file is accessible by the same number of users $t$, i.e., $W^n_{\CP}$ has a size larger than zero bits if and only if $|\CP| = t$, and 2) all the file parts $W^n_{\CP}$ with a size larger than zero bits have the same size of $F/\binom{K}{t}$ bits.
With these assumptions, the system is analogous to a distributed MISO cache network where each cache is sufficiently large to store a fraction $\gamma$ of the entire library, and the CC gain is $t=K\gamma$. As a result, for the sake of simplicity, we may use the standard notation of MISO-CC systems: we use packet to denote a part of a content file and say a packet is cached by a user if the user has access to the respective file part. Respectively, the above-mentioned assumptions on the access of the users to content files

could also be described by the so-called content placement phase of a MISO-CC system, where each content file $W^{n}$, $n \in [N]$, is split into $\binom{K}{t}$ equal-sized disjoint packets $W^{n}_{\CP}$ as

\begin{equation}
%\label{eq: placement}
W^{n} = \left\lbrace W^{n}_{\CP}: \CP \subseteq \left[ K \right], \left\vert \CP \right\vert=t \right\rbrace,
\end{equation}

and for each $\CP \subseteq [K]$ with $\left\vert \CP \right\vert=t$, each user $k \in \CP$ stores $W^{n}_{\CP}$ in its cache memory. Clearly, the total number of packets stored by each user $k \in [K]$ is $K \binom{K-1}{t-1} = t \binom{K}{t} = \gamma K \binom{K}{t} $, satisfying the cache size constraint.

Without loss of generality (up to a permutation of the indices of the users), let us assume that user $k \in [K]$ requires the content file $W^{k}$. To initiate data exchange, we first further split each packet $W^{n}_{\CP}$ into $\binom{K-t-1}{L-1}$ equal-sized subpackets $W^{n}_{\CP, q}$ as

$W^n_{\CP} = \lbrace W^n_{\CP,q}: q \in [ \binom{K-t-1}{L-1} ]  \rbrace$,

where $W^n_{\CP,q}$ is comprised of $f$ uniformly i.i.d. bits with $f=\nicefrac{F}{\binom{K}{t} \binom{K-t-1}{L-1}}$.

For some $\CV \subseteq [K]$ and an arbitrary $\theta^{k}_{\CP_{k}, q_{k}} \in \mathbb{C}$, the superposition signal

\begin{equation}
\sum_{k \in \CV} \theta^{k}_{\CP_{k}, q_{k}} \Sfc \left( W^{k}_{\CP_{k}, q_{k}} \right),
\end{equation}

is defined as a codeword of size $\left\lvert \CV \right\rvert$, where $\CP_{k} \subseteq [K]$ with $\left\lvert \CP_{k} \right\rvert=t$, $q_{k} \in [\binom{K-t-1}{L-1}]$, and

$\Sfc \left( W^{k}_{\CP_{k}, q_{k}} \right) $ is the encoded signal of $ W^{k}_{\CP_{k}, q_{k}}$ with $\Sfc: \mathbb{F}_{2^{f}} \rightarrow \mathbb{C}$.

Assume that user $k \in [K]$ is connected to the BS through the channel $\Bh_{k} \in \mathbb{C}^{L\times 1}$.
In this paper, we assume that the wireless links are semi-static and channel state information (CSI) is available at the BS and the users.

The UL step comprises $N_{\rm UL}$ transmissions, where in transmission $j \in [N_{\rm UL}]$, each user in a subset $\CU (j)$ of users transmits a fraction of its cache contents to the BS. Hence, after the transmission $j$, the BS receives the signal

\begin{equation}
\label{eq: system UL def}
\begin{aligned}
\By_{\mathrm{BS}}(j) = \sum_{k \in \CU ({j})} \Bh_{k} x_{k} ({j}) + \Bn_{\rm BS},
\end{aligned}
\end{equation}

where $\Bn_{\rm BS} \sim \CC \CN \left(0, \BI_{L} \right)$, and $x_{k}({j})$ is the transmitted signal of user $k$ with power $P_{k}({j})=\mathbb{E} [ \left\vert x_{k}({j}) \right\vert^{2} ]$. Here, it is assumed that the average transmit power of user $k \in [K]$ during the UL step is equal to $P_{\rm T}$, i.e.,  $\frac{1}{N_{\rm UL}} \sum_{j=1}^{N_{\rm UL}} P_{k}({j}) =P_{\rm T} $.

The DL step involves $N_{\rm DL}$ consecutive transmissions, such that in transmission $j \in [N_{\rm DL}]$, the BS transmits a superposition signal containing the required codewords for a specific set of users represented by $\CV ({j})$.

Therefore, the received signal at user $k \in \CV ({j})$ in the $j$-th DL transmission can be written as

\begin{equation}
\label{eq: y k system def}
\begin{aligned}
y_{k}(j)=  \sum\limits_{k \in \CV ({j})} \Bh_{k}^{\rm H}  \Bs_{k}({j}) + n_{k},
\end{aligned}
\end{equation}

where $\Bs_{k} ({j}) \in \mathbb{C}^{L\times 1}$ is the precoded signal for user $k$ during transmission $j$, $n_{k} \sim \CC \CN \left(0, 1 \right)$, $P_{\rm BS}$ is the BS transmit power in each transmission, such that  $P_{\rm BS} = \sum_{k \in \CV ({j})} \mathbb{E} [ \left\Vert \Bs_{k}({j}) \right\Vert^{2} ]$.

In this paper, the aim is to design a UL-DL transmission strategy, minimizing the normalized delivery time (NDT) in the UL and DL steps at high-SNR regimes, i.e., when $P_{\rm T} \rightarrow \infty$ and $P_{\rm BS} \rightarrow \infty$. By following a similar approach presented in [24] and [25], the NDT for the UL step is defined as

\begin{equation}
\label{eq: TUL highSNR def.}
\begin{aligned}
T_{\rm UL} = \lim_{\mathrm{SNR} \rightarrow \infty} \sum\limits_{i=1}^{N_{\rm UL}} \frac{ D_{i}^{\rm UL} d}{\nicefrac{F}{ \log (\mathrm{SNR})}},
\end{aligned}
\end{equation}

where $ D_{i}^{\rm UL} = \frac{FQ}{R_{i}}$ is the transmission time to deliver data in the $i$-th UL transmission with $R_{i}$ expressing the achievable rate of the user with the worst channel condition, and $Q=\nicefrac{1}{\binom{K}{t} \binom{K-t-1}{L-1}}$. Moreover, $d$ is the per-user degree-of-freedom (DoF) at high SNR [24]. Here, we note that $\nicefrac{F}{ \log (\mathrm{SNR})}$ is the transmission time of delivering a single file of $F$ bits in a single-antenna point-to-point baseline system with Gaussian noise at the high-SNR regime. Considering the high-SNR condition, all optimal transmit and receive beamformers asymptotically behave as zero-forcing (ZF) precoders, and consequently, we have $R_{i} \approx d \log (\mathrm{SNR}) + \CO \left( \log (\mathrm{SNR}) \right) $. As a result, the NDT expression in (<ref>) is simplified to

\begin{equation}
\label{eq: T UL def.}
\begin{aligned}
T_{\rm UL} & = \lim_{\mathrm{SNR} \rightarrow \infty}  \frac{ N_{\rm UL} FQ d \log (\mathrm{SNR}) }{ \left( d \log (\mathrm{SNR}) + \CO \left( \log (\mathrm{SNR}) \right) \right)  F}  =  N_{\rm UL} Q.
\end{aligned}
\end{equation}

Following the same process for the DL step,

the NDT is expressed as

\begin{equation}
\label{eq: T DL def.}
\begin{aligned}
% T_{\rm DL} = \lim\limits_{\text{SNR} \rightarrow \infty} \sum\limits_{\CV \subseteq [K]} \frac{ Q  \log \mathrm{SNR}  }{  \max\limits_{\Bv_{k}, k \in \CV}  \min\limits_{k \in \CV} R_{k}^{\rm DL} },
T_{\rm DL} = N_{\rm DL} Q.
\end{aligned}
\end{equation}

§ REFERENCE STRATEGIES

In this section, we introduce two baseline  UL-DL transmission strategies, that leverage either the spatial multiplexing gain $L$ or the CC gain $t$ during the UL step while adopting a transmission approach similar to the MISO-CC scheme of [5, 6] for the DL step.

§.§.§ Strategy A

As mentioned, a $\gamma$ portion of the entire library is generated/stored by each user. Therefore, $K (1-\gamma) \binom{K}{t} \binom{K-t-1}{L-1}$ subpackets must be transmitted to the BS in the UL step. To this end, during each UL transmission in Strategy A, we select $L$ users to simultaneously transmit  $L$ subpackets to the BS, which is then able to decode all of them as it is equipped with $L$ antennas. Therefore, during the UL step, this strategy only benefits from the spatial multiplexing gain of $L$  without incorporating the CC gain. Hence, employing (<ref>), the NDT in the UL step via Strategy A is given by:

\begin{equation}
\label{eq: R UL naive 1}
T^{A}_{\rm UL} =  \frac{K \left( 1-\gamma \right)\binom{K}{t} \binom{K-t-1}{L-1}}{L \binom{K}{t} \binom{K-t-1}{L-1}}= \frac{K-t}{L}.
\end{equation}

Following the UL step, the BS has access to all the missing subpackets. As stated in [27], the optimal transmission strategy among all linear one-shot schemes with uncoded placement for the DL step is to follow a similar approach as the MISO-CC scheme of [5, 6]. With this scheme, using (<ref>), the NDT in the DL step of Strategy A is $ T^{A}_{\rm DL} = \frac{K-t}{t+L}$.

§.§.§ Strategy B

With this strategy, in each UL transmission,

$t+1$ users are chosen to transmit $t+1$ subpackets to the BS simultaneously. The data transmitted by these users is then added over the air to form one of the codewords needed in the following DL step (more details are provided shortly after). Hence, during the UL step, this strategy only benefits from the CC gain without using the available spatial multiplexing gain. According to (<ref>), the UL step via Strategy B achieves the NDT

\begin{equation}
\begin{aligned}
T^{B}_{\rm UL} = \frac{K \left( 1-\gamma \right) \binom{K}{t} \binom{K-t-1}{L-1}}{\left( t+1 \right)  \binom{K}{t} \binom{K-t-1}{L-1}} = \frac{K-t}{t+1}.
\end{aligned}
\end{equation}

For the DL step, in order to optimize the transmission delay, the BS follows a similar scheme as the one proposed in [5, 6]. To this end, for each $\CT \subseteq [K]$ with $\left\vert \CT \right\vert = t+L$, the BS has received $\binom{t+L}{t+1}$ signals during the UL step. Therefore, it generates $\binom{t+L-1}{t}$ random linear combinations of these $ \binom {t+L}{t+1}$ received signals and broadcasts them sequentially. For the decoding process,

we adopt the signal-level decoding approach as expressed in [8], where the undesired terms are regenerated from the local memory and removed before the received signal is decoded by the users. The details of the DL step are presented in Section <ref>. Accordingly, utilizing (<ref>), the NDT of the DL step via Strategy B is obtained as $ T^{B}_{\rm DL} = \frac{K-t}{t+L}$.

As observed, both strategies achieve the same NDT during the DL step; however, in the UL step, neither Strategy A nor Strategy B achieves the NDT of $\frac{K-t}{t+L}$. In this work, we devise a UL transmission strategy that incorporates both spatial multiplexing and CC gains to achieve a UL NDT equal to that of the DL.

§ THE NEW UL-DL TRANSMISSION STRATEGY

We first present an illustrative example to give further insight into the system performance and then design the generalized transmission strategies for the UL and DL steps.

§.§ An Illustrative Example

Consider a cache-aided MISO network with $K=3$ users, $\gamma=\frac{1}{3}$, $t=1$ and $L=2$. Users $1$, $2$ and $3$ are required to recover the files $W^{1}$, $W^{2}$ and $W^{3}$, respectively. First, each file $W^{n}$ is split into $\binom{K}{t}=3$ packets $W^{n}_{\CP}$, where $\CP \in [3]$. Accordingly, user $k \in [3]$ stores the packets $W^{n}_{k}$ in its cache memory for all $n \in [3]$.
For simplicity, let us use $A$, $B$, and $C$ to denote the encoded signals of $W^1$, $W^2$, and $W^3$, respectively. Moreover, as $q=\binom{K-t-1}{L-1}=1$, we ignore the index $q$.

The UL step is comprised of $N_{\rm UL}=2$ transmissions, represented by $\lbrace 12 \rbrace$ and $\lbrace 13 \rbrace$. During the transmission $ \CS \in \left\lbrace \lbrace 12 \rbrace, \lbrace 13 \rbrace \right\rbrace$, user $k \in [3]$ transmits the signal $x^{k} (\CS )$, as shown in Table <ref>. Assuming noise-less channels,[The generalized UL and DL steps with noisy-channels are discussed in Section <ref> and Section <ref>.] the received signal of the BS during transmission $\CS$, denoted by $\By_{\rm BS} (\CS)$ is given by:

\begin{equation*}
\begin{aligned}
\label{eq: y12}
& \By_{\rm BS} (\lbrace 12 \rbrace ) = \Bh_{1} B_{1} + \Bh_{2} A_{2} + \Bh_{3} \left( -B_{3} - A_{3} \right),\\
& \By_{\rm BS} (\lbrace 13 \rbrace) = \Bh_{1} C_{1} + \Bh_{2} \left( -C_{2} - A_{2} \right) + \Bh_{3} A_{3}.
\end{aligned}
\end{equation*}

However, in the upcoming DL step, the BS only needs

$\alpha_{1} B_{1} + \alpha_{2} A_{2} $, $\alpha_{3} C_{1} + \alpha_{4} A_{3} $, and $\alpha_{5} C_{2} + \alpha_{6} B_{3} $, for some $\alpha_{i} \in \mathbb{C}$ with $i \in [6]$.
To extract these combinations, it employs receive beamforming (row) vectors $\Bv_{\CR} \in \mathbb{C}^{1 \times 2}$, such that $\CR \subset [3]$ with $\left\vert \CR \right\vert = t+1 =2$, that satisfy

\begin{equation*}
\begin{aligned}
\begin{cases}
\Bv_{\CR}  \Bh_{k} = 0 & k \in [3] \text{ and } k \notin \CR \\
\Bv_{\CR}  \Bh_{k} \neq 0 & k \in [3] \text{ and } k \in \CR
\end{cases}.
\end{aligned}
\end{equation*}

First, using $\Bv_{\lbrace 12 \rbrace}$ and $\Bv_{\lbrace 13 \rbrace}$, the BS can compute

\begin{equation*}
\begin{aligned}
% \label{eq: B1 A2}
& \Bv_{\lbrace 12 \rbrace} \By_{\rm BS} (\lbrace 12 \rbrace) =  \Bv_{\lbrace 12 \rbrace} \Bh_{1} B_{1} +  \Bv_{\lbrace 12 \rbrace} \Bh_{2} A_{2}, \\
&  \Bv_{\lbrace 13 \rbrace} \By_{\rm BS} \left( \lbrace 13 \rbrace \right) =  \Bv_{\lbrace 13 \rbrace} \Bh_{1} C_{1} +  \Bv_{\lbrace 13 \rbrace} \Bh_{3} A_{3},
\end{aligned}
\end{equation*}

which yield $\alpha_{1} B_{1} + \alpha_{2} A_{2} $ and $\alpha_{3} C_{1} + \alpha_{4} A_{3} $ by setting $\alpha_{1}=\Bv_{\lbrace 12 \rbrace} \Bh_{1}$, $\alpha_{3} = \Bv_{\lbrace 13 \rbrace} \Bh_{1} $, and so on.

Next, to calculate $\alpha_{5} C_{2} + \alpha_{6} B_{3} $, the BS simply uses $\Bv_{\lbrace 23 \rbrace}$ to get

\begin{equation*}
\begin{aligned}
\Bv_{\lbrace 23 \rbrace} \left( \By_{\rm BS} (\lbrace 12 \rbrace) \! + \! \By_{\rm BS} (\lbrace 13 \rbrace) \right) \! \!= \!
- \Bv_{\lbrace 23 \rbrace} \Bh_{2} C_{2}  - \Bv_{\lbrace 23 \rbrace} \Bh_{3} B_{3}.
\end{aligned}
\end{equation*}

Transmitted Signals During the UL Step

1|c|[innerwidth=1.3cm]$\CS$$x^{k} (\CS)$     $x^{1} (\CS)$     $x^{2} (\CS)$      $x^{3} (\CS)$

$\lbrace 12 \rbrace$     $B_{1}$     $A_{2}$     $-B_{3}-A_{3}$

$\lbrace 13 \rbrace$     $C_{1}$     $-C_{2}-A_{2}$      $A_{3}$

Now, let us review the DL step in more detail. It

consists of the following $N_{\rm DL} =2$ transmissions:

\begin{equation*}
\begin{aligned}
\Bx_{\rm BS} (j) \!  & =  \!  \beta_{1,j} (  \alpha_1 B_{1} \! \! + \! \alpha_2 A_{2} ) \Bw_{\{ 12 \} }
\! + \! \beta_{2,j} \left( \alpha_3 C_{1} \!\! + \!  \alpha_4 A_{3} \right) \Bw_{  \lbrace 13 \rbrace} \\
&  + \! \beta_{3,j} \left( \alpha_5 C_{2}  \! + \! \alpha_6 B_{3} \right) \Bw_{\lbrace 23 \rbrace},
\end{aligned}
\end{equation*}

where $\{\beta_{i,j}\}$, $i \in [3]$ and $j \in [2]$, is a set of scalars selected by the BS (more explanation is provided shortly), and for $\CQ \subset [3]$ with $\left\vert \CQ \right\vert=2$, $\Bw_{\CQ} \in \mathbb{C}^{2 \times 1}$ is the beamforming vector that suppresses the interference at user $[3] \backslash \CQ$.
Let us consider the decoding process at user 1. Applying

ZF precoders, in the transmission $j \in [2]$, it observes

\begin{equation*}
\begin{aligned}
y_{1} (j)   & =    \beta_{1,j} (  \alpha_1 B_{1}   + \alpha_2 A_{2} )\Bh_1\herm \Bw_{\{ 12 \} } \\
& +  \beta_{2,j} \left( \alpha_3 C_{1} \!\! + \!  \alpha_4 A_{3} \right) \Bh_1\herm \Bw_{  \lbrace 13 \rbrace}.
\end{aligned}
\end{equation*}

User 1 is interested in $A_2$ and $A_3$. As it has $B_1$ and $C_1$ in its cache, it can regenerate and remove their interference terms from $y_1(j)$ to get $\hat{y}_1(j)$. Then, using

\begin{equation}
\label{eq: exmp_eq}
\begin{aligned}
\begin{bmatrix}
\alpha_2 \Bh_1\herm \Bw_{\{12\}} A_2  \\  \alpha_4 \Bh_1\herm \Bw_{\{13\}} A_3
\end{bmatrix}
\begin{bmatrix}
\beta_{1,1} & \beta_{2,1}  \\
\beta_{1,2} &  \beta_{2,2} \ \\
\end{bmatrix}^{-1}
\begin{bmatrix}
\hat{y}_1(1) \\ \hat{y}_1(2)
\end{bmatrix},
\end{aligned}
\end{equation}

and following a simple decoding step, it can recover $A_2$ and $A_3$ interference-free. Note that the scalars $\{\beta_{i,j}\}$ should be selected such that the matrix in (<ref>) and similar matrices for other users are invertible  (this can be done, e.g., using a predefined codebook).

As observed, both UL and DL steps are comprised of two transmissions, and  $Q= \nicefrac{1}{\binom{K}{t} \binom{K-t-1}{L-1}} = \frac{1}{3}$. Therefore, by using (<ref>), and $\eqref{eq: T DL def.}$, the NDT for the UL and DL steps is given by:

$T_{\rm UL} = T_{\rm DL} = \frac{2}{3}$.

§.§ UL Step

This step involves $N_{\rm S}= \binom{K}{t+L}$ stages, with each stage having $N_{\rm T}=\binom{t+L-1}{t}$ transmissions.

During each transmission of stage $i \in \left[ N_{\rm S} \right]$, a set of $t+L$ users denoted by $\CU(i)$,

encode their generated/stored subpackets and transmit them to the BS at the same time. Here, the key idea of the UL transmission strategy is to enable the BS to create the codewords of size $t+1$, required for the DL step. Without loss of generality (up to the permutation of users' indices), let us focus on the UL transmission strategy during stage $1$, where users $\CU(1)=[t+L]$ simultaneously send their encoded data to the BS. Now, for notational simplicity, for any subset $\CT \subseteq \left[ t+L \right]$ and $l \in \CT$, we define the operator $\left< l \right>_{\CT}$ as follows

\begin{equation}
\label{eq: shift def}
\begin{aligned}
\left< l \right>_{\CT}=
\end{aligned}
\begin{cases}
\min \left\lbrace i \in \CT : i >l \right\rbrace & l < \max \left\lbrace i \in  \CT \right\rbrace \\
\min \left\lbrace i \in \CT \right\rbrace & l = \max \left\lbrace i \in  \CT \right\rbrace
\end{cases}.
\end{equation}

As per (<ref>), $\left< l \right>_{\CT}$ returns the element in $\CT$ that is next to $l$ (according to a circular shift). For example, for

$\CT=\left\lbrace 1,2,3 \right\rbrace$, we have $\left< 1 \right>_{\CT}=2$, $\left< 2 \right>_{\CT}=3$ and $\left< 3 \right>_{\CT}=1$. In order to create the transmitted signals for users $k \in \left[ t+L \right]$, first, we define

\begin{equation}
\label{eq: set M def}
\CM=\left\lbrace \CS: \CS \subseteq \left[ t+L \right],  1  \in \CS, \left\vert \CS \right\vert=t+1 \right\rbrace,
\end{equation}

where $\vert \CM \vert=N_{\rm T}$. As mentioned earlier, stage $1$ is also comprised of $N_{\rm T}$ transmissions. Let us represent the transmitted signal of user $k \in \left[ t+L \right]$ during stage $1$ by $x^{k} ( \CS ) $, where $\CS \in \CM$. In this regard, for each $k \in \left[ t+L \right]$ and $ \CS \in \CM$, $x^{k} ( \CS )$ is given by:

\begin{equation}
\label{eq: x KS A def}
\begin{array}{c}
x^{k} ( \CS ) =
\begin{cases}
\Sfc \big( W^{\left< k \right>_{\CS}}_{\CS \backslash \lbrace \left< k \right>_{\CS} \rbrace ,q} \big) & k \in \CS \\
- \sum\limits_{j \in \CS}   \Sfc \Big( W^{ \left< k \right>_{\CS \cup \left\lbrace k \right\rbrace  \backslash \lbrace j \rbrace} }_{ \CS \cup \lbrace k \rbrace \backslash \lbrace j, \left< k \right>_{\CS \cup \lbrace k \rbrace \backslash \lbrace j \rbrace } \rbrace , q} \Big) & k \notin \CS
\end{cases},
\end{array}
\end{equation}

where $q \in [\binom{K-t-1}{L-1}]$ increases sequentially after each transmission to ensure none of the subpackets is transmitted twice. As mentioned in Definition <ref>, $ \Sfc \left( W^{n}_{ \CP ,q} \right)$ is the encoded signal of $W^{n}_{\CP ,q}$, where $\Sfc: \mathbb{F}_{2^{f}} \rightarrow \mathbb{C}$. In addition, for all $\CQ \subseteq [t+L]$ with $\left\lvert \CQ \right\rvert = t+1$ and $k \in \left[ t+L \right]$, it is assumed that:

\begin{equation}
\begin{array}{c}
\mathbb{E} \left[ \left\vert \Sfc \big( W^{\left< k \right>_{\CQ}}_{\CQ \backslash \lbrace \left< k \right>_{\CQ} \rbrace ,q} \big) \right\vert^{2} \right]=
\label{eq: power allocation A}
\begin{cases}
P_{\rm UL} & k=1 \\
% \frac{P_{\rm UL}}{N_{\rm T}} & k=1 \\
\frac{P_{\rm UL} N_{\rm T}}{\binom{t+L-2}{t-1} + \left( t+1 \right) \binom{t+L-2}{t}  } & k \neq 1
\end{cases},
\end{array}
\end{equation}

where $P_{\rm UL}$ represents the transmit power of user $1$ during each transmission of stage $1$, i.e., $P_{1}(j) = P_{\rm UL} $ for all $j \in [N_{\rm T}]$. As per (<ref>), during stage $i \in [N_{\rm S}]$, $t+L-1$ users transmit a superposition of $t+1$ encoded subpackets in several transmissions. However, in each stage, there is always one user (e.g., user 1 in stage 1) that transmits a single encoded subpacket to the BS. Accordingly, for any stage $i \in [N_{\rm S}]$, the transmit power of the user that transmits a single encoded subpacket to the BS in all transmissions is fixed at $P_{\rm UL}$.

In (<ref>), the expectation operates on the uniformly i.i.d. random variable $\Sfc \big( W^{\left< k \right>_{\CQ}}_{\CQ \backslash \lbrace \left< k \right>_{\CQ} \rbrace ,q} \big)$, as it is assumed that $W^{\left< k \right>_{\CQ}}_{\CQ \backslash \lbrace \left< k \right>_{\CQ} \rbrace ,q}$ is an i.i.d. random variable uniformly distributed on $\mathbb{F}_{2^{f}}$.

Assuming $E_{k}$ as the energy consumption of user $k \in [K]$ in the UL step, the proposed encoding scheme in (<ref>) satisfies the users' energy constraints $E_{k}=P_{\rm UL} N_{\rm T} \binom{K-1}{t+L-1}$. Hence, although the transmit power of users may vary during each UL transmission, each user consumes an equal total amount of energy throughout all transmissions of the UL step.

The proof is relegated to Appendix <ref>.

For the subset $\CQ \subseteq [t+L]$ with $\lvert \CQ \rvert = t+1$, define the beamforming (row) vector $\Bv_{\CQ} \in \mathbb{C}^{1 \times L}$ as follows

\begin{equation}
\begin{aligned}
\begin{cases}
\Bv_{\CQ}  \Bh_{k} = 0 & k \in [t+L] \text{ and } k \notin \CQ \\
\Bv_{\CQ}  \Bh_{k} \neq 0 & k \in \CQ
\end{cases}.
\end{aligned}
\end{equation}

Using the proposed UL transmission strategy, during stage 1, the BS is able to create all codewords of size $t+1$ in the set $\CA \, \cup \, \CB$, where

\begin{equation}
\label{eq: set A def}
\begin{array}{c}
\CA  =  \Big\lbrace  \sum\limits_{k \in \CS} \Bv_{\CS} \Bh_{k} \Sfc \big( W^{\left< k \right>_{\CS}}_{\CS \backslash \lbrace  \left< k \right>_{\CS} \rbrace ,q} \big) +  \Bv_{\CS} \Bn_{\rm BS} : \CS \in \CM  \Big\rbrace,
\end{array}
\end{equation}

\begin{equation}
\label{eq: set B ref}
\begin{array}{c}
\CB= \Big\lbrace   \sum\limits_{k \in \CR }  - \Bv_{\CR} \Bh_{k}  \Sfc \big( W^{\left< k \right>_{\CR}}_{\CR \backslash \lbrace  \left< k \right>_{\CR } \rbrace  ,q} \big)  + \Bv_{\CR } \Bn_{\rm BS} :  \\
\CR \subseteq \left[ 2: t+L \right], \left\vert \CR \right\vert=t+1  \Big\rbrace
\end{array}
\end{equation}

include noisy versions of the codewords of size $t+1$ (that are needed in the DL step).
Moreover, the NDT for UL is

\begin{equation}
\label{eq: R UL A}
\begin{aligned}
T_{\rm UL} = \frac{K-t}{t+L}.
\end{aligned}
\end{equation}

The proof is provided in Appendix <ref>.

[row sep=
,col sep=   ]
sigmax     MC8

0	   	2.5

0.01	   	2.475

0.02	   	2.45

0.03	   	2.425

0.04	   	2.4

0.05	   	2.375

0.06	   	2.35

0.07	   	2.325

0.08	   	2.3

0.09	   	2.275

0.1	   	2.25

0.11	   	2.225

0.12	   	2.2

0.13	   	2.175

0.14	   	2.15

0.15	   	2.125

0.16	   	2.1

0.17	   	2.075

0.18	   	2.05

0.19	   	2.025

0.2	   	2

0.21	   	1.975

0.22	   	1.95

0.23	   	1.925

0.24	   	1.9

0.25	   	1.875

0.26	   	1.85

0.27	   	1.825

0.28	   	1.8

0.29	   	1.775

0.3	   	1.75

0.31	   	1.725

0.32	   	1.7

0.33	   	1.675

0.34	   	1.65

0.35	   	1.625

0.36	   	1.6

0.37	   	1.575

0.38	   	1.55

0.39	   	1.525

0.4	   	1.5

0.41	   	1.475

0.42	   	1.45

0.43	   	1.425

0.44	   	1.4

0.45	   	1.375

0.46	   	1.35

0.47	   	1.325

0.48	   	1.3

0.49	   	1.275

0.5	   	1.25

0.51	   	1.225

0.52	   	1.2

0.53	   	1.175

0.54	   	1.15

0.55	   	1.125

0.56	   	1.1

0.57	   	1.075

0.58	   	1.05

0.59	   	1.025

0.6	   	1

0.61	   	0.975

0.62	   	0.95

0.63	   	0.925

0.64	   	0.9

0.65	   	0.875

0.66	   	0.85

0.67	   	0.825

0.68	   	0.8

0.69	   	0.775

0.7	   	0.75

0.71	   	0.725

0.72	   	0.7

0.73	   	0.675

0.74	   	0.65

0.75	   	0.625

0.76	   	0.6

0.77	   	0.575

0.78	   	0.55

0.79	   	0.525

0.8	   	0.5

0.81	   	0.475

0.82	   	0.45

0.83	   	0.425

0.84	   	0.4

0.85	   	0.375

0.86	   	0.35

0.87	   	0.325

0.88	   	0.3

0.89	   	0.275

0.9	   	0.25

0.91	   	0.225

0.92	   	0.2

0.93	   	0.175

0.94	   	0.15

0.95	   	0.125

0.96	   	0.1

0.97	   	0.075

0.98	   	0.05

0.99	   	0.025

1	   	0

[row sep=
,col sep=   ]
sigmax     MC8

0	   	10

0.01	   	9

0.02	   	8.166666667

0.03	   	7.461538462

0.04	   	6.857142857

0.05	   	6.333333333

0.06	   	5.875

0.07	   	5.470588235

0.08	   	5.111111111

0.09	   	4.789473684

0.1	   	4.5

0.11	   	4.238095238

0.12	   	4

0.13	   	3.782608696

0.14	   	3.583333333

0.15	   	3.4

0.16	   	3.230769231

0.17	   	3.074074074

0.18	   	2.928571429

0.19	   	2.793103448

0.2	   	2.666666667

0.21	   	2.548387097

0.22	   	2.4375

0.23	   	2.333333333

0.24	   	2.235294118

0.25	   	2.142857143

0.26	   	2.055555556

0.27	   	1.972972973

0.28	   	1.894736842

0.29	   	1.820512821

0.3	   	1.75

0.31	   	1.682926829

0.32	   	1.619047619

0.33	   	1.558139535

0.34	   	1.5

0.35	   	1.444444444

0.36	   	1.391304348

0.37	   	1.340425532

0.38	   	1.291666667

0.39	   	1.244897959

0.4	   	1.2

0.41	   	1.156862745

0.42	   	1.115384615

0.43	   	1.075471698

0.44	   	1.037037037

0.45	   	1

0.46	   	0.964285714

0.47	   	0.929824561

0.48	   	0.896551724

0.49	   	0.86440678

0.5	   	0.833333333

0.51	   	0.803278689

0.52	   	0.774193548

0.53	   	0.746031746

0.54	   	0.71875

0.55	   	0.692307692

0.56	   	0.666666667

0.57	   	0.641791045

0.58	   	0.617647059

0.59	   	0.594202899

0.6	   	0.571428571

0.61	   	0.549295775

0.62	   	0.527777778

0.63	   	0.506849315

0.64	   	0.486486486

0.65	   	0.466666667

0.66	   	0.447368421

0.67	   	0.428571429

0.68	   	0.41025641

0.69	   	0.392405063

0.7	   	0.375

0.71	   	0.358024691

0.72	   	0.341463415

0.73	   	0.325301205

0.74	   	0.30952381

0.75	   	0.294117647

0.76	   	0.279069767

0.77	   	0.264367816

0.78	   	0.25

0.79	   	0.235955056

0.8	   	0.222222222

0.81	   	0.208791209

0.82	   	0.195652174

0.83	   	0.182795699

0.84	   	0.170212766

0.85	   	0.157894737

0.86	   	0.145833333

0.87	   	0.134020619

0.88	   	0.12244898

0.89	   	0.111111111

0.9	   	0.1

0.91	   	0.089108911

0.92	   	0.078431373

0.93	   	0.067961165

0.94	   	0.057692308

0.95	   	0.047619048

0.96	   	0.037735849

0.97	   	0.028037383

0.98	   	0.018518519

0.99	   	0.009174312

1	   	0

[row sep=
,col sep=   ]
sigmax     MC8

0	   	2.5

0.01	   	2.414634146

0.02	   	2.333333333

0.03	   	2.255813953

0.04	   	2.181818182

0.05	   	2.111111111

0.06	   	2.043478261

0.07	   	1.978723404

0.08	   	1.916666667

0.09	   	1.857142857

0.1	   	1.8

0.11	   	1.745098039

0.12	   	1.692307692

0.13	   	1.641509434

0.14	   	1.592592593

0.15	   	1.545454545

0.16	   	1.5

0.17	   	1.456140351

0.18	   	1.413793103

0.19	   	1.372881356

0.2	   	1.333333333

0.21	   	1.295081967

0.22	   	1.258064516

0.23	   	1.222222222

0.24	   	1.1875

0.25	   	1.153846154

0.26	   	1.121212121

0.27	   	1.089552239

0.28	   	1.058823529

0.29	   	1.028985507

0.3	   	1

0.31	   	0.971830986

0.32	   	0.944444444

0.33	   	0.917808219

0.34	   	0.891891892

0.35	   	0.866666667

0.36	   	0.842105263

0.37	   	0.818181818

0.38	   	0.794871795

0.39	   	0.772151899

0.4	   	0.75

0.41	   	0.728395062

0.42	   	0.707317073

0.43	   	0.686746988

0.44	   	0.666666667

0.45	   	0.647058824

0.46	   	0.627906977

0.47	   	0.609195402

0.48	   	0.590909091

0.49	   	0.573033708

0.5	   	0.555555556

0.51	   	0.538461538

0.52	   	0.52173913

0.53	   	0.505376344

0.54	   	0.489361702

0.55	   	0.473684211

0.56	   	0.458333333

0.57	   	0.443298969

0.58	   	0.428571429

0.59	   	0.414141414

0.6	   	0.4

0.61	   	0.386138614

0.62	   	0.37254902

0.63	   	0.359223301

0.64	   	0.346153846

0.65	   	0.333333333

0.66	   	0.320754717

0.67	   	0.308411215

0.68	   	0.296296296

0.69	   	0.28440367

0.7	   	0.272727273

0.71	   	0.261261261

0.72	   	0.25

0.73	   	0.238938053

0.74	   	0.228070175

0.75	   	0.217391304

0.76	   	0.206896552

0.77	   	0.196581197

0.78	   	0.186440678

0.79	   	0.176470588

0.8	   	0.166666667

0.81	   	0.157024793

0.82	   	0.147540984

0.83	   	0.138211382

0.84	   	0.129032258

0.85	   	0.12

0.86	   	0.111111111

0.87	   	0.102362205

0.88	   	0.09375

0.89	   	0.085271318

0.9	   	0.076923077

0.91	   	0.06870229

0.92	   	0.060606061

0.93	   	0.052631579

0.94	   	0.044776119

0.95	   	0.037037037

0.96	   	0.029411765

0.97	   	0.02189781

0.98	   	0.014492754

0.99	   	0.007194245

1	   	0

axis lines = center,

xlabel near ticks,
xlabel=Cache Ratio ($\gamma$),

ylabel=NDT of Uplink Step,
ylabel near ticks,

major grid style=line width=.2pt,draw=gray!30,

grid style=line width=.1pt, draw=gray!10,
minor tick num=5,
legend pos = north east,

legend style= legend cell align=left, align=left, draw=white!15!black,
ticklabel style=font=,
[solid,draw=blue,line width=1.2pt] table[x=sigmax,y=MC8];
Strategy A

[solid,draw=red,line width=1.2pt] table[x=sigmax,y=MC8];
Strategy B

[solid,draw=black,line width=1.2pt] table[x=sigmax,y=MC8];
Proposed Scheme

Comparison between the achievable UL normalized delivery time of the proposed scheme with strategies A and B in a MISO network with $K=10$ and $L=4$.

Using Theorem <ref> and changing the users' indices in the sets $A$ and $B$, for any stage $i \in [N_{\rm S}]$, one can simply show that the BS is able to create all codewords of size $t+1$, required for the DL step. Fig. <ref> compares the achievable UL NDT of the proposed scheme with the reference strategies in Section <ref>.

§.§ DL Step

The DL step, inspired by [5, 6], is comprised of $N_{\rm S}$ stages, each with $N_{\rm T}$ DL transmissions.

Similar to Section <ref>, we focus on stage $1$, where the BS serves users $\CU (1)=[t+L]$.

During stage 1, for each $\CQ \subseteq [t+L]$ with $\left\vert \CQ \right\vert=t+1$, the BS generates a random vector $\Ba_{\CQ} \in \mathbb{R}^{1 \times N_{\rm T}}$. Then, using (<ref>) and (<ref>), in transmission $j \in \left[ N_{\rm T} \right]$, it broadcasts  a superposition of the codewords in the sets $\CA$ and $\CB$ as follows

\begin{equation}
\label{eq: XBS j A}
\begin{aligned}
& \Bx_{\mathrm{BS}} (j) = \sum\limits_{\substack{\CQ  \subseteq [t+L],  \left\vert \CQ \right\vert=t+1}}  \Ba_{\CQ}[j]  f_{\CQ} \Bw_{\CQ},
\end{aligned}
\end{equation}

where $f_{\CQ}=  \sum\nolimits_{l \in \CQ} \theta_{\CQ} \Bv_{\CQ} \Bh_{l} \Sfc \big( W^{\left< l \right>_{\CQ}}_{\CQ \backslash \lbrace  \left< l \right>_{\CQ} \rbrace ,q} \big) +  \Bv_{\CQ} \Bn_{\rm BS}$, such that $\theta_{\CQ} =1$ if $1 \in \CQ$ and $\theta_{\CQ} = -1$ otherwise.

Moreover, $\Bw_{\CQ} \in \mathbb{C}^{L\times 1}$ is the precoder that suppresses the interference at the set $[t+L]\backslash \CQ$.

By adopting the introduced DL transmission strategy, each user is able to retrieve its requested file, and the achievable NDT for the DL step takes the form of:

\begin{equation}
\label{eq: R DL A}
\begin{aligned}
T_{\rm DL} = \frac{K-t}{t+L}.
\end{aligned}
\end{equation}

The proof is relegated to Appendix <ref>.

In Appendix <ref>, we present an example to give further insight into the system performance for the proposed scheme.

§ CONCLUSION

This paper introduced a novel communication strategy to enhance distributed information retrieval in a network comprising multiple users. To design an inclusive setup supporting various user access scenarios, we modified the operational framework of the conventional coded caching (CC) model. In this modified CC model, all types of user access were considered as data partially stored in the cached content of users, while the multi-antenna base station (BS) is not directly connected to the library. The missing data portions were exchanged among users through an uplink (UL) step followed by a downlink (DL) step. During the UL step, users transmitted a smart combination of their generated/cached contents to the BS. In the DL step, an appropriate combination of these signals was forwarded back to the users, enabling each user to retrieve its desired data. It was shown that the UL step achieved an UL delivery time equal to that of the DL step.
For future work, we aim to prove the optimality of the proposed scheme.

[1]
J. S. Ng, W. Y. B. Lim, N. C. Luong, Z. Xiong, A. Asheralieva, D. Niyato, C. Leung, and C. Miao, “A Comprehensive Survey on Coded Distributed Computing: Fundamentals, Challenges, and Networking Applications,” IEEE Communications Surveys & Tutorials, vol. 23, no. 3, pp. 1800–1837, 2021.

[2]
S. Li, M. A. Maddah-Ali, Q. Yu, and A. S. Avestimehr, “A Fundamental Tradeoff Between Computation and Communication in Distributed Computing,” IEEE Trans. Inf. Theory, vol. 64, no. 1, pp. 109–128, 2018.

[3]
Y. Xu and H. Qi, “Distributed Computing Paradigms for Collaborative Signal and Information Processing in Sensor Networks,” Journal of Parallel and Distributed Computing, vol. 64, no. 8, pp. 945–959, 2004.

[4]
M. A. Maddah-Ali and U. Niesen, “Fundamental Limits of Caching,” IEEE Trans. Inf. Theory, vol. 60, no. 5, pp. 2856–2867, May 2014.

[5]
S. P. Shariatpanahi, S. A. Motahari, and B. H. Khalaj, “Multi-Server Coded Caching,” IEEE Trans. Inf. Theory, vol. 62, no. 12, pp. 7253–7271, Dec. 2016.

[6]
S. P. Shariatpanahi, G. Caire, and B. Hossein Khalaj, “Physical-Layer Schemes for Wireless Coded Caching,” IEEE Trans. Inf. Theory, vol. 65, no. 5, pp. 2792–2807, May 2019.

[7]
M. J. Salehi, E. Parrinello, S. P. Shariatpanahi, P. Elia, and A. Tölli, “Low-Complexity High-Performance Cyclic Caching for Large MISO Systems,” IEEE Trans. Wireless Commun., vol. 21, no. 5, pp. 3263 – 3278, May 2022.

[8]
E. Lampiris and P. Elia, “Adding Transmitters Dramatically Boosts Coded-Caching Gains for Finite File Sizes,” IEEE J. Sel. Areas Commun., vol. 36, no. 6, pp. 1176–1188, Jun. 2018.

[9]
A. Tölli, S. P. Shariatpanahi, J. Kaleva, and B. H. Khalaj, “Multi-Antenna Interference Management for Coded Caching,” IEEE Trans. Wireless Commun., vol. 19, no. 3, pp. 2091–2106, Mar. 2020.

[10]
M. Salehi, A. Tolli, S. P. Shariatpanahi, and J. Kaleva, “Subpacketization-Rate Trade-Off in Multi-Antenna Coded Caching,” in IEEE Global Communications Conference (GLOBECOM), December 2019, pp. 1–6.

[11]
K. Wan and G. Caire, “On Coded Caching With Private Demands,” IEEE Trans. Inf. Theory, vol. 67, no. 1, pp. 358–372, 2021.

[12]
M. Abolpour, M. Salehi, and A. Tölli, “Cache-Aided Communications in MISO Networks with Dynamic User Behavior: A Universal Solution,” in IEEE Int. Symp. Inf. Theory (ISIT), Jun. 2023, pp. 132–137.

[13]
M. Bayat, K. Wan, and G. Caire, “Coded Caching Over Multicast Routing Networks,” IEEE Trans. Commun., vol. 69, no. 6, pp. 3614–3627, 2021.

[14]
M. Salehi, K. Hooli, J. Hulkkonen, and A. Tölli, “Enhancing Next-Generation Extended Reality Applications with Coded Caching,” IEEE Open J. Commun. Soc., vol. 4, pp. 1371–1382, Jun. 2023.

[15]
H. B. Mahmoodi, M. Salehi, and A. Tölli, “Multi-Antenna Coded Caching for Location-Dependent Content Delivery,” IEEE Trans. Wireless Commun., 2023, "Early Access".

[16]
K. Wan, D. Tuninetti, M. Ji, G. Caire, and P. Piantanida, “Fundamental Limits of Decentralized Data Shuffling,” IEEE Trans. Inf. Theory, vol. 66, no. 6, pp. 3616–3637, 2020.

[17]
A. Elmahdy and S. Mohajer, “On the Fundamental Limits of Coded Data Shuffling for Distributed Machine Learning,” IEEE Trans. Information Theory, vol. 66, no. 5, pp. 3098–3131, 2020.

[18]
M. Adel Attia and R. Tandon, “Near Optimal Coded Data Shuffling for Distributed Learning,” IEEE Trans. Inf. Theory, vol. 65, no. 11, pp. 7325–7349, 2019.

[19]
K. Wan, H. Sun, M. Ji, D. Tuninetti, and G. Caire, “On the Optimal Load-Memory Tradeoff of Cache-Aided Scalar Linear Function Retrieval,” IEEE Trans. Inf. Theory, vol. 67, no. 6, pp. 4001–4018, 2021.

[20]
Q. Yan and D. Tuninetti, “Robust, Private and Secure Cache-Aided Scalar Linear Function Retrieval From Coded Servers,” IEEE J. Sel. Areas Commun., vol. 40, no. 3, pp. 968–981, 2022.

[21]
V. Cristea, C. Dobre, C. Stratan, and F. Pop, “Large-Scale Distributed Computing and Applications: Models and Trends,” in Information Science Reference - Imprint of: IGI Publishing, 2010.

[22]
S. Li, Q. Yu, M. A. Maddah-Ali, and A. S. Avestimehr, “A Scalable Framework for Wireless Distributed Computing,” IEEE/ACM Transactions on Networking, vol. 25, no. 5, pp. 2643–2654, 2017.

[23]
F. Li, J. Chen, and Z. Wang, “Wireless MapReduce Distributed Computing,” IEEE Trans. Inf. Theory, vol. 65, no. 10, pp. 6101–6114, 2019.

[24]
F. Xu, M. Tao, and K. Liu, “Fundamental Tradeoff Between Storage and Latency in Cache-Aided Wireless Interference Networks,” IEEE Trans. Inf. Theory, vol. 63, no. 11, pp. 7464–7491, 2017.

[25]
K. Yuan and Y. Wu, “Coded Wireless Distributed Computing via Interference Alignment,” in IEEE Int. Symp. Inf. Theory (ISIT), 2022, pp. 1016–1021.

[26]
I. Hammerstrom, M. Kuhn, C. Esli, J. Zhao, A. Wittneben, and G. Bauch, “MIMO Two-Way Relaying with Transmit CSI at the Relay,” in Int. Workshop Signal Process. Adv. Wireless Commun. (SPAWC), 2007, pp. 1–5.

[27]
E. Lampiris, A. Bazco-Nogueras, and P. Elia, “Resolving the Feedback Bottleneck of Multi-Antenna Coded Caching,” IEEE Trans. Inf. Theory, vol. 68, no. 4, pp. 2331–2348, 2022.

[28]
N. Rajatheva et. al., “White Paper on Broadband Connectivity in 6G,” arXiv preprint arXiv:2004.14247, 2020.

[29]
S. H. Shah and I. Yaqoob, “A survey: Internet of Things (IOT) Technologies, Applications and Challenges,” in IEEE Smart Energy Grid Engineering (SEGE), 2016, pp. 381–385.

§ PROOF OF LEMMA <REF>

In order to prove Lemma <ref>, we focus on stage 1, where users $\CU(1)=\left[ t+L \right]$ transmit their encoded cached data. As per (<ref>) and (<ref>), for each $\CQ \subseteq [t+L]$ with $\left\vert \CQ \right\rvert =t+1$ and $1 \in \CQ$, user $1$ transmits $\Sfc \left( W^{\left< 1 \right>_{\CQ}}_{\CQ \backslash \left\lbrace \left< 1 \right>_{\CQ} \right\rbrace ,q} \right)$ with the transmit power $\mathbb{E} \left[ \left\vert \Sfc \left( W^{\left< 1 \right>_{\CQ}}_{\CQ \backslash \left\lbrace \left< 1 \right>_{\CQ} \right\rbrace ,q} \right) \right\vert ^{2} \right]=P_{\rm UL}$.

Therefore, the energy consumption of user $1$ during $N_{\rm T}$ transmissions of stage 1 is obtained as $E_{1}=P_{\rm UL}N_{\rm T}$.

According to (<ref>) and (<ref>), for $k \in \left[2:t+L \right]$, and $\CQ \subseteq [t+L]$ satisfying $\left\vert \CQ \right\rvert =t+1$ and $1, k \in \CQ$, user $k $ transmits $\Sfc \left( W^{\left< k \right>_{\CQ}}_{\CQ \backslash \left\lbrace \left< k \right>_{\CQ} \right\rbrace ,q} \right)$ with the transmit power $ \frac{P_{\rm UL} N_{\rm T}}{\binom{t+L-2}{t-1} + \left( t+1 \right) \binom{t+L-2}{t}  }$. Moreover,  for $k \in \left[2:t+L \right]$, and $\CQ \subseteq [t+L]$ satisfying $\left\vert \CQ \right\rvert =t+1$, $1 \in \CQ$, and $k \notin \CQ$, user $k$ transmits the signal $- \sum\nolimits_{j \in \CQ} \Sfc \left( W^{ \left< k \right>_{\CQ \cup \left\lbrace k \right\rbrace  \backslash \left\lbrace j \right\rbrace} }_{ \CQ \cup \left\lbrace k \right\rbrace \backslash \left\lbrace j, \left< k \right>_{\CQ \cup \left\lbrace k \right\rbrace \backslash \left\lbrace j \right\rbrace } \right\rbrace , q} \right)$ with the transmit power $\frac{ \left( t+1 \right) P_{\rm UL}N_{\rm T}}{\binom{t+L-2}{t-1} + \left( t+1 \right) \binom{t+L-2}{t}  }$. As a result, the energy consumption of user $k \in [2: t+L]$ through $N_{\rm T}$ transmissions of stage 1 is obtained as:

\begin{equation}
\begin{aligned}
{E}_{k} &=   \frac{P_{\rm UL}N_{\rm T}}{\binom{t+L-2}{t-1}+ \left( t+1 \right) \binom{t+L-2}{t} }  \\
& \times  \left[ \binom{t+L-2}{t-1} + \left( t+1 \right) \binom{t+L-2}{t}  \right]=P_{\rm UL} N_{\rm T}.
\end{aligned}
\end{equation}

Accordingly, since each user $k \in [K]$ transmits data to the BS in $\binom{K-1}{t+L-1}$ stages, the total energy consumption of user $k$ in the UL step is given by $E_{k} = P_{\rm UL} N_{\rm T} \binom{K-1}{t+L-1}$, satisfying the users' energy constraints.

\begin{equation}
\label{eq: set B def}
\begin{aligned}
\CB= \left\lbrace  \sum\limits_{k \in \CS \cup \left\lbrace l \right\rbrace  \backslash \left\lbrace 1 \right\rbrace  }  - \Bv_{\CS \cup \left\lbrace l \right\rbrace \backslash \left\lbrace 1 \right\rbrace} \Bh_{k}  \Sfc \left( W^{\left< k \right>_{\CS \cup \left\lbrace l \right\rbrace \backslash \left\lbrace 1 \right\rbrace}}_{\CS \cup \left\lbrace l \right\rbrace \backslash \left\lbrace 1,  \left< k \right>_{\CS \cup \left\lbrace l \right\rbrace \backslash \left\lbrace 1 \right\rbrace } \right\rbrace  ,q} \right)  + \Bv_{\CS \cup \left\lbrace l \right\rbrace \backslash \left\lbrace 1 \right\rbrace } \Bn_{\rm BS} : \CS \in \CM, l \in \left[ t+L \right], l \notin \CS \right\rbrace
\end{aligned}
\end{equation}

§ PROOF OF THEOREM <REF>

Here, first, we show that for stage 1, the BS can generate all codewords of size $t+1$ in the set $\CA \, \cup \, \CB$, and then, for the achievable NDT, we prove (<ref>). As mentioned in Section <ref>, during stage 1 of the UL step, users $\CU(1)=\left[ t+L \right]$ transmit their encoded data to the BS.

In order to create the codewords of size $t+1$ in the set $\CA$, for any $\CS \in \CM$, the BS considers the received signal $\By_{\rm BS}(\CS)$, which by using (<ref>), it is expressed as follows

\begin{equation}
\label{eq: yBS A}
\begin{aligned}
\By_{\rm BS} (\CS)=\sum\limits_{k \in \left[ t + L \right]} \Bh_{k} x^{k} \left( \CS \right)  +\Bn_{\rm BS}.
\end{aligned}
\end{equation}

Then, the BS uses the beamforming (row) vector $\Bv_{\CS} \in \mathbb{C}^{1 \times L}$, such that $\Bv_{\CS} \Bh_{j} \neq 0$ for $j \in \CS$, and $\Bv_{\CS} \Bh_{j}=0$ for $j \notin \CS$ and $j \in [t+L]$.

Accordingly, for any $\CS \in \CM$, by substituting (<ref>) into (<ref>), it is found that:

\begin{equation}
\label{eq: codeword UL set A}
\begin{aligned}
\Bv_{\CS} \By_{\rm BS} (\CS) &  = \! \sum\limits_{k \in \left[ t + L \right]}  \Bv_{\CS}  \Bh_{k} x^{k} (\CS ) +\Bv_{\CS}\Bn_{\rm BS} \\
% & = \sum\limits_{k \in \CS} \Bh^{\perp}_{\CS} \Bh_{k} x^{k}_{ \CS } \! + \! \Bh^{\perp}_{\CS}\Bn_{\rm BS} \\
& = \sum\limits_{k \in \CS} \Bv_{\CS} \Bh_{k} \Sfc \left( W^{\left< k \right>_{\CS}}_{\CS \backslash \left\lbrace  \left< k \right>_{\CS} \right\rbrace ,q} \right) +  \Bv_{\CS} \Bn_{\rm BS},
\end{aligned}
\end{equation}

which is a codeword available in the set $\CA$.

In order to create the codewords in the set $\CB$,

by using (<ref>), (<ref>) is rewritten as (<ref>) shown in the top of this page. Then, for $l \in [t+L]$, $\CS \in \CM$, and $l \notin \CS$, the BS first uses the beamforming vector $\Bv_{\CS \cup \lbrace l \rbrace \backslash \lbrace 1 \rbrace } \in \mathbb{C}^{1 \times L} $, satisfying

\begin{equation}
\label{eq: h perp Sl}
\begin{cases}
\Bv_{\CS \cup \lbrace l \rbrace \backslash \lbrace 1 \rbrace } \Bh_{j} \neq 0 & j  \in \CS \cup \lbrace l \rbrace \backslash \lbrace 1 \rbrace \\
\Bv_{\CS \cup \lbrace l \rbrace \backslash \lbrace 1 \rbrace } \Bh_{j} = 0 &   j \in [t+L] \text{ and } j  \notin \CS \cup \lbrace l \rbrace \backslash \lbrace 1 \rbrace
\end{cases}.
\end{equation}

Then, for $l \in [t+L]$, $\CS \in \CM$, and $l \notin \CS$, the BS uses the set of received signals $\left\lbrace \By_{\rm BS} (\CS \cup \lbrace l \rbrace \backslash \lbrace j \rbrace ) : j \in \CS \cup \lbrace l \rbrace \backslash \lbrace 1 \rbrace \right\rbrace$, and by utilizing (<ref>) computes

\begin{equation}
\label{eq: Ysl code def}
\begin{aligned}
&\sum\limits_{j \in \CS \cup \lbrace l \rbrace \backslash \lbrace 1 \rbrace} \Bv_{\CS \cup \lbrace l \rbrace \backslash \lbrace 1 \rbrace} \By_{\rm BS} \left( \CS \cup \lbrace l \rbrace \backslash \lbrace j \rbrace \right)=\\
&         \sum\limits_{j \in \CS \cup \lbrace l \rbrace \backslash \lbrace 1 \rbrace} \Bv_{\CS \cup \lbrace l \rbrace \backslash \lbrace 1 \rbrace} \sum\limits_{k \in [t+L]} \Bh_{k} x^{k} \left( \CS \cup \lbrace l \rbrace \backslash \lbrace j \rbrace \right) + \Tilde{n}_{\CS},
\end{aligned}
\end{equation}

where $\Tilde{n}_{\CS}= \Bv_{\CS \cup \lbrace l \rbrace \backslash \lbrace 1 \rbrace} \Bn_{\rm BS}$. Hence, by applying (<ref>), (<ref>) is simplified to:

\begin{equation}
\label{eq: Ysl code simp}
\begin{aligned}
&         \sum\limits_{j \in \CS \cup \lbrace l \rbrace \backslash \lbrace 1 \rbrace}  \sum\limits_{k \in \CS \cup \lbrace l \rbrace \backslash \lbrace 1 \rbrace}  \Bv_{\CS \cup \lbrace l \rbrace \backslash \lbrace 1 \rbrace} \Bh_{k} x^{k} \left( \CS \cup \lbrace l \rbrace \backslash \lbrace j \rbrace \right) + \Tilde{n}_{\CS}\\
& \! \! = \! \! \sum\limits_{k \in \CS \cup \lbrace l \rbrace \backslash \lbrace 1 \rbrace}  \Bv_{\CS \cup \lbrace l \rbrace \backslash \lbrace 1 \rbrace} \Bh_{k} \sum\limits_{j \in \CS \cup \lbrace l \rbrace \backslash \lbrace 1 \rbrace}  \! \! \! x^{k} \left( \CS \cup \lbrace l \rbrace \backslash \lbrace j \rbrace \right) + \Tilde{n}_{\CS}\\
&  \! \! = \! \! \sum\limits_{k \in \CS \cup \lbrace l \rbrace \backslash \lbrace 1 \rbrace}  \Bv_{\CS \cup \lbrace l \rbrace \backslash \lbrace 1 \rbrace} \Bh_{k}  \Delta_{k} + \Tilde{n}_{\CS},
\end{aligned}
\end{equation}

\begin{equation}
\label{eq: Delta K def}
\begin{aligned}
\Delta_{k}= x^{k} \left( \CS \cup \lbrace l \rbrace \backslash \lbrace k \rbrace \right) + \sum\limits_{j \in \CS \cup \lbrace l \rbrace \backslash \lbrace 1,k \rbrace}   x^{k} \left( \CS \cup \lbrace l \rbrace \backslash \lbrace j \rbrace \right).
\end{aligned}
\end{equation}

Now, by applying (<ref>) to (<ref>), and according to that $k \in \CS \cup \lbrace l \rbrace \backslash \lbrace j \rbrace$ for $j \neq k$, $\Delta_{k}$ is obtained as:

\begin{equation}
\label{eq: Deltak}
\begin{aligned}
\Delta_{k}= - & \sum\limits_{j \in \CS \cup \lbrace l \rbrace \backslash \lbrace k \rbrace}   \Sfc \left( W^{ \left< k \right>_{\CS \cup \left\lbrace l \right\rbrace  \backslash \left\lbrace j \right\rbrace} }_{ \CS \cup \left\lbrace l \right\rbrace \backslash \left\lbrace j, \left< k \right>_{\CS \cup \left\lbrace l \right\rbrace \backslash \left\lbrace j \right\rbrace } \right\rbrace , q} \right) + \\
&  \sum\limits_{j \in \CS \cup \lbrace l \rbrace \backslash \lbrace 1,k \rbrace}   \Sfc \left( W^{\left< k \right>_{\CS \cup \lbrace l \rbrace \backslash \lbrace j \rbrace}}_{\CS \cup \lbrace l \rbrace \backslash \left\lbrace j, \left< k \right>_{\CS \cup \lbrace l \rbrace \backslash \lbrace j \rbrace} \right\rbrace ,q} \right) \\
& \hspace{-2.1em} = - \Sfc \left( W^{\left< k \right>_{\CS \cup \lbrace l \rbrace \backslash \lbrace 1 \rbrace}}_{\CS \cup \lbrace l \rbrace \backslash \left\lbrace 1, \left< k \right>_{\CS \cup \lbrace l \rbrace \backslash \lbrace 1 \rbrace} \right\rbrace ,q} \right).
\end{aligned}
\end{equation}

Finally, by substituting (<ref>) and (<ref>) into (<ref>), and setting $\CR= \CS \cup \lbrace l \rbrace \backslash \lbrace 1 \rbrace$, it is observed that:

\begin{equation}
\label{eq: Ysl code final}
\begin{aligned}
&\sum\limits_{j \in \CS \cup \lbrace l \rbrace \backslash \lbrace 1 \rbrace}  \Bv_{\CS \cup \lbrace l \rbrace \backslash \lbrace 1 \rbrace} \By_{\rm BS} \left( \CS \cup \lbrace l \rbrace \backslash \lbrace j \rbrace \right) =  \\
&- \sum\limits_{k \in \CR}  \Bv_{\CR} \Bh_{k}  \Sfc \left( W^{\left< k \right>_{\CR}}_{\CR \backslash \left\lbrace  \left< k \right>_{\CR } \right\rbrace  ,q} \right)  + \Bv_{\CR} \Bn_{\rm BS} ,
\end{aligned}
\end{equation}

which  is a codeword available in the set $\CB$ defined in (<ref>).

Accordingly, during stage 1,  as per (<ref>) and (<ref>), the BS can create all codewords in the set $\CA \cup \CB$.

Hence, the total number of created codewords during stage 1 is given by:

\begin{equation}
\label{eq: sum sets A B}
\begin{aligned}
\left\vert \CA \right\vert + \left\vert \CB \right\vert= \binom{t+L-1}{t}+\binom{t+L-1}{t+1}=\binom{t+L}{t+1}.
\end{aligned}
\end{equation}

Similarly, for each stage $i \in [N_{\rm S}]$, by following the same way as in (<ref>)-(<ref>), one can simply show that the BS is able to create all codewords of size $t+1$, each containing the subpackets of users $k \in \CU (i)$. The BS uses these created codewords in the DL step.

Now, in order to compute the NDT for the UL step, we set $N_{\rm UL} = N_{\rm S} N_{\rm T}$. Next, by applying (<ref>), the NDT for the UL step is given by:

\begin{equation}
\begin{aligned}
T_{\rm UL} = N_{\rm UL}  Q = \frac{N_{\rm S} N_{\rm T}}{\binom{K}{t} \binom{K-t-1}{L-1}} = \frac{K-t}{t+L}.
\end{aligned}
\end{equation}

§ PROOF OF THEOREM <REF>

Similarly to the UL step in Section <ref>, we first focus on stage 1, where users $\CU (1)=[t+L]$ are served by the BS, and show that all users in the set $\CU (1)$ are able to decode all subpackets of their requested files. Then, one can simply extend the process to all stages $i \in \left[ N_{\rm S} \right]$. To this end, consider the $j$-th transmission of stage 1. According to (<ref>) and (<ref>), during the transmission $j \in \left[ N_{\rm T} \right]$ of stage 1, user $k \in \left[ t+L \right]$, receives the signal

\begin{equation}
\label{eq: y k A}
\begin{aligned}
y_{k} (j) & = \Bh_{k}\herm \Bx_{\mathrm{BS}} (j) + n_{k} \\
& = \sum\limits_{\CQ \subseteq [t+L], \left\vert \CQ \right\vert =t+1 }  \Ba_{\CQ} [j] \Bh_{k}\herm \Bw_{\CQ} f_{\CQ} + n_{k}.
\end{aligned}
\end{equation}

Then, by applying the ZF precoders into  (<ref>), user $k \in [t+L]$ observes the signal:

\begin{equation}
\label{eq: y K A ref}
\begin{aligned}
y_{k} (j) &= \sum\limits_{ \CQ \in \CQ_{k}}  \Ba_{\CQ} [j] \Bh_{k}\herm \Bw_{\CQ} f_{\CQ} + n_{k},
\end{aligned}
\end{equation}

where $\CQ_{k}=\left\lbrace \CQ: \CQ \subseteq \left[ t+L \right], \left\vert \CQ \right\vert=t+1, k \in \CQ \right\rbrace$. As per (<ref>), recall that $f_{\CQ}$ is expressed as

\begin{equation}
\label{eq: f k Q def}
\begin{aligned}
f_{\CQ}=  \sum\limits_{l \in \CQ} \theta_{\CQ} \Bv_{\CQ} \Bh_{l} \Sfc \big( W^{\left< l \right>_{\CQ}}_{\CQ \backslash \lbrace  \left< l \right>_{\CQ} \rbrace ,q} \big) +  \Bv_{\CQ} \Bn_{\rm BS},
\end{aligned}
\end{equation}

such that

\begin{equation}
\begin{aligned}
\theta_{\CQ} =
\begin{cases}
1  & 1 \in \CQ \\
-1 &  1 \notin \CQ
\end{cases}.
\end{aligned}
\end{equation}

Now, let us focus on the decoding process at user $k \in [t+L]$. To this end, for $\CQ \in \CQ_{k}$, and $l^{*} \in \CQ$, assume that $\left< l^{*} \right>_{\CQ}=k$. In other words, the element $l^{*} \in \CQ$ is the next element to $k \in \CQ$ according to a circular shift on $\CQ$ (cf. (<ref>)).

Therefore, we can rewrite (<ref>) as follows

\begin{equation}
\label{eq: f Q modified}
\begin{aligned}
f_{\CQ} & = \sum\limits_{l \in \CQ \backslash \lbrace l^{*} \rbrace} \theta_{\CQ} \Bv_{\CQ} \Bh_{l} \Sfc \left( W^{\left< l \right>_{\CQ}}_{\CQ \backslash \left\lbrace  \left< l \right>_{\CQ} \right\rbrace ,q} \right) \\
& + \theta_{\CQ} \Bv_{\CQ} \Bh_{l^{*}} \Sfc \left( W^{k}_{\CQ \backslash \left\lbrace  k \right\rbrace ,q} \right) +  \Bv_{\CQ} \Bn_{\rm BS}.
\end{aligned}
\end{equation}

Here, since $\CQ \in \CQ_{k}$ and $k \in \CQ \backslash \lbrace l^{*} \rbrace$, user $k$ has all subpackets $ W^{\left< l \right>_{\CQ}}_{\CQ \backslash \left\lbrace  \left< l \right>_{\CQ} \right\rbrace ,q}$ in its cache memory for all $l \in \CQ \backslash \lbrace l^{*} \rbrace$. Therefore, it can regenerate the term $\sum\nolimits_{l \in \CQ \backslash \lbrace l^{*} \rbrace} \theta_{\CQ}  \Bv_{\CQ} \Bh_{l} \Sfc \big( W^{\left< l \right>_{\CQ}}_{\CQ \backslash \lbrace  \left< l \right>_{\CQ} \rbrace ,q} \big)$ and subtract it from (<ref>), to observe the signal $\hat{f}_{\CQ}$ as follows:

\begin{equation}
\label{eq: f K Q final}
\begin{aligned}
\hat{f}_{\CQ} =  \theta_{\CQ}  \Bv_{\CQ} \Bh_{l^{*}} \Sfc \left( W^{k}_{\CQ \backslash \left\lbrace  k \right\rbrace ,q} \right)
+ \Bv_{\CQ} \Bn_{\rm BS} .
\end{aligned}
\end{equation}

Therefore, for $j \in [N_{\rm T}]$, by applying (<ref>) into (<ref>), $y_{k} (j)$ is simplified to $\hat{y}_{k} (j)$, which is expressed as:

\begin{equation}
\label{eq: y hat def}
\begin{aligned}
\hat{y}_{k} (j) &= \sum\limits_{ \CQ \in \CQ_{k}}  \Ba_{\CQ} [j] \Bh_{k}\herm \Bw_{\CQ} \hat{f}_{\CQ} + n_{k}.
\end{aligned}
\end{equation}

Here, according to that $\left\vert \CQ_{k} \right\vert = N_{\rm T}=\binom{t+L-1}{t}$ and $j \in \left[ N_{\rm T} \right]$, we have a system of equations with $N_{\rm T}$ unknowns and $N_{\rm T}$ equations to solve $\hat{f}_{\CQ}$. In order to solve this system of equations, first, define $\hat{\By}_{k}=\left[ \hat{y}_{k} (1), \cdots, \hat{y}_{k} (N_{\rm T} ) \right]^{\rm T}$,  and $\Bn_{k}=\left[ n_{k}, \cdots, n_{k} \right]^{\rm T}$ with $ \Bn_{k} \in \mathbb{C}^{N_{\rm T} \times 1}$. Moreover, let
$\BA_{\CQ_{k}} = \left[ \Ba_{\CQ_{k}(1)}^{\rm T}, \cdots, \Ba_{\CQ_{k} \left( N_{\rm T} \right)}^{\rm T}  \right]$, where $Q_{k}(i)$ represents the $i$-th entry of $\CQ_{k}$. As per Section <ref>, we recall that for $\CQ \subseteq [t+L]$ with $\left\vert \CQ \right\vert=t+1$, the BS creates a random vector $\Ba_{\CQ} \in \mathbb{R}^{1 \times N_{\rm T}}$. As a result, $\Ba_{\CQ_{k}(i)}$ demonstrates the random vector generated by the BS for the set $\CQ_{k}(i)$.

Hence, by using (<ref>), the system of equations takes the form as follows:

\begin{equation}
\label{eq: y K A sys eq}
\begin{aligned}
\hat{\By}_{k} = \BA_{\CQ_{k}}
\begin{bmatrix}
\Bh_{k}\herm \Bw_{\CQ_{k}(1)} \hat{f}_{\CQ_{k}(1)} \\
\vdots \\
\Bh_{k}\herm \Bw_{\CQ_{k}(N_{\rm T})} \hat{f}_{\CQ_{k}(N_{\rm T})} \\
\end{bmatrix}
+ \Bn_{k}.
\end{aligned}
\end{equation}

Now, by utilizing (<ref>) and (<ref>), and setting $\Tilde{\By}_{k}=\BA_{\CQ_{k}}^{-1} \hat{\By}_{k}$ and $\Tilde{\Bn}_{k}=\BA_{\CQ_{k}}^{-1} \Bn_{k} $, for each $j \in [N_{\rm T}]$, it is observed that:

\begin{equation}
\label{eq: f k Q j A}
\begin{aligned}
\Tilde{\By}_{k}[j] & \! = \! \Bh_{k}\herm \Bw_{\CQ_{k}(j)} \hat{f}_{\CQ_{k}(j)} + \Tilde{\Bn}_{k}[j] \\
& =  \Bh_{k}\herm \Bw_{\CQ_{k}(j)} \theta_{\CQ_{k}(j)} \Bv_{\CQ_{k}(j)} \Bh_{l^{*}} \Sfc \left( W^{k}_{\CQ_{k}(j) \backslash \left\lbrace  k \right\rbrace ,q} \right) \\
& + \Bh_{k}\herm \Bw_{\CQ_{k}(j)} \Bv_{\CQ_{k}(j)} \Bn_{\rm BS} + \Tilde{\Bn}_{k}[j],
\end{aligned}
\end{equation}

where $\Tilde{\By}_{k}[j]$ and $\Tilde{\Bn}_{k}[j]$ represent the $j$-th entry of $\Tilde{\By}_{k}$ and $\Tilde{\Bn}_{k}$, respectively. As a result, by employing (<ref>), for each $\CQ \subseteq [t+L]$ with $\left\vert \CQ \right\vert =t+1$ and $k \in \CQ$, user $k$ can recover $\Sfc \big( W^{k}_{\CQ \backslash \lbrace  k \rbrace ,q} \big)$. Next, user $k$ decodes and estimates $\Sfc \big( W^{k}_{\CQ \backslash \lbrace  k \rbrace ,q} \big)$ to retrieve the subpacket $\hat{W}^{k}_{\CQ \backslash \lbrace  k \rbrace ,q}$.

Now, according to the fact that for any $k \in [t+L]$, we have $\left\lvert \CQ_{k} \right\rvert = N_{\rm T}$, and for each $\CQ \in \CQ_{k}$, user $k$ is able to recover the subpacket $\hat{W}^{k}_{\CQ \backslash \lbrace  k \rbrace ,q}$, the total number of subpackets retrieved by user $k$ during stage 1 is $N_{\rm T}$. Similarly, by changing the users' indices in (<ref>)-(<ref>), one can simply show that if user $k \in [K]$ is served during stage $j \in [N_{\rm S}]$, then it can decode $N_{\rm T}$ subpackets of its requested file in this stage. Here, since user $k \in [K]$ is served in $\binom{K-1}{t+L-1}$ stages of the DL step, it is able to decode $N_{\rm T} \binom{K-1}{t+L-1} $ of its requested subpackets during the DL step. On the other hand, user $k$ has stored $\gamma \binom{K}{t} \binom{K-t-1}{L-1}$ subpackets of its desired file before starting the UL-DL steps. Hence, after the UL-DL communication phase, by using $t=K\gamma$, the total number of available useful subpackets at user $k$, i.e., the subpackets for its requested file, takes the form as follows:

\begin{equation}
\begin{aligned}
& N_{\rm T} \binom{K-1}{t+L-1}  +  \gamma \binom{K}{t} \binom{K-t-1}{L-1}  = \\
& \binom{K}{t} \binom{K-t-1}{L-1},
\end{aligned}
\end{equation}

which is equal to the total number of subpackets for the file $W^{k}$, and shows that user $k \in [K]$ is able to decode its requested file after the DL step.

In order to compute the achievable NDT for the DL step, we follow the same way as Appendix <ref>. In this regard, by substituting $N_{\rm DL} = N_{\rm S} N_{\rm T}$ and $Q=\frac{1}{\binom{K}{t} \binom{K-t-1}{L-1}}$ into (<ref>), the NDT for the DL step is computed as follows

\begin{equation}
\begin{aligned}
T_{\rm DL} = N_{\rm DL} Q = \frac{N_{\rm S} N_{\rm T}}{\binom{K}{t} \binom{K-t-1}{L-1}} = \frac{K-t}{t+L}.
\end{aligned}
\end{equation}

§ AN EXAMPLE FOR $K=5$, $T=2$ AND $L=3$

Consider a cache-aided MISO network with $L=3$, $\gamma=0.4$, $K=5$ and $t=2$, such that users $1$, $2$, $3$, $4$ and $5$ request the files $W^{1}$, $W^{2}$, $W^{3}$, $W^{4}$ and $W^{5}$, respectively. First, each file $W^{k}$, $k \in [5]$, is split into $\binom{K}{t}=10$ packets $W^{k}_{\CP}$, where $\CP \subset [5]$ and $\left\vert \CP \right\vert=t=2$. Then, for each $\CP \subset [5]$ with $\left\vert \CP \right\vert=2$, user $k \in [\CP]$ stores the packet $W^{n}_{\CP}$ for $n \in [5]$.

Prior to the UL-DL steps, each packet $W^{n}_{\CP}$ is split into $q=\binom{K-t-1}{L-1}=1$ subpacket $W^{n}_{\CP,q}$. Hereafter, in order to simplify the notation, we drop the index $q$ in $W^{n}_{\CP,q}$, and represent the subpacket $W^{n}_{\CP,q}$ by $W^{n}_{\CP}$.

1) UL Step:  The UL step consists of $N_{\rm S}=\binom{K}{t+L}=1$ stage, and this stage involves $N_{\rm T}= \binom{t+L-1}{t}=6$ transmissions. In order to represent the users' transmitted signals in each transmission, by using (<ref>), we define the set $\CM$ as follows:

\begin{equation}
\CM=\left\lbrace \CS: \CS \subset \left[ 5 \right],  1  \in \CS, \left\vert \CS \right\vert=3 \right\rbrace,
\end{equation}

where $\left\vert \CM \right\vert=N_{\rm T}$, and each $\CS \in \CM$ shows an index for a separate transmission. For example, for $\CS=\lbrace 123 \rbrace$, $x^{k} ({\lbrace 123 \rbrace})$ shows the transmitted signal of user $k$ in the transmission associated with the set $\lbrace 1 2 3 \rbrace$.

Next, for each $\CP \subset [5]$ with $\left\vert \CP \right\vert =2$, each user encodes its cached subpackets, such that $\Sfc \left( W^{1}_{\CP} \right)=A_{\CP}$, $\Sfc \left( W^{2}_{\CP} \right)=B_{\CP}$, $\Sfc \left( W^{3}_{\CP} \right)=C_{\CP}$, $\Sfc \left( W^{4}_{\CP} \right)=D_{\CP}$ and $\Sfc \left( W^{5}_{\CP} \right)=E_{\CP}$. Moreover, for $\CQ \subset [5]$ with $\left\lvert \CQ \right\vert = 3$, and $k \in [5]$, it is assumed that

\begin{equation}
\label{eq: power allocation exmp A}
\begin{aligned}
\mathbb{E} \left[ \left\vert  \Sfc \left( W^{\left< k \right>_{\CQ}}_{\CQ \backslash \left\lbrace \left< k \right>_{\CQ} \right\rbrace } \right) \right\vert^{2} \right]=
\end{aligned}
\begin{cases}
P_{\rm UL}  & k=1 \\
\frac{P_{\rm UL}}{2} & k \neq 1
\end{cases},
\end{equation}

where $P_{\rm UL}$ represents the transmit power of user $1$ during the transmission $\CS \in \CM$.
As observed, the energy consumption of user $k \in [5]$ during the UL step is equal to $E_{k} = P_{\rm UL} N_{\rm T} \binom{K-1}{t+L-1}=6P_{\rm UL}$.

Now, by utilizing (<ref>), during the transmission $\CS \in \CM$, user $k \in [5]$ transmits the signal $x^{k} (\CS)$ shown in Table <ref>. In order to give further insight into Table <ref> and (<ref>), let us focus on the transmission $\lbrace  123 \rbrace$. Here,  user $k \in \lbrace 1,2,3 \rbrace$ transmits the encoded subpacket of the requested file of user $\left< k \right>_{\lbrace 123 \rbrace }$, which is stored at user $k$ and not available at user $\left< k \right>_{\lbrace 123 \rbrace}$, i.e., $x^{k} ( \lbrace 123 \rbrace ) = W^{\left< k \right>_{\lbrace 123 \rbrace}}_{\lbrace 123 \rbrace \backslash \lbrace \left< k \right>_{\lbrace 123 \rbrace} \rbrace} $. For instance, user $1$ transmits the requested subpacket of user $\left< 1 \right>_{\{123 \}}=2$, which is $x^{1} ( \lbrace 123 \rbrace ) = B_{\lbrace 1 2 3 \rbrace \backslash \left< 1 \right>_{\lbrace 123 \rbrace}}=B_{13}$. Moreover, during the transmission $\lbrace 123 \rbrace $, user $k \in \lbrace 4,5 \rbrace$ transmits a superposition of the encoded subpackets of the files requested by users $\left\lbrace \left< k \right>_{\lbrace 123 \rbrace \cup \lbrace k \rbrace \backslash \lbrace j \rbrace} : j \in [3] \right\rbrace$ that are stored at user $k$, i.e.,

\begin{equation*}
x^{k} (\lbrace 123 \rbrace)= - \sum\limits_{j \in \lbrace 1,2,3 \rbrace}   \Sfc \left( W^{ \left< k \right>_{\lbrace 123 \rbrace \cup \left\lbrace k \right\rbrace  \backslash \left\lbrace j \right\rbrace} }_{ \lbrace 123 \rbrace \cup \left\lbrace k \right\rbrace \backslash \left\lbrace j, \left< k \right>_{\lbrace 123 \rbrace \cup \left\lbrace k \right\rbrace \backslash \left\lbrace j \right\rbrace } \right\rbrace } \right).
\end{equation*}

Accordingly, user $4$, for example, transmits the signal $x^{4} (\lbrace 1 2 3 \rbrace ) = -B_{34}- A_{34}-A_{24}$.

Users' Transmitted Signals During the UL Step

1|c|[innerwidth=1.9cm]$\CS$$x^{k} (\CS)$     $x^{1} (\CS)$     $x^{2} (\CS)$      $x^{3} (\CS)$      $x^{4} (\CS)$     $x^{5} (\CS)$

2*$\lbrace 123\rbrace$      2*$B_{13}$      2*$C_{12}$      2*$A_{23}$
$- A_{34} -  A_{24} $        2*$-B_{35}$
$ -  A_{35} -  A_{25} $

2*$\lbrace 124\rbrace$     2*$B_{14}$     2*$D_{12}$      2*$-D_{23}$
$- D_{13} -  A_{23} $     2*$A_{24}$     2*$-B_{45}$
$-   A_{45} -  A_{25} $

2*$\lbrace 125\rbrace$     2*$B_{15}$     2*$E_{12}$      2*$-E_{23}$
$- E_{13} -  A_{23} $      2*$-E_{24}$
$- E_{14} -  A_{24} $       2*$A_{25}$

2*$\lbrace 134\rbrace$      2*$C_{14}$      2*$-C_{24}$
$- D_{12} -  C_{12} $       2*$D_{13}$      2*$A_{34}$     2*$-C_{45}$
$- A_{45} -  A_{35} $

2*$\lbrace 135\rbrace$     2*$C_{15}$     2*$-C_{25}$
$-  E_{12} -  C_{12} $     2*$E_{13}$     2*$-E_{34}$
$- E_{14} -  A_{34} $      2*$A_{35}$

2*$\lbrace 145\rbrace$     2*$D_{15}$     2*$-D_{25}$
$- E_{12} -  D_{12}  $      2*$-D_{35}$
$- E_{13} -  D_{13} $      2*$E_{14}$     2*$A_{45}$

Now, by using (<ref>), during the transmission $\CS \in \CM$, the BS receives the signal

\begin{equation}
\label{eq: yBS exmp A}
\begin{aligned}
\By_{\rm BS} (\CS)=\sum\limits_{k \in \left[ 5 \right]} \Bh_{k} x^{k} ( \CS ) +\Bn_{\rm BS}.
\end{aligned}
\end{equation}

Following $N_{\rm T}$ UL transmissions, the BS creates two sets of codewords, denoted as $\CA$ and $\CB$, which are illustrated in (<ref>) and (<ref>), respectively. Generally speaking, each codeword in $\CA$ contains $t+1$ subpackets for users in $\CS \subset [5]$ with $\left\vert \CS \right\vert =t+1$ and $1 \in \CS $, while each codeword of $\CB$ is composed of $t+1$ subpackets for users in $\CR \subset [5]$ with $\left\vert \CR \right\vert =t+1$ and $1 \notin \CR$. In order to create the codewords in the set $\CA$, for each $\CS \subset [5] $ with $\left\vert \CS \right\vert=t+1$ and $1 \in \CS$, we multiply (<ref>) by beamforming (row) vector $\Bv_{\CS} \in \mathbb{C}^{1 \times 3} $ as follows

\begin{equation}
\begin{aligned}
\Bv_{\CS}\By_{\rm BS} (\CS ) = \sum\limits_{k \in \CS} \Bv_{\CS} \Bh_{k} x^{k} ( \CS ) +\Bv_{\CS}\Bn_{\rm BS},
\end{aligned}
\end{equation}

which represents the codeword $\sum\limits_{k \in \CS} \Bv_{\CS} \Bh_{k} x^{k} ( \CS )$ added up by the noise $\Bv_{\CS}\Bn_{\rm BS}$. For instance, for $\CS=\lbrace 123 \rbrace$ and $\CS=\lbrace 135 \rbrace$, the BS generates the codewords

\begin{equation*}
\begin{aligned}
\Bv_{\lbrace 123 \rbrace}\By_{\rm BS} (\lbrace 123 \rbrace) & = \Bv_{\lbrace 123 \rbrace} ( \Bh_{1} B_{13}  + \Bh_{2} C_{12}  + \Bh_{3} A_{23} )  \\
& +\Bv_{\lbrace 123 \rbrace}\Bn_{\rm BS}, \\
\Bv_{\lbrace 135 \rbrace}\By_{\rm BS} (\lbrace 135 \rbrace) & = \Bv_{\lbrace 135 \rbrace} ( \Bh_{1} C_{15}    + \Bh_{3} E_{13}   + \Bh_{5} A_{35} )  \\
& +\Bv_{\lbrace 135 \rbrace}\Bn_{\rm BS}.
\end{aligned}
\end{equation*}

Moreover, to generate the codewords in the set $\CB$, for each $\CR \subset [5]$, with $\left\vert \CR \right\vert=t+1$ and $1 \notin \CR$, by following the same way as in (<ref>)-(<ref>), we compute $ \sum\nolimits_{j \in \CR }  \Bv_{\CR} \By_{\rm BS} \left( \CR \cup \lbrace 1 \rbrace \backslash \lbrace j \rbrace \right)$ as follows

\begin{equation*}
\begin{aligned}
\sum\limits_{j \in \CR }  \Bv_{\CR} \By_{\rm BS} \left( \CR \cup \lbrace 1 \rbrace \backslash \lbrace j \rbrace \right) & =
- \sum\limits_{k \in \CR}  \Bv_{\CR } \Bh_{k} \Sfc \left( W^{\left< k \right>_{\CR}}_{\CR  \backslash \left\lbrace  \left< k \right>_{\CR } \right\rbrace } \right) \\
&        + \Bv_{\CR} \Bn_{\rm BS}.
\end{aligned}
\end{equation*}

For example, for $\CR=\lbrace 234 \rbrace$ and $\CR=\lbrace 345 \rbrace$, the BS creates the following codewords

\begin{equation*}
\begin{aligned}
\sum\limits_{j \in \lbrace 234 \rbrace }  &\Bv_{\lbrace 234 \rbrace} \By_{\rm BS} \left( \lbrace 234 \rbrace \cup \lbrace 1 \rbrace \backslash \lbrace j \rbrace \right) = \Bv_{\lbrace 234 \rbrace} \By_{\rm BS} (\lbrace 134 \rbrace ) + \\
& \Bv_{\lbrace 234 \rbrace} \By_{\rm BS} (\lbrace 124 \rbrace ) + \Bv_{\lbrace 234 \rbrace} \By_{\rm BS} (\lbrace 123 \rbrace ) = \\
- &  \Bv_{\lbrace 234 \rbrace} \left( \Bh_{2} C_{24} + \Bh_{3} D_{23} + \Bh_{4} B_{34} \right) + \Bv_{\lbrace 234 \rbrace}\Bn_{\rm BS},
\end{aligned}
\end{equation*}

\begin{equation*}
\begin{aligned}
\sum\limits_{j \in \lbrace 345 \rbrace }  &\Bv_{\lbrace 345 \rbrace} \By_{\rm BS} \left( \lbrace 345 \rbrace \cup \lbrace 1 \rbrace \backslash \lbrace j \rbrace \right) = \Bv_{\lbrace 345 \rbrace}  \By_{\rm BS} \left( \lbrace 145 \rbrace \right) + \\
& \Bv_{\lbrace 345 \rbrace}  \By_{\rm BS} \left( \lbrace 135 \rbrace \right) + \Bv_{\lbrace 345 \rbrace}  \By_{\rm BS} \left( \lbrace 134 \rbrace \right) = \\
- &  \Bv_{\lbrace 345 \rbrace} \left( \Bh_{3} D_{35} + \Bh_{4} E_{34} + \Bh_{5} C_{45} \right) + \Bv_{\lbrace 345 \rbrace}\Bn_{\rm BS}.
\end{aligned}
\end{equation*}

As mentioned, during the UL step, there exist $N_{\rm UL} = N_{\rm S} N_{\rm T} = 6$ transmissions, and $Q = \frac{1}{\binom{K}{t} \binom{K-t-1}{L-1}}=\frac{1}{10}$. Hence, as per (<ref>) and Theorem <ref>, the NDT for the UL step is given by:

\begin{equation}
T_{\rm UL} = \frac{N_{\rm UL} }{\binom{K}{t} \binom{K-t-1}{L-1}} = \frac{K-t}{t+L}=\frac{3}{5}.
\end{equation}

2) DL Step:  The DL step is also comprised of $N_{\rm S}=1$ stage with $N_{\rm T}=6$ transmissions. During each transmission, the BS transmits a random superposition of the generated codewords in the sets $\CA$ and $\CB$. To this end, for each $\CQ \subset [5]$ with $\left\vert \CQ \right\vert=t+1$, the BS generate a random vector $\Ba_{\CQ} \in \mathbb{R}^{1 \times N_{\rm T}}$ and transmits the following signal during the transmission $j \in [N_{\rm T}]$.

\begin{equation}
\begin{aligned}
& \Bx_{\mathrm{BS}} (j) = \sum\limits_{\substack{\CQ  \subset [5],  \left\vert \CQ \right\vert=t+1}}  \Ba_{\CQ} [j]  \Bw_{\CQ} f_{\CQ},
\end{aligned}
\end{equation}

where $ f_{\CQ}=\Bv_{\CQ} \Bg_{\CQ} +\Bv_{\CQ} \Bn_{\rm BS}$, and the vectors $\Bg_{\CQ}$ are defined in Table <ref>. Here, we note that for each $\CQ \subset [5]$ with $\left\vert \CQ \right\vert=t+1$, each $f_{\CQ}$ denotes a noisy codeword of size $t+1$ that is created during the UL step.

The Vectors $\Bg_{\CQ}$ for Different Sets of $\CQ$

$\Bg_{\lbrace 123 \rbrace} \! \! = \! \Bh_{1} B_{13} \! + \!  \Bh_{2} C_{12} \! + \! \Bh_{3} A_{23}$      $\Bg_{\lbrace 124 \rbrace} \! \!= \! \Bh_{1} B_{14} \! + \!  \Bh_{2} D_{12} \! + \!  \Bh_{4} A_{24}$

$\Bg_{\lbrace 125 \rbrace} \! \! = \! \Bh_{1} B_{15} \! + \!  \Bh_{2} E_{12} \! + \! \Bh_{5} A_{25}$      $\Bg_{\lbrace 134 \rbrace} \! \!= \! \Bh_{1} C_{14} \! + \!  \Bh_{3} D_{13} \! + \!  \Bh_{4} A_{34}$

$\Bg_{\lbrace 135 \rbrace} \! \! = \! \Bh_{1} C_{15} \! + \!  \Bh_{3} E_{13} \! + \! \Bh_{5} A_{35}$      $\Bg_{\lbrace 145 \rbrace} \! \!= \! \Bh_{1} D_{15} \! + \!  \Bh_{4} E_{14} \! + \!  \Bh_{5} A_{45}$

$\Bg_{\lbrace 234 \rbrace} \! \! = \! -\Bh_{2} C_{24} \! - \!  \Bh_{3} D_{23} \! - \! \Bh_{4} B_{34}$      $\Bg_{\lbrace 235 \rbrace} \! \!= \! - \Bh_{2} C_{25} \! - \!  \Bh_{3} E_{23} \! - \!  \Bh_{5} B_{35}$

$\Bg_{\lbrace 245 \rbrace} \! \! = \! - \Bh_{2} D_{25} \! - \!  \Bh_{4} E_{24} \! - \! \Bh_{5} B_{45}$      $\Bg_{\lbrace 345 \rbrace} \! \!= \! - \Bh_{3} D_{35} \! - \!  \Bh_{4} E_{34} \! - \!  \Bh_{5} C_{45}$

In the proceeding, we demonstrate that each user is able to decode all of its requested subpackets. In this regard, without loss of generality (up to the permutation of users' indices), consider user $1$. Hence, during the DL transmission $j \in [N_{\rm T}],$ by using (<ref>) and applying the ZF precoders, user $1$ receives the signal

\begin{equation}
\label{eq: y 1 j g exmp}
\begin{aligned}
y_{1} (j) &=  \Ba_{\lbrace 123 \rbrace} [j] \Bh_{1}\herm \Bw_{\lbrace 123 \rbrace} f_{\lbrace 123 \rbrace} \! + \!
\Ba_{\lbrace 124 \rbrace} [j] \Bh_{1}\herm \Bw_{\lbrace 124\rbrace} f_{\lbrace 124 \rbrace}\\
&+  \Ba_{\lbrace 125 \rbrace} [j] \Bh_{1}\herm \Bw_{\lbrace 125 \rbrace} f_{\lbrace 125 \rbrace} \! + \!
\Ba_{\lbrace 134 \rbrace} [j] \Bh_{1}\herm \Bw_{\lbrace 134 \rbrace} f_{\lbrace 134 \rbrace} \\
&+  \Ba_{\lbrace 135 \rbrace} [j] \Bh_{1}\herm \Bw_{\lbrace 135 \rbrace} f_{\lbrace 135 \rbrace}
\!  + \! \Ba_{\lbrace 145 \rbrace} [j] \Bh_{1}\herm \Bw_{\lbrace 145 \rbrace} f_{\lbrace 145 \rbrace}\\
& + n_{1}.
\end{aligned}
\end{equation}

User 1 has stored $B_{13}$, $C_{12}$, $B_{14}$, $D_{12}$, $B_{15}$, $E_{12}$ $C_{14}$, $D_{13}$, $C_{15}$, $E_{13}$, $D_{15}$ and $E_{14}$ in its cache memory. Hence, by utilizing Table <ref> and following the same way as in (<ref>)-(<ref>), we remove the interference of the cached contents from (<ref>), which simplifies $y_{1}(j)$ to $\hat{y}_{1} (j)$ as follows

\begin{equation}
\label{eq: y 1 hat j g exmp}
\begin{aligned}
y_{1} (j) &= \Bb_{ \lbrace 23 \rbrace} [j] A_{23}  + \Ba_{\lbrace 123 \rbrace} [j] \Bh_{1}\herm \Bw_{\lbrace 123 \rbrace} \Tilde{n}_{\lbrace 123 \rbrace} \\
& + \Bb_{ \lbrace 24 \rbrace} [j] A_{24}  +  \Ba_{\lbrace 124 \rbrace} [j] \Bh_{1}\herm \Bw_{\lbrace 124 \rbrace} \Tilde{n}_{\lbrace 124 \rbrace} \\
& + \Bb_{ \lbrace 25 \rbrace} [j] A_{25}  +  \Ba_{\lbrace 125 \rbrace} [j] \Bh_{1}\herm \Bw_{\lbrace 125 \rbrace} \Tilde{n}_{\lbrace 125 \rbrace} \\
& + \Bb_{ \lbrace 34 \rbrace} [j] A_{34}  +  \Ba_{\lbrace 134 \rbrace} [j] \Bh_{1}\herm \Bw_{\lbrace 134 \rbrace} \Tilde{n}_{\lbrace 134 \rbrace} \\
& + \Bb_{ \lbrace 35 \rbrace} [j] A_{35}  +  \Ba_{\lbrace 135 \rbrace} [j] \Bh_{1}\herm \Bw_{\lbrace 135 \rbrace} \Tilde{n}_{\lbrace 135 \rbrace} \\
& + \Bb_{ \lbrace 45 \rbrace} [j] A_{45}  +  \Ba_{\lbrace 145 \rbrace} [j] \Bh_{1}\herm \Bw_{\lbrace 145 \rbrace} \Tilde{n}_{\lbrace 145 \rbrace} + n_{1},
%   \Ba_{\lbrace 124 \rbrace} [j] \Bh_{1}^{\rm H} \Bw_{\lbrace 124\rbrace} A_{24}\\
% &+  \Ba_{\lbrace 125 \rbrace} [j] \Bh_{1}^{\rm H} \Bw_{\lbrace 125 \rbrace} A_{25} +
%  \Ba_{\lbrace 134 \rbrace} [j] \Bh_{1}^{\rm H} \Bw_{\lbrace 134 \rbrace} A_{34} \\
%  &+  \Ba_{\lbrace 135 \rbrace} [j] \Bh_{1}^{\rm H} \Bw_{\lbrace 135 \rbrace} A_{35}
%  +  \Ba_{\lbrace 145 \rbrace} [j] \Bh_{1}^{\rm H} \Bw_{\lbrace 145 \rbrace} A_{45}\\
%  & + \Bh^{\perp}_{\lbrace 123 \rbrace} \Bn_{\rm BS} + \Bh^{\perp}_{\lbrace 124 \rbrace} \Bn_{\rm BS} + \Bh^{\perp}_{\lbrace 125 \rbrace} \Bn_{\rm BS} + \Bh^{\perp}_{\lbrace 134 \rbrace} \Bn_{\rm BS}\\
%  & + \Bh^{\perp}_{\lbrace 135 \rbrace} \Bn_{\rm BS} + \Bh^{\perp}_{\lbrace 145 \rbrace} \Bn_{\rm BS}
%  + n_{1}.
\end{aligned}
\end{equation}

where $\Tilde{n}_{\CQ}= \Bv_{\CQ} \Bn_{\rm BS}$ and

\begin{equation}
\begin{aligned}
& \Bb_{ \lbrace 23 \rbrace} [j] =\Ba_{\lbrace 123 \rbrace} [j] \Bv_{\lbrace 123 \rbrace} \Bh_{3} \Bh_{1}\herm \Bw_{\lbrace 123 \rbrace} \\
& \Bb_{ \lbrace 24 \rbrace} [j]= \Ba_{\lbrace 124 \rbrace} [j] \Bv_{\lbrace 124 \rbrace} \Bh_{4} \Bh_{1}\herm \Bw_{\lbrace 124 \rbrace}  \\
& \Bb_{ \lbrace 25 \rbrace} [j]= \Ba_{\lbrace 125 \rbrace} [j] \Bv_{\lbrace 125 \rbrace} \Bh_{5} \Bh_{1}\herm \Bw_{\lbrace 125 \rbrace}  \\
& \Bb_{ \lbrace 34 \rbrace} [j]=  \Ba_{\lbrace 134 \rbrace} [j] \Bv_{\lbrace 134 \rbrace} \Bh_{4} \Bh_{1}\herm \Bw_{\lbrace 134 \rbrace}  \\
& \Bb_{ \lbrace 35 \rbrace} [j]=   \Ba_{\lbrace 135 \rbrace} [j] \Bv_{\lbrace 135 \rbrace} \Bh_{5} \Bh_{1}\herm \Bw_{\lbrace 135 \rbrace}  \\
& \Bb_{ \lbrace 45 \rbrace} [j]=  \Ba_{\lbrace 145 \rbrace} [j] \Bv_{\lbrace 145 \rbrace} \Bh_{5} \Bh_{1}\herm \Bw_{\lbrace 145 \rbrace}.
\end{aligned}
\end{equation}

Here, since $ j \in [N_{\rm T}]$, we have a system of equations with $N_{\rm T}$ equations and $N_{\rm T}$ unknowns. Therefore, by following the same approach as in (<ref>)-(<ref>), user $1$ can recover $A_{23}$, $A_{24}$, $A_{25}$, $A_{34}$, $A_{35}$, and $A_{45}$. Accordingly, these signals are decoded to the set of subpackets, expressed as:

\begin{equation}
\begin{aligned}
\left\lbrace  \hat{W}^{1}_{\CQ \backslash \lbrace 1 \rbrace } : \CQ \subset [5], \left\vert \CQ \right\vert =3, 1 \in \CQ \right\rbrace.
\end{aligned}
\end{equation}

Consequently, user $1$ retrieves $6$ subpackets of its requested file during the DL step, while it has stored $\gamma \binom{K}{t} \binom{K-t-1}{L-1}=4$ subpackets of its requested file before starting the UL-DL steps, and hence, it can decode its requested file $W^{1}$.

For the achievable NDT of the DL step, there are $N_{\rm DL}=N_{\rm S}N_{\rm T} = 6$ transmissions, and  $Q = \frac{1}{\binom{K}{t} \binom{K-t-1}{L-1}}=\frac{1}{10}$. As a result, by using (<ref>) and Theorem <ref>, the NDT for the DL step is obtained as

\begin{equation}
\begin{aligned}
T_{\rm DL} = \frac{N_{\rm DL}}{\binom{K}{t} \binom{K-t-1}{L-1}} = \frac{K-t}{t+L}=\frac{3}{5}.
\end{aligned}
\end{equation}