Upload
independent
View
0
Download
0
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.