13
Maximizing Throughput of Packet Switched Wireless Communication Systems Chin Keong Ho, Frans Willems Eindhoven University of Technology PO Box 513, 5600 MB Eindhoven The Netherlands Email: {c.k.ho,f.m.j.willems}@tue.nl Job Oostveen Philips Research Laboratories Prof. Holstlaan 4, 5656 AA Eindhoven The Netherlands Email: [email protected] Abstract The throughput of a packet switched wireless communication system is the effective amount of data, usually in bits/symbols, that is transferred from the transmitter to the receiver. This serves as an important system measure of which fundamental limits are derived in this paper. We formalize the supremum of the average throughput as the throughput capacity. Depending on the restrictions imposed by the communication system, different throughput capacity is obtained. Furthermore, we consider a K-packet communication system where the channel is quasi-static over every K packets and causal partial feedback is provided. The average throughput is maximized using different coding schemes. Numerical results are obtained from the general formulations which reveal the effectiveness of the proposed schemes in Rayleigh fading channels. I. I NTRODUCTION In some wireless communication systems, such as specified in IEEE 802.11 standards for wireless LANs, a packet switched approach is adopted whereby the transmitter sends information to a receiver in blocks of data called packets. The packets can be transmitted from the base station to different mobile receivers, and vice versa, in a centralized network, or in an ad hoc manner in a peer-to-peer network. We are interested in the effective data rate that is transferred from the transmitters to the receivers and that is known as the throughput [1], [2]. In automatic repeat request (ARQ) communication systems [3], [4], an acknowledgement (ACK) bit is sent to the transmitter indicating whether the packet is correctly received. This can be considered as a form of partial channel state information (CSI) to the encoder. In Type II hybrid ARQ systems, redundant bits are added consecutively for each packet and decoding is carried out at each stage with increasing reliability. A well known code that achieves incremental redundancy is the rate compatible punctured convolutional code (RCPC) [5]. Extensions to capacity achieving codes have been carried out by replacing the convolutional code with a turbo code [6] or with a low-density parity-check code [7]. The authors propose sending a packet at the highest code rate, then sending incremental redundancy until the packet is decoded correctly. Hence, rate adaptation is not carried out specifically to maximize throughput. Also, a huge delay may be incurred as new bits are not sent until the erroneous packets are recovered or until a specified time is exceeded. In this paper, we approach the problem of throughput maximization from an information theoretic perspective. Rate adaptation is carried out to achieve the throughput capacity or the supremum of the average throughput. We consider a piece-wise time invariant channel over K packets with ACK as partial CSI. The throughput capacity depends on the amount of CSI available (full, no or partial), the coding strategy (independent or causal) and K . To recover the erroneous packets, especially when K is small, using incremental redundancy is essential to maintain a high throughput capacity. We develop a code that uses optimized rates and also transmits new data bits to packets even in the process of recovering erroneous packets. In a Rayleigh fading channel, the code approaches within 1 bit/symbol of the ergodic capacity using K =4 when the SNR is less than 30dB.

Maximizing throughput of packet switched wireless communication systems

Embed Size (px)

Citation preview

Maximizing Throughput of Packet Switched

Wireless Communication Systems

Chin Keong Ho, Frans WillemsEindhoven University of Technology

PO Box 513, 5600 MB Eindhoven

The Netherlands

Email: {c.k.ho,f.m.j.willems}@tue.nl

Job OostveenPhilips Research Laboratories

Prof. Holstlaan 4, 5656 AA Eindhoven

The Netherlands

Email: [email protected]

Abstract

The throughput of a packet switched wireless communication system is the effective amount of

data, usually in bits/symbols, that is transferred from the transmitter to the receiver. This serves as

an important system measure of which fundamental limits are derived in this paper. We formalize

the supremum of the average throughput as the throughput capacity. Depending on the restrictions

imposed by the communication system, different throughput capacity is obtained. Furthermore, we

consider a K-packet communication system where the channel is quasi-static over every K packets

and causal partial feedback is provided. The average throughput is maximized using different coding

schemes. Numerical results are obtained from the general formulations which reveal the effectiveness

of the proposed schemes in Rayleigh fading channels.

I. INTRODUCTION

In some wireless communication systems, such as specified in IEEE 802.11 standards

for wireless LANs, a packet switched approach is adopted whereby the transmitter sends

information to a receiver in blocks of data called packets. The packets can be transmitted

from the base station to different mobile receivers, and vice versa, in a centralized network,

or in an ad hoc manner in a peer-to-peer network. We are interested in the effective data rate

that is transferred from the transmitters to the receivers and that is known as the throughput

[1], [2].

In automatic repeat request (ARQ) communication systems [3], [4], an acknowledgement

(ACK) bit is sent to the transmitter indicating whether the packet is correctly received.

This can be considered as a form of partial channel state information (CSI) to the encoder.

In Type II hybrid ARQ systems, redundant bits are added consecutively for each packet

and decoding is carried out at each stage with increasing reliability. A well known code

