automatic-repeat-request strategies

advertisement

22. CHAPTER 22 - AUTOMATIC-REPEAT-REQUEST STRATEGIES

As pointed out in Chapter 1, there are two categories of techniques for controlling transmission errors in data transmission systems: the forward-error-control (FEC) scheme and the automatic-repeatrequest (ARQ) scheme. In an FEC system an error-correcting code is used. When the receiver detects the presence of errors in a received vector it attempts to determine the error locations and then corrects the errors.

If the exact locations of errors are determined, the received vector will be correctly decoded: if the receiver fails to determine the exact locations of errors, the received vector will be decoded incorrectly, and erroneous data will be delivered to the user (or data sink). In an ARQ system a code with good error-detecting capability is used. At the receiver, the syndrome of the received vector is computed. If the syndrome is zero, the received vector is assumed to be error-free and is accepted by the receiver.

At the same time, the receiver notifies the transmitter, via a return channel, that the transmitted codeword has been successfully received.

If the syndrome is not zero, errors are detected in the received vector. Then, the transmitter is instructed, through the return channel, to retransmit the same code-word. Retransmission continues until the code-word is successfully received. With this system, erroneous data are delivered to the data sink only if the receiver fails to detect the presence of errors. If a proper linear code is used, the probability of an undetected error can be made very small.

We have devoted many chapters to various types of error-correcting codes and decoding methods for

FEC. In this chapter we present various types of ARQ schemes and the combinations of ARQ and FEC, called hybrid-ARQ schemes. Major references on ARQ are listed at the end of this chapter.

22.1. 22.1 Basic ARQ Schemes

There are three basic types of ARQ schemes: the stop-and-wait ARQ, the go-back-N ARQ, and the selective-repeat ARQ. In a stop-and-wait ARQ data transmission system, the transmitter sends a codeword to the receiver and waits for an acknowledgment from the receiver, as shown in Figure 22.1. A positive acknowledgment (ACK) from the receiver signals that the code-word has been successfully received (i.e., no errors were detected), and the transmitter sends the next code-word. A negative acknowledgement (NAK) from the receiver indicates that the received vector has been detected in error: the transmitter resends the code-word. Retransmissions continue until an ACK is received by the transmitter. The stop-and-wait ARQ scheme is simple and is used in many data communication systems; however, this scheme is inherently inefficient because of the idle time spent waiting for an acknowledgment for each transmitted code-word. Unless the code length n is extremely long, the fraction of idle time can be large; however, using a very long

FIGURE 22.1: Stop-and-wait ARQ. block length does not provide a solution, since the probability that a block contains errors increases rapidly with the block length. Hence, idle time is reduced at the expense of increased frequency of retransmissions for each code-word. Moreover, a long block length may be impractical in many applications because of restrictions imposed by the data.

Ina go-back-N ARQ system, code-words are transmitted continuously. The transmitter does not wait for an acknowledgment after sending a code-word; as soon as it has completed sending ore, it begins sending the next code-word, as shown in Figure 22.2. The acknowledgment for a code-word arrives after a round-trip delay, which is defined as the time interval between the transmission of a code-word and the receipt of an acknowledgment for that code-word.

During this interval, N -1 other code-words have also been transmitted. When a NAK is received, the transmitter backs up to the code-word that was negatively acknowledged and resents that code-word and N – 1 succeeding code-words that were transmitted during the round-trip delay (i.e., the transmitter pulls back and resends N code-words). Of course, a buffer must be provided at the transmitter for these code-words.

726881253.doc nedjelja, 12. travnja 2020 1

At the receiver, the N – 1 received vectors following an erroneously received vector (a received vector detected in error) are discarded regardless of whether they are error-free or not. Therefore, the receiver needs to store only one received vector at a time. Because of the continuous transmission and retransmission of code-words, the go-back-N ARQ scheme is more effective than the stop-and-wait

