Rateless Coded Uplink Transmission Design for Multi-User C-RAN

Cloud radio access network (C-RAN) is a promising technology for the Internet of Things (IoT). In C-RAN, the remote radio head (RRH) and baseband unit (BBU) in the conventional base station are separated, and each BBU is backward centralized into a virtual BBU pool. In this paper, we consider the uplink transmission for the two-user C-RAN with two RRHs under a block fading channel. A novel rateless coded transmission scheme is designed. During each transmission round, each user keeps transmitting to the RRHs using Raptor code until the BBU pool feeds back an acknowledgement (ACK). With the proposed scheme, each user does not require the instant channel state information, which greatly reduces the system overhead. We also design the quantizer at the RRHs and the iterative multi-user detector and decoder at the BBU pool, based on the belief propagation (BP) algorithm. For the Raptor code applied at each user, we optimize the corresponding output node degree profile, based on extrinsic information transfer (EXIT) analysis for the decoding process at the BBU pool. The resulted degree profiles are optimal in an average sense under all possible channel states. The simulation results show that the rateless coded transmission scheme with the optimized degree profiles outperforms the benchmark degree profile in both bit error rate and average system throughput. Moreover, the achieved performance is close to the theoretical limit.


Introduction
The Internet of Things (IoT) is the trend of the next generation of communication networks. To achieve the IoT, information collection needs to be completed by massive sensors [1]. The International Data Corporation predicts that by 2020, the number of internet-connected devices in the IoT will grow to 50 billion [2]. The large amount of data generated by sensors and devices will create huge network traffic, which brings great challenges to the traditional wireless access networks. On the other hand, it has been noted in [3][4][5][6] that cloud radio access network (C-RAN) is a promising wireless network architecture which can adapt to the rapidly growing IoT traffic and improve the Quality of Service (QoS).
C-RAN is characterized by the separation of the remote radio head (RRH) and the baseband unit (BBU) of each access point in the network. In C-RAN, each RRH is located closer to the user, while each BBU is backward centralized into a virtual BBU pool. The BBU pool and RRHs are connected by high-speed fronthaul links. Since joint signal processing for multiple RRHs can be realized at the BBU pool, C-RAN can achieve a considerably higher spectrum efficiency compared with the traditional cellular networks, and C-RAN can also improve network resource utilization, reduce interference, and reduce energy consumption and overall hardware costs [7,8].

Contributions
In this paper, we consider the design of a rateless coded transmission scheme for two-user uplink in C-RAN under a block fading channel. It should be noted that in the proposed scheme, instant channel state information (CSI) for each user is not required. For each transmission round, each user encodes its own message using Raptor code with a pre-optimized degree profile which is fixed over all transmission rounds, and simultaneously transmits to the RRHs. Each RRH compresses its received signals and uploads to the BBU pool for joint signal processing. Upon the BBU pool recovering the messages of both users and feeding back an ACK, the current transmission round ends. We summarize the main contributions of this paper as follows: (1) We propose a rateless coded uplink transmission scheme for two-user C-RAN with two RRHs, including the quantizer at each RRH and the iterative multi-user detector and decoder based on the belief propagation (BP) algorithm at the BBU pool.
(2) We resort to extrinsic information transfer (EXIT) to analyze the iterative detecting and decoding process at the BBU pool. Based on this, the condition for successfully decoding is derived. (3) Based on the EXIT analysis, we optimize the degree profiles of the Raptor code for each user.
Explicitly, we search the optimal degree profiles to minimize the threshold signal-to-noise ratio (SNR) under a fixed average Raptor code length and the condition of successfully decoding over all possible channel states. Therefore, the resulted degree profiles are optimal in an average sense over all possible channel states.
Note that compared with the single-user case in [38,39], rateless coded transmission design for multi-user C-RAN uplink is more challenging. Firstly, the receiver structure for a multi-user case is more complicated than for a single-user case, wherein joint de-quantization, multi-user detection and channel decoding should be performed at the BBU pool. Secondly, the rateless code profile optimization scheme for the single-user case cannot be directly adopted here, due to the fact that the EXIT of the decoding process is totally different from the single-user case.
Organization: This paper is organized as follows. In Section 2, we introduce the system model. The rateless coded uplink transmission scheme is presented in Section 3. In Section 4, EXIT analysis and degree profile optimization are discussed. Simulation results are shown in Section 5, and Section 6 concludes the paper.