that achieves incremental redundancy is the rate compatible punctured convolutional code

(RCPC) [5]. Extensions to capacity achieving codes have been carried out by replacing

the convolutional code with a turbo code [6] or with a low-density parity-check code [7].

The authors propose sending a packet at the highest code rate, then sending incremental

redundancy until the packet is decoded correctly. Hence, rate adaptation is not carried out

specifically to maximize throughput. Also, a huge delay may be incurred as new bits are not

sent until the erroneous packets are recovered or until a specified time is exceeded.

In this paper, we approach the problem of throughput maximization from an information

theoretic perspective. Rate adaptation is carried out to achieve the throughput capacity or the

supremum of the average throughput. We consider a piece-wise time invariant channel over

K packets with ACK as partial CSI. The throughput capacity depends on the amount of CSI

available (full, no or partial), the coding strategy (independent or causal) and K. To recover

the erroneous packets, especially when K is small, using incremental redundancy is essential

to maintain a high throughput capacity. We develop a code that uses optimized rates and also

transmits new data bits to packets even in the process of recovering erroneous packets. In

a Rayleigh fading channel, the code approaches within 1 bit/symbol of the ergodic capacity

using K = 4 when the SNR is less than 30dB.

II. THROUGHPUT CAPACITY

After giving the system model, we define the throughput and throughput capacity for

packet by packet transmission. We then consider the throughput capacity with full and with

no CSI, which act as the upper and lower bounds for the case with partial CSI.

A. System Model

We use the following system model in a block fading additive white Gaussian noise

(AWGN) channel

yk = hkxk + nk (1)

where yk ∈ CN is the receive signal vector and xk ∈ C

N the transmit signal vector for the

packet index k. The packet size in number of symbols, N , is assumed to be sufficiently large

so that the capacities and information outages defined throughout this paper are achievable.

The channel hk ∈ C is time invariant for each packet but may change from packet to packet.

The noise vector nk ∈ CN is AWGN with variance σ2

n.

We state some common definitions of the capacity. When there is no fading, i.e. h = 1,

Cawgn is the maximum data rate that can be transferred reliably:

Cawgn(γ̄) = log (1 + γ̄) (2)

in bits/symbol. We assume that the log function has base 2. The average SNR, denoted as

γ̄ = σ2x

σ2n

, is the signal to noise power ratio. For a block fading AWGN channel, the ergodic

capacity and instantaneous capacity are commonly used for system measures. They are given,

respectively, as

Cerg(γ̄) = Eh [Cinst(γ̄, h)] , (3)

Cinst(γ̄, h) = log(

1 + γ̄|h|2)

. (4)

As above, we make the following assumptions throughout this paper.

Assumption 1: At the transmitter, the transmit power for each codeword is fixed and full

CSI, no CSI or partial CSI is available. At the receiver, full CSI is available.

The Gaussian input distribution achieves the AWGN and instantaneous (Shannon) capaci-

ties. However, in general, the input distribution that achieves the capacity has to be determined

explicitly, sometimes even numerically. To ease further discussions, we make the following

assumption.

Assumption 2: The input distribution is assumed to be Gaussian1 but the rate 0 ≤ R < ∞,

in general a random variable, can be selected. Hence, we have infinitely many Gaussian

codebooks, each corresponding to a rate R and used with probability p(R).

B. Throughput

If a packet is not received correctly, an outage is said to occur. Practically, this information

is available at the receiver via a cyclic redundancy check (CRC) at the medium access control

(MAC) layer. The packet is either discarded or re-transmitted later in non-delay sensitive

applications. The present packet therefore fails to deliver the data bits and the instantaneous

throughput is zero. Otherwise, if the packet is received correctly, the instantaneous throughput

in bit/symbols equals the data rate. The throughput for a packet is therefore defined as

T (γ̄, R, h) = R × (1 − ǫ(γ̄|R, h)) (5)

where ǫ(γ̄|R, h) is the conditional outage probability that the outage event occurs at γ̄ for a

given R and h.

1Hence, the input distribution may not be optimal in terms of achieving Shannon capacity.

We consider the expectation of the throughput as a single measure that quantifies the

performance of the packet based communication system

Eh,R [T (γ̄, R, h)] = Eh,R [R × (1 − ǫ(γ̄|R, h))] . (6)

We treat, in general, the rate R at the transmitter as a random variable with some fixed

distribution. Hence, the expectation of the throughput is carried out over the channel as well

as over the rate. This formulation does not exclude the case when R is deterministic rather

than random, in which case its distribution becomes a Dirac delta function.

C. Throughput Capacity with Full CSI

Consider an optimal transmission strategy so that the throughput capacity CT (γ̄), defined

as the supremum of the average throughput (6), is achieved. The maximization is carried

out over the joint probability density function (PDF) p(R, h) = p(R|h)p(h) using any code.

Since p(h) depends on the environment and cannot be altered by design, the maximization

is carried out over p(R|h). Hence,