AIR, and it can be implemented at moderate cost. The go-back-N A'''Q scheme becomes

FIGURE 22.2: GO-back-N ARQ with N = 7.

FIGURE 22.3: Selective-repeat ARQ. ineffective when the round-trip delay is large and the data transmission rate is high. This inefficiency is caused by the retransmission of many error-free code-words following a code-word detected in error.

This inefficiency can be overcome by using the selective-repeat strategy.

In a selective-repeat ARQ system, code-words are also transmitted continuously; however, the transmitter resends (or repeats) only those code-words that are negatively acknowledged, as shown in

Figure 22.3. Because code-words must ordinarily be delivered to the user in correct order, a buffer must be provided at the receiver to store the error-free received vectors following a received vector detected in error. When the first negatively acknowledged code-word is successfully received, the receiver then releases the error-free received vectors in consecutive order until the next erroneously received vector is encountered. Sufficient receiver buffer must be provided; otherwise, the buffer may overflow, and data may be lost. The selective-repeat ARQ is the most efficient one among the three basic ARQ schemes; however, it is also the most complex one to implement.

In an ARQ system the receiver commits a decoding error whenever it accepts a received vector with undetected errors. Such an event is called an error event. Let P(E) denote the probability of an error event. Clearly, for an ARQ system to be reliable, P(E) should be very small. Therefore, the reliability of an ARQ system is measured by its error probability P(E). Suppose that an (n, k) linear code C is used for error detection in an ARQ system. We define the following probabilities:

Pc = probability that a received vector contains no error;

Pd = probability that a received vector contains a detectable error pattern;

Pe = probability that a received vector contains an undetectable error pattern.

These probabilities add to 1 (i.e., Pc. + Pd + Pe = 1). The probability p depends on the channel error statistics, the probabilities P(/and Pe depend on both the channel error statistics and the choice of the (n, k) error-detecting code C. A received vector will be accepted by the receiver only if it either contains no error or contains an undetectable error pattern. Therefore, the probability P(E) that the receiver commits an error is given by

The probability Pe can be made very small relative to Pc by choosing the code C properly (e.g., a long

Hamming code or a long double-error-correcting primitive

BCH code). Consequently, the error probability P (E) can be made very small. For a BSC with transition probability p, we have

In Section 3.6 we showed that for an average (a, k) linear code,

Combining (22.1), (22.2), and (22.3), we can obtain an upper bound on P (E).

0.

EXAMPLE 22.1

Consider a BSC with transition probability p = 10

–3

. Suppose that we use the double-error-correcting

(1023, 1003) BCH code for error detection in an ARQ system. Then. and < 2-20 [double-error-correcting primitive BCH codes satisfy the bound < 2-("-k) for p < 1/2]. We see that Pe « Pc. Using (22.1), we find that

This result illustrates that using a relatively small number of parity-check digits, an ARQ system can achieve very high reliability.

Another measure of the performance of an ARQ system is its throughput efficiency (or simply throughput), which is defined as the ratio of the average number of information digits successfully

2 726881253.doc nedjelja, 12. travnja 2020

accepted by the receiver per unit of time to the total number of digits that could be transmitted per unit of time [1, 2]. All three basic ARQ schemes achieve the same reliability; however, they have different throughput efficiencies. Next, we derive the throughput for each of the three basic ARQ schemes. For simplicity, we assume that the feedback channel is noiseless.

The assumption may not be realistic, but the results give a good indication of the effectiveness of each

ARQ scheme. For throughput analysis of various ARQ schemes with noisy feedback channel, the reader is referred to [1].

We first derive the throughput of the selective-repeat ARQ scheme. We recall that with this scheme the transmitter sends code-words to the receiver continuously and resends only those code-words that are negatively acknowledged. The probability that a received vector will be accepted by the receiver is

For the usual situation where P, « Pc, then P Pc. The probability that code-word will be retransmitted is simply

For a code-word to be successfully accepted by the receiver, the average number of retransmissions

(including the original transmission) required is

Then, the throughput of the selective-repeat ARQ is where k/n is the rate of the (n, k) code used in the system. We see that the throughput 1758 depends only on the channel error rate.

In a go-back-N ARQ system, when a code-word is negatively acknowledged, the transmitter resends that code-word and the N – 1 subsequent code-words that were transmitted earlier. Therefore, for a code-word to be successfully accepted by the receiver, the average number of retransmissions

(including the original transmission) required is

Consequently, the throughput efficiency of a go-back-N ARQ system is

We see that the throughput t7GBN depends on both channel block error rate 1 - P and the round-trip delay N. When the channel error rate is low, the effect of the round-trip delay, (1 - P)N, is insignificant and the throughput is high; however, the effect of (1 - P)N becomes significant when the channel error rate is high, and the throughput is sharply reduced. The go-back-N ARQ provides satisfactory throughput performance for systems in which the round-trip delay is small and the data transmission rare is not too high Otherwise, its throughput performance becomes inadequate.

In deriving the throughput of a stop-and-wait ARQ system, we must consider the idle time spent waiting for an acknowledgment for each transmitted code-word. Let D be the idle time from the end of transmission of one code-word to the beginning of transmission of the next. Let -r be the signaling rate of the transmitter in bits per second. In one round-trip delay time, the transmitter can transmit a total of n + D

r digits if it does not stay idle. During the interval from the beginning of transmission of one code-word to the receipt of a positive acknowledgment for that code-word, the average number of digits (including the idling effect) that the transmitter could have transmitted is

Therefore, the throughput efficiency of a stop-and--wait ARQ system is

The factor Dr/n may be interpreted as the number of code-words that could be transmitted outing the idle time of the transmitter. We see that the throughput can never achieve the maximum value k/17 even if the channel is noiseless (P = 1). For data transmission systems in which the data transmission rate is low and the round-trip delay is short, D

can be made relatively small compared with the code length n . In this case, the stop-and-wait ARQ provides satisfactory throughput performance: however, its throughput performance becomes unacceptable for systems in which the data transmission rate is high and the round-trip delay is large, such as satellite communication systems.

From the analysis of throughput performance just given, we see that the selective-repeat ARQ is the most efficient scheme, whereas the stop-and-wait ARQ scheme is the least efficient one The throughput of the selective-repeat ARQ does not depend on the round-trip delay of the system, whereas the throughputs of the other two ARQ schemes do. In communication systems for which the round-trip delay is large and data rate is high, the parameter N for the go-back-N ARQ

726881253.doc nedjelja, 12. travnja 2020 3

FIGURE 22.4: Throughput efficiencies: the ideal selective-repeat ARQ with infinite receiver buffer, the selective-repeat ARQ with a receiver buffer of size N = 128 (the solid triangles represent simulation results), and the go-back-N ARQ. and the parameter Dr/n for the stop-and-wait ARQ may become very large. In this case the throughput for the go-backN ARQ drops rapidly as the channel error rate increases, whereas the throughput of the stop-and-wait ARQ becomes unacceptable.

The high throughput of the selective-repeat ARQ is achieved at the expense of extensive buffering at the receiver and more complex logic at both transmitter and receiver. Theoretically, infinite buffering is needed to achieve the efficiency (k/n)P. If a finite buffer is used at the receiver, the buffer may overflow, which reduces the throughput of the system; however, if sufficient buffer (say, a buffer that is capable of storing N code-words) is used at the receiver, even with a reduction in throughput, the selective-repeat ARQ still significantly outperforms the other two ARQ schemes in systems for which data transmission rate is high and round-trip delay is large [4, 5, 10-12]. This situation is discussed in the next section. Figures 22.4 to 22.6 show the throughput efficiencies of the selective-repeat ARQ and the go-back-N A i Q for various code lengths and round-trip delays. The channel is a BSC. Several variations of the go-back- N ARQ scheme have been proposed [3, 6, 8, 9]. These variations improve the throughput efficiency; however, they are still less efficient than the selective-repeat ARQ scheme.

FIGURE 22.5: Throughput efficiencies: the ideal selective-repeat ARQ with infinite receiver buffer. the selective-repeat ARQ with a receiver buffer of size N = 512 (the solid triangles represent simulation results), and the go-back-N ARQ.

FIGURE 22.6: Throughput efficiencies: the ideal selective-repeat ARQ with infinite receiver buffer, the selective-repeat ARC) with a receiver buffer of size N = 1024 (the solid triangles represent simulation results), and the go-back-N ARQ.

22.2. 22.2 Selective-Repeat ARQ System with Finite Receiver Buffer

In this section we present a practical selective-repeat ARQ system in which the receiver employs a finite-size buffer [10, 11]. Let N be the number of code-words that can be transmitted during a roundtrip delay period. For simplicity, we consider only the case for which the size of the receiver buffer is

N (i.e., the receiver buffer is capable of storing N code-words).

Each code-word to be transmitted has a sequence number. The range of the sequence number is set to

3N (i.e., code-words are numbered from 1 to 3N).

These numbers are used cyclically (i.e., a new code-word following a code-word with sequence number 3N is numbered with 1 again). For a received buffer of size N, if the range of the sequence numbers is 3N, the receiver will be able to distinguish whether a received vector with sequence number q is a new vector or a vector that has been accepted and delivered [5]. (This will become clear in the following discussion.) Using the numbering system described, m = [log2 3N1 bits must be appended to each code-word.

Suppose that an (11, k) linear code is used for error detection. When a vector is received its syndrome is computed. If no errors are detected, the received vector is either delivered to the user or stored in the receiver buffer until it is ready to be delivered in the correct order. If the received vector is detected in error, it is discarded and a space in the receiver buffer is reserved for storing that vector at a later time.

When a code-word is ready for transmission it is numbered and stored in the input queue of the transmitter. After its transmission, the code-word is saved in the retransmission buffer of the transmitter until it is positively acknowledged.

The acknowledgment arrives after a round-trip delay. During this interval N – 1 other code-words are transmitted. A code-word is said to be a time-out vector if it is transmitted (or retransmitted) for a round-trip delay time. When a code-word in the retransmission buffer becomes a time-out vector, it must be either positively or negatively acknowledged. When an ACK for a code-word in the retransmission buffer is received, the code-word is released from the retransmission buffer; however, when a NAK for a code-word in the retransmission buffer is received, a retransmission of that vector is

4 726881253.doc nedjelja, 12. travnja 2020

initiated. A third possibility that neither an ACK nor a NAK is received when a code-word becomes a time-out vector (e.g., the acknowledgement is lost in the return channel). In this event the transmitter regards that the unacknowledged time-out vector was unsuccessfully transmitted or lost, and retransmission is initiated for this vector.

Before we detail the transmission and retransmission process, we introduce another concept. Let qo be the sequence number of the earliest NAK'ed (negatively acknowledged) or unACK'ed

(unacknowledged) code-word in the retransmission buffer. The forward index (FWX), denoted by fT, of a code-word with sequence number q in the retransmission buffer or input queue with respect to the earliest NAK'ed or unACK'ed code-word in the retransmission buffer is defined as the remainder resulting from dividing q - qo by 3N. Mathematically,

Clearly, 0 < fT < 3N.

22.2.1. 22.2.1 TRANSMISSION AND RETRANSMISSION PROCEDURE

When the transmitter sends a code-word it also computes the forward index fT of the code-word in the retransmission buffer that is to become a time-out vector (we will refer to this vector as the current time-out vector). Then, the transmitter decides whether the next code-word in the input queue is to be transmitted or a retransmission is to be initiated. The decision rules follow:

1. If the current time-out vector is positively acknowledged and its forward index fT is less than N (or there is no time-out vector in the retransmission buffer), the first code-word in the input queue is to be transmitted. If the input queue is empty, the transmitter sits idle until a new code-word arrives or a retransmission is initiated.

2. If the current time-out vector, say vj, is either NAK'ed or unACK'ed and its forward index fT is less than N, a retransmission for v1 is initiated. If the current NAK'ed (or unACK'ed) time-out vector is the earliest vector in the retransmission buffer that has not been positively acknowledged (fr = 0), all the code-words in the retransmission buffer with forward indices equal to or greater than N are moved back to the input queue for retransmission at a later time. These are the code-words that have been transmitted, however, when they arrive at the receiver, the receiver buffer is full and has no space to store

FIGURE 22.7: Selective-repeat ARQ with finite receiver buffer of size N = 7. them (this event is referred to as buffer over o 0. Therefore, these code-words must be retransmitted

(see Figure 22.7).

3. If the forward index fr of the current time-out vector is equal to or greater than N, the first codeword in the input queue is the next to be transmitted (this vector may be a code-word that was moved back to the input queue from the retransmission buffer owing to the receiver buffer overflow).

The transmission and retransmission operations of the transmitter are illustrated in Figures 22.7 and

22.8.

22.2.2. 22.2.2 RECIVER'S OPERATION AND ERROR RECOVERY PROCEDURE

Normally, the transmitter sends code-words continuously to the receiver. The receiver checks the syndrome of each incoming received vector and sends an ACK to the transmitter for each successfully received vector. When the channel is quiet the transmission proceeds smoothly, error-free code-words are delivered to the user in consecutive order, and the receiver buffer is empty. The receiver is said to be in the normal state when the receiver buffer is empty and no space is reserved for any NAK'ed block.

If the received vector is detected in error, or a received vector with an out-of- order sequence number is detected while the receiver is in the normal state, the receiver sends a NAK to the transmitter and enters the blocked state. In the blocked state the receiver proceeds to check the syndromes of the incoming received vectors, it stores those vectors that have zero syndrome at the proper locations in the receiver buffer, and reserves proper locations for the vectors whose syndromes are not zero until the receiver buffer is full. N

0

vectors are delivered to the user. When the retransmitted code-words arrive after a round-trip delay, their syndromes are checked again. The vectors that are successfully

726881253.doc nedjelja, 12. travnja 2020 5

received (zero syndrome) are stored at the reserved locations in the receiver buffer. Once the earliest

NAK'ed vector is successfully received, the receiver outputs that vector and all the subsequent consecutive zero-syndrome vectors (held in the receiver buffer) until the next NAK'ed vector is encountered (see Figure 22.7). If all the vectors in the receiver buffer are released and all the reserved locations are freed after the earliest NAK'ed vector has been successfully received, the receiver returns to the normal state.

FIGURE 22.8: Transmission and retransmission procedure.

If not all the vectors in the receiver buffer can be released to the user, or if there are still reserved locations in the receiver buffer for the NAK'ed vectors, the receiver continues its error recovery process until all the NAK'ed vectors are successfully received.

Next, we describe the detailed operation of the receiver in both the normal and the blocked state.

22.2.3. 22.2.3 NORMAL-STATE OPERATION

When a vector with sequence number q is received, the receiver checks its syndrome and computes its forward index (FWX), denoted by fR, with respect to the last accepted and delivered vector. Let go be the sequence number c)f the last accepted and delivered vector. The forward index fR of the current received vector is defined as the remainder resulting from dividing q - go by 3N; that is, if no errors in the current received vector are detected, and fR = 1 (fR = 1 indicates that the current received vector has the correct sequence number), the received vector is accepted and delivered to the user. The receiver then checks the next incoming received vector.

If either the current received vector is detected in error, or its forward index f R is not equal to 1 but less than N 1(1 < f R < N indicates that the sequence number of the current received vector is out of order), the receiver enters the blocked state. There are three cases to be considered. In the first case, for which the syndrome is not zero and f R = 1, the receiver discards the erroneously received vector and reserves the first location of the receiver buffer for that vector. In the second case, for which the syndrome is not zero and fR > 1, fR – 1 vectors between the last delivered vector and the current received vector are lost.

The receiver rejects the current erroneously received vector and reserves the first f R locations of the receiver buffer for the lost vectors and the rejected vector. In the third case, for which the syndrome is zero but fR > 1, fR – 1 vectors between the last delivered vector and the current received vector are lost. The receiver then reserves the first f R – 1 locations of the receiver buffer for the lost vectors and saves the current received vector at the f R th location of the receiver buffer.

If the forward index fR of the current received vector is greater than N, it is regarded as a vector that was previously accepted and delivered; it is then ignored, and an ACK is sent to the transmitter. The receiver stays in the normal state and processes the next incoming vector.

The flowchart shown in Figure 22.9 details the receiver operations in the normal state.

22.2.4. 22.2.4 BLOCKED-STATE OPERATION

The receiver enters the blocked state when either a received vector is detected in error or a received vector with an out-of-order sequence number is detected. When the receiver enters the blocked state, each subsequent zero-syndrome received vector is held in the receiver buffer at a proper location, and a space in the receiver buffer is reserved for each erroneously received or lost vector. When the buffer is full, all subsequently received new vectors are rejected and the buffer overflows.

Let vi be the earliest vector that has not been successively received. When a retransmitted copy of vi is successfully received, the receiver releases wi and the subsequent zero-syndrome vectors held in the receiver buffer (see Figure 22.7). Suppose that the receiver can release L +1 consecutive vectors including vi (i.e., vi, w j+1,. •. vi+L, where 0 < L < N).

Because the retransmission is selective, and since vi+i to vi+L were successfully received before v; the vectors following the retransmitted copy of vi are new vectors Wi+N, j+N +1, …, W j+N+L-1. When

6 726881253.doc nedjelja, 12. travnja 2020

these L new vectors arrive their syndromes are computed. The vectors that have zero syndrome are then temporarily stored in the receiver buffer until they are ready to be released, and proper locations in the receiver buffer are reserved for those vectors that have nonzero syndromes.

FIGURE 22.9: Normal-state operation of the receiver.

If the retransmitted copy of vi is not successfully received, the zero-syndrome vectors held in the receiver buffer cannot be released to the user. Therefore, there are no places in the receiver buffer to store the new vectors, v j+N, vi-EN+1, …• (since the buffer size is N). In this event, the buffer overflows and the new vectors, vi±N, i+N+, …• will be rejected no matter whether they are successfully received or not.

Let go be the sequence number of the earliest vector that has not been successfully received. In the blocked state, when a vector with sequence number q is received its forward index with respect to the earliest unsuccessfully received vector, denoted by If, is computed. This forward index l is defined as the remainder resulting from dividing q - qo by 3N; that is,

If the current received vector has zero syndrome and its forward index If < N, it is stored in the receiver buffer and an ACK is sent to the transmitter. If the current received vector is detected in error and its forward index l < N, it is rejected and a space in the receiver buffer is reserved for this vector; also, a NAK is sent to the transmitter. If lf > N, the receiver then computes the backward index (BWX) lb of the receiver vector with respect to the last received vector that was stored in the receiver buffer or for which a space in the receiver buffer is reserved. This backward index /b is defined as the remainder resulting from dividing qp - q by 3N; that is, where qp is the sequence number of the last received vector that was stored in the receiver buffer or for which a space in the receiver buffer is reserved, and q is the sequence number of the current received vector. Lf la < 2N, the current received vector is regarded as a vector that was previously accepted and delivered. It is then ignored and an ACK is sent to the transmitter. if lb > 2N, the current received vector is a new vector; however, since the received buffer is full, the buffer overflows. In this event, the current received vector is rejected and a NAK is sent to the transmitter. The receiver's operation in the blocked state is detailed by the flowchart shown in Figure 22.10.

FIGURE 22.10: Blocked-state operation of the receiver.

22.2.5. 22.2.5 THROUGHPUT EFFICIENCY

If we assume that the channel errors are randomly distributed (i.e., a BSC) and the feedback channel is noiseless, we can derive a lower bound on the throughput efficiency of the selective-repeat ARQ system [11]. Suppose that a proper (n, k) code is used for error detection. Let p be the transition probability of the BSC. Then, the probability P that a received vector will be accepted by the receiver is

Let

These are the probabilities of success of the second, third, and fourth retransmissions of a code-word, respectively. We define

Then, the throughput efficiency of the selective ARQ with a receiver buffer of size N is lower bounded as follows:

(Assuming that the number of bits used for sequence numbers is small compared with the code length n, its effect on the throughput is ignored.)

For various n and N, the lower bound on the throughput given by (22.11) is compared with the throughput of the ideal selective-repeat ARQ with infinite receiver buffer and the throughput of the goback-N ARQ, as shown in Figures 22.4 to 22.6. We see that the selective-repeat ARQ with a receiver buffer of size N is less efficient than the ideal selective-repeat ARQ because of the reduction in buffer size at the receiver; however, it significantly outperforms the go-back-N ARQ, particularly for communication systems in which the round-trip delay is large and data rate is high. If the round-trip delay is taken to be 700 ms (suitable for satellite channels), the data transmission rate corresponding to

11 = 524 and N = 128 (Figure 22.4) is 100 kbps, the data rate corresponding to 11 = 2024 and N = 512

726881253.doc nedjelja, 12. travnja 2020 7

(Figure 22.5) is 1.54 Mbps, and the data rate corresponding to n = 1024 (Figure 22.6) is also 1.54

Mbps.

The selective-repeat ARQ described in this section can be extended for any receiver buffer of size greater than N, say 2N, 3N, …•. Of course, the throughput efficiency increases as the buffer size increases. Figure 22.11 shows the throughput with buffer size equal to 2N.

Selective-repeat ARQ that operates with a finite receiver buffer and a finite range of sequence numbers was first studied by Metzner [5]. Other selective-repeat ARQ schemes employing finite receiver buffer, can be found in [1, 17 11 18-70, and 25].

FIGURE 22.11: Throughput of the selective-repeat ARQ with a finite receiver buffer: (1) size N and (2) size 2N, where N = 512.

22.3. 22.3 ARQ Schemes with Mixed Modes of Retransmission

It is possible to devise ARQ schemes with mixed modes of retransmission one such scheme is the selective-repeat plus go-back-N (SR + GBN) ARQ [12]. When a code-word v in the retransmission buffer becomes the earliest negatively acknowledged vector, the transmitter resends v and other vectors in the selective-repeat (S) mode (i.e., only v and other negatively acknowledged vectors are retransmitted). During the SR mode, the receiver stores those vectors that are successfully received.

The transmitter remains in SR mode until either 'V is positively acknowledged or has been retransmitted v times but the transmitter fails to receive an ACK for v. In the first event, the transmitter proceeds to send new code-words. When the second event occurs the transmitter switches to the goback-N (GBN) retransmission mode.

The transmitter stops sending new code-words, backs up to v, and resends v and N – 1 succeeding vectors that were transmitted following the with S h retransmission attempt for 7. The transmitter stays in the GBN mode until v is positively acknowledged. At the receiving end, when the

 th with retransmission of v is detected in error all the subsequent N – 1 received vectors are discarded regardless of whether they are successfully received or not. The receiver continues this operation until v is successfully received. Then, the receiver releases 7 and all the consecutive error-free vectors following v that were held in the receiver buffer. When the Sr + GBN ARQ is used the receiver buffer must be able to store v(N – 1) + 1 vectors to prevent buffer overflow,

Figure 22.12 illustrates the transmission/retransmission procedure for SR + GBN with v = 1, namely one retransmission for a NAK'ed vector in SR mode and all subsequent retransmissions of the same vector in GBN mode. Following the second consecutive NAK for a given vector (e.g., block 7 in

Figure 22.12) the receiver simply discards all N – 1 subsequent vectors until the successful reception of the erroneous vector. In the transmitter and in the receiver, counters would be required to keep check on the number of transmission/retransmission attempts made for each

FIGURE 22.12: SR + GBN ARQ for v = 1 and N = 5. vector to determine whether an SR or GBN type of retransmission is required. If more than one vector that has been transmitted twice unsuccessfully is stored in the transmitter retransmission buffer, these vectors must be queued for successive independent go-back-N-type retransmissions. The earliest double-NAK'ed vector. say ri, is retransmitted in the GBN mode, followed by N – 1 vectors that were previously transmitted after wi and subsequently discarded by the receiver. This action is repeated until an ACK for v1 is received. Then, the same procedure is repeated for any subsequent double-

NAK'ed vectors in the retransmission buffer. The throughput efficiency of the SR GBN ARQ has been analyzed [12]. For v = 1, its throughput efficiency is where P is the probability that a vector will be successfully received. For v > 1,

For v = 0, the SR + GBN scheme becomes the conventional go-back-N ARQ, and

Figure 22.13 demonstrates the throughput performance of the SR + GEN ARQ for v = 1 and 2.

Throughput efficiencies of other ARQ schemes are included

FIGURE 22.13: Throughput efficiencies of the SR GBN with v = 1 and 2, N = 512 and is = 2024.

8 726881253.doc nedjelja, 12. travnja 2020

in the same figure for comparison. We see that S''•' + GIN ARQ significantly outperforms the conventional go-back-N ARQ in throughput for high bit-error rate and large round-trip delay. We also see that with the same receiver buffer size, the SR + GBN ARQ is inferior to the selective-repeat ARQ described in Section 22.2 for high channel error rate; however, SR + GBN ARQ requires simpler logic at the transmitter and receiver than the selective-repeat ARQ.

In selective-repeat ARQ, when a code-word in the retransmission buffer is negatively acknowledged a single copy of this NAK'ed code-word is retransmitted. A simple variation of this single-copy retransmission is to repeat a NAK'ed code-word multiple times to increase the probability that a retransmitted code-word will be received successfully.

This multiple-repetitions strategy is called stuttering (ST). The first selective-repeat ARQ incorporated with a stuttering mode of retransmission, known as SR + ST ARQ, was proposed by Miller and Lin

[12] and was later improved by Weldon [13]. The basic idea of Weldon's S + ST ARQ scheme is to repeat a NAK'ed code-word multiple times, with the number of repetitions increasing each time until the buffer overflows. The scheme operates as follows:

1. First retransmission When a code-word is negatively acknowledged for the first time it is repeated n1 times in its first retransmission.

2. Second retransmission If all n1 copies in the first retransmission of a code-word are negatively acknowledged, the code-word is repeated /72 times in its second retransmission.

 q . qth retransmission If all the nq_1 copies in the (q – 1)th retransmission of a code-word are negatively acknowledged, the code-word is repeated nq times.

After q retransmissions, if a code-word is still negatively acknowledged, the buffer overflows at the receiver. The transmitter continues to retransmit the code-word. In each retransmission the code-word is repeated nq times. The transmitter sends new code-words whenever it does not have repetitions to send. This process continues until the code-word is positively acknowledged. For q = 1 and 01 = 1, the

SR + ST ARQ becomes the conventional selective-repeat ARQ.

The throughput performance of Weldon's SR + ST ARQ depends on the choices of the repetition parameters 01, n2,, These parameters can be chosen to optimize the throughput performance for a given receiver buffer size. This AR + ST ARQ provides some improvement in throughput efficiency over the selective-repeat ARQ with finite receiver buffer presented in Section 22.1; however, it is harder to implement.

22.4. 22.4 Hybrid ARQ Schemes

Comparing the FEC and ARQ error-control schemes, we see that ARQ is simple and provides high system reliability; however, ARQ systems have a severe drawback- their throughputs fall rapidly with increasing channel error rate. Systems using FEC maintain constant throughput (equal to the code rate

R = k/n) regardless of the channel error rate; however, FEC systems have two drawbacks: First, when a received vector is detected in error it must be decoded and the decoded message must be delivered to the user regardless of whether it is correct or incorrect.

Because the probability of a decoding error is much greater than the probability of an undetected error, it is hard to achieve high system reliability with FEC. Second, to obtain high system reliability, a long powerful code must be used and a large collection of error patterns must be corrected. This makes decoding hard to implement and expensive. For these reasons ARQ is often preferred over FEC for error control in data communication systems, such as packet-switching data networks and computer communication networks; however, in communication (or data storage) systems where return channels are not available or retransmission is not possible for some reason, FEC is the only choice.

The drawbacks in both ARQ and FEC can be overcome if two error control schemes are properly combined. Such a combination of the two basic control schemes is referred to as a hybrid ARQ [2, 28].

A hybrid system consists of an FEC subsystem contained in an ARQ system. The function of the FEC

726881253.doc nedjelja, 12. travnja 2020 9

subsystem is to reduce the frequency of retransmission by correcting the error patterns that occur most frequently. This increases the system throughout.

When a less frequent error pattern occurs and is detected, the receiver requests a retransmission rather than passing the unreliably decoded message to the user. This increases the system reliability. As a result, a proper combination of FEC and ARQ provides higher reliability than an FEC system alone and a higher throughput than the system with ARQ only. Furthermore, since the decoder is designed to correct a small collection of error patterns, it can be simple. The FEC scheme can be incorporated with any of the three basic ARQ schemes.

A straightforward hybrid ARQ scheme is to use a code, say, an (n, k) linear code that is designed to simultaneously correct and detect errors. When a received vector is detected in error the receiver first attempts to locate and correct the errors. If the number of errors (or the length of an error burst) is within the designed error-correcting capability of the code, the errors are corrected, and the decoded message is passed to the user or saved in a buffer until it is ready to be delivered.

If an uncorrectable error pattern is detected, the receiver rejects the received vector and requests a retransmission. When the retransmitted vector is received the receiver again attempts to correct the errors (if any). If the decoding is not successful, the receiver again rejects the received vector and asks for another retransmission. This error-correction and retransmission process continues until the vector is successfully received or decoded. For example, one may use the (1023, 923) hCH code in a hybrid

ARQ system.

This code has a minimum distance of 21; it can be used for correcting five or fewer errors and simultaneously detecting any combination of 15 or fewer errors (and many other error patterns). If an error pattern with 5 or fewer errors occurs, it will be detected and corrected. If an error pattern with more than 5 but less than 16 errors occurs, it will be detected. In this event the receiver will request a retransmission of the erroneous vector.

The hybrid ARQ scheme described is referred to as the type-I hybrid ARQ scheme. Because a code used in this scheme must be able to correct a certain collection of error patterns and simultaneously detect other error patterns, more parity-check digits are needed, which increases the overhead for each transmission and retransmission. As a result, when the channel error rate is low, the type-I hybrid ARQ has a lower throughput than its corresponding ARQ scheme; however, when the channel error rate increases, the throughput of the ARQ scheme drops rapidly,

FIGURE 22.14: Throughput performance of the type-I selective-repeat ARQ. and the hybrid ARQ scheme provides higher throughput, as shown in Figure 22.14. The type-I hybrid

ARQ scheme is capable of maintaining significant high throughput over a wide range of channel error rates if the designed error-correcting capability of the code is sufficiently large.

Let P, be the probability that a received vector will be decoded successfully. This probability depends on the designed error-correcting capability of the code being used. Replacing P with Pr in (22.4),

(22.5), (22.6), and (22.11), we obtain the throughput efficiencies for the type-I hybrid selective-repeat

ARQ with infinite receiver buffer, the type-I hybrid go-back-N ARQ, the type-I hybrid stop-and-wait

ARQ, and the type-I hybrid selective-repeat ARQ with receiver buffer of size N, respectively.

The second type (or type II) of hybrid ARQ scheme is based on the concept that the parity-check digits for error correction are sent to the receiver only when they are needed [30, 34-36, 39]. Two linear codes are used in this type of scheme: one is a high-rate (n, k) code Co designed for error detection only the other is an invertible half-rate (2 k

, k) code C

1

designed for simultaneous error correction and error detection.

A code is said to be invertible if when only the parity-check digits of a code-word are known, the corresponding information digits can be uniquely determined by an inversion process. In the next section we present a class of invertible half-rate linear codes, and we show that the inversion can be accomplished by a linear sequential circuit.

When a message u of k information digits is ready for transmission, it is encoded into a code-word v =

(f (u), u) of n digits based on the error-detecting code Co, where f (11) denotes the n - k parity-check

10 726881253.doc nedjelja, 12. travnja 2020

digits. The code-word v = (f (u), u) is then transmitted. At the same time the transmitter computes the k parity-check digits, denoted by q(u), based on the message u and the half-rate invertible code C

1

.

Clearly, the 2 k

-tuple (q (u), u) is a code-word in C

1

. The k -bit parity block q(u) is not transmitted but stored in the retransmission buffer of the transmitter for later use.

Let = (f (a), 5:1) denote the received vector corresponding to v = (f (u), 5). When is received the receiver computes the syndrome of P based on Co. If the syndrome is zero, nu is assumed to be errorfree and is accepted by the receiver. If the syndrome is not zero, errors are detected in P. The erroneous message an is then saved in the receiver buffer, and a NAK is sent to the transmitter. On receiving this

NAK the transmitter encodes the k -bit parity block quip into a code-word, ni = (f [q (u)], q (u)) of n bits based on Co, where f[cy OH] denotes the a - k parity-check digits for q (u).

This vector = (f[q (u)], q(u)) is then transmitted (here the retransmission is a parity vector) Let =

("[qW], c`j (u)) denote the received vector corresponding to a* = (f [q(u)], (au)). When 7/* is received the syndrome of P is computed based on Co. If the syndrome is zero, ii(e) is assumed to be error-free, and the message a is recovered from 4 by inversion.

If the syndrome is not zero, i) (a) and the erroneous message an (stored in the receiver buffer) together are used for error correction based on the half-rate code C

1

. If the errors in ((o), 5) form a correctable error pattern, they are corrected. The decoded message a is then accepted by the receiver. If the errors in (4(u), 5) form a detectable but not a correctable error pattern, 5 is discarded and the erroneous parity block 4(au) is stored in the receiver buffer; also, a NAK is sent to the transmitter.

On receiving the second NAK for the code-word a = (f (u), an), the transmitter resends a = (f (u), a).

When P = (f (11), 5) is received the syndrome ofd is again computed based on Co. If the syndrome is zero, 5 is assumed to be error-free and is accepted by the receiver; the erroneous parity block 4- (u) is then discarded. If the syndrome is not zero, an and the erroneous parity block 4 (au) (stored in the receiver buffer) together are used for error correction based on Ct.

If the errors in (4(a), 5) are corrected, the decoded message a is then accepted by the receiver and an

ACK is sent to the transmitter; however, if the errors in (i.) (5), are detectable but not correctable, 4 (u) is discarded, is stored in the receiver buffer, and a NAK is sent to the transmitter. The next retransmission is the parity vector v* [ci NO], (an)). Therefore, the retransmissions are alternating repetitions of the parity code-word = (f [q(u)], q(a)) and the information code-word a = (f (a), a). The receiver stores the received message a and the received parity block 4 (aa) alternately. The retransmissions continue until an is finally recovered.

The most important feature of the type II-hybrid A 0 is the parity retransmission for error correction based on a half-rate invertible code C

1

. This parity-retransmission strategy can be incorporated with any of the three basic types of

ARQ. It is particularly effective when it is used in conjunction with the selective-repeat ARQ. Because of the invertible property of C

1

, the message 5 can be reconstructed uniquely from the parity block q(an) by inversion. Hence, the parity block (ail) contains the same amount of information as the message. As a result, the overhead per transmission or retransmission is simply the number of paritycheck digits, a - k, needed for error detection based on the (a, k) code Co, which is required by any

ARQ scheme.

Therefore, when the channel is quiet or the channel error rate is low, the type-II hybrid ARQ has the same throughput efficiency as its corresponding ARQ scheme. When the channel error rate is high, the error correction provided by the half-rate code C

1

maintains the throughput high. In Section 22.5 we present a type-H hybrid ARQ that incorporates the parity-retransmission strategy with the selectiverepeat ARQ with finite receiver buffer. We will show that for a BSC, the throughput efficiency of the ideal selective-repeat ARQ with infinite receiver buffer can be achieved by a half-rate invertible code CI with a very small designed error-correcting capability, say t

= 3 to 5. With a larger t, the type-II hybrid selective-repeat ARQ with finite receiver buffer is far superior to the ideal selective-repeat ARQ with infinite receiver buffer.

The decoding complexity for a type-II hybrid ARQ is only slightly greater than that of a corresponding type-I hybrid ARQ with the same designed error-correcting capability. The extra circuits needed for a

726881253.doc nedjelja, 12. travnja 2020 11

type-IT hybrid ARQ scheme are an inversion circuit based on C

1

, which is simply a linear sequential circuit and an error-detection circuit based on Co.

The disadvantage of the type-I hybrid ARQ is that the overhead due to the extra parity-check digits for error correction must be included in each transmission or retransmission regardless of the channel error rate. When the channel is quiet, this inclusion represents a waste; however, the type-II hybrid ARQ removes this disadvantage, because is an adaptive scheme. This scheme is particularly attractive for high-speed data communication systems for which round-trip delay is large and error rate is nonstationary, such as satellite communication systems. It is also attractive for wireless communications.

Various hybrid ARQ schemes and their analyses can be found in [23, 28-68].

22.5. 22.5 A Class of Half-Rate Invertible Codes

In a type-II hybrid ARQ system, Ci is chosen as a half-rate invertible code. The invertible property facilitates the data recovery process. During a retransmission, if the parity block q (u) is successfully received (no errors are detected), the message In can be reconstructed from q (u) by a simple inversion process rather than by a more complicated decoding process. The inversion process also reduces the frequency of retransmission.

For example, if the received message En contains more than t errors, and the received parity block q

(ta) is error-free, the decoding process based on (4 (u), En) will not be able to recover the message IL

Hence, another retransmission will be required; however, taking the inverse of the error-free parity block (u) allows us to be able to recover n and thus avoid another retransmission.

Next, we present a class of half-rate invertible block codes and show that inversion can be accomplished by a linear sequential circuit.

Let C be an (n, k') cyclic code with n - k < k. Let g(X) be the generator polynomial of C with the form

Let be a code polynomial. In systematic form, the k leading high-order coefficients V„-k, U„-k+1, …, V„-i are identical to k information digits; the 17 - k low-order coefficients vo, vi, …, v„-k _i_ are paritycheck digits. Consider the set of those code-words in C whose 2 k

- n leading high-order components

V2(„_k), V2(„_0+1, …, v„_i are zeros. There are 2"-k such code-words in C. If the 2 k

- n high-order zero components are removed from these code-words we obtain a set of 2"-k vectors of length 2(n - k).

These vectors form a half-rate (2n - 2 k

, n - k) shortened cyclic code Ci

(see Section 5.10). This shortened cyclic code has at least the same error-correcting capability as C.

We showed in Section 5.10 that C

1

can be encoded and decoded by the same circuits (or with a slight modification) as employed by C.

Next, we show that the shortened cyclic code CL has the invertible property. Let be the message to be encoded. Dividing X"-k u(X) by the generator polynomial u ( X ), we have where a(X) and b(X) are the quotient and the remainder, respectively. The code-word for an(X) is then and b(X) is the parity-check portion. The following theorem proves the invertible property of C

1

.

THEOREM 22.1 No two code-words in a half-rate shortened cyclic code C

1

have the same paritycheck digits.

Proof Let gni (X) and 1112(X) be two distinct messages. Dividing X"-ksi (X) and X"-k aii2(X) by the generator polynomial g(X), respectively, we obtain

Then, the code-words for a t (X) and 1112(X) are respectively. Suppose that

Adding (22.15) and (22.16), we obtain

Because g(X) and Xl" are relatively prime, -al (X) + u2(X) must be divisible by g(X): however, this is impossible, since Til t (X) + la2(X) z 0 and its degree is less than a - k but the degree of g(X) is - k.

Therefore, Ibi (X) r 1 2(X).

12 726881253.doc nedjelja, 12. travnja 2020

Because the remainder Po(X) resulting from dividing X"-kari(X) by g(X) is unique, Theorem 22.1 implies that there is one-to-one correspondence between a message sr(X) and its parity check b(X).

Therefore, knowing b(X), we can uniquely determine u(X).

Next, we show how to recover the message an(X) from the parity 5(X). First, we multiply both sides of

(22.14) by Xk :

Rearranging (22.17), we obtain

Because g(X) is a factor of X" + 1, we can rewrite (21.18) as where h(X) = (X" + 1)/g(X). From (21.19) we see that the message u(X) is simply the remainder resulting from dividing b(X)Xk by the generator polynomial g(X). This operation can be performed by using a division circuit with feedback connection based on g(X). The process of finding the message u(X) from its parity-check digits b(X) is called an inversion process.

A faster circuit for inverting b(X) can be implemented as follows. Dividing Xk by g(X), we have where the remainder

Multiplying both sides of (22.20) by b(X) and using the equality of (22.19), we obtain

The preceding expression suggests that we can obtain the message u(X) by multiplying the parity b(X) by p ( X ) and dividing the product b(X) p ( X ) by g(X). We can do this with the circuit shown in Figure

22.15.

FIGURE 22.15: Inversion circuit.

For example, consider the (1023, 523) BCE code. This code has a minimum distance of at least 111.

We can use this code to simultaneously correct all combinations of 5 or fewer errors and detect all combinations of 105 or fewer errors. In this case the probability of an undetected error will be extremely small. Shortening this code by 23 digits, we obtain a (1000, 500) invertible code.

22.6. 22.6 Type-II Hybrid Selective-Repeat ARQ with Finite Receiver Buffer

Parity retransmission for error correction can easily be incorporated with the selective-repeat ARC) with finite receiver buffer described in Section 22.2. Again we consider only the case for which the size of the receiver buffer is N (the number of vectors transmitted in one round-trip delay time). The range of sequence numbers is still 3N.

Let a be a k -bit message to be transmitted. There are three code-words associated with this message:

1. The code-word v = (f (u), pm) based on an (n, k) error-detecting code Co.

2. The code-word ry = (q (all), u) based on a half-rate invertible (2 k

, k) code C

1

.

1 The code-word = (f [q (au)], (n11)) based on the k -bit parity block q(u) and the code Co.

For convenience, we call e = Mu), e) the information code-word of u, and (.f [q (PO], q (all)) the parity code-word of u.B.. We will use = (rt (u), 5) and = (f [c] (e)], (u)) to denote the received vectors corresponding to v and v*, respectively. In transmission or retransmission the information code-word v and the parity code-word e* of the message as have the same sequence number.

When an information code-word e is ready for transmission, it is numbered and stored in the input queue of the transmitter. After its transmission, v and its corresponding parity code-word v* are saved in the retransmission buffer until v is positively acknowledged. When an ACK is received after a round-trip delay, both v and v* are released. When a NAK, (or no acknowledgement) is received after a round-trip delay, v''' is sent to the receiver for error correction (if necessary).