System Model
The considered uplink C-RAN system is depicted in Figure 1, which consists of two users, two RRHs, and the BBU pool. Both users and both RRHs are equipped with a single antenna. For the wireless link from user i, i = 1, 2, to RRH j, j = 1, 2, the channel gain is denoted as h ji . (2) We resort to extrinsic information transfer (EXIT) to analyze the iterative detecting and decoding process at the BBU pool. Based on this, the condition for successfully decoding is derived. (3) Based on the EXIT analysis, we optimize the degree profiles of the Raptor code for each user.
Explicitly, we search the optimal degree profiles to minimize the threshold signal-to-noise ratio (SNR) under a fixed average Raptor code length and the condition of successfully decoding over all possible channel states. Therefore, the resulted degree profiles are optimal in an average sense over all possible channel states.
Note that compared with the single-user case in [38,39], rateless coded transmission design for multi-user C-RAN uplink is more challenging. Firstly, the receiver structure for a multi-user case is more complicated than for a single-user case, wherein joint de-quantization, multi-user detection and channel decoding should be performed at the BBU pool. Secondly, the rateless code profile optimization scheme for the single-user case cannot be directly adopted here, due to the fact that the EXIT of the decoding process is totally different from the single-user case.
Organization: This paper is organized as follows. In Section 2, we introduce the system model. The rateless coded uplink transmission scheme is presented in Section 3. In Section 4, EXIT analysis and degree profile optimization are discussed. Simulation results are shown in Section 5, and Section 6 concludes the paper.

System Model
The considered uplink C-RAN system is depicted in Figure 1, which consists of two users, two RRHs, and the BBU pool. Both users and both RRHs are equipped with a single antenna. For the wireless link from user , = 1,2, to RRH , = 1,2, the channel gain is denoted as ℎ . We assume that the wireless links experience block fading. The channel gain of each link remains constant during one round of transmission, but independently and randomly changes round by round, satisfying some probability distribution (e.g., Rayleigh distribution). As for the receiver side, the BBU pool has the knowledge of the instant channel gain between each user and RRH. On the other hand, the user is not required to be aware of the instant channel information. During each transmission round, the two users continuously transmit to the BBU pool until the latter recovers the messages and feeds back an ACK. The detailed procedure of each transmission round is as follows.
Firstly, user , = 1,2, encodes its message of length using Raptor code to obtain the coded bits and then modulates the bits into symbols , which are sent to the RRHs. Note that the degree profiles used for Raptor encoding are fixed over all transmission rounds. At each RRH, the received signals are preprocessed into the baseband signals, which can be expressed as  We assume that the wireless links experience block fading. The channel gain of each link remains constant during one round of transmission, but independently and randomly changes round by round, satisfying some probability distribution (e.g., Rayleigh distribution). As for the receiver side, the BBU pool has the knowledge of the instant channel gain between each user and RRH. On the other hand, the user is not required to be aware of the instant channel information. During each transmission round, the two users continuously transmit to the BBU pool until the latter recovers the messages and feeds back an ACK. The detailed procedure of each transmission round is as follows.
Firstly, user i, i = 1, 2, encodes its message m i of length K using Raptor code to obtain the coded bits c i and then modulates the bits into symbols x i , which are sent to the RRHs. Note that the degree profiles used for Raptor encoding are fixed over all transmission rounds. At each RRH, the received signals are preprocessed into the baseband signals, which can be expressed as where y [y 1 , y 2 ] T , H h ji 2×2 , x [x 1 , x 2 ] T , n [n 1 , n 2 ] T , y j , j = 1, 2, is the base band signal at RRH j, P is the transmission power of each user, n j is the independent additive white Gaussian noise at RRH j with a mean of zero and variance of σ 2 0 . Then, RRH j quantizes the baseband signals to meet the fronthaul link capacity restriction. The quantized signalsŷ j are uploaded to the BBU pool through the fronthaul link. At the BBU pool, an iterative receiver structure with a multi-user detector (MU detector) and a channel decoder based on the belief propagation (BP) algorithm is applied. When the messages from both users are successfully recovered, the BBU pool feeds back the ACK via RRHs to inform the users to stop transmitting.

Rateless Coded Uplink Transmission Scheme
In this section, we present the detailed uplink transmission scheme based on rateless code. Firstly, we show the encoding process at the users. Then, the quantization scheme at the RRHs is given. Finally, we propose the iterative detecting and decoding algorithm at the BBU pool.