CT (γ̄) = supp(R|h)

Eh,R [T (γ̄, R, h)] . (7)

Proposition 1: Suppose that the packet size N → ∞, then CT (γ̄) = Cerg(γ̄) with full

CSI. The throughput capacity is achieved by using a capacity achieving code of rate Ri =Cinst(γ̄, hi) for the ith packet.

Proof: If N → ∞, then inf ǫ(γ̄|Ri, hi) = I (Ri > Cinst(γ̄, hi)), where I (·) is the

indicator function. Hence

Eh,R [T (γ̄, R, h)] ≤ Eh,R [R|R = Cinst(γ̄, hi)] = Cerg(γ̄).

The upper bound is achieved if full CSI is available and letting p(R|hi) = δ(R−Cinst(γ̄, hi)),i.e. using the rate Ri = Cinst(γ̄, hi) for the ith packet.

D. Throughput Capacity with No CSI

To achieve the throughput capacity given in Proposition 1, full CSI is required. Obtaining

the CSI can be carried out by feedback. It may be difficult to realize in practice since the

feedback is causal and the channel may change too rapidly for the feedback to be reliable.

Therefore, first we consider the extreme case when no CSI is available.In the case when h is not known at the transmitter, we let p(R|h) = p(R). Under this

constraint, and denoting ǫ(γ̄|R) = Eh [ǫ(γ̄|R, h)], the throughput capacity (7) becomes

CT (γ̄) = supp(R)

ER [Eh [T (γ̄, R, h)]] = supp(R)

ER [R × (1 − ǫ(γ̄|R))]

= supR

R × (1 − ǫ(γ̄|R)). (8)

The last line is justified by using Lemma 1 as given in the Appendix. In (8), only one

optimized rate is used for each average SNR regardless of the channel realizations. This

result reflects the fact that we are not able to adapt the rate to different channel realizations.At each rate R, when N → ∞, the probability of information outage, Pr(Cinst(γ̄, h) < R),

lower bounds ǫ(γ̄|R) [8] for any code. Hence, substituting this into (8), we get

CT (γ̄) = supR

Tave(γ̄, R) (9)

where Tave(γ̄, R)= R × Pr(Cinst(γ̄, h) ≥ R).

The corresponding rate argument that achieves the throughput capacity is denoted as Ro.The above result indicates that using the information outage to indicate a packet outage

gives the largest possible throughput capacity with no CSI. In order to simplify our discussion

for more complicated cases and provide at least an achievable result we make the following

assumption:Assumption 3: A packet outage occurs if and only if an information outage occurs.

0 5 10 15 20 25 30 35 400

2

4

6

8

10

12

14

SNR

Capacity

CAWGN

Cerg

Ro

CT

Average throughput for rate 1, 2, ...10(from left to right)

Fig. 1. Various capacities for the AWGN and Rayleigh fading channels.

E. Numerical Results

Consider the Rayleigh fading channel where the PDF of the instantaneous SNR γ =

|h|2/σ2n is given as pγ(γ) = 1

γ̄exp

(

−γ

γ̄

)

. Therefore, it can be shown that Tave(γ̄, R) =

R × exp(

1−2R

γ̄

)

. To find the maximum of Tave(γ̄, R) with respect to R, we first note that

Tave(γ̄, R) ≥ 0, and Tave(γ̄, R) → 0 when R → 0 and R → ∞. Thus, the maximum of

Tave(γ̄, R) is given by setting the first derivative to 0. By defining the Lambert W -function

as the inverse of the function f(W ) = W exp(W ), the closed form solution can be written

explicitly as Ro = W (γ̄)/ ln 2. The corresponding outage probability is ǫo = 1−exp(

1−2Ro

γ̄

)

.

The throughput capacity CT is then given as Ro(1 − ǫo).The average throughputs when fixed rates R = 1, 2, · · · , 10 are used are shown in Fig. 1.

Using Ro, however, allows the throughput capacity to be achieved that upper bounds the

average throughput using arbitrary rates. When full CSI is available, Cerg is achieved which

is substantially larger. At high SNR, the gradient of the Cerg curve is also significantly higher,

indicating the significance of channel knowledge at the transmitter.

III. K-PACKET SYSTEM WITH INDEPENDENT CODING

So far we consider the case when rate adaptation is performed independently for every

packet. This scenario is valid when the channel changes independently from packet to

packet. This could be due to a fast changing environment or simply because the packets

are transmitted to different receivers.

Next, we consider the throughput of a communication system where the channel is ergodic

but time invariant over every K-packet. This model is made practically possible if (a) the

transmitter sends K packets to the same receiver before switching to another and (b) the

channel is quasi-static at least over K packets. For this model to be practically useful, Kshould be fairly small, say 2 or 3. Obviously, when K = 1, it reduces to the packet based

communication system discussed in Section II.

The K-packet allows rate adaptation and coding/decoding to be carried out in a sequential

manner with dependency on past packets. In this section, we restrict the coding schemes to

those that encode the information bits independently in every packet. This has the benefit of

