Rateless Space-Time Block Codes for 5G Wireless Communication Systems

This chapter presents a rateless space-time block code (RSTBC) for massive multiple-input multiple-output (MIMO) wireless communication systems. We discuss the principles of rateless coding compared to the fixed-rate channel codes. A literature review of rateless codes (RCs) is also addressed. Furthermore, the chapter illustrates the basis of RSTBC deployments in massive MIMO transmissions over lossy wireless channels. In such channels, data may be lost or are not decodable at the receiver end due to a variety of factors such as channel losses or pilot contamination. Massive MIMO is a breakthrough wireless transmission technique proposed for future wireless standards due to its spectrum and energy efficiencies. We show that RSTBC guarantees the reliability of the system in such highly lossy channels. Moreover, pilot contamination (PC) constitutes a particularly significant impairment in reciprocity-based multi-cell systems. PC results from the non-orthogonality of the pilot sequences in different cells. In this chapter, RSTBC is also employed in the downlink transmission of a multi-cell massive MIMO system to mitigate the effects of signal-to-interference-and-noise ratio (SINR) degradation resulting from PC. We conclude that RSTBC can effectively mitigate such interference. Hence, RSTBC is a strong candidate for the upcoming 5G wireless communication systems.


Introduction
In practice, the transmitted data over the channel are usually affected by noise, interference, and fading. Several channel models, such as additive white Gaussian noise (AWGN), binary symmetrical channel (BSC), binary erasure channel (BECH), wireless fading channel, and

Concept of rateless codes
Rateless codes (RCs) are channel codes used for encoding data to generate incremental redundancy codes and then, are transmitted over channels with variable packet error rate. The interpretation of the terminology "rateless" is that the code does not fix its code rate before transmission. Rather, it can only be determined after correctly recovering the transmitted data. In the available literature, the rateless code is typically referred to by some associated terminologies such as "variable-rate," "rate-compatible," "adaptive-rate," or "incremental redundancy" scheme [4]. However, the rate of a rateless code can be considered in two perspectives as the instantaneous rate and the effective rate. The instantaneous rate is the ratio of the number of information bits to the total number of bits transmitted at a specific instant. On the other hand, the effective rate is the rate realized at the specific point when the codeword has been successfully received [5].
The counterpart of rateless coding is fixed-rate coding, which is basically well known in the literature of channel codes. The relationship between rateless and fixed-rate channel codes can be seen as the correspondence between continuous and discrete signals or the construction of a video clip from video frames. In this illustrating analogy, the fixed-rate code corresponds to the discrete signal or to the video frame, while the rateless code is viewed as the continuous signal or the video clip [5]. Basically, rateless codes are proposed to solve the problem of data packet losses. They can continuously generate potentially unlimited number of data streams until an acknowledgment from the receiver is received declaring successful decoding.
The basic concept of rateless codes is illustrated in Figure 1 [1]. From the figure, a total of k c packets, obtained from the fragmented source data, are encoded by the transmitter to get a large number of encoded packets n c . Due to the lossy channel, several encoded packets are lost during the transmission, and finally, only r c encoded packets are collected by the receiver. The decoding process on the received packets should be able to recover all original k c packets.
To illustrate the importance of rateless codes, let's assume that we have a fixed-rate code C fixed of fixed-code rate R fixed designed to achieve a performance close to the channel capacity target C target at a specific signal-to-noise-ratio (SNR), ϕ fixed . However, the channel fluctuations make the fixed-rate code impose two limitations [1]. First, if the actual SNR at the receiver is actually greater than ϕ fixed , then the code essentially becomes an inefficient channel code. That is because the code incorporates more redundancy than the actual channel conditions require. Second, on the other hand, if the actual SNR becomes lower than ϕ fixed , then the channel will be in an outage for the reason that the fixed-rate code C fixed no longer provides sufficient redundancy appropriate for the actual channel conditions. Contrasting with fixed-rate code, the rateless code has a flexible code rate in accordance with the channel quality, which is time varying in nature. Another benefit of RCs is that they potentially do not require the channel state information (CSI) at the transmitter. This property is of particular importance in the design of codes for wireless channels. In particular, RCs can be employed in multi-cell cellular systems when channel estimation errors severely degrade the performance.