After another round-trip delay, if an ACK is received, both v and v* are released; otherwise, v is retransmitted. The transmitter resends v and v* alternately until v is positively acknowledged, as shown in Figure 22.16.

726881253.doc nedjelja, 12. travnja 2020 13

22.6.1. 22.6.1 TRANSMISSION AND RETRANSMISSSION PROCEDURE

When the transmitter is sending a code-word, information, or parity it also computes the forward index fT of the code-word in the retransmission buffer that is to become a time-out vector. Based on this forward index fT, the transmitter decides whether the next information code-word in the input queue is to be transmitted or retransmission is to be initiated. The decision rule is as follows:

1. If the current time-out code-word is positively acknowledged and < N (or if there is no current timeout code-word), the first information code-word in the input queue is to be transmitted.

2. If the current time-out code-word, say v1, is either negatively acknowledged or unacknowledged and fr < N, a retransmission for ei is initiated. The

FIGURE 22.16: Type II selective-repeat hybrid ARQ with receiver buffer of size N = 7. retransmission for vi is the parity code-word v'' if vi was previously transmitted, and is a repetition of v.; if v was previously transmitted. If the current NAK'ed (or unACK'ed) time-out code-word is the earliest code-word in the retransmission buffer that has not been positively acknowledged (fT = 0), all the information code-words in the retransmission buffer with forward indices N are moved back to the input queue for retransmission at a later time (these code-words are rejected by the receiver owing to the receiver buffer overflow). the first information code-word in the input queue is the next to be transmitted.