allowing the packet to be decoded independently. Therefore, there is no need to buffer the

packets at the receiver which is desirable from the implementation perspective.

A. Throughput Capacity with Full CSI and No CSI

We treat every K packets as one basic unit: a K-packet. The throughput for the K-packet

system is then

T K(γ̄, r, h) =1

K

K∑

k=1

T (γ̄, Rk, h) (10)

where r = [R1R2 · · ·RK ] is the rate vector and Rk is the rate of the kth packet. In general,

for other lengths of the rate vector, we write rk = [R1R2 · · ·Rk]. The superscript K is used

to denote that a K-packet system model is used. The throughput capacity is the supremum

of the average throughput over all rates

CKT (γ̄) = sup

p(r|h)

Eh,r

[

T K(γ̄, r, h)]

. (11)

Proposition 2: Suppose that full CSI is available, then the throughput capacity is inde-

pendent of K for a K-packet, i.e.

CKT (γ̄) = CT (γ̄), K = 1, 2, · · · . (12)

where CT (γ̄) is given by (7).

Proof: Since the supremum of a sum is less or equal to the sum of the suprema,

CKT (γ̄) ≤

1

K

K∑

k=1

supp(r|h)

Eh,r [T (γ̄, Rk, h)] = CT (γ̄) (13)

which follows from the definition given by (7). Obviously, equality can be achieved by using

the same supremum achieving rate as the single packet system with full CSI.

Generally, the same result holds when there is no change of CSI throughout the K-packet,

and specifically when no CSI is available. This is attributed to the fact that the proof is

independent of the argument of the supremum as long as it is defined similarly for CKT (γ̄)

and CT (γ̄).Hence, it is not possible to increase the throughput capacity further by increasing K for

either no CSI or full CSI. However, when incremental partial CSI is available, we are able

to improve the throughput capacity as K increases. This is the subject of our study in the

subsequent sections.

B. Throughput Capacity with Partial CSI

We consider feedback consisting of a 1 bit ACK whereby the transmitter is notified of

whether the packet is received correctly. This provides a form of incremental CSI which

is always available in a communication system with hybrid ARQ. For example, consider a

3-packet system. Packet 1, 2 and 3 are transmitted using the same channel. Packet 1 has no

CSI, Packet 2 knows whether an outage occurs for Packet 1, and Packet 3 knows whether

outages occur for Packet 1 and 2.

Let the 1 bit ACK for the ith packet be denoted as Ai ∈ {0, 1}, i = 1, 2, · · · ,K − 1, and

the ACK vector containing all ACKs as ak = [A1A2 · · ·Ak]. The element Ak−1 represents

the incremental partial CSI made available to the kth packet before an appropriate rate Rk

is selected. This leads to the following causal CSI and partial CSI assumptions:

Assumption 4 (Causal CSI): Assume that rate adaptation is causal, i.e. Rk depends only

on past rates rk−1 and past partial CSI ak−1. This leads to

p(r|aK−1) =K∏

k=1

p(Rk|rk−1, ak−1). (14)

��

������

�����

������

�� ���

�� ��������

�����

��������

��������

��������

��������

���������

���������

���������

���������

�� ���

�� ��������

�� ����

�� ����

Fig. 2. Rates using for K = 3 with 1 bit ACK feedback.

Assumption 5 (Partial CSI): Assume that p(r|h, aK−1) = p(r|aK−1). This assumption also

leads to a factoring of the joint PDF of r, h and aK−1 as

p(r, h, aK−1) = p(r|aK−1)p(aK−1)p(h|aK−1). (15)

For causal partial CSI, the throughput capacity is formulated by introducing the extra

random variable aK−1 in the expectation of (11). Also, using (14) and (15), (11) becomes

CKT (γ̄) = sup

p(r|aK−1)

Er,h,aK−1

[

T K(γ̄, r, h)]

= sup∏K

k=1p(Rk|rk−1,ak−1)

EaK−1E

r|aK−1Eh|aK−1

[

T K(γ̄, r, h)]

. (16)

Generally, the distribution that achieves the throughput capacity is not unique, but we are

interested in at least one solution. The following proposition is used to identify a simple one.

We denote optimal rates with a superscript o.

Proposition 3: There exists a deterministic rate vector ro(aK−1) = [Ro1R

o2(a1) · · ·R

oK(aK−1)]

that achieves (16). The rate of the kth packet, Rok(ak−1), depends only on ak−1.

Proof: Using the chain rule of conditional probability on p(aK−1) and expanding the

sup operator where appropriate, the last line of (16) can be written as

sup

p(R1)

ER1

︸ ︷︷ ︸

EA1sup

p(R2|r1,a1)

ER2|r1,a1

︸ ︷︷ ︸

· · ·EAK−1|aK−2sup

p(RK |rK−1,aK−1)

ERK |rK−1,aK−1

︸ ︷︷ ︸

Eh|aK−1

[

T K(γ̄, r, h)]

.

supR1