Rateless coding and hybrid automatic retransmission query
For further discussion, there is an analogy between hybrid ARQ (HARQ) and rateless codes, since they transmit additional symbols until the received information is successfully decoded. On the other hand, they do have some differences. HARQ refers to a special transmission  mechanism, which combines the conventional ARQ principle with error control coding. The basic three ARQ protocols are stop-and-wait ARQ, go-back-N ARQ, and selective repeat ARQ. All the three ARQ protocols use the sliding window protocol to inform the transmitter on which data frames or symbols should be retransmitted. Figure 2 illustrates the ARQ schemes: stop-and-wait ARQ (half duplex), continuous ARQ with pullback (full duplex), and continuous ARQ with selective repeat (full duplex). In each of them, time is advancing from lift to right [6].
These protocols reside in the data link or transport layers of the open systems interconnection (OSI) model. This is one difference between the proposed RSTBC and HARQ, since RSTBC is employed in the physical layer. Comparing rateless codes to HARQ, we summarize the following points: 1. RC is often viewed as a form of continuous incremental redundancy HARQ in the literature [5].

2.
HARQ is not capable of working over the entire SNR range, and therefore, it necessitates combination with some form of adaptive modulation and coding (AMC). On the other hand, RC can entirely eliminate AMC and work over a wide range of SNR [7].

3.
From the point of view of redundancy, HARQ has more redundancy, since it requires many acknowledgments (ACK) or negative acknowledgments (NACK) for each packet transmission return to show successful/unsuccessful decoding, respectively. In contrast, only a single-bit acknowledgment is needed for the transmission of a message with RC [8]. When the number of receivers is large, ARQ acknowledgments may cause significant delays and bandwidth consumption. Consequently, using ARQ for wireless broadcast is not scalable [9].

4.
It was seen in [8] that RC is capable of outperforming ARQ completely at low SNRs in broadcast communication. However, they behave the same in point to point as well as in high-SNR broadcast communications.

5.
RC and the basic ARQ differ in code construction. RCs can generate different redundant blocks, while ARQ merely retransmits the same block [8]. For different receivers, distinct and independent errors are often encountered. In such cases, the merely retransmitted data packets are only useful to a specific user while they are with no value for others. Hence, it is highly undesirable to send respective erroneous data frames or symbols to each user.

6.
The physical layer RCs are useful since the decoder can exploit useful information from packets that are dropped by ARQ protocols in higher layers [7].