Rateless Encoder at the User
Each user applies Raptor code to encode its intended messages. Explicitly, to generate the coded bits c i at each user i, the message m i is firstly encoded by LDPC code with rate R p , and then by LT code with an output node degree profile: where d c is the maximum output node degree and Ω i,d is the probability that a coded bit c i (also named 'output bit' in the following) is with degree d.
Each output bit is generated as follows. The degree of each output bit is randomly chosen according to the degree profile (2). For an output bit with degree d, d bits are randomly picked from the LDPC coded message (also named 'input bits' in the following). These d bits are XORed and the result is the value of this output bit. Through the above encoding process, the output bits can be generated infinitely. As for the modulation, for simplicity, we apply binary modulation, i.e., bits 0 and 1 are mapped to 1 and −1, respectively. The users continuously send the modulated signals until an ACK is received.

Scalar Quantizer at the RRH
In order to meet the limited fronthaul capacity, the baseband signal should be compressed at the RRH before being uploaded to the BBU pool. Here, we use a scalar quantizer with uniform quantization intervals. The number of quantization bits is determined by the fronthaul capacity limitation. Due to the concern of practicality, the quantization thresholds only depend on the number of quantization bits and the statistics of the channel gain.
According to (1), the base band signal at RRH j is whose variance is calculated by: where σ 2 ji is the variance of the channel gain from user i to RRH j. According to [40], it can be regarded that the value of y j is almost distributed in the range of −3 D y j , 3 D y j . Let the number of quantization bits be b and M = 2 b . Then, the signal y j at RRH j is quantized intoŷ j according to the following rule: where ∆ j = 3 D(y j ) M is the quantization interval and q jk = −3 D y j + k − 1 2 ∆, k = 1, . . . , M, for the quantizer at RRH j. Figure 2 shows the decoding graph corresponding to the iterative detector and decoder at the BBU pool. Square nodes represent check nodes, and circular nodes represent variable nodes which are also named as input nodes or output nodes, as shown in the figure. The left and right subgraphs in the upper part of the figure represent the Raptor decoding graph for the messages from user 1 and user 2, respectively. The input nodes and output nodes in the Raptor decoding graph represent the corresponding input bits (LDPC coded bits) and output bits (Raptor coded bits), respectively. For simplicity, each output node and the associated LT check node are regarded as a whole and referred to as "output node" in the following. The lower part of the figure is the multi-user detector. LLR a [c i ] and LLR e [c i ] denote the log-likelihood-ratio (LLR) of the output bits of user i exchanged between the MU detector and decoders.  Figure 2 shows the decoding graph corresponding to the iterative detector and decoder at the BBU pool. Square nodes represent check nodes, and circular nodes represent variable nodes which are also named as input nodes or output nodes, as shown in the figure. The left and right subgraphs in the upper part of the figure represent the Raptor decoding graph for the messages from user 1 and user 2, respectively. The input nodes and output nodes in the Raptor decoding graph represent the corresponding input bits (LDPC coded bits) and output bits (Raptor coded bits), respectively. For simplicity, each output node and the associated LT check node are regarded as a whole and referred to as "output node" in the following. The lower part of the figure is the multi-user detector.

