Signal Processing - March 2017 - 107
appended to the MS code. Thus, the transmitted channel packet is of the form
x [i] = (u [i], v [i], u [i - T ] + p v [i], p u [i]) .
By judiciously selecting K r , one can
achieve any N # B (see [13]). This construction is a generalization of the concatenated code discussed in the previous
section. The following result from [13]
characterizes the performance of these codes.
Theorem 3 (error-correction properties of MIDAS codes
at a given maximum delay)
Given a rate R and delay T, there exists a MIDAS code that
can recover from a burst-erasure channel of maximum length
B or an isolated-erasure channel with N erasures, provided
that B and N, with 1 # N # B, satisfy the following:
c
R B + N # T.
m
1 -R
(10)
Unlike the case of RLC codes in Theorem 1 where N = B
and the case of MS codes in Theorem 2 where N = 1, the
family of MIDAS codes can achieve any value of N ! [1, B]
in Theorem 3. Equation (10) governs the tradeoff between the
burst-error and isolated-error correction capabilities of
MIDAS codes for a given rate and delay. As the value of N
increases, the value of B must decrease and vice versa. Finally, it is also established [13] that the tradeoff in (10) is within
one unit of the optimal delay.
ERLC codes
In this approach, we replace the repetition code in the MS
code with an RLC code. As with the MS codes, we split the
source packet s [i] = (u [i], v [i]) of size K u and K v symbols,
respectively. We apply an RLC code to the v [i] packets as
before to generate parity checks p v [i] consisting of K u symbols. However, we substitute the rate-1/2 repetition code
applied to the u [i] packets with a rate-1/2 RLC code to generate parity-check packets p u [i] consisting of K u symbols.
The channel packet transmitted at time i is expressed
a s x [i] = (u [i], v [i], p v [i] + p u [i - D]) , where D ! [0, T ]
denotes the shift applied to the p u [ยท] stream. By judiciously
selecting the value of T, we can trade off the burst-error
correction and the isolated-error correction capability of this
code [15].
Theorem 4 (error-correction properties of ERLC
at a given maximum delay)
Consider an ERLC code of rate R, delay T, and shift T that
satisfies D $ R (T + 1) . For R $ 1/2 , the ERLC code can
recover from a burst-erasure channel with maximum burst
length B or from an isolated-erasure channel with a maximum of N erasures, provided that
B # 1 - R D,
R
1
R (T - D) + 1.
N#
R
Remark 3
In the broader literature,
there has been a
long-standing interest in
packet-level convolutional
codes for burst-error
correction.
(11)
(12)
In the ERLC construction, the choice of
the shift T is a design parameter. By varying the value of T, we can attain a tradeoff
between the burst-error and isolated-error
correction capabilities of the code [15].
From Theorems 3 and 4, at rate R = 1/2,
ERLC codes achieve larger values of B and
N than MIDAS at a given T. ERLC codes are also shown to
outperform MIDAS codes on patterns consisting of a burst followed by isolated losses (compare [14]). We will see that these
advantages of ERLC codes also lead to improved performance
in simulations over the statistical channel models. But before
presenting the simulation results, we provide a survey of the
existing literature on streaming codes.
Literature survey
Having discussed some of the basic streaming code constructions in the previous sections, we provide a survey of the existing literature in this area. In the broader literature, there has
been a long-standing interest in packet-level convolutional codes
for burst-error correction (see [21], [26]-[30] and the references
therein). However, these references do not impose the decoding
delay constraint and focus only on error recovery. The streaming setup in Figure 2 was introduced, to our knowledge, by
Martinian and Sundberg [24]. The class of MS codes for the
burst-erasure channel that we discussed in the "MS Codes" section was also presented in [24]. These were further developed in
[20] and [25], where explicit code constructions were provided
for all feasible burst lengths and decoding delays. The constructions in these works were based on a two-stage approach. A
low-delay block code was first constructed and then interleaved
to construct a convolutional code. Later, [13] provided an alternative approach that did not require the block code construction
but directly constructed the convolutional code using an RLC
code and a repetition code as constituent codes. This approach
was outlined in the "MS Codes" section.
While MS codes achieve the optimal burst erasure correction capability, they are sensitive to other loss patterns. In [13]-
[15], a sliding window channel model with burst and isolated
erasures is introduced, and the MIDAS and ERLC codes are
introduced in these works. A fundamental tradeoff between
the burst-erasure and isolated-erasure correction properties of
any code is established. This framework is used to establish
certain optimality properties of the proposed codes. Our discussion of MIDAS and ERLC codes in the "Robust Extensions
of MS Codes" section is based on these references.
Throughout this tutorial article, we restrict our attention to
the case in which one source packet arrives in each time slot and
one channel packet must be transmitted in each slot. References
[13] and [31]-[33] consider the case where the source arrival
and channel transmission rates are mismatched. In particular,
M > 1 channel packets must be transmitted by the encoder
between two successive source packets. References [13] and
[31] consider the decoding delay in terms of the source packets and characterize the capacity for the case of burst-erasure
IEEE Signal Processing Magazine
|
March 2017
|
107
Table of Contents for the Digital Edition of Signal Processing - March 2017
Signal Processing - March 2017 - Cover1
Signal Processing - March 2017 - Cover2
Signal Processing - March 2017 - 1
Signal Processing - March 2017 - 2
Signal Processing - March 2017 - 3
Signal Processing - March 2017 - 4
Signal Processing - March 2017 - 5
Signal Processing - March 2017 - 6
Signal Processing - March 2017 - 7
Signal Processing - March 2017 - 8
Signal Processing - March 2017 - 9
Signal Processing - March 2017 - 10
Signal Processing - March 2017 - 11
Signal Processing - March 2017 - 12
Signal Processing - March 2017 - 13
Signal Processing - March 2017 - 14
Signal Processing - March 2017 - 15
Signal Processing - March 2017 - 16
Signal Processing - March 2017 - 17
Signal Processing - March 2017 - 18
Signal Processing - March 2017 - 19
Signal Processing - March 2017 - 20
Signal Processing - March 2017 - 21
Signal Processing - March 2017 - 22
Signal Processing - March 2017 - 23
Signal Processing - March 2017 - 24
Signal Processing - March 2017 - 25
Signal Processing - March 2017 - 26
Signal Processing - March 2017 - 27
Signal Processing - March 2017 - 28
Signal Processing - March 2017 - 29
Signal Processing - March 2017 - 30
Signal Processing - March 2017 - 31
Signal Processing - March 2017 - 32
Signal Processing - March 2017 - 33
Signal Processing - March 2017 - 34
Signal Processing - March 2017 - 35
Signal Processing - March 2017 - 36
Signal Processing - March 2017 - 37
Signal Processing - March 2017 - 38
Signal Processing - March 2017 - 39
Signal Processing - March 2017 - 40
Signal Processing - March 2017 - 41
Signal Processing - March 2017 - 42
Signal Processing - March 2017 - 43
Signal Processing - March 2017 - 44
Signal Processing - March 2017 - 45
Signal Processing - March 2017 - 46
Signal Processing - March 2017 - 47
Signal Processing - March 2017 - 48
Signal Processing - March 2017 - 49
Signal Processing - March 2017 - 50
Signal Processing - March 2017 - 51
Signal Processing - March 2017 - 52
Signal Processing - March 2017 - 53
Signal Processing - March 2017 - 54
Signal Processing - March 2017 - 55
Signal Processing - March 2017 - 56
Signal Processing - March 2017 - 57
Signal Processing - March 2017 - 58
Signal Processing - March 2017 - 59
Signal Processing - March 2017 - 60
Signal Processing - March 2017 - 61
Signal Processing - March 2017 - 62
Signal Processing - March 2017 - 63
Signal Processing - March 2017 - 64
Signal Processing - March 2017 - 65
Signal Processing - March 2017 - 66
Signal Processing - March 2017 - 67
Signal Processing - March 2017 - 68
Signal Processing - March 2017 - 69
Signal Processing - March 2017 - 70
Signal Processing - March 2017 - 71
Signal Processing - March 2017 - 72
Signal Processing - March 2017 - 73
Signal Processing - March 2017 - 74
Signal Processing - March 2017 - 75
Signal Processing - March 2017 - 76
Signal Processing - March 2017 - 77
Signal Processing - March 2017 - 78
Signal Processing - March 2017 - 79
Signal Processing - March 2017 - 80
Signal Processing - March 2017 - 81
Signal Processing - March 2017 - 82
Signal Processing - March 2017 - 83
Signal Processing - March 2017 - 84
Signal Processing - March 2017 - 85
Signal Processing - March 2017 - 86
Signal Processing - March 2017 - 87
Signal Processing - March 2017 - 88
Signal Processing - March 2017 - 89
Signal Processing - March 2017 - 90
Signal Processing - March 2017 - 91
Signal Processing - March 2017 - 92
Signal Processing - March 2017 - 93
Signal Processing - March 2017 - 94
Signal Processing - March 2017 - 95
Signal Processing - March 2017 - 96
Signal Processing - March 2017 - 97
Signal Processing - March 2017 - 98
Signal Processing - March 2017 - 99
Signal Processing - March 2017 - 100
Signal Processing - March 2017 - 101
Signal Processing - March 2017 - 102
Signal Processing - March 2017 - 103
Signal Processing - March 2017 - 104
Signal Processing - March 2017 - 105
Signal Processing - March 2017 - 106
Signal Processing - March 2017 - 107
Signal Processing - March 2017 - 108
Signal Processing - March 2017 - 109
Signal Processing - March 2017 - 110
Signal Processing - March 2017 - 111
Signal Processing - March 2017 - 112
Signal Processing - March 2017 - 113
Signal Processing - March 2017 - 114
Signal Processing - March 2017 - 115
Signal Processing - March 2017 - 116
Signal Processing - March 2017 - 117
Signal Processing - March 2017 - 118
Signal Processing - March 2017 - 119
Signal Processing - March 2017 - 120
Signal Processing - March 2017 - 121
Signal Processing - March 2017 - 122
Signal Processing - March 2017 - 123
Signal Processing - March 2017 - 124
Signal Processing - March 2017 - Cover3
Signal Processing - March 2017 - Cover4
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_201809
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_201807
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_201805
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_201803
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_201801
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_1117
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0917
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0717
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0517
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0317
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0117
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_1116
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0916
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0716
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0516
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0316
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0116
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_1115
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0915
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0715
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0515
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0315
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0115
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_1114
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0914
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0714
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0514
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0314
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0114
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_1113
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0913
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0713
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0513
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0313
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0113
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_1112
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0912
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0712
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0512
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0312
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0112
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_1111
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0911
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0711
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0511
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0311
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0111
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_1110
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0910
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0710
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0510
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0310
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0110
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_1109
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0909
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0709
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0509
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0309
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0109
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_1108
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0908
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0708
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0508
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0308
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0108
https://www.nxtbookmedia.com