supR2(r1,a1)

supRK(rK−1,aK−1)

By using Lemma 1, we can replace each expression above the under-braces by the cor-

responding expression below them. With this simplification, the optimal rate for packet kis Ro

k(rok−1, ak−1) and is deterministic. Hence, the optimal rate vector is also deterministic.

Furthermore, due to the dependency on rok−1, Ro

k is also a function of ai ∀i = 1, 2, · · · , k−1of which is completely specified by ak−1. We can therefore drop the dependency on ro

k−1

when we refer to optimal rates.

Graphically, the rates of r(aK−1) can be represented as a tree which emphasizes the effect

of the causality constraint. This is illustrated in Fig. 2 for K = 3. The rate for Packet 1 is

not dependent of any ACKs and one optimized rate Ro1 exists, while the rates for packet k

depend on ak−1 and 2k−1 optimized rates Rok(ak−1) exist.

Knowing that the optimal solution is deterministic allows us to perform a joint optimization

maximization over just one modified rate vector rather than over a joint distribution. Since

Ak contains 2 elements, there exists∑K−1

k=0 2k = 2K − 1 distinct optimal rates that account

for all possible aK−1. Define the vector rall as the vector that collects all the 2K − 1 distinct

0 5 10 15 20 25 30 35 400

2

4

6

8

10

12

14

SNR

Ca

pa

city

CTP

C2

TP C

3

TP C

4

TP

Ergodic capacity

Fig. 3. Throughput capacity with 1 bit ACK feedback using independent coding.

rates in r(aK−1) over all possible aK−1. The throughput capacity finally simplifies as

CKT (γ̄)= sup

rall

T Kave(γ̄, rall) (17)

where T Kave(γ̄, rall)=

1

K

K∑

k=1

Eak−1Eh|ak−1

[T (γ̄, Rk(ak−1), h)] . (18)

C. Example and Numerical Results

For illustration, we consider the example when K = 2. Let Ai = 0 denote an outage for

the ith packet and Ai = 1 otherwise. By Assumption 3, A1 = 0 ⇔ R1 ≤ Cinst(γ̄, h), hence

the average throughput before maximization in (17) simplifies as

T Kave(γ̄, rall) = 1/2[ R1 × Pr(R1 ≤ Cinst(γ̄, h))

+R2(1) × Pr(R1 ≤ Cinst(γ̄, h), R2(1) ≤ Cinst(γ̄, h))

+R2(0) × Pr(R1 > Cinst(γ̄, h), R2(0) ≤ Cinst(γ̄, h))]. (19)

The average throughput when A1 = 1 (i.e. R1 ≤ Cinst(γ̄, h)) is given by the first 2 lines and

when a1 = 0 is given by the last line.

For a Rayleigh fading channel, the average throughput (19) is maximized according to

(17) via numerical maximization. The results are plotted in Fig. 3 for K = 2, 3, 4. The

plot for Cerg and CT when no CSI is available is also given for comparison. We see that

the improvement in throughput is largest from a single packet system to a 2-packet system.

However, the rate of improvement is slow with respect to K and this motivates us to consider

more advanced coding methods.

IV. CAUSAL CODING WITHIN K-PACKETS

By coding across packets but within a K-packet, the throughput capacity can be further

improved as compared to independent coding. We restrict ourselves to consider the following

coding strategy that operates in a casual manner. If the previous packet is decoded correctly,

each packet is coded using some rate to be determined. Otherwise, one or more packets are

erroneous. Redundant bits are sent to improve the reliability of the erroneous bits, possibly

together with new bits. For this purpose, we require a capacity achieving mother code

consisting of M > 1 components where the first m = 1, 2, · · · ,M − 1 components also

constitute a capacity achieving code. The existence of such a code is proven in [2].

A. Throughput Capacity

Denote Bk(ak−1) as the number of bits/symbol recovered when Packet k is not in outage

given the ACK vector ak−1. For the case when independent coding is used, Bk(ak−1) =Rk(ak−1). To accommodate for the general case, the throughput is formulated as

Tgeneral(γ̄,Bk(ak−1), Rk(ak−1), h) = Bk(ak−1) (1 − ǫ(γ̄|Rk(ak−1), h)) . (20)

Notice that this definition becomes (5) when independent coding is used. The throughput ca-

pacity is similar to (17) by replacing T with Tgeneral. The average throughput to be maximized

is therefore

T Kave(γ̄, rall) =

1

K

K∑

k=1

Eak−1Eh|ak−1

[Tgeneral(γ̄,Bk(ak−1), Rk(ak−1), h)] . (21)

B. K = 2

We give examples using K = 2 for three coding methods which are of interest due to

their implementation possibility. The last coding method gives the largest possible throughput

capacity and is elaborated in Sect. V for the general case. The same 1 bit ACK feedback is

used.

1) Repetition Code, K=2: Consider a conventional re-transmission scheme. When Packet

1 is erroneous, the transmitter re-sends exactly the same packet in Packet 2. At the receiver,