Iterative Detecting and Decoding at the BBU Pool
[ ] and [ ] denote the log-likelihood-ratio (LLR) of the output bits of user i exchanged between the MU detector and decoders.  The MU detector calculates the LLRs of the output bits c i of user i, i = 1, 2, according to the quantized signalsŷ 1 andŷ 2 from both RRHs and the soft outputs LLR e [c i ] from the decoders. The LLR of each output bit for user i is calculated by: where P(c i =0) P(c i =1) equals 1, and the value of P(c i =0) P(c i =1) is 1 at the beginning of decoding and equals e LLR e [c i ] during the decoding iteration, in which LLR e [c i ] is the soft output from the Raptor decoder for the other user i' in the previous decoding iteration. Taking the case of i = 1, c i = 0, c i = 1 as an example, the conditional probability P(ŷ 1 ,ŷ 2 c 1 = 0, c 2 = 1) in (6) is calculated as follows. Note that when fixing c i = 0, c i = 1, the received signals y 1 and y 2 at the RRHs are Gaussian distributed. According to (5), we can derive: where the integral range [k 11 , k 12 ] and [k 21 , k 22 ] denote the quantization intervals thatŷ 1 andŷ 2 represent according to (5), respectively. As an example, ifŷ 1 = q 11 , the range for the first integral is −∞, −3 D(y 1 ) + ∆ 1 . The other three conditional probability terms can be calculated similarly.
The iterative detecting and decoding is based on the BP algorithm [41], where 'messages' are interchanged along the edges between variable nodes and check nodes. Each 'message' along the edge is the LLR of the corresponding variable node (representing either the input bits or the output bits), which is connected by this edge. The whole decoding process can be divided into two stages. In the first stage, the decoding iteration is performed on the entire decoding graph (including the MU detector), until the mean LLR of the input nodes of both users exceed a predetermined threshold m th , which is the minimum requirement for successfully decoding the rate R p LDPC precoder and can be derived using the method in [31]. In the second stage, decoding iteration is performed individually on the LDPC decoding graph of each user to remove the residual errors. The detailed procedure of the first decoding stage is given in the following.
For the iteration l, firstly, message passing is performed on the Raptor decoding graph of user 1, which is shown in step 1 to step 6.
Step 1: The message transferred from an input node i to an LDPC check node c is given by: where m (l−1) oi is the message from the LT output node of user 1 to the input node in the previous round l − 1.
Step 2: The message from an LDPC check node c to an input node i is given by: where m (l) i c is the message from the input nodes which are connected to the LDPC check node c (except the input node i itself).
Step 3: The message from an input node i to an LT output node o is: where the first summation is over all LT output nodes adjacent to i other than o itself, and the second summation is over all LDPC check nodes connected to i.
Step 4: The message from an LT output node o to an input node i is given by: where z = LLR a [c 1 ] is the message from the MU detector and is calculated by (6), and the product is over all input symbols adjacent to o other than i itself.
Step 5: LLR e [c 1 ] transferred to the MU detector is given by: Step 6: Update the message at the input code: Then, a similar decoding procedure is performed on the Raptor decoding graph of user 2, and after that, one decoder iteration is completed.
When the mean LLR of the input nodes of both users (as given in (13)) exceeds m th , the second stage starts and message exchange will be individually performed on the LDPC decoding graph of each user. The specific process of this stage is similar to Step 1 to Step 2, and is omitted here. Figure 3 is the flow chart of the decoding procedure.
Step 6: Update the message at the input code: Then, a similar decoding procedure is performed on the Raptor decoding graph of user 2, and after that, one decoder iteration is completed.
When the mean LLR of the input nodes of both users (as given in (13)) exceeds ℎ , the second stage starts and message exchange will be individually performed on the LDPC decoding graph of each user. The specific process of this stage is similar to Step 1 to Step 2, and is omitted here. Figure  3 is the flow chart of the decoding procedure.

Decoding Performance Analysis and Degree Profile Design
In this section, we optimize the output degree profile of the Raptor code used by each user to further improve the achieved sum throughput of the system. Note that we assume that each user is not aware of the instantaneous CSI. Hence, it can only be assigned one optimized output degree profile, which is used to generate Raptor code during all rounds of transmission. Therefore, the objective is to find a universally good output degree profile in an average sense for each user under all possible channel states, with the knowledge of CSI statistics, i.e., the probability distribution of the channel state for each link.

Decoding Performance Analysis and Degree Profile Design
In this section, we optimize the output degree profile of the Raptor code used by each user to further improve the achieved sum throughput of the system. Note that we assume that each user is not aware of the instantaneous CSI. Hence, it can only be assigned one optimized output degree profile, which is used to generate Raptor code during all rounds of transmission. Therefore, the objective is to find a universally good output degree profile in an average sense for each user under all possible channel states, with the knowledge of CSI statistics, i.e., the probability distribution of the channel state for each link.