The transmission and retransmission operations of the type-H hybrid selective-repeat ARQ with receiver buffer of size N are detailed by the flowchart in Figure 22.17.

22.6.2. 22.6.2 RECEIVER’S OPERATION IN THE NORMALL STATE

In the normal state the receiver receives information code-words, and the receiver buffer is empty.

When an information code-word is received the receiver computes its syndrome based on Co and its forward index fR with respect to the last accepted and delivered information code-word. If the syndrome is zero and fR = 1, the received information code-word is accepted and delivered to the user.

If fR > N, the received vector is regarded as an information code-word that was previously accepted and delivered; it is then ignored and an ACK is sent to the transmitter.

If either the received information code-word is detected in error, or 1 < f R < N (i.e., its sequence number is out of order)„ the receiver enters the blocked state. The receiver's operation in the normal state is detailed by the flowchart in Figure 22.18.

22.6.3. 22.6.3 RECEI VER’S OPERATION IN THE BLOCK STATE

If the receiver enters the blocked state owing to the detection of errors in a received information codeword y = f (o), with fR = 1, the erroneous message is then stored at the first location of the receiver buffer and a NAK is sent to the transmitter. The receiver then checks the subsequent received information code-words and stores them in the receiver buffer at the proper locations according to their sequence numbers until the buffer is full; also, an appropriate acknowledgment is sent to the transmitter for each received vector.