instead of discarding Packet 1, the packet can be buffered. When the re-transmitted packet

arrives, the optimal decoding method for a time invariant channel is to average the two packets

which improves the SNR by 3 dB. In this case, B1 = R1,B2(1) = R2(1) and B2(0) = R1.

From (20), the average throughput using such a repetition code is then

T Kave(γ̄, rall) = 1/2 × [ R1 × Pr (R1 ≤ Cinst(γ̄, h))

+R2(1) × Pr (R1 ≤ Cinst(γ̄, h), R2(1) ≤ Cinst(γ̄, h))

+R1 × Pr (R1 > Cinst(γ̄, h), R1 ≤ Cinst(2γ̄, h))]. (22)

The first line gives the throughput of Packet 1, the second line gives the throughput of Packet

2 when A1 = 1, the third line gives the throughput of Packet 2 when A1 = 0. Although

simple to implement, the capacity can be improved by using a better coding method.

2) Suboptimal Code, K=2: Alternatively, if Packet 1 is in outage, Packet 2 is used entirely

to send redundant bits. This allows an effective rate of R1/2 to be achieved for Packet 2

with B2(0) = R1.

From (20), the average throughput using such a suboptimal code becomes

T Kave(γ̄, rall) = 1/2 [R1 × Pr (R1 ≤ Cinst(γ̄, h))

+R2(1) × Pr (R1 ≤ Cinst(γ̄, h), R2(1) ≤ Cinst(γ̄, h))

+R1 × Pr (R1 > Cinst(γ̄, h), R1/2 ≤ Cinst(γ̄, h))]. (23)

To implement such a scheme, we require a capacity achieving code of rate R1 with the

property that it can be extended to a capacity achieving code with rate R1/2. A more general

coding scheme is possible by relaxing the requirement that Packet 2 contains only redundant

bits.

0 5 10 15 20 25 30 35 400

2

4

6

8

10

12

14

SNR

Ca

pa

city

Capacity for 2 packets with different causal coding

CT with no CSI

C2

T using repetition code

C2

T using suboptimal code

C2

T using optimal code

CT with full CSI

Fig. 4. Throughput capacity with 1 bit ACK feedback of a 2-packet using causal codes.

3) Optimal Code, K=2: Suppose that in Packet 1, B1 bits/symbol of information bits are

transmitted; hence R1 = B1. If Packet 1 is not in outage, then we use rate R2(1) for Packet

2. Otherwise, Packet 2 is split into 2 parts. The first part consisting of normalized packet

length α ≤ 1 is used to send redundant bits at an effective rate of B1

1+αfor the erroneous bits.

The second part of length 1− α is used to transmit B2 ≥ 0 new bits of data, hence the rate

is B2

1−α. For consistency, we define B2

1−α= 0 for B2 = 0, α = 1. We then impose the equal

rate constraint that equates the effective rates of the erroneous and new bits to be the same

as some rate R2(0), i.e. R2(0) = B1

1+α= B2

1−α. For a given R2(0), this constraint fixes the

variables B2 and α. Also, using Assumption 3, an important implication of the equal rate

constraint then follows: a 1 bit ACK for A2 is sufficient to indicate whether the erroneous

bits and the new bits are simultaneously recovered.

With the equal rate constraint, it can be easily shown that R2(0) = B1+B2

2. If Packet 2 is

received correctly after Packet 1 is in outage, we recover B2(0) = B1 +B2. Thus, R2(0) can

be interpreted as the effective rate for the first two packets taken as a whole2. Notice that

this coding method reduces to the suboptimal code if α = 1 and B2 = 0.

From (20), the average throughput for the optimal code is then

T Kave(γ̄, rall) = 1/2 × [ R1 × Pr(R1 ≤ Cinst(γ̄, h))

+R2(1) × Pr(R1 ≤ Cinst(γ̄, h), R2(1) ≤ Cinst(γ̄, h))

+2R2(0) × Pr(R1 > Cinst(γ̄, h), R2(0) ≤ Cinst(γ̄, h))]. (24)

This only differs from (23) in the last line when an outage occurs for Packet 1: an extra

degree of freedom is available in choosing R2(0). To implement such a code, we require a

capacity achieving code of rate R1 with the property that it can be extended to a capacity

achieving code with rate R2(0).4) Numerical Results: The average throughput (22), (23), (24) is maximized jointly for all

rates for comparison. The maximization is performed numerically for K = 2 for a Rayleigh

fading channel and the throughputs are illustrated in Fig. 4. When compared to CT with no

CSI, using a repetition code results in a SNR improvement of the throughput by about 1 dB.

We note that the SNR improvement is parallel to CT at high SNR. Using a suboptimal code

improves the throughput in terms of the slope, while using the optimal code results in the

best performance.

2The reader may note that 0 ≤ α ≤ 1 leads to a rate restriction of R1/2 ≤ R2(0) ≤ R1. However, in Sect. V it will be

shown that this will not affect the optimality of the throughput capacity.