EXIT Analysis of the Decoding Process
Before the degree profile optimization, we first analyze the decoding process at the BBU pool to derive the successful decoding condition. The analysis is based on EXIT [42]. Explicitly, we trace the update of the extrinsic information (EI) transferred between output nodes and input nodes in the decoding graph during the decoding iterations.
EI is defined as the mutual information between the LLR messages and the corresponding bits (i.e., input bits and output bits in this paper). It can be assumed that the LLR messages interchanged between the variable nodes and check nodes are symmetrically Gaussian distributed [42]. EI carried by LLR messages with a mean of τ and a variance of 2τ is given by [42]: Before the EXIT analysis, some definitions are given first. Recall the decoding graph in Figure 2. The LDPC variable node degree distribution is defined as ξ(x) = where α i,d is the probability of an edge connected to an input node with degree d. Both α i (x) and α i (x) can be approximated by the Poisson distribution with an average of α i [43]. The output node edge distribution of user i is defined as where ω i,d represents the probability of an edge connected to the output node with degree d. The relationship between ω i (x) and the output node degree distribution Ω i (x) given in (2) is given below: For ease of reading, we summarize the aforementioned definitions in Table 1, wherein i = 1, 2. As shown in Figure 4, we redraw the decoding graph of Figure 2 for a clearer illustration of the EI update procedure between each node during the decoding process. The EI update during the decoding iteration is given in the following, which corresponds to the decoding process given in Section 3.3. For the lth iteration of the first stage decoding, firstly EI is exchanged on the Raptor decoding graph of user 1, i.e., on the upper part of Figure 3: Step 1: The LLR messages are transferred from user 1's input nodes to the LDPC check nodes. The EI of the messages is: where 1, ( −1) is the EI of the messages from the output nodes to the input nodes in the ( − 1)th iteration.
Step 2: EI from the LDPC check nodes to the input nodes of user 1 is: Step 3: EI from user 1's input nodes to the output nodes is: Step 4: EI from the output nodes of user 1 to the input nodes: 1, where 1 ( 2 ( −1) ; ) is the EI of the messages from the MU detector. Its value is determined by the channel matrix and the EI 2 ( −1) corresponding to the messages from the output nodes of user 2 in the ( − 1)th iteration. The derivation of 1 will be discussed later.
Step 5: EI from LT output nodes of user 1 to the MU detector: The EI update on the Raptor decoding graph of user 2 is similar, which is omitted here. In step 4, 1 ( 2 ; ) is the output EI from the detector. The input EI is 2 , which is the EI from the LT output node of user 2 to the detector. This function can be numerically derived by Monte Carlo simulations [44]. In detail, transmitted symbols 1 and 2 of user 1 and user 2 are generated, respectively. For user 1, the symbol value is fixed to be 1, while for user 2, the symbol value is randomly 1 or −1. With randomly generated Gaussian noise samples, samples of quantized signals from each RRH can be generated. For each fixed 2 , we generate samples of [ 2 ] from the symmetric Gaussian distribution with mean τ and −τ, depending on the corresponding 2 being either +1 or −1, respectively, where τ is calculated from (14). Then, For the lth iteration of the first stage decoding, firstly EI is exchanged on the Raptor decoding graph of user 1, i.e., on the upper part of Figure 3: Step 1: The LLR messages are transferred from user 1 s input nodes to the LDPC check nodes. The EI of the messages is: where x (l−1) 1,u is the EI of the messages from the output nodes to the input nodes in the (l − 1)th iteration.
Step 2: EI from the LDPC check nodes to the input nodes of user 1 is: Step 3: EI from user 1's input nodes to the output nodes is: Step 4: EI from the output nodes of user 1 to the input nodes: where I DET1 I (l−1) out2 ; H is the EI of the messages from the MU detector. Its value is determined by the channel matrix H and the EI I (l−1) out2 corresponding to the messages from the output nodes of user 2 in the (l − 1)th iteration. The derivation of I DET1 will be discussed later.
Step 5: EI from LT output nodes of user 1 to the MU detector: The EI update on the Raptor decoding graph of user 2 is similar, which is omitted here. In step 4, I DET1 (I out2 ; H) is the output EI from the detector. The input EI is I out2 , which is the EI from the LT output node of user 2 to the detector. This function can be numerically derived by Monte Carlo simulations [44]. In detail, N mont transmitted symbols x 1 and x 2 of user 1 and user 2 are generated, respectively. For user 1, the symbol value is fixed to be 1, while for user 2, the symbol value is randomly 1 or −1. With randomly generated Gaussian noise samples, N mont samples of quantized signals from each RRH can be generated. For each fixed I out2 , we generate N mont samples of LLR e [c 2 ] from the symmetric Gaussian distribution with mean τ and −τ, depending on the corresponding x 2 being either +1 or −1, respectively, where τ is calculated from (14). Then, N mont samples of LLR a [c 1 ] can be generated. I DET1 is evaluated using the histogram for the probability distribution of LLR a [c 1 ]. According to the results of Monte Carlo simulations, we find that under fixed H, I DET1 can be well approximated by a linear function: where a and b are coefficients which can be determined by two end points of the line, i.e., I DET1 (0; H) = I(x 1 ;ŷ 1 ,ŷ 2 ) and I DET1 (1; H) = I(x 2 ;ŷ 1 ,ŷ 2 x 1 ) . Figure 4 shows an example where SNR = P σ 0 = −2dB, the number of quantization bits at the RRH is eight, three channel matrices H where and are coefficients which can be determined by two end points of the line, i.e.,  With step 1 to step 5 shown in the above, we can trace the update of , ( ) in each decoding iteration (recalling that , ( ) is the EI from the output nodes to the input nodes of user i). To guarantee the successful decoding at the second decoding stage which is individually performed on the LDPC subgraph, , ( ) should exceed a certain threshold before the maximal decoding iteration times.
Therefore, we derive the successful decoding condition: , ( ′ ) > , ℎ , where ′ is the maximal decoding iteration times. Here, the threshold EI , ℎ can be calculated from the following equation (recalling that ℎ is the minimal LLR required for LDPC successful decoding):