If the receiver enters the blocked state with fR > 1, then f R – 1 information code-words between the last delivered information code-word and the current received information code-word are lost. The receiver then reserves the first f R – 1 locations of the receiver buffer for the lost vectors and saves the current received vector (only the message part) at the (fR)th location of the buffer. The subsequent received information code-words are stored in the remaining locations of the receiver buffer.

When the first retransmitted parity code-word, say 77,"/` = (f [q(urj)], iyani)), is received it is used to recover the earliest erroneously received message (or the earliest lost message) an l. If the syndrome of

V: is zero, uni is recovered by taking the inversion of i2- (tui j). If the syndrome of v is not zero, i-). (ui) and En j (stored in the buffer) together are used for error correction based on the half-rate-errorcorrecting code Ci. If the

FIGURE 22.17: Transmission and retransmission procedure of the type-II selective-repeat hybrid with receiver buffer of size N.

14 726881253.doc nedjelja, 12. travnja 2020

errors are correctable, uj is recovered. When u /is recovered, the receiver releases uj and the subsequent error-free (or zero-syndrome) messages in consecutive order, say u j, u1+1, …, ui+L with 0

< L < N. Because the retransmission is selective, and since uti+i to u j+L are successfully recovered, the vectors following ii.*/are new information code-words ij+N, +N+1,