����� ����� ��������������

�� �� ���� �� ��

�����

��

����

��

��������������

�� �������

����������������������

� ��� ���

��������� � ���

� � � �

����������� ���� ����

Fig. 5. Packet structure of optimal codes for a K-packet system.

V. CAUSAL CODING USING OPTIMAL CODE

The optimal code is elaborated in this section for any K. The code differs from the

independent code only when a burst of packet errors occurs. Hence, for the purpose of

description, we suppose that the first K − 1 consecutive packets are erroneous in a K-

packet, i.e. aK−1 = 0K−1 (a row vector containing K − 1 zeros). We will return to the

general case in Sect. V-B when the throughput capacity is discussed.

A. Optimal Code when aK−1 = 0K−1

Fig. 5 illustrates how the optimal code is implemented for the K th packet. First split the

Kth packet into K parts. The first K − 1 parts are then used to send redundant bits using

a normalized packet length of αK(i), i = 1, · · · ,K − 1, each part corresponding to one

erroneous packet. The K th part is used to send BK new bits. To fix all the parameters, we

choose to fix the effective rate of the packets by the equal rate constraint. Interestingly, this

choice has the property that it does not affect the optimality of the throughput capacity.

To lighten the notation, we write Rk(0k−1) simply as Rk in this section since we are only

concerned of the case when past packets are erroneous.

1) Definitions: We make the following definitions for the optimal code:

• Dk refers to data bits first sent in Packet k,

• Pk refers to all the redundancy bits of Dk for Packet k + 1 and onwards,

• Bk ≥ 0 is the number of new data bits transmitted in Packet k,

• 0 ≤ αk(i) ≤ 1 is the normalized packet length used in Packet k for transmitting the

redundancy bits of Di,

• TKk ≥ 0 is the total time used in a K-packet for transmitting Dk and Pk.

Note that T Kk =

(

1 −∑k−1

i=1 αk(i))

+∑K

j=k+1 αj(k), which follows directly by observing

Fig. 5.

2) Packet Structure: The packet structure for Packet k is specified by the set of parameters

Sk = {Bk, αk(i), i = 1, 2, · · · , k − 1}.

Given the packet structure of the first K − 1 packets, we give an algorithm to determine the

packet structure for Packet K, i.e. SK .

For a given RK (satisfying an inequality to be discussed later), we impose the generalized

equal rate constraint that for T Kk > 0

RK =Bk

TKk

, k = 1, 2, · · · ,K. (25)

This allows SK to be determined as follows:

• for k = 1, 2, · · · ,K − 1, calculate αK(k) so that the effective rate of Dk and Pk is RK ,

• calculate BK so that the same effective rate of DK is also RK .

3) Properties: The rate RK represents the average rate of the K-packet taken as a whole

since

RK = (B1 + B2 + · · · + BK)/K. (26)

Proof: Using (25), we have∑K

k=1 Bk = RK

∑K

k=1 TKk . Since

∑K

k=1 TKk represents the

total time of a K-packet and equals K, the result follows.The use of the equal rate constraint leads to the following rate restriction

K − 1

KRK−1 ≤ RK ≤ RK−1. (27)

Proof: Since Packet K−1 also uses the optimal code, the equal rate constraint applies.

Therefore (25) and (26) is true by replacing K by K−1 as well. Hence, using (25), we haveRK

RK−1

=T K−1

k

T Kk

≤ 1 since the time used for Dk and Pk never decreases as the packet index

increases. Also, using (26), we have RK = (K−1)RK−1+BK

K≥ K−1

KRK−1 since BK ≥ 0.

4) Throughput: Using the equal rate constraint, and by Assumption 3, either all or none

of the packets will be received correctly. Hence, a single bit ACK is sufficient for rate

adaptation. Given that the past K − 1 packets are erroneous imply that Packet K − 1 is

erroneous and hence RK−1 > Cinst(h). Denote BK as the number of bits/symbol received in

the Kth packet when there is no outage for Packet K, i.e. RK < Cinst(h). Therefore, using

(20) the average throughput for Packet K is

BK Pr (RK < Cinst(h), RK−1 > Cinst(h))

=