Degree Profile Optimization
With the above EXIT analysis, we optimize the degree profile of the Raptor code adopted at each user. The task is to find a uniformly good output degree profile for each user under all possible channel states, with the knowledge of the probability distribution of each channel state.
Recall that the channel matrix remains invariant within each round of transmission and varies independently round by round. For each round, both users continuously transmit the Raptor codeword until the BBU pool decodes both messages successfully. Hence, the length of the Raptor codeword for each user is related to the channel matrix in each round, which can be expressed as: With step 1 to step 5 shown in the above, we can trace the update of x (l) i,u in each decoding iteration (recalling that x (l) i,u is the EI from the output nodes to the input nodes of user i). To guarantee the successful decoding at the second decoding stage which is individually performed on the LDPC subgraph, x (l) i,u should exceed a certain threshold before the maximal decoding iteration times. Therefore, we derive the successful decoding condition: where l is the maximal decoding iteration times. Here, the threshold EI x th i,u can be calculated from the following equation (recalling that m th is the minimal LLR required for LDPC successful decoding):

Degree Profile Optimization
With the above EXIT analysis, we optimize the degree profile of the Raptor code adopted at each user. The task is to find a uniformly good output degree profile for each user under all possible channel states, with the knowledge of the probability distribution of each channel state.
Recall that the channel matrix H remains invariant within each round of transmission and varies independently round by round. For each round, both users continuously transmit the Raptor codeword until the BBU pool decodes both messages successfully. Hence, the length of the Raptor codeword for each user is related to the channel matrix H in each round, which can be expressed as: where α (i) (H) is the average degree of the LT input nodes for user i under channel matrix H. Note that during each round of transmission, the two users start and stop transmitting simultaneously, therefore we have L 1 (H) = L 2 (H) L(H).
In general, the channel matrix space is continuous. In practice, we discretize the space into Q states: H q , q = 1, . . . , Q. The probability of each state is denoted as Pr H q . The average Raptor code length over all Q channel states can be expressed as: Apparently, E L H q = E L 1 H q = E L 2 H q .We can approximate α i H q as , where α i,0 is a constant and is independent of the channel matrix.
C i H q , P is the theoretically maximal achievable rate of user i with transmit power P under channel matrix H q . C i H q , P can be calculated as follows.
According to (1), the two-user C-RAN can be regarded as a two-user multiple-input-multiple output (MIMO) system with two antennas at the receiver. Note that to be precise, the latter is the ideal case of the former wherein the quantization error at RRHs is ignored. The capacity region of the two-user MIMO system is depicted in Figure 6, and can be expressed as: where R 1 and R 2 denote the achievable rates of user 1 and user 2, respectively. The derivation of each entropy term is not difficult, thus it is omitted here. Note that in our setting, both users have the same message length and transmit simultaneously (i.e., the times of channel usage for both users are the same). Therefore, the achievable rates of the two users are always the same. The maximal achievable rate for both users should be the intersection point of the line R 1 = R 2 and the capacity region boundary, which is given by where B 1 , B 2 B 2 and B 12 are the right-hand sides of (25), (26) and (27), respectively. same message length and transmit simultaneously (i.e., the times of channel usage for both users are the same). Therefore, the achievable rates of the two users are always the same. The maximal achievable rate for both users should be the intersection point of the line 1 = 2 and the capacity region boundary, which is given by 1 ( , ) = 2 ( , ) = ( , ) ≜ max (min ( 1 , 2 , 1 2 12 )), where 1 , 2 2 and 12 are the right-hand sides of (25), (26) and (27), respectively. Note that the average network throughput can be expressed as = E{ ( )} . Thus, it is inverse to the average Raptor code length of each user. Our optimization object is to find the optimal degree profile that minimizes the average code length while guaranteeing successful decoding at the BBU Figure 6. Capacity region of the two-user MIMO system.
Note that the average network throughput can be expressed as T = K E L(H q ) . Thus, it is inverse to the average Raptor code length of each user. Our optimization object is to find the optimal degree profile that minimizes the average code length while guaranteeing successful decoding at the BBU pool under all possible channel states. However, this problem is difficult to solve and the linear programming method in [39] cannot be applied here. We transform the original optimization problem. Instead, we minimize the required SNR for successfully decoding with a fixed average code length.
Note that a similar technique has been used in the AWGN case for a multiple access relay channel [44]. In our problem, the fixed average code length is derived as a lower bound of the code length for each user to successfully deliver a message of length K, as given below: Pr H q C −1 H q , P .
The optimization problem is given as follows: In the above problem, C2 is the starting condition for BP decoding, where ε is a small number. C3 guarantees successful decoding with the average input node degree α i H q and degree profiles ω i,d under all channel states, where l' is the maximal decoding iteration times. C4 is from (24) and (29), i.e., the average code length is fixed to L. We solve the above optimization using the differential evolution (DE) method [46]. The common DE includes mutation, crossover and selection operations. The procedure is as follows: (1) Initialization: We first initialize the vector population ω a (0) a = 1, 2, . . . , NP as the 0th generation, where each vector individual ω a (0) ω a,1 (0), ω a,2 (0), . . . , ω a,d c (0) represents one degree profile, and NP is the number of individuals. ω a,b (0) represents the coefficient for degree b in the profile, and dc is the maximal degree. ω a (0) should satisfy the conditions of C1 and C2 in the problem (30).
(2) Mutation: For the Gth generation, the mutation vector of the next generation can be generated by v a (G + 1) = ω r 1 (G) + F·(ω r 2 (G) − ω r 3 (G)), a r 1 r 2 r 3 , a = 1, . . . , NP, where F ∈ (0, 1] is a scaling factor (we choose F = 0.5 in this paper), and r 1 , r 2 and r 3 are random integers between 1 and NP. (3) Crossover: Cross ω a (G) and v a (G + 1) to get (where a = 1, 2, . . . , NP, b = 1, . . . , d c ): where CR is the crossing probability (we choose CR = 0.5 in this paper) and b rand ∈ [1, . . . , d c ] is a random integer. (4) Selection: We select individuals for the next generation by (where a = 1, 2, . . . , NP): where the value of function F(·) stands for the threshold SNR P th /σ 2 0 for successful decoding. If the minimal P th /σ 2 0 does not change within a certain number of iterations, the algorithm ends. The degree profile corresponding to the smallest P th /σ 2 0 is selected as the optimal edge degree profile ω i,d . Finally, according to (15), the optimal output node degree distributions Ω i,opt (x) are derived.