Rateless codes' literature review
In the past decade, rateless codes have gained a lot of concerns in both communication and information theory research communities, which led to the strong theory behind these codes mostly for erasure channels. Most of the available works in the rateless codes literature are extensions of the fountain codes over the erasure channels [10]. The name "fountain" came from the analogy to a water supply capable of giving an unlimited number of water drops. Due to this reason, rateless codes are also referred to as fountain codes. They were initially developed to achieve efficient transmission in erasure channels, to which the initial work on rateless codes has mainly been limited, with the primary application in multimedia video streaming [10].
The first practical class of rateless codes is the Luby Transform (LT) code which was originally intended to be used for recovering packets that are lost (erased) during transmission over computer networks. The fundamentals of LT are introduced in [11] in which the code is rateless since the number of encoded packets that can be generated from the original packets is potentially limitless. Figure 3 illustrates the block diagram of LT encoder. The original packets can be generated from slightly larger encoded packets. Although the encoding process of LT is quite simple, however, LT requires the proper design of the degree distribution (Soliton distribution-based) which significantly affects the performance of the code.
Afterward, LT code was extended to the well-known Raptor code [12] by appending a weak LT encoder with an outer pre-code such as the irregular low-density parity check code (LDPC). Figure 4 depicts the general block diagram of Raptor code.
The decoding algorithm of the Raptor code depends on the decoder of the LT code and the pre-code used. However, the Raptor code requires lesser overhead. But it has disadvantages such as the lower bound of the total overhead depends on the outer code and the decoding algorithm implementation is slightly more complicated due to multiple decoding processes.
Online codes [13] also belong to the family of fountain rateless codes and work based on two layers of packet processing (inner and outer). However, in contrast to the LT and Raptor codes, online codes have more encoding and decoding complexity as a function of the block length. The overall design of the online code is shown in Figure 5. LT and Raptor codes were originally intended to be used for transmission over the BEC channel such as Internet channel, where the transmitted packets are erased by routers along the path.   On the other hand, some works have studied their performance on noisy channels such as BSC and AWGN channels [14]. Although it was demonstrated that the Raptor codes have better performance on a wide variety of noisy channels than LT codes, however, both schemes exhibit high error floors in such channels. The previous rateless codes have fixed-degree distribution, which causes degradation in performance when employing over noisy channels.
Motivated by this result, a reconfigurable rateless code was introduced in [5] which adaptively can modify its encoding/decoding algorithms by adjusting its degree distribution incrementally according to the channel conditions. Such code is not systematic and remains fixed if no new knowledge of channel condition is obtained from feedback. By dropping this assumption, as in [15], the significant overhead reduction can be achieved while still maintaining the same encoding and decoding complexities. In addition, the effective code rate of [5] is actually determined by the decoder, not the encoder.
In another perspective, the use of rateless codes in the physical layer can be beneficial since the decoder can exploit useful information even from packets that cannot be correctly decoded and therefore are ignored by higher layers [7]. A construction of physical-layer Raptor codes based on protographs was proposed in [16].
Other works of rateless coding over the AWGN channel were provided in [17,18]. For wireless channels, rateless code paradigm was found in many works. In [19], a rateless coding scheme based on traditional Raptor code is introduced in a single-input single-output (SISO) system over fading channels. A similar approach is presented in [20] by the same authors for relay networks. The authors in [21] have considered one of the latest works of rateless coding over wireless channels. They tackle the high error floor problem arising from the low-density generator matrix (LDGM)-like encoding scheme in conventional rateless codes.
While there are significant works on rateless codes for AWGN channels, few work exists on rateless codes for MIMO systems. Rateless codes for MIMO channels were introduced in [22], where two rateless code constructions were developed. The first one was based on simple layering over an AWGN channel. The second construction used a diagonal layering structure over a particular time-varying scalar channel. However, the latter is merely concatenating a rateless code (outer code) using dithered repetition with the vertical Bell Labs layered spacetime (V-BLAST) code (inner code) [23].
Away from digital fountain codes, discussed so far, performance limits and code construction of block-wise rateless coding for conventional MIMO fading channels are studied in [24]. The authors have used the diversity multiplexing tradeoff (DMT) as a performance metric [25]. Also, they have demonstrated that the design principle of rateless codes follows the approximately universal codes [26] over MIMO channels. In addition, simple rateless codes that are DMT optimal for a SISO channel have also been examined. However, [24] considered the whole MIMO channel as parallel sub-channels, in which each sub-channel is a MIMO channel. Furthermore, for each block, the code construction of symbols within the redundant block is not discussed. Hence, more investigation of other performance metrics for the scheme proposed in [24] under different channel scenarios is required. In [27], a cognitive radio network employs rateless coding along with queuing theory to maximize the capacity of the secondary user while achieving primary users' delay requirement. Furthermore, [28] presents a novel framework of opportunistic beam-forming employing rateless code in multiuser MIMO downlink to provide faster and high quality of service (QoS) wireless services.

Rateless codes applications
There are various applications of rateless codes: • Video streaming over the Internet and packet-based wireless networks: The application of rateless codes to video streaming was initially proposed for multimedia broadcast multicast system (MBMS) standard of the 3GPP [29,30].
• Broadcasting has been extensively used in wireless networks to distribute information of universal attention, for example, safety warning messages, emergency information, and weather information, to a large number of users [31,32]. Rateless coding has been utilized in the 3GPP's Release 6 multimedia broadcast/multicast service (MBMS) [33].
• Wearable wireless networks: A wearable body area network (WBAN) is an emerging technology that is developed for wearable monitoring application. Wireless sensor networks are usually considered one of the technological foundations of ambient intelligence. Agile, low-cost, ultra-low power networks of sensors can collect a massive amount of valuable information from the surrounding environment [34,35]. Wireless sensor network (WSN) technologies are considered one of the key research areas in computer science and the health-care application industries for improving the quality of life. A block-based scheme of rateless channel erasure coding was proposed in [36] to reduce the impact of wireless channel errors on the augmented reality (AR) video streams, while also reducing energy consumption.