{

BK Pr (RK < Cinst(h) < RK−1) , RK ≤ RK−1

0, RK > RK−1(28)

This leads to the important property that the equal rate restriction is not a bad choice.Proposition 4: Let Ro

K−1, RoK be the rates for Packets K−1,K that achieve the throughput

capacity, when the first K − 1 packets are erroneous. For a K-packet, the rate restriction of

(27) does not lead to a loss in optimality of the throughput capacity, i.e. imposing

K − 1

KRo

K−1 ≤ RoK ≤ Ro

K−1 (29)

will not lead to a smaller throughput capacity.Proof: The lower inequality K−1

KRK−1 ≤ RK given in (27) is derived as a consequence

of BK ≥ 0. Hence it applies to the optimum rates RoK−1, R

oK as well; hence the lower

inequality of (29) is valid. The upper inequality in (27) is a consequence of the equal rate

restriction and we need to show that this restriction does not affect the throughput capacity.

From (28), choosing RK ≤ RK−1 never results in a smaller average throughput because the

average throughput is always non-negative. Since the throughput capacity seeks to maximize

the throughput, having RoK ≤ Ro

K−1 does not reduce the throughput capacity.

B. Throughput Capacity

When there is no outage, the bits recovered in Packet k, Bk(ak−1), depends on whether

the previous packets are erroneous. Consider the case when the last m elements of ak−1

are zeros and not more. Therefore, ak−1 = [b 0m], 0 ≤ m ≤ k − 1, where b is either an

arbitrary row vector of length ending with 1 or an empty vector. Using the optimal code

over the last m packets, and if no outage occurs for the kth packet, we recover the data bits

Bk−m+Bk−m+1+· · ·+Bk. By extending the result of (26), this is equivalent to (m+1)Rk|ak−1.

Otherwise, all previous packets must be received correctly. The rate for Packet k can then

be selected independently as Rk(ak−1). Summarizing, we have

Bk(ak−1) =

{

(m + 1)Rk(ak−1), when ak−1 = [b 0m], 0 ≤ m ≤ k − 1,Rk(ak−1), otherwise.

(30)

The throughput capacity can then be obtained by maximizing (21) by using Assumption 3.

0 5 10 15 20 25 30 35 400

2

4

6

8

10

12

14

SNR

Capacity

CT

C2

T

C3

T

C4

T

Ergodic capacity

Fig. 6. Throughput capacity with 1 bit ACK feedback of a K-packet using optimal code for K = 2, 3, 4.

C. Numerical Results

The throughput capacity of the optimal code using for K = 2, 3, 4 is illustrated in Fig. 6.

We see that as K increases, better throughput capacity can be achieved. The throughput of

C4T is not smooth due to local maximas found in the numerical maximization procedures.

Nevertheless, the throughput is only less than 1 bit of throughput capacity with full CSI (i.e.

the ergodic capacity) when the SNR is less than 30dB.

VI. CONCLUSION

We propose several rate adaptation schemes to maximize the throughput. We consider a

piece-wise time invariant system that is constant over K packets. By allowing joint decoding

of re-transmitted packets and the original erroneous packets, the throughput can be improved

significantly.

APPENDIX

Lemma 1: Suppose that f(x) is a function of a random variable x with domain DX , and

p(x|y) a conditional PDF with support SX|Y =y ⊆ DX for all y. The variables x, y can be of

any finite dimension. Then

supp(x|y)

EX|Y =y[f(x)] = supx∈SX|Y =y

f(x) , fo. (31)

The supremum achieving distribution argument on the LHS is p(x|y) = δ(x−xo(y)), where

xo(y) is the supremum achieving argument on the RHS.

Proof: For any f(x),

EX|Y =y[f(x)] =

x∈SX|Y =y

f(x)p(x|y)dx ≤

x∈SX|Y =y

fop(x|y)dx = fo.

Equality is achieved if p(x|y) = δ(x − xo), hence completing the proof.

ACKNOWLEDGMENT

The authors would like to thank Stan Baggen and Ronald Rietman for valuable discussions.

REFERENCES

[1] L. Lin, R. D. Yates, and P. Spasojevic, “Adaptive transmission with discrete code rates and power levels,” IEEE Trans.

Commun., vol. 51, no. 12, pp. 2115–2125, Dec. 2003.

[2] C. F. Leanderson and G. Caire, “The performance of incremental redundancy schemes based on convolutional codes

in the block-fading gaussian collision channel,” IEEE Trans. Wireless Commun., vol. 3, no. 3, pp. 843–854, May 2004.

[3] J. M. Wozencraft and M. Horstein, “Coding for two-way channels,” Res. Lab. Electron., MIT, Cambridge, MA, Tech.

Rep. 383, Jan. 1961.

[4] P. Sindhu, “Retransmission error control with memory,” IEEE Trans. Commun., vol. 25, no. 5, pp. 473–479, May 1977.

[5] J. Hagenauer, “Rate-compatible punctured convolutional codes (RCPC codes) and their applications,” IEEE Trans.

Commun., vol. 36, no. 4, pp. 389–400, Apr. 1998.

[6] D. N. Rowitch and L. B. Milstein, “On the performance of hybrid FEC/ARQ systems using rate compatible punctured

turbo (RCPT) codes,” IEEE Trans. Commun., vol. 48, no. 6, pp. 948–959, June 2000.

[7] S. Sesia, G. Caire, and G. Vivier, “Incremental redundancy hybrid arq schemes based on low-density parity-check

codes,” IEEE Trans. Commun., vol. 52, no. 8, pp. 1311–1321, Aug. 2004.

[8] L. Ozarow, S. Shamai, and A. Wyner, “Information theoretic considerations for cellular mobile radio,” IEEE Trans.

Veh. Technol., vol. 43, no. 2, pp. 359–378, May 1994.