Simulation Results
In this section, we simulate the bit error rate (BER) and the achieved throughput of the proposed transmission scheme. In the simulation, we consider the scenario where two users in C-RAN are located within the coverage of two RRHs. The SNR is defined as the ratio of the user-transmitted power P to the Gaussian noise variance σ 2 0 at each RRH. We assume that the channel matrix H has three states with equal probability: H 1 = Two cases for the quantizer at the RRHs are considered, wherein the number of quantization bits are three and eight, respectively. Apparently, the latter case generates more fronthaul traffic than the former. We assume that the length of message for each user is K = 9500 bits, that both users adopt the same LDPC code with R p = 0.95 and that the decoding threshold for the LDPC code is derived as m th = 13.6359.
(1) BER performance Firstly, we simulate the error performance of the proposed scheme versus the decoding overhead under each of the channel states H 1 , H 2 and H 3 , respectively. We fix P = 0.84 and σ 2 0 = 1.2 2 . The decoding overhead is defined as overhead = C(H q ,P)·N K − 1, where C H q , P is the theoretical upper bound of the achievable rate of the user (recalling (30)), N is the actual transmitted code length. A larger overhead means a longer code length N and a lower achieved rate. The overhead of value 1 can serve as the theoretical limit. We optimize the degree profile for each user using the scheme proposed in Section 4.2. The resulted profiles are as follows: When an eight-bit quantizer is adopted at each RRH, the optimized degree profiles for the two users are denoted as Ω 1,opt,8−bit (x) and Ω 2,opt,8−bit (x): 20 , Ω 2,opt,8−bit (x) = 0.0121x 1 + 0.4011x 2 + 0.2808x 3 + 0.1564x 6 + 0.0401x 7 + 0.1004x 18 + 0.0090x 19 .
As for comparisons, we also simulate the performance of the degree profile Ω BEC (x) (which is optimal under binary erasure channel (BEC) [43]): Ω BEC (x) = 0.0008x + 0.494x 2 + 0.166x 3 + 0.073x 4 + 0.083x 5 + 0.056x 8 + 0.037x 9 + 0.056x 19 + 0.025x 65 + 0.003x 66 , for both three-bit and eight-bit cases. In Figure 7, the three subfigures (a), (b) and (c) show the BER performance of the optimized profiles and BEC profile under channel matrices H 1 , H 2 and H 3 , respectively. Interestingly, although the degree profiles are optimized to improve the average performance under the three channel states, they still perform well under each channel state. For both three-bit and eight-bit cases, the optimized profiles achieve a BER under 10 −4 at a smaller overhead compared with the BEC profile. It is also observed that the eight-bit quantizer case has a lower BER compared with the three-bit quantizer case, which verifies the fact that a quantizer with less quantization bits introduces larger quantization noise. Finally, it can be seen that under all the three channel states, the optimized profile under the eight-bit case achieves 10 −4 BER at an overhead of less than 1.14, which is close to the theoretical limit (which ignores the quantization noise), i.e., overhead = 1.
degree profile achieves a higher throughput compared with the BEC profile. The performance of the eight-bit quantization case with the optimized degree profiles is within only 11% away from the theoretical limit. Here, the theoretical limit is the upper bound of the average theoretically achievable sum rate, which is calculated by   (2) Throughout performance We simulate the average sum throughput under different SNRs. We fix σ 2 0 = 1.2 2 but change the transmission power P for different SNRs. For each SNR, we optimize the degree profiles of the two users for both three-bit and eight-bit quantizer cases. Figure 8 shows the simulation results. For each point in the figure, we simulate 100 rounds of transmission, and the channel matrix is uniformly and randomly chosen from H 1 , H 2 and H 3 in each round. As can be seen in Figure 7, the optimized degree profile achieves a higher throughput compared with the BEC profile. The performance of the eight-bit quantization case with the optimized degree profiles is within only 11% away from the theoretical limit. Here, the theoretical limit is the upper bound of the average theoretically achievable sum rate, which is calculated by (c)