Motivation to rateless space-time coding
According to literature survey, there is not enough research work yet on rateless space-time codes (STCs), even for the regular MIMO systems. Few works in rateless STCs are available such as [37,38]. In [37], a rateless coding scheme was introduced for the AWGN channel, using layering, repetition and random dithering. The authors also extended their work to multiple-input single-output (MISO) Gaussian channels where the MISO channel is converted to parallel AWGN channels. In [38], the performance of MIMO radio link is improved by a rate-varying STC under a high-mobility communication system. Rateless coding can be extended to space-time block codes (STBCs), where the coding process is performed blockwise over time and space. The main advantage of STBCs is that they can provide full diversity gain with relatively simple encoding and decoding schemes. Unlike the conventional fixedrate STBC, rateless STBC is designed such that the code rate is not fixed before transmission. Instead, it depends on the instantaneous channel conditions.
Incorporating RSTBC in massive MIMO systems is reasonable and very attractive, since rateless coding is based on generating a massive number of encoded blocks, and massive MIMO technique uses a large number of antenna elements. Motivated by such fact, in this chapter, a new approach has been developed to fill the gap between rateless STCs and massive MIMO systems by exploiting significant degrees of freedom available in massive MIMO systems for rateless coding. The contribution of RSTBC is to convert lossy massive MIMO channels into lossless ones and provide a reliable robust transmission when very large MIMO dimensions are used.