" vj-01+L-1• When these new information

FIGURE 22.18: Normal-state operation of the receiver. code-words arrive their syndromes are checked and are temporarily stored in the receiver buffer until they are ready to be released to the user or to be corrected. If (a i) fails to recover the receiver discards i j in the receiver buffer; also, a NAK is sent to the transmitter. Because error-free messages cannot be released, there are no places in the receiver buffer to store the new received information code-words 3, j+N to iii+N+L-1. In this event, the buffer overflows, and these new information code-words are rejected.

On receiving the second NAK for V/ = (112), the transmitter resends v; to the receiver. On receiving i

= -- the receiver again attempts to recover u j. If the syndrome of a i is zero, Ell] is assumed to be error-free and is released. If the syndrome of vi is not zero, aa j and (-1- (all j) (stored in the receiver buffer) together are used for error correction based on C

1

.

If the receiver again fails to recover Eli, then (-100 is discarded and El; is stored in the receiver buffer.

Vector vi (and any other erroneously received information code-words) continue to be retransmitted until tut/is successfully recovered. The retransmissions are alternate repetitions of the parity vector v'; and the information vector vj, and the receiver stores 5.1 and j) alternately.

In the blocked state, when an information code-word is received its forward index If is computed. If if

< N, the vector is stored in the receiver buffer. If no errors are detected, an ACK is set to the transmitter; otherwise, a NAK is sent to the transmitter. If /f > N, the receiver computes its backward index /b. If lb < 2N, the current received vector is regarded as an information code-word that was previously accepted and delivered. It is then ignored, and an ACK is sent to the transmitter. If ib > 2N, the received vector is a new information code-word; however, the buffer is full and overflows. In this event the received vector is rejected and a

NAK is sent to the transmitter.

When a retransmitted NAK'ed vector arrives, the receiver checks whether this received vector and its corresponding vector stored in the receiver buffer form a message and parity pair. If they do form such a pair, the receiver then attempts to recover the original message either by inversion or by decoding process. If the newly received vector and its corresponding vector in the buffer do not form a message and parity pair, the receiver checks whether both are information vectors or parity vectors.

If they are both information vectors, the receiver stores the one that is error-free; if both are erroneous, the receiver replaces the old one with the newly received one. If they are both parity vectors, the receiver replaces the old one in the buffer with the newly received parity vector (or its inversion). If the received vector corresponds to a lost vector, it is stored at a reserved location in the receiver buffer.

The receiver's operation in the blocked state is detailed in the flowchart in Figure 22.19.

22.6.4. 22.6.4 THROUGHPUT EFFICIENCY

To analyze the throughput efficiency of the hybrid ARQ described is very difficult; however, if we assume that the channel is a BSC and the return channel is noiseless, we can obtain a lower bound on the throughput. Again, let P be the probability that a code-word, information or parity, will be received successfully (i.e., the syndrome based on Co is zero).

Suppose that C

1

is capable of correcting any combination of t or fewer errors and simultaneously detecting any combination d(d > t) or fewer errors. Let Qi be the conditional probability that a message

3s i will be recovered from the first received parity block (tiiji) either by inversion or by decoding based on C

1

, given that errors are detected in the received information code-word = (1(ro j), j).

Let Q2 be the conditional probability that Juij will be successfully recovered from the second retransmission of v1 = (j. (ani), To), given that errors are detected in the first received parity code-

726881253.doc nedjelja, 12. travnja 2020 15

word foRA, (yin, and the first received in formation code-word = (f (ui) j), and that the first received parity block q (41 j) fails to recover rtiri but detects the presence of errors in (4 li). Then, it is possible to show that [39]

FIGURE 22.19: Blocked state of the receiver, where Xj and Y1 represent either the information codeword v1 or the parity code-word v

* j

. where

We define

Then, the throughput of the type-II hybrid selective-repeat ARQ with receiver buffer of size N is lower bounded as follows:

FIGURE 22.20: Throughput of various ARQ schemes with N = 128 and n = 524: (1) ideal selectiverepeat ARQ with infinite receiver buffer; (2) and (3) selective-repeat ARQ with receiver buffer of size

N and 2N; (4), (5), and (6) type-II selective-repeat hybrid ARQ with receiver buffer of size N and error-correction parameters t = 3, 5, and 10, respectively. where

For various 11, k, t, and N, the lower bound on throughput versus bit-error rate is plotted in Figures

22.20 to 22.22. We see that the throughput efficiency of the ideal selective-repeat ARQ with infinite receiver buffer can be achieved by the type-H hybrid ARQ scheme described with a relatively small designed error-correcting capability t (t < 5). For t > 5, throughput much higher than that of the ideal selective-repeat ARQ can be obtained.

22.6.5. 22.6.5 RELIABILITY

If the error-detecting capability d of the half-rate code C

1

is sufficiently large, the type-11 hybrid ARQ scheme provides the same reliability as a pure ARQ scheme.

FIGURE 22.21: Throughput of various ARQ schemes with N = 1024 and. n = 1024: (1) ideal selective-repeat ARQ with infinite receiver buffer: (2) and (3) selective-repeat ARQ with receiver buffer of size N and 2N; (4), (5), and (6) type-Hl selective-repeat hybrid ARQ with receiver buffer of size N and error-correction parameters t = 3, 5, and 10, respectively.

FIGURE 22.22: Throughput of various ARQ schemes with N = 512 and n = 2024: (1) ideal selectiverepeat ARQ with infinite receiver buffer; (2) and (3) selective-repeat ARQ with receiver buffer of size

N and 2N; (4), (5), and (6) type-II selective-repeat hybrid ARQ with receiver buffer of size N and error-correction parameters r = 3, 5, and 10, respectively.

Let P, be the probability that Co will fail to detect the presence of errors. Let which is the probability that the number of errors in (4(u), will exceed the designed error-detecting capability d of C

1

. Then, the probability that the receiver will commit a decoding error is bounded as follows [39]: where 13, - pr. If we choose, d sufficiently large, we can make a of the same order as Pe or even smaller than Pe. As a result, the probability of a decoding error, P (E), is the same order as the error probability of a pure ARQ.

22.7. 22.7 Hybrid ARQ Systems Using Convolutional Codes

So far we have considered only hybrid ARQ systems that employ block codes for both error detection and correction. Hybrid ARQ systems using convolutional codes for error correction can also be devised. One such system is a type-It hybrid ARQ system proposed in

[41].

Consider a rate-1/2 (2, 1, !it) convolutional code C

1

of memory order In. Let g(1) (X) and g(2((X) be the two generator polynomials of this code. When an information sequence 11.(X) of k bits is ready for transmission it is first encoded into a code-word fm(X) in an (a, k) error-detecting code Co. This codeword X) is then encoded into two sequences,

16 726881253.doc nedjelja, 12. travnja 2020

and based on the convolutional code C

1

, each a + In bits long. The 2(n + /71)-bit sequence v(X) obtained by interleaving v(1) (X) and v(2) (X) is a code sequence in CI. The sequence v(1) (X) is then transmitted, and the sequence v(2) (X) is stored in the transmitter buffer for possible retransmission at a later time Let 'ir" (1((X) denote the received sequence corresponding to v(1) (X). When V1) (X) is received it is divided by the generator polynomial g(1) (X).

Let a(1) (X) and II-9(1) (X) be the quotient and remainder of the division, respectively. If ili)(1) (X) =

0, 1(1) (X) is then checked based on the error-detecting code Co. If the syndrome s(1) (X) of)1(1) (X) is zero, 1(1) (X) is assumed to be error-free and identical to the transmitted code-word u.n(X). Then, the information sequence 11(X) is recovered from TO (X) and accepted by the receiver.

If 5.1)(11(X) 0, or 0) (X) 0 0, errors are detected in -7f/(1) (X). Then,, 11/(1) (X) is saved in the receiver buffer for reprocessing at a later time. At the same time, the receiver requests a retransmission by sending a NAK to the transmitter. On receiving this NAK, the transmitter sends the sequence vi f

21 (X). This forms the first retransmission for II(X).

Let V2) (X) be the received sequence corresponding to ‘,,,(2) (X). When V2)(X) is received it is divided by the generator polynomial 2(22) ("1). Let u(2) (X) and lb(2) (X) be the quotient and remainder of the division, respectively. If h(2) (X) = 0, the syndrome 5(2) (X) of 1(2) (X) is computed based on Co. If s(2) (X) = 0, then 1(2) (X) is assumed to be error-free and identical to lit(X). In this case, the receiver recovers 11(X) from 1(2) (X) and discards 1) (X). If ro(2) (X) 0 0, or 5(2)(X) 0, then i," (2) (X) together with y(1) (x) (which is stored in the receiver buffer) are decoded based on the convolutional code C

1

using a trellis-based decoder, say a Viterbi decoder.

Let in*(X) be the decoded sequence. Then, an*(X) is checked based on the error-detecting code Co. If the syndrome s*(X) of 111*(X) is zero, the receiver accepts 1111((X). If the syndrome s* (X) is not zero, then V il (X) is discarded, and 3,' (2) (X) is stored in the receiver buffer for reprocessing at a later time. The receiver requests a second retransmission for 11(X). The second retransmission is v(1) (X).

The retransmissions for 11(X) are alternate repetitions of the sequences v(2) (X) and v(1) (X).

Retransmission and decoding continue until Ii(X) is finally recovered.

The throughput efficiency of the described hybrid A 0 system has been analyzed in [41] for various receiver buffer sizes.

A type-II hybrid ARQ system using a single rate-1/2 code for parity retransmission and error correction is simple and easy to implement; however, its throughput is reduced by 50% whenever the first retransmission is requested. This large percentage drop of throughput can be reduced by using a family of rate-compatible punctured convolutional (RCPC) codes [44 This family of RCPC codes is obtained by puncturing a single rate-1/n (n, 1, in) convolutional code C with rates ranging from TAT +

1) to 1/n, where T is the punctured period.

All these punctured codes can be decoded with the decoder for the mother code C. A type-II hybrid

ARQ system using a family of RCPC codes has been proposed by Hagenauer [46]. The principle of this system is to transmit additional code bits corresponding to the next-lower-rate RCPC code in the family to enhance the error-correcting capability of the code at the receiving end. These additional code bits are actually certain code bits of the mother code that were punctured in the earlier transmission or retransmissions. When these additional code bits are received they, together with the un-decoded code bits stored in the receiver buffer, form a lower-rate RCPC code and are then decoded.

After decoding, error checking is performed based on an error-detecting block code Co. If no error is detected, the decoded sequence is assumed to be error-free; otherwise, a retransmission is requested.

Retransmission continues until the mother code is reached, completing a full retransmission cycle. If the decoding is still not successful at the end of a full retransmission cycle, then the next retransmission cycle for the same information sequence begins, starting with the highest-rate RCPC code; or the decoded sequence is simply accepted at the end of decoding the mother code C. This, of course, degrades the reliability.

Other hybrid ARQ systems using convolutional codes can be found in [23, 36, 38, 42, 47, and 49].

726881253.doc nedjelja, 12. travnja 2020 17

22.8. 22.8 A Concatenated Coded Modulation Hybrid ARQ System

The concatenated coded modulation error control scheme presented in Section 19.4 can be incorporated in an A _Q system to achieve both high reliability and high throughput efficiency. Such a hybrid ARQ system [51] is presented in this section. This system demonstrates the integration of concatenated coding, coded modulation, and ARQ. The FEC subsystem is achieved by concatenating an interleaved Reed-Solomon outer code and a bandwidth-efficient BCM inner code. Parity retransmission is used to maintain throughput efficiency when the communication channel is noisy.

22.8.1. 22.8.1 CODES USED IN THE SYSTEM

Three codes are used in the system. The inner code C

1

for the concatenated coded modulation FEC subsystem is a bandwidth-efficient BCM code of length nl and dimension ki with symbols from a signal set S, say, an 8-PSIS signal set. The outer code C? is a shortened (nl, 1(7) RS code over GF (2 m

) with generator polynomial g2(X). This outer code has a minimum distance of d2 = n2 - k2 + 1 and is used to correct 12 or fewer symbol errors and simultaneously detect p2 (p2 > 12) or fewer symbol errors, where t2 + p2 + 1 < d7. The dimension k1 of the BCM inner code C

1

and the length 112 of the

RS outer code C2 are chosen to satisfy the following conditions: with A > 1 and q > 2.

The third code, C

1

, is designed for parity retransmission. It is a rate-1/2 (2(02 - k?), 172 - k2) shortened

RS code obtained from the outer RS code C2 by deleting the first 2/2 - 02 information symbols from each code-word in C2. Both C2 and Cr are generated by 82(X) and can be encoded and decoded by the same circuits. C,. is an invertible code. Let a be an information sequence of n2 - k2 symbols. Let R1(a) denoted the sequence of n2 - k2 parity symbols formed based on a and C

1

.

Then, (a, Ri.(a)) is a code-word in C

1

, and there is a one-to-one correspondence between an and R,-

(an). Knowing R,- (a), we can recover a by an inversion operation. In fact, the invertible property implies that (R,.(a), a) is also a code-word in Cr [see Problem 22.9].

Let v(X) = vo vi.. v„,_i X"2-1 be a code-word in C2. Because 02 = 9 (n2 - k2), we can divide v(X) into q equal subsections, v (X), v?(X),. wq (X), with each consisting of n2 - k2 symbols, such that where

For 1 < i < q. let R,.[vi(X)] be the parity polynomial obtained by encoding the ith section V; (X) based on Cr. R,.[vi (X)] is simply the remainder obtained from dividing X"2-k2 vi (X) by 82(X). Therefore, is a code-word in Cr. We form the following polynomial:

Then, R[v(X)] is also a code-word in C2 [see Problem 22.10]. Therefore, v(X) and R[v(X)] form a code-word pair in C2, and one can be obtained from the other by a unique inversion operation. We call

R[v(X)] the parity code-word (or polynomial) of v(X). We will use this property in the hybrid A ' Q system to be described.

22.8.2. 22.8.2 THE CONCATENATED CODED MODULATION FEC SUBSYSTEM AND

RETRANSMISSION

The FEC subsystem is a concatenation of the

S outer code C2 and the BCM inner code C

1

. The outer code is interleaved by degree A, as shown in Figure 22.23, where A outer code-words, h1, b2,, 1115, are arranged as a A x n2 array over GF (2"7). We represent each symbol in G F(2"1) with a binary nttuple in column form. Then, the A x n2 array over GF (2I") becomes a Am x 172 binary array, with each column consisting of k1 = ;n binary digits. We encode each column of this binary array into a code sequence of n l signals based on the it CM inner code Ci. The result

FIGURE 22.23: A data array. is an n1 x n2 signal array over the signal set S, denoted by /[1)1, b2 bA ] This array, called a data array, is transmitted column by column. At the receiving end, the received signal sequence is rearranged into an array /[bi, b2, bd. First, each column of i[bi, b2,, bx] is decoded based on C

1

using a soft-decision

18 726881253.doc nedjelja, 12. travnja 2020

decoding algorithm. After n2 inner decoding, we obtain an array of Xin x n2 decoded bits. Each column of this decoded array is regarded as a column of X symbols from GF (2"/). Then, each row of this array is decoded into a code-word in the RS outer code C2. If the decoding of each row is successful, the decoded information symbols are delivered to the user.

If any row of a received data array i[b1, b7,, bx] is not decoded successfully, the data array obtained from i[bi, b2,, bd after the inner code decoding is saved in a buffer and a retransmission is requested.

The retransmission is an array of parity symbols, denoted by P(R(bi), R(b2), …• R(bx)), that is formed based on the original set of code-words, b1, b2, bx, and the half-rate invertible code Cr. First, each code-word 113, is divided into q sections b,,i, b,,2,, bi, q. The parity word is formed based on b,, 1, b,,2,, bi,q and code C, An array is constructed with R(b1), R(b2),, R(bx) as rows. Each column of this array is encoded into a code sequence of n r signals in C

1

. The result is an n j x 112 signal array F' (R(b)),, R (lb).)) over the signal set S, which is transmitted column by column.

Let /5(R(h j), R(ID)), R(lbx)) denote the received parity signal array. P is decoded just like a data array

I. If the decoding of P is successful, inversion is performed based on R Obi), R(b2),, R(Fax) to obtain, which are then delivered to the user or saved in the receiver buffer until they are ready for delivery. If the C2 decoder fails to decode each row of P(R(lb j), R(b2), R(rox)) successfully, then the erroneous parity words R(roj),

R(lb x) and the erroneous data words lb j, [1/2,, th)), stored in the receiver buffer together are used for error correction based on the half-rate code Cr. For 1 < i < X and 1 < < cj, the pair j, Rr [bi, j]) is formed and decoded based on C„. Let b;1. be the decoded estimate of After X q such decoding, the receiver contains the following estimated data array:

Then, the receiver checks whether each iK, for 1 < i < X, is a code-word in C2. Note that this time C2 is used only for error detection. If all IbT, b'"- are code-words in C2, then decoding is successful. The decoded words are either delivered to the user or saved for later delivery.

If any 11T,;' is not a code-word in C2, the receiver discards the stored erroneous data array I and saves the erroneous parity array P for later use At the same time, the receiver requests a second retransmission. The second retransmission is the data array /b2,, ro)x) itself. The decoding for the second retransmission is the same as the first retransmission. Retransmissions and decoding continue until the data array is successfully recovered. Retransmissions are alternate repetitions of the parity array P and the data array I, as shown in Figure 22.24.

Retransmissions can be carried out in any of the three modes: the stop-and wait , the go-back-N , and the selective-repeat . If selective-repeat ARQ with finite buffer is used, the retransmission protocol described in the previous section can be used.

A special case for this hybrid ARQ error control scheme is that ni = hi = In this case no inner code is used the outer code C7 is used for both error correction and detection. The half-rate invertible code C, is used for error correction only.

22.8.3. 22.8.3 A SPECIFIC SYSTEM

Next, a specific concatenated coded modulation hybrid ARQ system proposed in [51] is used for illustration. Set m = 8 and X = 2. For this system, the outer code C2 is chosen as the shortened (224,

192) RS code over GF (28) obtained by deleting 31 information symbols from the NASA standard (255,

223) RS code over GF (28). This code has 32 parity-check symbols and is capable of correcting up to

16 symbol errors. The inner code C

1

for the concatenation is chosen as the 8-PSK BCM code of length

8, dimension 16 given in Example 19.1. Using this inner code,

FIGURE 22.24: Alternating data-parity retransmission strategy.

16 information bits are coded into a sequence of eight 8-PSK signals (n 1 = 8). This code has a spectral efficiency of 2 bits/signal (or effective rate = 1) and a minimum squared Euclidean distance of 4. It has a 4-state 8-section trellis and can be decoded with the soft-decision Viterbi decoding algorithm. In concatenation the outer code is interleaved by a degree of X = 2 before inner code encoding. The overall rate of

726881253.doc nedjelja, 12. travnja 2020 19

FIGURE 22.25: Upper bound on the probability of a decoding error.

FIGURE 22.26: Lower bound on the throughput efficiency. the concatenated code is R = Ri x = 1 x 192/224 = 0.857 (or spectral efficiency of 1.714 bits/signal).

The half-rate invertible code C,- for parity retransmission is the shortened (64, 32) RS code over

GF (28) obtained from shortening the outer code C2. C,- is capable of correcting up to 16 symbol errors over a span of 64 symbols and hence is very powerful. Therefore, even in a very noisy situation, a transmitted data array should be recovered with at most one retransmission.

The reliability and throughput efficiency of this system have been analyzed in [51] and are shown in

Figures 22.25 and 22.26, respectively. The system performs extremely well for SNR E, / N

0

greater than 7 dB (or, equivalently, channel bit-error probability p < 10-2). For SNR E s

/ N

0

= 8 dB, error-free communication is practically achieved and the system throughput efficiency is equal to the system rate,

0.857.

Other hybrid ARQ schemes using coded modulation for error control can be found in [51, 53, and 64-

66].

20 726881253.doc nedjelja, 12. travnja 2020

Download