Conclusions
We considered the rateless coded transmission scheme for two-user uplink in C-RAN with two RRHs under a block fading channel. In the proposed scheme, both users keep transmitting until the BBU pool feeds back ACKs, where instant CSI is not required by the users. We also proposed a scheme to find the universally good degree profiles for both users under all possible channel states, with only statistics information of the channel matrix. In detail, the degree profiles are optimized to minimize the threshold SNR under the conditions that the average code length is fixed and the message of each user can be correctly recovered at the BBU pool in all possible channel states. It can be seen from the simulation that the optimized degree profiles have better performance for both BER and system throughput, compared with the BEC profile. Moreover, the achieved throughput has only about 11% loss from the theoretical limit.
Note that although only a two-user case is considered in this paper, the extension to the multiuser case is not difficult. One can simply extend the iterative receiver structure in Figure 2, where the output LLR of the MU detector can be calculated accordingly. Using EXIT analysis, the degree profile optimization problem can also be formulated, and DE can be applied.

Conclusions
We considered the rateless coded transmission scheme for two-user uplink in C-RAN with two RRHs under a block fading channel. In the proposed scheme, both users keep transmitting until the BBU pool feeds back ACKs, where instant CSI is not required by the users. We also proposed a scheme to find the universally good degree profiles for both users under all possible channel states, with only statistics information of the channel matrix. In detail, the degree profiles are optimized to minimize the threshold SNR under the conditions that the average code length is fixed and the message of each user can be correctly recovered at the BBU pool in all possible channel states. It can be seen from the simulation that the optimized degree profiles have better performance for both BER and system throughput, compared with the BEC profile. Moreover, the achieved throughput has only about 11% loss from the theoretical limit.
Note that although only a two-user case is considered in this paper, the extension to the multi-user case is not difficult. One can simply extend the iterative receiver structure in Figure 2, where the output LLR of the MU detector can be calculated accordingly. Using EXIT analysis, the degree profile optimization problem can also be formulated, and DE can be applied.