Rateless space-time block code for massive MIMO systems
Massive MIMO wireless communication systems have been targeted for deployment in the fifth-generation (5G) cellular standards, to enhance the wireless capacity and communication reliability [39] fundamentally. In massive MIMO systems, a large number of antennas, possibly hundreds or even thousands, work together to deliver big data to the end users. Despite the significant enhancement in capacity and/or link quality offered by MIMO systems and space-time codes (STCs) [40,41], it has been shown recently that massive MIMO can even improve the performance of MIMO systems dramatically. This has prompted a lot of research works on massive MIMO systems lately.
In this section, we illustrate the mechanism of rateless space-time block code (RSTBC) in a massive MIMO system, as we have addressed in [42][43][44][45]. Figure 6 shows simply the encoding and decoding processes, where a part of the encoded packets (or blocks) cannot be received due to channel losses. Hence, with the availability of slightly larger encoded packets, the receiver can recover the original packets from the minimum possible number of transmitted encoded packets that are already received. The required number of blocks for recovery depends on the loss rate of the channel. During the transmission, the receiver of a specific user measures the mutual information between the transmitter and the receiver after it receives each block and compares it to a threshold.
Namely, it is desired to decode a message of total mutual information M . Assume that the required packets to deliver the message correctly are [ X codeword matrix transmitted during the l th block, N t is the number of transmit antenna elements at the base station (BS), T is the number of time slots, and L is the number of required blocks at the receiver to recover the transmitted block. Let m l denote the measured mutual information after receiving the codeword block X l . If m l ≤ M , the receiver waits for further blocks, else if m l > M , the receiver sends a simple feedback to the transmitter to stop transmitting the remaining part of the encoded packets and remove them from the BS buffer. This process continues until the receiver accumulates enough number of blocks ( L ) to recover the message or the time allowed is over the channel coherence time. The decoding process is conducted sequentially, first using 1 is not sufficient, and so forth. Once the check-sum condition is satisfied, the received blocks are linearly combined at the receiver to decode the whole underling message. It should be noted that the code is described as "rateless" because the number of required blocks ( L ) to recover the message is not fixed before transmission; rather, it depends on the channel state. The dimensions in which the code is extended ratelessly are time (number of channel uses) and space (number of functional antennas) as well as it belongs to block codes. Therefore, it is called rateless space-time block code (RSTBC).
Before proceeding, each of the RSTBC matrix X l is constructed based on the following random process X l = X ⊙ D l (1) where ⊙ denotes the element-wise multiplication operation (Hadamard product); X is the N t × T complex data matrix to be transmitted, and D l is the l th N t × T random binary matrix generated randomly where each of its entries is either 0 or 1 and occurs with probabilities P 0 and P . Such a method is considered as rateless coding in the sense that the encoder can generate on the fly potentially a very large number of blocks. A power constraint on each X l is introduced as the average power does not exceed N t . Now, we consider a downlink massive multiuser MIMO (MU-MIMO) system in which RSTBC is applied as shown in Figure 7.
In this system, a BSTx, equipped with a large number of antennas, communicates simultaneously with K independent users on the same time-frequency resources where each user device has N r receive antennas. The overall channel matrix H a ∈ K N r × N t can be written as where H k ∈ N r × N t , k = 1, 2, ⋯ , K , is the channel matrix corresponding to the k th user. To eliminate the effects of the multiuser interference (MUI) at the specific receiving users, a precoding technique is applied at the BSTx with, for example, a zero-forcing (ZF) precoding matrix G a ∈ N t ×K N r which is calculated as where β is a normalized factor.
In this system, channel reciprocity is exploited to estimate the downlink channels via uplink training, as the resulting overhead is linearly a function of the number of users rather than the number of BS antennas [46].
For a single-cell MU-MIMO system, the received signal at the k th user at time instant t can be expressed as where E x ___ N 0 corresponds to the average SNR per user ( E x is the symbol energy, and N 0 is the noise power at the receiver); L is the maximum number of required blocks of RSTBC at the user; l = 1, 2, ⋯, L; k = 1, 2, ⋯, K; x n is the transmitted signal by the the n th antenna where n = 1, 2, ⋯, N t ; h kn is the channel coefficient from the the n th transmit antenna to the k th user; d nl ∈ {0, 1} which is the ( n, l ) th element of the matrix D l ; and w k is the noise at the k th user receiver. It has been demonstrated in [42][43][44][45] that RSTBC is able to compensate for data losses. For more details, the reader is referred to these references. Here are some sample simulation results. The averaged symbol-error-rate (SER) performance when RSTBC is applied for N t = 100 with QPSK is shown in Figure 8, where the loss rate is assumed to be 25%. Figure 8 that for small values of L , the averaged SER approaches a fixed level at high SNR because RSTBC, with the current number of blocks, is no longer able to compensate for further losses. Therefore, it is required to increase L to achieve enhancements until losses effects are eliminated. As shown, for instance, RSTBC with L = 32, the flooring in the SER curves has vanished due to the diversity gain achieved by RSTBC (as the slopes of the SER curves increase) so that the effect of losses is eliminated considerably. Thus, the potential for employing RSTBC to combat losses in massive MU-MIMO systems has been shown. Furthermore, Figure 9 shows the cumulative distribution function (CDF) of the averaged downlink SINR (in dB) in the target cell for simulation and analytical results for a multi-cell massive MU-MIMO system with N t = 100, K = 10 users, QPSK, and pilot reuse factor = 3/7,   when RSTBC is applied with L = 4, 8, 16, 32, where lossy channel of 25% loss rate is assumed.

It is inferred from
Notably, RSTBC supports the system to alleviate the effects of pilot contamination by increasing the downlink SINR. Simulation and analytical results show good matching as seen. Also, it is obvious that the improvements in SINR are linear functions of the number of RSTBC blocks L . It should be mentioned that the simulation parameters are tabulated in Table 1.

Conclusion
In this chapter, we have considered the rateless space-time block code (RSTBC) for massive MIMO wireless communication systems. Unlike the fixed-rate codes, RSTBC adapts the amount of redundancy over time and space for transmitting a message based on the instantaneous channel conditions. RSTBC can be used to protect data transmission in lossy systems and still guarantee the reliability of the regime when transmitting big data. It is concluded that, using RSTBC with very large MIMO dimensions, it is possible to recover the original data from a certain amount of encoded data even when the losses are high. Moreover, RSTBC can be employed in a multi-cell massive MIMO system at the BS to mitigate the downlink inter-cell interference (resulting from pilot contamination) by improving the downlink SINR. These results strongly introduce the RSTBC for the upcoming 5G wireless communication systems.