Book Coding Concepts and Reed Solomon Codes
Book Coding Concepts and Reed Solomon Codes
ISBN 978-3-98130030-6-3
1. Packet Transmission
1.1 Introduction 1
1.2 Transmission Using an Encoding Matrix 3
1.2.1 Packets as symbols of an RS code 3
1.2.2 Binary packets combination 3
1.2.3 Non-binary packets combination 5
1.3 Feedback and Collision Detection 7
1.4 No Feedback, Collision Detection 8
1.5 No Feedback, no Collision Detection 9
1.5.1 Error correction for array-like data structures 9
1.5.2 The access algorithm 13
1.6 Concluding Remarks 15
2. Random Access
2.1 Channel Capacity and Access Models 19
2.1.1 The binary OR channel 21
2.1.2 The M-ary OR channel 23
2.2 Signaling with Random Signatures 27
2.2.1 Signatures with a symmetric input distribution 28
2.2.2 Signatures with an asymmetric input distribution 29
2.3 Signaling with Constructed Signatures 31
2.3.1 The Titlebaum construction 31
2.3.2 Decoding error probability for the Titlebaum 32
construction
2.3.3 Superimposed codes 34
2,4 Signatures for the XOR Channel 40
2.5 Concluding Remarks 41
3. Cooperative Coding
3.1 Introduction 45
3.2 Communication Strategies 46
3.3. Multi User Tandem Communication 53
3.3.1 Point-to-point communication 54
3.3.2 Communication strategies 55
3.4 Concluding Remarks 61
6. Biometrics
6.1 Biometric Authentication 115
6.2 Biometric Reconstruction 117
6.3 The Juels-Wattenberg Scheme 120
6.3.1 Juels-Wattenberg Scheme with a biometric of length n 121
6.3.2 Juels-Wattenberg Scheme with a biometric of fixed 122
length t < n
6.4 The Juels-Sudan (JS) Scheme 124
6.5 An Improved Version of the Juels-Sudan Scheme 126
6.6 Concluding Remarks 128
7. Codes with Constraints
7.1 Symbol Avoidance 129
7.2 Constrained Coded Modulation 132
7.2.1 System design 132
7.2.2 Idea for the modulation 133
7.2.3 Idea for the RLL-encoding 134
7.3 Optimum Distance Profile 140
7.4 Same-weight Code Construction 144
7.5 Concluding Remarks 145
9. Appendix
A.1 A Bit of Information Theory 161
A.2 A Short Introduction to Galois Fields 164
A.2.1 Calculations modulo a prime number, GF(p) 164
A.2.2 Calculations modulo a binary minimal polynomial 165
A.3 Vandermonde’s Determinant 167
A.4 RS Encoding and Syndrome Former 169
A.5 The Decoding Algorithm 175
A.6 Middleton Class-A Impulse Noise Model 178
A.7 Impulse Noise Channel Capacity 181
A.8 Channel Capacity and Water-filling 185
A.8.1 Gaussian channel capacity 185
A.8.2 Capacity of the degraded broadcast channel 186
A.8.3 Water-filling for two parallel channels 187
A.8.4 Water-filling for n parallel channels 188
concept development
performance estimation
practical embodiment
application of
RS codes
performance evaluation
i
Chapter 1 considers networks where information is transmitted in packets.
Reliable packet transmission can be realized via networking protocols using
feedback and error control coding. When the data in the packets are code
words of an RS code and in addition the packets have an identification (ID)
number, provided by the network protocol in use, we can use error control to
improve the throughput efficiency especially in the situation where packets
get lost. Lost packets can be recovered by erasure decoding.
e-1
0
0 1 G
Figure 0.2 The throughput for the slotted Aloha
ii
channels (MAC) for users that are permanently sending information. In
random access the users are not permanently active, and in addition cannot
communicate with each other. We discuss coding in a multi user concept
where the set of active users is small compared to the total amount of
potential users. In this case, time - or frequency division is an inefficient
way of communication. We introduce three models for “non-trivial” access.
For these models we calculate the maximum throughput and the way how to
obtain this maximum throughput. We consider transmission using
signatures. For a simple construction we can calculate the performance and
compare the results with random signatures. We give a class of codes that
can be used to uniquely determine the set of active users from the composite
signature at the channel output.
iii
like impulse- and narrowband noise. Extended RS codes with low rate (2/n)
can be seen as an optimum class of permutation codes. We develop the
concept of same-weight codes to be used for channels with permanent
disturbances.
key k key k
cryptogram c
encrypt decrypt
e(m,k) = c d(c,k) = m
message m message m
key k key k
noise
cryptogram c
encrypt decrypt
e(m,k) = c d(c, k) = m
message m message m
iv
For both situations, the use of a special form of RS encoding gives
optimum results.
bio bn bio bn
cn + bn data base
n
c cn + en
encoder decoder
? X’
random data X Hash(X) = Hash(X’)
Chapter 7 contains topics that can be seen as constrained coding. The first
topic is the avoidance of certain symbols to occur in the output of an RS
encoder. The second topic is the combination of RS and run-length
constrained coding with application in bandwidth limited channels. In
communication systems, coding is a fixed part of the design. To change a
code is impossible due to standards and already implemented decoding
algorithms. In cognitive systems, we want to adapt the efficiency of a
transmission scheme to the actual circumstances. For this we have to be able
to change the modulation and also the error correcting - or error detecting
v
code. Some concepts are well known, such as puncturing or
shortening/lengthening an encoding matrix of a linear code. In this way, the
efficiency of the code is changed by changing the length n of the code
words. We choose another method: row extension/deletion of the encoding
matrix for an (n,k) code, and thus change the parameter k.
0 0 0 0 0 0
1 1 1 1 1 1
no defect defect-0 defect-1
Kuznetsov and Tsybakov showed that, when the writer knows and the reader
does not know the value and the position of the defect, the writing capacity
is (1-p) bits/memory cell. In Chapter 8, we show how to use RS codes as
optimum symbol defect matching codes.
vi
vii
viii
Chapter 1-Packet Transmission
Chapter 1
Packet Transmission
In networks, data is transmitted in the form of packets. A packet consists of a
block of data bits plus control information that helps in its proper routing and
reassembly into the original form at the receiving end. We assume that
packets have an identification number (ID) provided by the network protocol
in use. Reliable packet transmission can be realized via networking protocols
using feedback and error control coding. Error control coding can improve
the throughput or transmission efficiency especially in the situation where
packets get lost.
- the classical Aloha protocol [1], where feedback is given to the users
about successful or not successful transmission;
- a protocol with randomized packet transmission using Reed-Solomon
(RS) codes, when there is no feedback but there is collision detection;
- a simple and efficient error correction scheme for array-like data
structures. This scheme is used for packet transmission using the Aloha
protocol without feedback and without collision detection.
1.1 Introduction
RS codes play an important role in networking. We will highlight some of
the “simple” applications. We first recall the main properties of linear error
correcting codes that are needed for the protocol descriptions.
1
Chapter 1-Packet Transmission
Property 1.1 The code words of a linear (n,k) error correcting code are
linear combinations of the rows of a k × n encoding matrix Gk,n of rank k, i.e.
cn = xkGk,n, where xk and cn are of length k and n, respectively.
We may distinguish between bit- and symbol oriented codes. For symbol
oriented codes over GF(2m), the components of xk, cn and Gk,n are m bits
wide. The minimum number of differences (measured in symbols) between
any two code words is denoted as dmin.
Property 1.2 For an (n,k) linear error correcting code, the minimum distance
dmin is upper bounded by dmin ≤ n – k + 1. RS codes achieve the upper bound
with equality.
Property 1.3 An (n,k) error correcting code with minimum distance dmin is
able to detect at least t symbol errors for dmin ≥ t +1.
Property 1.4 An (n,k) error correcting code with minimum distance dmin is
able to correct at least t symbol errors for dmin ≥ 2t +1.
Property 1.5 For an (n,k) linear code with minimum distance dmin, dmin-1
erasures can be corrected.
Misdetection occurs iff (if and only if) the error pattern changes a
transmitted code word into another valid code word. For linear codes, the
undetected error probability is determined by the probability that we do
2
Chapter 1-Packet Transmission
receive a code word with dmin differences from the transmitted code word. In
[4] we discuss the undetected error probability for linear block codes on
channels with memory.
ηARQ = (1-p) R.
Since long packets are certainly received in error, the packet length needs to
be adapted to the channel error behavior. This requires accurate modeling.
An alternative option is to encode k binary data words (P1, P2, , Pk) with a
binary encoding matrix Gk,n for a code with minimum distance dmin. The ith
data word Qi, 1 i n, is encoded as
3
Chapter 1-Packet Transmission
where gj,i is the binary component from Gk,n at row j and column i.
Using Property 1.6, any sub-matrix with dimension k × (n - (dmin -1)) has
rank k. Thus, if at the receiver we do receive at least dmin -1 correct packets,
we are able to decode the transmitted k data words by using the ID of the
lost (erased) packets.
1000111
G3,7 = 0101011 (1.1)
0011101
Any sub-matrix with dimension k × (n - (dmin -1)) = 3 x 4 has rank 3 and can
thus be used to reconstruct the three encoded data words when not more than
3 transmitted packets out-of -7 are lost (erased).
Suppose that we use matrix (1.1) for the encoding of data words that are RS
code words. The RS codes are good error detection codes and thus after
transmission, the receiver knows whether a data word contains errors or not.
The data words detected in error can be declared to be erased or missing.
The same decoding principle applies as before.
For this encoding scheme, Q7 = (RS1 ⊕ RS2 ⊕ RS3), where ⊕ denotes the
exclusive-OR (XOR) of the code words RS1, RS2 and RS3. By linearity, Q7 is
also a code word and can thus be treated as a code word from the RS code. If
Q3, Q4 and Q5 are lost, we can use the columns 1, 2, 6 and 7 to reconstruct
(RS1, RS2, RS3). The part of the encoding matrix
1011
G3,4 = 0111 ,
0001
has rank three and the 3 x 3 matrix formed by columns 1, 2 and 4 has an
inverse. Multiplying the received vector of data words (Q1, Q2, Q7) with Ginv,
we find back RS1, RS2 and RS3, i.e.
4
Chapter 1-Packet Transmission
101
(Q1, Q2, Q7) · 0 1 1 = (RS1, RS2, RS3).
001
Another option for the receiver is to decode the received RS code words.
After successful decoding of dmin - 1 received code words, we can do the
inverse operation and reconstruct the three RS code words.
Suppose that we have k data words, each with symbols from GF(2m). We
combine these data words using an encoding matrix for an RS code, again
with symbols from GF(2m). Since the data words are multiplied with
elements from GF(2m), the linear combinations are again data words with
symbols from GF(2m). If the combining matrix has minimum distance dmin,
we can reconstruct a maximum of dmin - 1 erased (or missing) data words.
which is roughly the same as for ARQ. The disadvantage is that we have to
wait for k correctly received packets before decoding can start. The
advantage is that we do not need the feedback.
Note This method can also be seen as a kind of parallel processing. Instead
of working on packets, we could also work on a symbol level. If we consider
only the ith symbol from each packet, we have the normal RS encoding, see
1.2.1. In the present situation, the “side-information” is available for all
symbols in a packet and not for each symbol individually.
5
Chapter 1-Packet Transmission
The RS code has minimum distance 3 and thus 2 erasures or missing data
words can be corrected. Using the syndrome former,
αn-2 1
αn-1 1
HT= ···
α 1
1 0
0 1
one can also correct one data word that is in error. Suppose that we have one
data word in error and that the error word is E. Then,
From the correct (C1, C2, ···, Cn) the words (P1, P2, ···, Pn-2) can be
reconstructed.
Note We can use RS code words as input words and since then the output
words are also RS code words, these can be decoded first. A decoding error
can then be corrected with the above method in a following step.
6
Chapter 1-Packet Transmission
1. an active user takes a packet from the input buffer with probability p. A
packet is transmitted in the next available time slot. If no packet is taken
from the buffer, with probability (1-p), we do not use the next time slot
and repeat the procedure;
2. if a collision (two or more users use the same time slot) is detected and
reported back to the transmitter, via a noiseless feedback, the transmitter
repeats the last packet in the next time slot with probability p;
3. when no collision is detected, we go to step 1.
The transmission efficiency for this Aloha protocol is given by the fraction
of successful packet transmissions (no collision), i.e.
which approaches 1/e packet per time slot for T = 1/p. For our model, we can
define G = pT as the total average traffic offered to the protocol by the users.
We then have for small p
η ~ Ge-G , (1.3)
e-1
0
0 1 G
Figure 1.1 The transmission efficiency for the slotted Aloha
7
Chapter 1-Packet Transmission
1 T 1
nPe n(1 (1 ) ). (1.4)
Z
For nPe ≤ n-k, we expect correct decoding at the receiver. From (1.4) we
have the condition that for correct decoding
T -1
k 1 -
(1 ) T 1 e Z .
n Z
The overall transmission efficiency of the protocol, for T users each sending
k information symbols in an array with dimension Z × n, is then
T -1
Tk T - Z
η e . (1.5)
Zn Z
For large Z, The maximum approaches e-1 for T/Z → 1, which is the same as
for the slotted Aloha with collision feedback.
Example In Figures 1.2, 1.3 and 1.4 we give the code array for four users
with code words of length 6 symbols, the “spreading” code array with 6
rows and 6 columns, and the received “de-spread” code array, respectively.
8
Chapter 1-Packet Transmission
Figure 1.2 Code array for 4 users, code words are horizontal
9
Chapter 1-Packet Transmission
P1 P2 ••• PN
p11 p12 ••• p1N row 1
p21 p22 ••• p2N row 2
Pk,N =
••• ••• •••
A code array Cn,N with n rows and N columns is given in Figure 1.5b. The
elements of this array are symbols of GF(2m). Every column contains the n
symbols of an RS code word.
C1 C2 ••• CN
c11 c12 ••• c1N row 1
c21 c22 ••• c2N row 2
Cn,N =
••• ••• •••
10
Chapter 1-Packet Transmission
k N
=
n GT n
At the receiver side, we can use the property of the check matrix Hn-k,n, and
calculate the syndrome array
= Hn-k,n E n,N.
In order to use the properties of Sn-k,N, we will take a closer look at the
syndrome array. The t rows that are in error determine the sub-array Esub and
the collection of row numbers form the set E. Consequently, the numbers in
E define t columns in Hn-k,n, called the sub-array Hsub and clearly,
11
Chapter 1-Packet Transmission
Sn-k,N = HsubEsub.
We now will consider the performance of the scheme. The assumption is that
t independent error words of length N corrupt the code array Cn,N. For t ≤ ( n
- k), t columns of Hn-k,n are linearly independent and hence rank(Hsub) = t.
Furthermore, rank(Esub) = t because linearly independent error words are
assumed. It thus follows that
For t < (n-k) the syndrome array Sn-k,N does not have maximum rank.
Consequently, (n-k-t) all-0 rows can be constructed from Sn-k,N by
performing elementary row operations according to Gaussian elimination.
Let the resulting array with (n-k-t) all-0 rows be denoted by S0. Performing
on Hn-k,n the same row operations that were performed on Sn-k,N we get the
matrix H0 where H0 Rn,N = S0.
N N
12
Chapter 1-Packet Transmission
- the product H0 × En,N = 0n-k-t, N, can only be true if the non-zero symbols
of H0 correspond to error free rows of En,N.
Hence, H0 indicate at least k+1 error free positions in Cn,N and thus the
original encoded information can be reconstructed. For RS codes, we need
only one row from H0. For general linear codes, we refer to [2].
Remark We want to state that the main ideas of the presented algorithm
were presented in a publication of J. J. Metzner and E. J. Kapturowski [7].
The Aloha system is a simple random access scheme, but it requires collision
detection and feedback from the receiver or channel to the transmitters. We
will now use the proposed decoding algorithm to construct a random access
scheme that requires no feedback. No collision detection is required because
our decoding algorithm performs this collision detection inherently by
searching for error-free rows. Consequently, we do not need redundancy in
the rows for error detection. In conclusion, collisions are not detected as
such, but appear as errors. Therefore, normal erasure decoding is not
possible.
C1 C2 C3 C4 •••
c11 c12 row 1
c21 c22 row 2
c31 c32
c41 c42
c51 c52 row 5
Assume that we have T independent users that have access to Z parallel and
independent transmission channels. Each user encodes his data as described
in Figure 1.8. Let C be an RS code with code symbols from GF(2m). In
addition, every user possesses a signature sequence (s(1), s(2), ···, s(n)), of
integers s(i), with 1 s(i) Z . They are chosen with
13
Chapter 1-Packet Transmission
Probability(s(i) = j, 1 j Z) = 1/Z.
The signature connected with each user is known at the receiver side. At
time interval i the transmitter selects channel s(i) for the transmission of the
ith code row. Furthermore, the users are assumed to be row-synchronized. If
two or more users use the same channel at the same time, we assume that the
received row is erroneous. Hence, we have exactly the same situation as is
required for the proposed decoding algorithm.
r11 r42
r22
r21 r43 r53
r12 x x
r14 r23 x
r13 r24 r34 r52
C1 C2 C3 C4 •••
c11 c12 c13 c14 row 1
c21 c22 c23 c24 row 2
x x x c34
x c42 c43 x
x c52 c53 x row 5
A user manages to decode the received array correctly if not more than (n-k-
1) code rows are corrupted by the other users and if the error vectors that
result from the collisions are linearly independent. Whether the second
condition is fulfilled depends on how the channel reacts in the case of a
collision. We consider the case where a collision as channel output is a
random sequence. Hence, all error vectors are equally likely.
14
Chapter 1-Packet Transmission
T 1
Z 1
Pe 1 .
Z
or
Pe < 1 – k/n.
The transmission of one code array per user requires a total of Z×n×N
symbol slots. The total transmitted un-coded information is T×k×N =
T×n×N×r symbols. Substituting Pe = 1- k/n, we get the following expression
for the transmission efficiency of this random access scheme
T 1
T Z 1
η .
Z Z
T
Ge G , with G .
Z
The efficiency of the proposed system is the same as the efficiency of the
Aloha protocol. The maximum transmission efficiency is equal to e-1.
15
Chapter 1-Packet Transmission
erased or collided packets. We can use the erasure option in the decoding
process when missing or erroneous packets can be identified. Furthermore,
feedback is not necessary.
ARQ + feedback
+ erasure information
16
Chapter 1-Packet Transmission
17
Chapter 1-Packet Transmission
18
Chapter 2-Random Access
Chapter 2
Random Access
We discuss coding in a multi user concept where the set of active users is
small compared to the total amount of potential users. The active
transmitters use signatures to be transmitted over a common channel. We
introduce the concept of q-ary superimposed codes, and we give a class of
codes that can be used to uniquely determine the set of active users from the
composite signature at the channel output. The so called T-user M-frequency
noiseless multiple access channel without intensity information, as defined
by Chang and Wolf [8], is an example of such a channel.
19
Chapter 2-Random Access
Uncoordinated access
In uncoordinated multiple access one assumes that T individual users, out of
a large community of U users, can access the communications channel
without knowledge of the identity of the other users. Furthermore, the
number of active users T is small compared with the total number of
potential users in the network. The users are time aligned, i.e. have the same
clock. The decoder for a particular user does not use the knowledge it might
have about the other users and also considers the influence of the other users
as interference or noise. The general model is given in Figure 2.2.
X1 R1
X2 Y R2
MAC
XT RT
20
Chapter 2-Random Access
Coordinated access
In the situation where the users are coordinated, i.e. know each other’s
identity, the decoders can use the information simultaneously transmitted by
all users. The capacity region [22] is given by the closure of the convex hull
of all rate pairs R1 , R2, , RT satisfying
Y = X1.OR.X2.OR..OR.XT. (2.3)
For the binary input T-user OR-channel, the output Y is 1 if at least one
input is equal to 1. If all inputs are 0, the output is also 0. This model can be
seen as a model for optical pulse modulation. The equivalent “AND“
channel can be found in communication busses like the “Wired-AND”
computer connection or the CAN (Controller Area Network) network. In
21
Chapter 2-Random Access
pT-1
p0 = p 0 0
Xi 1-pT-1 Y
p1= 1-p 1 1
1
Under the specified conditions, the achievable rate (2.1) for the
uncoordinated OR channel becomes
R OR T max I(X i ; Y)
P(X i )
(2.4)
T T 1
T max{h(p ) ph(p )},
p
where h(p) = - plog2p - (1- p)log2(1- p) is the binary entropy function. For
(1 - p) = 1 ln2, we obtain that for large T the sum rate is lower bounded by
T
Numerically, one can show that (2.4) approaches (2.5) from above and we
postulate that (2.5) is indeed the limiting capacity for the uncoordinated OR
channel [9].
22
Chapter 2-Random Access
The M-ary OR channel has M-ary inputs and at each time instant the
detector outputs which subset of symbols occurred as input to the channel at
that time instant, but not how many of each occurred. For M symbols, we
can thus have 2M – 1 different sets of outputs.
Coordinated access
Chang and Wolf [8] showed that capacity of the coordinated M-ary OR
channel approaches (M-1) bits per transmission. This capacity can be
obtained by a very simple time-sharing strategy. Assume that we divide the
T active users into groups of size (M-1). Within one group the users are
numbered from 1 up to M-1. User i, 1 i M-1, uses as the transmitting
symbols 0 and i. At the receiver, we are able to detect whether user i uses
position 0 or i and thus, for M-1 users we transmit M-1 bits per transmission.
Note that here we have a “central“ symbol 0.
0 0
0,1
0,2
in out
0,1,2
1 1
1,2
2 2
Example For M = 3, T/2 users use the pair (0 or 1) as channel input, the
other T/2 users use as input (0 or 2). The output of the channel is thus (0),
(0,1), (0, 2), or (1, 2). Note that in this coordinated situation the input of the
channel is uniquely decodable.
23
Chapter 2-Random Access
Uncoordinated access
Suppose that for the uncoordinated M-ary OR channel, some coordination
between the T users exists. Namely, a fraction T/(M-1) of users uses the
input symbol pair (0,i), 1 i M - 1. According to the previous section,
transmission per group can be considered as transmission over a Z-channel,
where one output contains the symbol i and the other outputs contain only
symbols not equal to i. The achievable sum rate for this channel is ln2 bits
per transmission. Hence, for M-1 groups we obtain a normalized sum rate of
(1 - 1/M ) ln2 bits per dimension.
Theorem 2.1.1 For the input probability distribution that puts a probability
1-(M-1)ln2/T on one symbol and a probability ln2/T on each of the
remaining (M-1) symbols, the total achievable rate R for T users becomes
(M-1)ln2 bits per transmission or (1-1/M)ln2 bits per dimension for T .
24
Chapter 2-Random Access
input distribution for both examples puts all probability mass on one symbol.
For M = 2, P(0) = 1 - ln2/T, P(1) = ln2/T, respectively.
pT-1
0 0
1 1, (0,1)
Z-Channel
pT-1
p 0 0
(0,1)
1-p 1 1
3-ary output
Remark The 3-ary output channel as given in Figure 2.5b looks like an
erasure channel, where the symbol pair (0,1) can be considered as the
erasure. One normally uses these channels with symmetric input probability
distribution to obtain channel capacity. However, in this case, the rate of the
channel would give a value of C = (1/2)T-1 for p = ½, which goes to zero for
large T. The reason for this discrepancy is the fact that the transition
probability is a function of the input probability. In information theory,
capacity is a convex cap function of the input probability distribution for
constant transition probabilities. In our situation, this is no longer the case
and we have to search for the global optimum. The problem is to express the
transition probabilities as a function of the input probabilities.
The M-ary Erasure-channel has as inputs Xi {0,1, ..., M-1}, and as outputs
Y {0, 1, ..., M-1, E}, where E occurs if two or more different symbols
occur at the output. We conjecture that the M-ary Erasure-channel as given
25
Chapter 2-Random Access
in Figure 2.6 has a capacity of ln2 bits per transmission for T . This
result was checked for M = 2, 3 and 4.
0 0
1 1
M-1 M-1
1 4 2 position in slot
/M
26
Chapter 2-Random Access
same rate can be achieved by using only a single symbol from M, which is
the advantage of the PPM modulation. The total achievable rate R for T
users becomes (M-1)ln2 bits per transmission, or (1-1/M)ln2 bits per
dimension for T . A vanishing loss compared with the unrestricted case
for large values of M. To obtain this rate, we generate a pulse with
ିଵ
probability (1 – ln2) for one specific position in a time slot, whereas all
other positions have a probability ln2/T of having a pulse.
L=3
1 4 2 position in slot
/M
27
Chapter 2-Random Access
- every user has its own set of M-ary signatures of length L. The
cardinality of the set is M;
- every symbol in a signature is chosen with probability 1/M and
corresponds with a pulse in the respective time sub-slot position.
The decoder for a particular user has to detect a valid signature that belongs
to the user. Suppose that a user transmits a particular signature. The
decoding error probability Pe for this particular user is upper bounded by the
probability that the T-1 other users together generate one of the M-1 other
valid signatures in L slots, i.e.
1 T 1 L
Pe (M 1) (1 (1 ) ) . (2.6)
M
Pe 2 - ε L, ε 0,
log 2 M
=T (1 ε)ln2 bit/transmission.
LM
One sees from (2.6), that the average error probability for T users
simultaneously, TPe, does not approach zero for increasing L. If we change
the variables such that MT = 2(1 - ε)L and T = M·ln2, then the average error
probability for T users is given by
28
Chapter 2-Random Access
TPe 2 - ε L, ε 0, (2.7)
log 2 M 1 ε
=T ln2 . bit/transmission.
LM 2
L=3
M=4 time
L=3
M=4 time
29
Chapter 2-Random Access
ିଵ
Pr(m = 1) = 1 - ln2 = 1 – p,
୪୬ଶ
Pr(m = k) = , 2 k M,
1 pT 1 L
Pe (M 1) (1 (1 ) ) . (2.8)
M 1
Pe M (1 e pT/M ) L . (2.9)
ିଵ
For p = ln2, M = 2εL and T = 2(1-2ε)Lln2, the error probability (2.8)
vanishes as
Pe 2 - ( 1 - ε )L, ε 0. (2.10)
From (2.10) it also follows that the average error probability for T users
simultaneously goes to zero for increasing L, since
h(p) plog 2 (M 1)
= T× (1 - 2) ln2 bit/transmission (2.12)
LM
30
Chapter 2-Random Access
1 1 1 1 … 1
G2,M = . (2.13)
2 M-2
0 1 …
It is easy to see that the minimum distance of the code is M-1, where M is
the length of the extended code. The number of different non-zero code
words formed with the second row only is M-1. These code words are used
as signatures for M-1 different users. We assume that the users are fully
synchronized. In addition, every user may send one of M messages by
adding a multiple of the first row to his signature, and create a modulated
signature. At the receiver side, we assume error free detection of the
transmitted symbols. For the encoding matrix as given in (2.13), we have the
following properties:
Since the dmin M-1, the maximum number of agreements between two
signatures from different users is equal to 1. Consequently, M-2 or less
active users can never produce a valid signature for another particular user,
since at least one symbol is left for the unique identification.
31
Chapter 2-Random Access
log 2 M
T .
LM
32
Chapter 2-Random Access
additional valid signature for the remaining active user. Assuming random
selection of the messages, this probability is given by
T 1
Pe ( M 1)[( M1 ) L L!]. (2.14)
L
This follows from the fact that, for a particular set of L users, L!
permutations can give a particular signature with probability (1/M)L.
Furthermore, we can choose L out of T active users that will produce the
particular signature.
1.0
Pe
10--1
M = 256, L = 10
10--2
M=32, L=6
10--3
.05 .06 .07 .08 .09 0.1
log 2 M
T
LM
Pe M( T ) L . (2.15)
M
The asymptotic behavior of (2.15) is the same as that of (2.6) where we use
random signatures. The above transmission scheme assumes that the number
of active users T < M. Extension to T > M is straightforward.
33
Chapter 2-Random Access
We extend the definition of binary SICs to the situation where code words
have q-ary symbols and the channel output is a symbol which identifies
which subset of symbols occurred as input to the channel (no how many of
each). We first have to give some additional definitions.
Definition The union of a set {a,b, ···,c} denoted as (a,b, ···,c) is defined as
the set of different symbols of the argument (a,b, ···,c).
Let V { 0, 1, ···, (q-1) }n, V = U, be a code book with U q-ary code
words.
Definition The union of T code words in V, n (rn, sn, ···, tn) is defined as
the component wise of the symbols.
Definition The union n of T code words n(rn, sn, ···, tn) covers a code
word vn if
34
Chapter 2-Random Access
Proposition
T
U
q
(2 1) n
i . (2.16)
i 1
n = T·s
We partition the code words into T parts of length s. Every code word must
have a part different from the corresponding part of all other code words.
This part contains at least one symbol, called special element, that can be
used to distinguish a code word from the union of any set S of T or less code
words. If the number of special elements in a particular part is exactly qs, we
have U = qs. We must therefore assume that every part contains at most qs-1
special elements. The maximum number of different parts is an upper bound
for the number of code words in the code, and thus U T(qs-1). Since n =
Ts we obtain
T U
n log 2 , (2.17)
log 2 q T
n
U q 1
T
For T = q ln2, n(1+) > Tlog2U, the probability Pe(q-ary SIC ) → 0 for
increasing n.
35
Chapter 2-Random Access
T>n
For T > n, every code word must have a special element in at least one of its
positions. Again, if one of the positions for all code words contains exactly q
special elements, then U = q. Therefore, every position must contain no more
than q-1 special elements. Hence, we obtain as a lower bound for n,
U n(q-1).
Note that the number of disagreements between two code words is larger or
equal to dmin and thus, the number of agreements is less than or equal to n -
dmin = k – 1. As a consequence, the Boolean sum of T code words agrees
with an arbitrary code word in at most T(k-1) positions. If T(k-1) < n, we
have the following theorem.
n
SIC (U q k , n KS q(q 1), q, T ).
k 1
We compare the KS codes in rate with TDMA for T active users. We give
every user a set of qi code words out of qk. The number of potential users is
thus qk-i. If a SIC exists, the normalized rate is
36
Chapter 2-Random Access
T log 2 q i
KS .
q(q 1)
For TDMA every user gets a slot where a symbol can be sent. The rate is
T
ηTDMA .
q k i
We can see that, for k > i + 1, the KS codes are superior in rate.
T = 7 < n/(k-1);
The number of possible users is q4/q2 = 210 ;
The rate ηKS ≈ 0,08; ηTDMA ≈ 0.007..
Theorem 2.3.2 The extended RS code with parameters (n = qs, k = qs-1, dmin
= n –k + 1) code over GF(qs), where q is any prime and T q, defines a
superimposed code SIC(qsk, qs, qs, T).
0 0 0 0 0 1 1 0 0 2 2 1 11 2 2
q-SIC(12, 4, 3, 2) = 1 2 0 1 1 0 1 0 2 2 1 1 2 0 2 1
2 1 0 1 2 2 2 0 0 0 1 2 2 2 0 2
37
Chapter 2-Random Access
Theorem 2.3.3 If there exists a SIC(U0, n0, q0, T) and a SIC(U1, n1, q1, T),
where q1 U0 , then there also exists a SIC(U1, n0 n1, q0, T).
Proof Assign to each symbol {0, 1, ···, q1-1} a different code word from
SIC(U0, n0, q0, T). Replace the symbols in SIC(U1, n1, q1, T) by these code
words. Since we replaced all q1-ary elements by different code words from
SIC(U0, n0, q0, T) we thus obtain a SIC(U1, n0 n1, q0, T), see also Figure 2.11.
U0
U1
n0
n1
U1
n0 n0 ••• n0
n0 ˟ n1
Corolary If there exists a SIC(U0, n0, 2, T) and a SIC(U1, n1, q1, T), where
q1 U0, then there also exists a SIC(U1, n0 n1, 2, T).
38
Chapter 2-Random Access
Example
1. Suppose that we have the following starting SIC(4, 3, 2, T = 2 ) with the
4 code words
(1 0 0, 0 1 0, 0 0 1, 1 1 1 ) ( 0, 1, a, b ).
These examples show that we can construct a series of codes, see also [12].
39
Chapter 2-Random Access
U – k columns
user i siU-k
user j sjU-k
user h shU-k
zUk t isi U k ,
iS
where the addition is in GF(2m). For T ≤ (U – k)/2 active users, the receiver
uses the RS decoding algorithm, and decodes the information (noise)
transmitted by the active users. Hence, the maximum sum rate becomes
40
Chapter 2-Random Access
(U k)log2 (q 1) 1
η bit/transmission.
2(U k)m 2
In case the decoder knows the active users, the transmission efficiency η = 1
bit/transmission, since every user can transmit log2q bits/transmission. This
is the maximum possible over this binary output channel. We visualize the
access scheme in Figure 2.12.
We calculated the achievable rate for this channel in the same way as we did
for the OR channel. For a particular user, we have a binary symmetric
channel with crossover probability
Pe = ½ ( 1 – (1 – 2p)T-1),
1 e 2c
ce 2c log 2 0.3138 bits/trans mission.
1 e 2c
Observe that a positive rate remains for T . For more information about
the applications and background of the XOR channel, we refer to
[80,81,82,83].
41
Chapter 2-Random Access
capacity/throughput
OR channel
capacity/throughput
M-ary OR channel
random signatures
signature construction
For the binary OR channel and for the M-ary OR channel, the throughput
approaches ln 2 bits per channel use. This throughput has to be shared by the
number of active users. The loss in efficiency, compared with fully
coordinated access, is about 30%. Remark, that the M-ary OR channel is
equivalent to the Pulse Position Modulation scheme. By using only one
pulse in M time slot, we obtain the same throughput as if we are using M
parallel binary OR channels. These topics were considered by Jeroen
Keuning2, a student form the University of Eindhoven, the Netherlands, and
Peter Gober3 a PhD student from the University of Duisburg-Essen.
42
Chapteer 2-Random A
Access
In inform
mation theoryy, network users
u are assuumed to be able
a to coopeerate. In
certain network situuations this is indeed possible. The T main prroblems
considerred are the achievable raate regions annd their conv
verses. Exam
mples in
our reseaarch can be found
f in [90,,91].
k Wolf1 at th
The repoorted researcch was inspirred by lecturres from Jack he 1981
Nato Addvanced Instiitute in Norw
wich, Englandd.
1
J.K. Skwwirzynski, Neww Concepts in Multi-User
M Commmunication, Norwich,
N UK, August
A 4-
16, 1980
2
A.J. Haan Vinck and Jeroen
J Keuningg, „On the Cappacity of the Asynchronous
A T-user
T M-
frequency Noiseless Multiple
M Access Channel w without Intensitty Information n,“ IEEE
Transactioons on Informattion theory, Nov
v. 1996
3
P. Goberr. Aspekte des unkoordinierten
u n Mehrfachzugrriffs, Verlag disssertation.de, 20
000.
4
A. J. Haan Vinck, Samvvel Martirossiann and Peter Goober, “On q-aryy Superimposed d Codes,”
1999 IEEE E ITW, Kruger National Park, South Africa, JJune 20 – 25, 19999
43
Chapter 2-Random Access
44
Chapter 3-Cooperative Coding
Chapter 3
Cooperative Coding
3.1 Introduction
One of the dominant parameters in power line communications is that of
attenuation. Attenuation can vary between 10-100 dB per kilometer. In
power line communications, attenuation prevents signals to propagate over
distances that are longer than say 500 meters. Investigations to overcome the
high attenuation are therefore highly important, see [14,15,16].
f f f
•••
T
R1 R2 R
45
Chapter 3-Cooperative Coding
Figure 3.1 gives a model for L links connecting T and R using the power
line. We assume for simplicity that all links have the same length, same
attenuation as well as the same noise variance. The attenuation factor f is a
function of the length of a link, i.e. f = f(d), where d = D/L and D is the
distance between transmitter T and user R.
Eb 2 E
P1 Q f exp( b f 2 ) , (3.1)
N 2N0
0
E b 2L 2( L 1)
P2 Q f exp( E b f 2L ) P1f . (3.2)
N 2 N
0 0
We can see a dramatic degradation in performance for f < 1, even with only
two links. To overcome this degradation, we can use the fact that every user
can observe the signal and thus can possibly act as a repeater or relay. We
investigate several possibilities in Section 3.2.
46
Chapter 3-Cooperative Coding
Detect-and-forward
In the connection between the transmitter T and receiver R, the intermediate
receivers can act as detect-and-forward repeaters. After taking a hard
decision on the received signal, repeater i sends the re-modulated signal to
receiver i + 1. Therefore, if at the first repeater the detection error probability
is Pe, then the error probability at the Lth receiver is approximately LPe.
While this linear increase of error probability with distance is far better than
the exponential growth experienced without repeaters, the use of repetitions
reduces the overall transmission efficiency by a factor of L. Since Pe is
determined by the attenuation factor f(d), and d = D/L, the number and
location of repeaters can be optimized such that L is minimized subject to an
upper bound on the error rate LPe at the destination.
Decode-and-forward
As in point-to-point connections, we can also use coding to improve the
communication efficiency. Given the model described above, we have the
capacity C(d) = 1 – h2(Pe) for a link of distance d, where h2(·) is the binary
entropy function. Assuming that C(d) is a measure for the achievable rate
with coding, which is monotonically decreasing with increasing d, and
considering that L hops reduce the overall achievable rate to
we again have an optimization problem for the number and thus location of
repeaters.
Cooperative coding
Since we have a bus structure, we can use the fact that all users connected to
the bus are able to hear the communication and cooperate to improve the
communication efficiency, see also [19]. The achievable rate for the
communication between transmitter T and the first receiver is k/n1 = C(d),
i.e., after n1 transmissions the first receiver can decode the transmitted k bits
of information. Simultaneously, the amount of information received at the
second receiver is n1C(2d). To assist the second receiver in decoding the
transmitted message, repeater 1 sends n2 encoded symbols, such that k =
n1C(2d)+n2C(d). For the third transmission, repeater 2 transmits n3 encoded
symbols such that k = n1C(3d)+n2C(2d)+n3C(d) and the third receiver can
decode (in theory) the message. For the destination, we have
47
Chapter 3-Cooperative Coding
L
k n i C((L i 1)d). (3.4)
i 1
In summary, given k and the link capacities C(id), the lengths ni, i = 1, 2, ···,
L, are obtained from
C( d ) 0 0 n1 k
C(2d ) C( d ) 0 n k
2 (3.5)
C( Ld) C((L 1)d ) C(d ) n L k
k
C coop . (3.6)
L
ni
i 1
Cdf = k/(Ln1).
k C(d ) 1
C coop C(d ). (3.7)
n1 n 2 C ( 2d ) 2
2
C( d )
Clearly, for f = 1, C(2d) = C(d) and thus n2 = 0 and the repeater is not used.
However, for f < 1, C(2d) < C(d), and cooperative coding has an advantage.
Example If for example, Pe = 10−3 and f = −10 dB, then C(d) = 0.99
bit/transmission and C(2d) = 0.36 bit/transmission. Hence, cooperative
coding increases the rate from 0.36 bit/transmission using no repetition or
0.49 bit/transmission using decode-and-forward to C(d)/(2 − C(2d)/C(d)) =
0.60 bit/transmission.
48
Chapter 3-Cooperative
3 e Coding
Figure 3.2 illustrates the bus sysstem for L = 2 as a relay channel. To o outline
the advaantages of coooperative cooding, considder a binary modulation scheme
with a trransmitter sidde SNR of 131 dB, and a T-R distancce of D = 1k km. The
attenuatiion for a linkk of length d = D/L is ggiven by f2 = 10-δd/10, whhere we
choose δ = 40, 60, 1000 dB/km.
relay
n1C(d) n2C(d)
T R
n1C(2d)
40
60
100
49
Chapter 3-Cooperative Coding
1 0 0 1 1 0 0
0 1 0 1 0 1 0
G = . (3.8)
0 0 1 0 1 1 0
1 1 1 1 1 1 1
The reason for this choice of encoding matrix will be made clear in the
following.
1. The first receiver can decode the transmitted code word if it has no more
than a single error. The second receiver also receives a signal, but it
cannot reliably decode the transmitted code word since the number of
errors might be above the correcting capacity.
2. The first receiver (repeater), after decoding, encodes the first three
information bits with a minimum-distance 3 shortened Hamming code of
length 6, generated by the code words [100110], [010101], [001011]
(see (3.8)).
3. The second receiver can decode the received code word, since it contains
no more than a single error. After decoding, the second receiver can
subtract the code word connected to these three information bits from
the first reception and decodes the fourth information bit using the
50
Chapter 3-Cooperative Coding
1 1 1 ... 1
1 α α2 ... αn−1
G= 1 α2 α4 ... α2(n−1) , (3.9)
...
1 αk−1 α 2(k−1) ... α (k−1)(n−1)
k2
m2
k1
51
Chapter 3-Cooperative Coding
Suppose that the link error rate is upper bounded by t1 and the two link error
rate is upper bounded by t2, where ½ > t2 > t1. The dimensions of the RS
canonical encoding matrix that we are going to use are given in Figure 3.4.
The relations between the dimensions and error rate are as follows:
k
R REP (T R 2 ) ,
2n
(3.11)
k
R RS (T R 2 ) .
2t 2t1
nn 2
1 2t1
Since ½ > t2 > t1, we can see the improvement that depends on the error rate
t2 and t1. For t2 close to t1 the efficiency is close to the situation without
repeater. For t2 close to ½, the un-coded repeating efficiency appears.
Remark For error rates larger than t2 or t1, we accept decoding errors.
52
Chapter 3-Cooperative Coding
f f
•••
T
N(0,2) N(0,2)
R1 R2
In Section 3.2 we describe the use of a repeater and its consequences for the
transmission efficiency. It is interesting to compare the repeater strategy with
the broadcast results and determine the condition for which it is not
beneficial to use a repeater. Since practical coding to achieve the capacity
region for broadcast channels is not a solved problem yet, we conclude that
for the tandem channel without repeater, time-sharing is the best option.
53
Chapter 3-Cooperative Coding
In this section we consider only two links and study several communication
topologies. For simplicity, we assume that the attenuation factor f, f < 1, is
the same for both links. The noise is considered to be additive white
Gaussian noise (AWGN) with power spectral density 2 W/Hz and average
value 0. The bandwidth and transmit power are denoted by B and P,
respectively.
The Gaussian channel capacity C1 for a single link and C2 for 2 links in
tandem, are given by
Pf 2
C1 Bln 1 nat/s,
2σ 2 B
(3.12)
Pf 4
C 2 Bln 1 nat/s,
2σ 2 B
T2 T1
f f
•••
N(0,2)
R
Figure 3.5b Two transmitters to one receiver.
54
Chapter 3-Cooperative Coding
A. Time-sharing.
If we use time-sharing (TS) with time-sharing parameter from transmitter
to both the receivers, then the achievable communication rate or
transmission efficiency is given by
Pf 2
R TS (T R1 ) αBln 1 nat/s,
2σ 2 B
Pf 4
R TS (T R 2 ) αBln 1 nat/s, (3.13)
2σ 2 B
0 α 1; α 1 - α.
B. Frequency-sharing.
For frequency-sharing, we use the water-filling (see Appendix 8.8) concept
from information theory to obtain the power allocation that maximizes the
efficiencies. We divide the frequency band into the part α and β, α + β ≤ 1.
P f 2
R FS(T R1) Bln 1 1 nat/s,
2σ2B
(3.14)
P f 4
R FS(T R 2 ) Bln 1 2 nat/s,
2σ2 2B
55
Chapter 3-Cooperative Coding
Pf 2
R REP (T R1) αBln 1
2σ 2B
αC1 nat/s,
(3.15)
α Pf 2
R REP (T R 2 ) Bln 1
2 2σ 2 B
α
C1 nat/s,
2
P 1 2f 2
.
σ2B f6
We see that in a situation where power is large and bandwidth is small, time-
sharing is better than repeating. For small f, repeating is preferable.
We show in [17] and (3.7), that the performance for the repetition strategy
can be improved to
C1
R *REP (T R 2 ) (1 α) nat/s. (3.16)
C2
2
C1
56
Chapter 3-Cooperative Coding
y1 = x f + n1,
y2 = x f2 + n2,
where n1 and n2 represent the Gaussian noise with variance 2 and η2,
respectively. The input average power constraint is given by E(X2) P. The
capacity region for the Gaussian broadcast channel has been determined [22]
f n1 N(0, 2 )
y1 R1
x
x
y2 R2
f2 n2 N(0, σ2)
and is given by
γPf 2
R BC (T R1) Bln 1 nat/s,
2σ 2B
(3.17)
γPf 4
R BC (T R 2 ) Bln 1 nat/s.
2σ 2 B γPf 4
Note that for (,) = (1,1) or (0,0) we have the same result for the broadcast
efficiency as for time- or frequency-sharing. However, simple calculations
57
Chapter 3-Cooperative Coding
show that the capacity region for the broadcast channel is strictly larger than
the frequency- and time-sharing result for all other values of . The rate
regions approach each other for B . This conclusion can also be found
in [21].
In [20] a general tandem channel model with more than 2 receivers is given.
In this case the broadcasting capacity is given by
α Pf 2
R BC (T R1) Bln 1 1 nat/s,
2σ 2 B
α 2 Pf 4
R BC (T R 2 ) Bln 1 nat/s.
(3.18)
2σ 2 B α Pf 4
1
α3Pf 6
R BC (T R 3 ) Bln 1 nat/s.
2σ 2B α Pf 6 α Pf 6
1 2
,
y = f x1 + f2 x2 + n,
58
Chapter 3-Cooperative Coding
where n is the additive white Gaussian noise with variance 2. The average
power is P = P1 + P2, where P1 = δP and P2 = (1-δ)P. The capacity region for
the
T1
n
N(0,2)
T2
f2 y Receiver
δPf 2
CMAC(T1 R) Bln 1 nat/s,
2σ 2B
(3.19)
δPf 4
CMAC(T2 R) Bln 1 nat/s.
2σ 2B δPf 4
To achieve the capacity, the receiver first decodes x2, then subtracts x2 from
y and decodes x1.
As was observed in [23], the multiple access capacity region and the
broadcast capacity region can be shown to be equivalent when the sum of the
average power in the two transmitters is the same as the sum power in the
broadcast channel model. As a consequence, any point in the capacity region
for the broadcast channel can also be achieved in the multiple access channel
59
Chapter 3-Cooperative Coding
capacity region. The proof is based on the transformation of power from the
access- to the broadcast domain.
For the time- and frequency-sharing, we refer to the first part of the section.
The results are the same, since for this situation, the links in tandem can be
considered to be point-to-point connections.
R(TR1)
C1
Pf 2
C1 Bln 1 nat/s,
2σ 2B
Pf 4
C2 Bln 1 nat/s,
2σ 2B
(3.13) TS (3.17)
broadcast
(3.14) FS repeater + cooperative coding
(3.16)
In Figure 3.8 we present the results for the different strategies in a general
way. FS and TS are the frequency- and the time-sharing regions,
respectively. We also indicate the performance for the degraded broadcast
channel together with the repeating strategies. Of course, the different points
have to be evaluated for particular link channel parameters and conditions.
We show that frequency-sharing is preferable over time-sharing. Time-
sharing also outperforms repeating for specific values of the link attenuation
factor f. From the presented material, it follows that there is an interesting
60
Chapter 3-Cooperative Coding
transmission model
detect-and-forward
decode-and-forward
cooperative coding
High attenuation hinders reliable transmission using power lines beyond 500
meters. Improving this number is the target of many investigations. Research
in this area started in 1994 with Olaf Hooijen1, a PhD student in the Institute
for Experimental Mathematics. We developed several models and described
the power line channel parameters. Measurements were carried out to
confirm the theory.
61
Chapter 3-Cooperative
3 e Coding
A possibble solution to
t the attenuaation problem m is the appllication of reepeaters.
We conssider this poossibility and d investigatee “intelligentt” repeating: detect-
ward, decodee-and-forwarrd, and coopperative repeeating. We calculate
and-forw
the channnel capacityy for an artifficial connecction consistiing of severaal links.
For coopperative repeeating, we usse RS codes for an easy implementattion and
optimal efficiency reesults.
1
Olaf Hoooijen, Aspects of residential power line com
mmunications. Dissertation, University
U
Duisburg-Essen, 1998, IS
SBN 3-8265-34 429-8
62
Chapter 4-Modulation and Detection
Chapter 4
ei
si { + d/2, - d/2 } r i = si + ei
63
Modulation andd Detection
Chapter 4-M
4.1 Th
he Gaussiaan Chann
nel
The channnel model that we use is the Gaus sian channell as given in n Figure
4.1. Thee noise is addditive white Gaussian
G no ise (AWGN)) with the fo
ollowing
propertiees:
- the aaverage e i = 0;
- the pprobability density
d functiion is given bby
2
1
p ei ( ) e 22 , (4.1.1)
2
2
2 E (e i2 ) .
1
2ππ 2
p e i ( )
0
64
Chapter 4-M
Modulation andd Detection
threshold
α
-d/2 0 +d/2
The hardd decision deetector decid des for + or – and makes an error if fo
or si = +
T probabil ity of error is thus given by
d/2 the rreceived ri = si + ei < 0. The
( d ) 2 / 2 2
PBSC.:= P( errror si = + d/2
d )= 1
22
e 2 d
0
2 2
=
1 e / 2 d
2 2
d
2
d2
= Q
2
4
d2 Eb
e 8 2 2
e 2 ,
65
Chapter 4-Modulation and Detection
symbols has to be equal to the amount of energy for k un-coded symbols, i.e.
nEs = kEb.
A code with minimum distance dmin can correct a maximum of t errors where
dmin > 2t. An indication of the behavior of the decoding error probability is
then given by
d' 2 Es RE b
(t 1) (t 1) (t 1)
2 2 2
e 8σ e 2σ e 2σ .
We can observe, that the product R(t+1) determines the performance of the
coded system.
An (n,k) error correcting code with minimum distance dmin is able to decode
correctly, if for the number of erasures E and the number of errors t, the
following relation holds:
dmin ≥ E + 2t + 1.
The decision process is illustrated in Figure 4.4. The area where we declare
the detected symbols as erasure is denoted as E1 and E2.
E1 E2 E3
- d’/2 0 + d’/2
66
Chapter 4-Modulation and Detection
Since P(E1 + E2) > 2P(E2), we conclude that hard decision is the better
option.
The Maximum Likelihood (ML) detector, searches for the code word that
maximizes L:= p(rn | sn), where
n
(s i ri ) 2 /2σ 2
1
L p(r n | s n ) e i 1 .
(2π 2 ) n
n
d2(sn, rn) = (si ri )2 .
i 1
67
Chapter 4-Modulation and Detection
where,
(s i ri ) 2 / 2 2
n 1
p(e ) = e D ,
2 D
(2 )
(ŝ i ri ) 2 / 2 2
n 1
p(e ) = e D .
2 D
(2 )
From p(en) < p(en) it follows, that a decision error occurs when
2ri (ŝ i s i ) / 2 2
eD 1,
which is equivalent to
For linear codes, the distance spectrum (number of code words of a certain
weight) is the same for all code words. Therefore, we can calculate the
probability of error for the all-0 code word where all symbols are transmitted
as +d’/2. From this it follows that for si = - si a decision error occurs when
68
Chapter 4-Modulation and Detection
d'
-| D |
2
ei .
D
From which,
E(( ei ) 2 ) | D | σ 2 .
D
d'
|D| 2
Pe = Q 2 Q D(d' ) .
| D | σ2 2
4σ
For kEb = nEs and Es = d' / 2 we then have the un-coded bit error
probability
Eb
Pun-coded = Q , (4.1.2)
2
and the probability that we decode a specific code word at distance dmin
from the transmitted code word
| D | k Eb d min k E b RE b d min
Pcoded = Q n ≤ Q n e 2 2 . (4.1.3)
2 2
69
Chapter 4-Modulation and Detection
One can observe a gain in the decoding error probability when the product
Rdmin is larger than 1. If dmin is the minimum value of |D| for any pair of
code words, the union bound on the error probability for a binary (n,k) code
is given by
d min k E b
Punion (2k)• Q n . (4.1.4)
σ 2
The problem is to find codes for which the net gain is positive. We define
the coding gain Gc in dB as
k
G c : 10 log10 d min dB. (4.1.5)
n
For practical codes, the product of the minimum distance and efficiency R
must be maximized to get the highest coding gain.
d /2 RE b
k E min (d min /2)
b k e 2σ 2
Phard 2 k Q n 2 . (4.1.6)
2
σ
d min k E b
RE b
d min
Psoft 2 k Q n 2 k e 2σ 2 . (4.1.7)
σ 2
From this, we see that soft decision brings a coding gain of 3 dB [30] (factor
of 2 in energy).
70
Chapter 4-Modulation and Detection
1 0 ··· 1
parity
+
Example The simplest code that we can find is the single parity check code
(SPC). For this code all code words have even Hamming weight and thus the
minimum distance is 2. Adding a parity bit to k = (n-1) information bits
gives the code word of length n and thus a code efficiency of (n-1)/n.
The asymptotic coding gain over the un-coded case is Gc = 10log102 = 3 dB.
In practice, the gain is less because we have to take the number of code
words into account. From simulation results, it follows that for n = 7 or 8, a
net coding gain of about 2 dB can be realized. If we fix the rate and increase
the code word length, the number of code words increases exponentially, and
the coding gain disappears.
Inversion of the hard decision value increases the squared Euclidean distance
with the smallest possible amount and the resulting hard decision word is a
code word.
These two steps are the basis for soft decision algorithms to be discussed
later. The SPC decoding is characterized by its extremely low complexity
71
Chapter 4-Modulation and Detection
since, the decoder has simply to invert the least reliable bit (corresponding to
the smallest absolute demodulator output) whenever a parity error occurs in
the binary quantized received word.
Example Using the previous AWGN assumptions:
Encode +5 +5 -5 +5 -5 +5
Receive +4 +3 -4 -1 -3 +5
Hard decision 1 1 0 0 0 1
Correct 1 1 0 1 0 1
We change the decision at position four, since the hard decision at this
position is most likely to be wrong.
Remark If we compare the bit error rate for the coded situation using soft
decision and the un-coded situation using hard decision, we can expect a
gain of 3 dB. In theory, we can have a gain of 2 dB in channel capacity for
low signal to noise ratios (bad channels). Remark that the gain in channel
capacity is 2 dB at a decoding error probability approaching zero.
72
Chapter 4-Modulation and Detection
···
RS code word symbols
RS1 •••
RS2 1 2 3 •••
••• •••
RSN •••
73
Chapter 4-Modulation and Detection
1. apply soft decision for each individual column (each column is an SPC
code word);
2. apply RS decoding for each row. If a detected, but uncorrectable error
pattern occurs, mark the row with a flag.
3. After receiving a block of N words Ri , i = 1,···, N, we calculate the word
En as the modulo-2 sum of the N rows, i.e.
N
E n : Ri .
i 1
R i not flagged
Initially, En = 0n.
Four different situations can occur:
- no flag, En = 0n. No erasures and no detected errors. Continue with the
next block;
- no flag, En 0n. In this case we assume that there is only one RS code
word in error.
- one flag. Hence, one erasure occurs which can be solved by using the
fact that the modulo-2 sum of all the code words is 0n and thus the erased
RS word is equal to modulo-2 sum of the non-erased words;
Suppose that we define the initial block likelihood (equivalent to
Euclidean distance) as
N
L0 p(R k | RSk ) .
k 1
74
Chapter 4-Modulation and Detection
N
max arg max p(R i | RSi E n )
i 1,, N
p(R k | RSk ) , (4.2.1)
k 1
k i
and gives as output RSmax + En instead of RSmax for the RS code word
according to eq. (4.2.1). The decoder thus calculates
N
L max p(R max | RSmax E n ) p(R k | RSk ) . (4.2.2)
k 1
k max
Note that in (4.2.1) we only have to consider the locations in RSk where
En has nonzero components;
- more than one flag. More than one erasure occurs. Since the sum of all
RS code words is equal to 0n, we can calculate the modulo-2 sum of the
erased RS code words. For this block, given En, we can start again to do
the soft column decoding, followed by RS-row decoding. To avoid
looping, we put the condition that for the new block, the number of
erased RS code words is less than before. If not, decoding is stopped.
4.2.3 Performance
m 1 2RE b
A Ps Q ,
2 N 0 / 2
where R = × denotes the overall code rate, k/n is the code rate of
the (n,k) RS code over GF(2m) and Eb is the transmitted energy per
information bit.
B. For the concatenated RS-SPC coding scheme (Section 4.2.2) the symbol
error rate for high signal-to-noise ratios is approximately
75
Chapter 4-Modulation and Detection
4RE b
B Ps m( N 1)Q ,
N
0
2kE
n b
Ps mQ ,
N0
The simulation results, for the different coding schemes that are based on the
use of antipodal signaling with coherent detection in a channel with additive
white Gaussian noise, are given in Figure 4.17. The RS code employed is the
short (31,21) code. For block structure B, N = 9 is chosen in the simulations;
in addition the maximum number of iterations is limited to 3. As can be
seen, symbol wise soft decision SPC decoding (curve 3) results in a gain
over the hard decision RS decoding of to about 1.5 dB at a bit error rate
(BER) of 10-5; this corresponds to an overall coding gain of about 4 dB. For
code structure B the best performance (curve 4) for BER < 10-3 is obtained.
Compared with the symbol wise soft decision SPC decoding, the gain is
about ½ dB at a BER = 10-5.
76
Chapter 4-Modulation and Detection
2E s
s i (t) cos(2f i t); 0 t Ts
Ts , (4.3.1)
i 1
f i = f0 + , 1 i M.
Ts
The signals are orthogonal and for non-coherent reception the frequencies
are spaced by 1/Ts Hz. Every Ts second we transmit a new symbol. We
restrict ourselves to the ideal MFSK modulation signaling as given in
(4.3.1). The bandwidth B required is approximately
M
B .
Ts
For an information rate of b bits per second, we have a symbol duration time
77
Chapter 4-Modulation and Detection
log 2 M
Ts ,
b
b log 2 M
bits/s/Hz.
B M
cos2πfit
( )2
received y
( )2
sins2πfit sample at t = Ts
4.3.2 Detection
78
Chapter 4-Modulation and Detection
Es
2N 0
Ps - uncoded Me
(4.3.2)
Eb
log 2 M [ln 2 ]
2N 0
e ,
where the energy per bit Eb = Es/log2M. Note that we transmit log2M bits per
MFSK symbol. For AWGN channels the probability of a symbol error can
thus be made arbitrarily small by increasing M, provided that Eb/2N0 > ln2.
The cost for increasing M is the bandwidth required to transmit the signals.
log 2 |C| E b
d min
n 2N 0
Ps - coded log | C | e . (4.3.3)
Eb
MRlog 2 M[ln2 (1 R) ]
2N 0
Ps - coded e ,
where k/M = R. For (1 - R)·Eb/2N0 > ln2, the error rate goes to zero for
increasing M.
79
Chapter 4-Modulation and Detection
A sub-optimum detector
As indicated before, spectral noise disturbs the demodulation process of M-
ary FSK. To overcome this problem, we give a possible structure for a sub-
optimum demodulator using a threshold after every envelope detector, under
the assumption of equal energy - and noise distribution for all M frequencies.
- impulse noise may put energy in larger parts of the spectrum in use for a
short period. Impulse noise can also have a periodic character. Impulse
noise results mainly from switching transients and is characterized by its
duration, amplitude and the inter-arrival time. We assume that impulse
noise causes all M outputs of the demodulator output vector to be equal
to 1;
80
Chapter 4-Modulation and Detection
- the additive white Gaussian noise, also called the “background” noise,
introduces incorrect decisions, i.e., insertion or deletion of a symbol 1;
The effect of the different kinds of noise on the multi valued detector output
can be seen from Figure 4.9. We assume that M = 4 and transmit the code
word (1, 2, 3, 4) as frequencies (f1, f2, f3, f4).
As one can see from Figure 4.9, row errors can be catastrophic for RS codes.
This can be explained as follows. Let EN denote the energy detected at the
demodulator due to a narrowband noise source. If EN exceeds the threshold
T, the demodulator will have a symbol that is “always on”. This poses a
problem, since the all-c vector (that is, the vector with all its symbols equal
to c, where c GF(2m) is a valid code word for the RS code. Therefore, the
presence of narrowband noise disturbances will result in undetected errors.
We will discuss further consequences in the next section.
81
Chapter 4-Modulation and Detection
Consider again an M-ary FSK signal set that consists of an orthogonal set of
M frequency-shifted signals that is used to encode information. We may
assume non-coherent demodulation and thus the bandwidth required is given
by B = M/Ts. For a code of cardinality |C| and code words of length n, the
number of information bits transmitted per second is given by
log 2 | C |
b bits/sec. ,
nTs
where Ts is the signal duration time. The transmission efficiency per second
per Herz is given by
b log 2 | C |
bits/sec/Hz.
B nM
Example M = 4, |C| = 4.
message transmit
1 ( 1, 2, 3, 4 )
2 ( 2, 1, 4, 3 )
3 ( 3, 4, 1, 2 )
4 ( 4, 3, 2, 1 )
82
Chapter 4-Modulation and Detection
TABLE 1
TABLE 2
dmin = 2 dmin = 3
(1, 2, 3) (1, 2, 3)
(1, 3, 2)
(2, 1, 3) (2, 3, 1)
(2, 3, 1)
(3, 1, 2) (3, 1, 2)
(3, 2, 1)
TABLE 3
2 3 4 5
2 2
3 6 3
4 24 12 4
5 120 60 20 5
The code as given in Table 1 has 12 words, each with M=4 different
numbers and a minimum difference between any two words or minimum
Hamming distance dmin of 3. For M = 3 we have the code books as given in
83
Chapter 4-Modulation and Detection
b log 2 M! log 2 M
,
B M2 M
for large M. This is the same efficiency as un-coded M-ary FSK. The next
theorem gives an upper bound on the number of code words in a permutation
code.
M!
|C| .
(d min 1)!
Proof Choose (M - dmin) different code symbols and put them at (M - dmin )
different positions. Then, with the remaining dmin symbols at the remaining
dmin positions, we can construct a maximum number of dmin code words at a
distance dmin apart. For every set of positions we can distribute the chosen
(M - dmin) different code symbols in (M-dmin)! different ways. We can choose
M
M d min
different sets of positions. Hence, the overall product gives the maximum
number of code words with a minimum Hamming distance dmin ,
M
|C| dmin ( M - dmin )!
M d min
M!
= .
(d min 1)!
84
Chapter 4-Modulation and Detection
It can be shown mathematically, that for M = 6 and dmin = 5 the upper bound
cannot be met with equality. For dmin = 2, we always have equality for any
M. Blake [28] uses the concept of sharply k-transitive groups to define
permutation codes with distance M – k + 1. The structure of all sharply k-
transitive groups is known for k 2. In [28] it is also shown that the group
of even permutations on M letters is a permutation code with |C| = M!/2 code
words and minimum Hamming distance 3. To find good codes in general
appears to be quite difficult [29,74].
1 1 1 1 … 1
GT = .
2 M-2
0 1 …
The minimum distance of the code is M-1, where M = 2m is the length of the
extended code. If only the second row is used to generate code words, the
minimum distance is M-1. Including the first row, the last M-1 columns
generate a code with minimum distance M-2. Since the symbol at the first
position is non-zero, the overall minimum distance is (M-1).
Property Suppose that for the M-ary information pair (x,y) the information
symbol y ≠ 0. Then, the code words contain every symbol { 0, 1, , 2, …,
M-2 } only once. Every code word is a permutation of another code word.
This property follows from that fact that multiplication of the second row
with a nonzero element of GF(2m) realizes a permutation of the last (M-1)
symbols. Adding the same constant (first row) to all symbols realizes a
permutation over all M symbols.
85
Chapter 4-Modulation and Detection
A message is encoded as a code word of length M with the integers 1,2, ,
M as symbols. The symbols of a code word are transmitted in time as the
corresponding frequencies.
The decoder compares the demodulator output with all possible transmitted
code words. It outputs the code word for which the maximum number of
agreements with the symbols at the demodulator output occurs. For the
example, all symbols corresponding to code word 3 are present and thus
correct decoding follows. Since code words are different in at least dmin
positions, dmin – 1 errors of this type still allow correct decoding. The
example code has dmin = 4 and hence, we can tolerate the presence of 3
permanent disturbances in the demodulator output.
Example Suppose that we transmit the example code word {3, 4, 1, 2}. If
an impulse noise causes all envelopes to be present at three symbol
transmissions, then we may have as a demodulator output {(1,2,3,4),
(1,2,3,4), (1,2,3,4), (2)}.
Comparing this output with the possible transmitted code words gives a
difference (distance) of zero to the correct code word and one to all other
code words. Thus, even if three of these multi-valued outputs occur, we are
still able to find back the correct code word since there is always a remaining
symbol that gives a difference of one to the incorrect code words.
For this type of “threshold” demodulation, the decoding is still correct for
dmin – 1 errors of the insertion/deletion type, since:
86
Chapter 4-M
Modulation andd Detection
haviing the sam me symbol at a the samee position. IfI the symb
bols are
diffeerent, the num
mber of agreeements doess not change;;
In concllusion, we can
c say that the introducced thresholdds in the modified
m
demodullator in commbination wiith a code aallow the correction of dmin – 1
incorrectt demodulaator outputss caused by narrowb band- , im mpulse-,
backgrouund noise or frequency seelective fadinng.
87
Chapter 4-Modulation and Detection
Information
RS decoding
independent errors
de-interleaver 1
decoding errors
convolutional
decoder
independent noise
de-interleaver 2
digital channel
88
Chapter 4-Modulation and Detection
Information
RS encoding
8-bit symbols
interleaver
8-bit symbols
constrained
encoder
17 bits RLL
The digital channel delivers data for the convolutional decoder. The memory
in the data can be removed by the de-interleaver 2, such that the
convolutional decoder receives independent symbols. Convolutional
decoders are sensitive to dependencies between noise symbols. The
convolutional decoder, in general, produces decoding errors that have a burst
nature. We collect the output in symbols to be processed by the RS
decoding. To be able to decode long bursts of errors, we spread the symbols
over different RS decoders. In this way, simple low complexity parallel RS
decoders, each decoding a small number of errors, can handle bursts of
symbol errors.
89
Chapter 4-Modulation and Detection
kc
C1 C2 ••• CN
c11 c21 ••• cN1 row 1
c12 c22 ••• cN2 row 2
kr
••• ••• •••
The minimum distance of the product code is larger than or equal to the
product of the distances of the individual codes. This can be seen as follows.
90
Chapter 4-M
Modulation andd Detection
Any sym mbol of a nonnzero column n word of miinimum weig ght dc gives rise to a
row codde word withh minimum weight
w dr annd thus the minimum
m weeight of
product code word is i at least dc × dr. Since low weight column codee words
do not nnecessarily giive low weigght row codee words, we have a lower bound
on the mminimum disstance. We can see this pproduct codee as a generaalization
of the coombination RS-SPC
R discu
ussed earlierr.
91
Chapter 4-Modulation and Detection
extended with 16 parity symbols which give a total of 208 rows. Every row
is extended with 10 parity symbols which give a total of 182 columns. This
procedure gives an RS product code with 208 rows and 182 columns.
outer inner
interleaver
encoder encoder
channel
outer inner
de-interleaver
decoder decoder
interleaver
92
Chapter 4-Modulation and Detection
The problem of the soft decision decoding is the knowledge of the noise
source. If the noise is pure AWGN, then the soft decision metrics are correct.
However, in practical systems this knowledge is not often available and thus
the advantages of soft decision decoding disappear or soft decision decoding
even makes the performance worse.
RS codes are symbol oriented codes and thus, in principle the transmission
over an AWGN channel with independent transmissions does not exploit the
power of an RS code. Therefore, concatenation with a short high rate inner
code that performs the soft decision decoding or that decodes single errors is
preferred. The RS code can act as an outer code that corrects the symbol
errors caused by decoding errors from the inner code or caused by channel
symbol errors.
93
Chapter 4-Modulation and Detection
100
10-1
10-2
10-3
10-4
10-5 (1)
(4)
10-7
0 2 4 6 8 10 dB
10 log10(Eb/No)
Figure 4.17 Bit error rate versus signal-to-noise ratio for antipodal
signaling in AWGN channels: (1) un-coded; (2) hard decision
(31,21) - RS decoding; (3) concatenated(31,21) - RS - (6,4) SPC soft
decoding as in structure A, R = 0.56; (4) concatenated (9,8) SPC,
(31,21) - RS decoding, R = 0.6
94
Chapter 5-The Wiretap Channel
Chapter 5
channel zn
wiretapper
95
Chapter 5-The Wiretap Channel
sk xn yn sk
n
e
bn BSC (q)
zn
wiretapper
sk xn yn sk
en
zn
wiretapper
BSC (q') bn
96
Chapter 5-The Wiretap Channel
0 0 0 0
p q ≡ q'
1 1 1 1
The goal of the transmitter is thus to maximize H(Sk | Zn). It has been shown,
that for a binary symmetric main - and a binary symmetric wiretap channel
the maximum is given by the secrecy capacity Cs,
97
Chapter 5-The Wiretap Channel
Cs
max I(X n ; Y n ) - I(X n ; Z n )
P(X n )
(5.3)
max I(X n ; Y n ) max I(X n ; Z n )
P(X n ) P(X n )
n C main C wt ,
where we assume that the main channel is less noisy than the wiretap, i.e.
I(Xn;Yn) ≥ I(Xn;Zn) for all input distributions P(Xn). We can reformulate
(5.3) as
R C main C wt ,
H (S k )
R : , (5.4)
n
H (S k | Z n )
: .
H (S k )
1
Cs Cmain
R
98
Chapter 5-The Wiretap Channel
For binary symmetric channels, the normalized capacity for the main
channel with transition probability p is Cmain = 1- h(p) bit/transmission,
where h(p) is the binary entropy function. For the wiretap channel the
normalized capacity is Cwt = 1 – h(q) bit/transmission. Hence, according to
the definition, the normalized secrecy capacity
max I(X n ; Y n ) I(X n ; Z n ) H(Zn | Y n ) H(Zn | X n Y n ) ,
P(Xn )
99
Chapter 5-The Wiretap Channel
1 0 ··· 1
Parity
Secret bit
Figure 5.5 One bit secrecy using the Single Parity Check code
For this channel a simple strategy that allows transmission of one secret bit
to the legal or main receiver can be explained as follows. The transmitter
uses a single parity check code of length n with n-1 information bits and one
parity bit. The transmitter adds his secret bit modulo-2 to the parity, see
Figure 5.5.
The wiretapper can try to recover the secret bit by adding up, modulo-2, the
received n bits. The probability that the secret bit is incorrect is the
probability that an odd number of errors occurred during the transmission of
the n bits, since this changes the parity of the word, i.e.
Pe = 1 – ½ (1+(1-2p)n),
100
Chapter 5-The Wiretap Channel
Note We transmitted (n-1) message bits and 1 secret bit to the legal
receiver. The wiretapper only has a corrupted message (errors occur with
probability p) .
For the (7,4) Hamming code, we choose the encoding matrix G4,7 and the
syndrome former HT as given by
1000111 111
110
0100110 101
G4,7 = , HT = 0 1 1 .
0010101 100
010
0001011 001
A message m4 is encoded with G4,7 and a secret of three bits, s3, is added to
the last bits of the code words. Since the legal receiver has a noiseless
channel he can recover the message and secret without any decoding errors.
z3 = r7 HT
= e7HT + s3 .
Pe = Probability(e7 HT 03)
101
Chapter 5-The Wiretap Channel
1 A i pi (1 p) n i , (5.6)
C
where Ai is the number of code words of weight i. For the Hamming code
the weight distribution is known and can be used to estimate the error rate.
For the sixteen possible code words, we have A0 = 1, A3 = A4 = 7, and A7 =
1. A first approximation for Pe gives Pe ≈ 1 – (1 - p)7.
Note The wiretapper can of course use another strategy that gives him a
lower error rate.
In general, for linear codes, we encode the information mk and secret sn-k as
xn = (mk, sn-k) · Ik T
,
0 In-k
where we use the systematic encoding matrix Gk,n = [ Ik, T]. We continue
with RS codes using the general encoding method.
102
Chapter 5-The Wiretap Channel
where en and 0k are the noise- and the all-zero symbol sequence,
respectively. As before, the wiretapper calculates the syndrome
For equally probable secrets sn-k, every syndrome is connected to a secret and
thus a decodable noise sequence. The minimum error probability receiver
would chose the secret equal to the syndrome, for this connects the secret
with the most likely noise sequence, the all-0 sequence. The probability of a
decision error can be estimated as the probability that a noise sequence
occurs that is not equal to a code word, i.e.
Pe 1 A i pi (1 p) n i
C
where we lower bounded the error probability by assuming that all non-zero
code words have minimum weight dmin. The bound (5.7) can be close to 1
for large values of n, but needs precise evaluation for specific values of k
and n. The uncertainty that remains at the wiretapper is then equal to (n-k)
symbols for equally probable messages.
Suppose that the maximum fraction of channel symbol errors for the main
channel is p < ½ and that for the wiretap channel the symbol error fraction is
q > p. In the encoding procedure, we use an RS code with a redundancy n –
k = 2pn.
103
Chapter 5-The Wiretap Channel
···
Step 1. Consider the first u rows and bring this part of the matrix Gk,n in
systematic form using only the first u rows. The sub-matrix formed by the
top u rows in called Gu,n. The matrix Gu,n is an RS encoding matrix with
minimum distance (n – u + 1). With the systematic part we can create a zero
sub-matrix in the bottom part of Gk,n. The resulting matrix Gk,n is given by
u k-u n-k
Iu A B u
Gk,n = .
0 C D k-u
Gk,n generates an RS code with minimum distance (n-k+1) and therefore, the
bottom part must have rank equal to v = (k - u). If not, the minimum distance
cannot be equal to (n-k+1). Hence, by using row and column operations we
arrive at step 2.
104
Chapter 5-The Wiretap Channel
Step 2. The bottom v rows of the matrix can be manipulated in such a way
that Gk,n is equivalent to
u k-u n-k
Gu,n Iu T U u
Gk,n ≡ Gs-sys := =
0 Gv,n-u 0 Iv W v= k-u
Property The RS codes generated by the matrix Gs-sys, Gu,n and Gv,n-u have
minimum distance (n-k+1), (n-u+1) and (n-k+1), respectively.
The transmitted word cn for the information word mu and the secret word sv
of length u and v, respectively, is given by
cn = (mu , sv) • Iu T U
0 Iv W
= (mu, mu T + sv, mu U + sv W ).
The word cn is transmitted and corrupted by the noise word e1n in the main
channel and by the noise word e2n in the wiretap channel. When the number
of errors in the main channel is less than (n-k)/2, where k = u + v, these
errors are correctable and the legal decoder can recover mu and sv.
The wiretapper has a channel that is worse than the main channel, and thus is
assumed not to be able to decode the message. However, the wiretapper may
try to imitate the legal receiver and calculate a syndrome, using the
syndrome former HT for Gu,n, as
Iv W
0 In-k
105
Chapter 5-The Wiretap Channel
= (sv, 0 ) + e2n • HT .
To minimize the error probability, the receiver would choose the secret equal
to the first v symbols of the syndrome, for this connects the secret with the
most likely noise sequence, the all-0 sequence. The probability of a decision
error can be estimated as the probability that a noise sequence occurs that is
not equal to a code word and is given in (5.7). For Pe→1, the uncertainty that
remains at the wiretapper is then equal to v = k – u = (2q – 2p)n symbols.
The wiretapper may try to profit from the fact that the number of correctable
error patterns is less than the number of possible syndromes. However, for
code word symbols from GF(2m), code word length n = 2m - 1, and a
redundancy 2qn = n – k + v = n - u, the number of correctable error patterns
can be estimated as
qn
n
| e2n | (2m ) t t (n 1) 2qn (n 1) n u . (5.8)
t 0
1 1 1 1 1 1 1
G= 1 2 3 4 5 6
1 2 4 6 3 5
106
Chapter 5-The Wiretap Channel
1 0 6 5 2 4
G= 0 1 5 4 3 6
0 0 1 4 1 6 4
1 1 1 1 1 1 1
G= 0 1 0 5 1
0 0 1 4 1 6 4
Δ min H(Sk | Zμ ).
τ:μ
We will discuss the properties for the case when we transmit symbols from
an RS code over GF(q = 2m). To explain the coding strategy, we make use of
a systematic RS code with dimensions k × n. The four encoding/decoding
steps are:
107
Chapter 5-The Wiretap Channel
sk xn yn ŝ k
zμ
wiretapper
108
Chapter 5-The Wiretap Channel
The wire tapper chooses j positions in the check part. For k < μ = i + j ≤ n,
we have j > k – i. Since k positions uniquely determine the code word there
are j – k + i positions with symbol values determined by the specific code
word. The total number of unknown symbols, equivocation, for the wire
tapper is thus (k – i) + (n – k) – j = n – (i + j) = n – μ. We visualize case 2 in
Figure 5.8b.
k n-k
Ik
i j
k n-k
Ik
k-i
i j
109
Chapter 5-The Wiretap Channel
Example We use the RS code of length 3 over GF(22). The encoding matrix
looks like
1 0 α
G2,3 = .
0 1 α2
The word
n-k
k n μ
For general linear block codes, the equivocation depends on the rank of the
selected sub-matrix. In [37], Forney introduced the concept of Inverse
Dimension/Length Profile (IDLP) of an (n,k) linear block code C, which
demonstrates the dependency of the equivocation on the structure of the
matrix G generating the code. The IDLP of C is defined as a sequence of
length n + 1 with components
110
Chapter 5-The Wiretap Channel
where P (C) is the selected sub matrix defined by the μ positions. For our
example, k(C) = {0, 1, 2}. An upper bound on IDLP is given by Forney in
[37] as
k, k≤μ≤n
kμ(C) = .
μ, 0≤μ≤k
The RS codes are codes that meet the upper bound. In the situation where the
wiretapper has additional information on the encoded data, an extension of
the IDLP has been defined in [38].
Secrecy capacity
111
Chapter 5-The Wiretap Channel
112
Chapter 6-Biometrics
Chapter 6
Biometrics
In Shannon’s cryptography landmark paper [50], he defines a cryptosystem
as depicted in Figure 6.1. A message m is encrypted with a private key into a
cryptogram c. At decryption we use the same key and reconstruct the
message m. A cryptosystem is said to have “perfect secrecy” when for every
message m and ciphertext c (cryptogram) the probability P(m | c) = P(m). In
this case, it can be shown that the entropy H(M) = H(M | C). In all other
cases, the difference H(M) – H(M | C) is positive and we call the difference
the leakage of a system.
key K key K
cryptogram C
encrypt decrypt
e(M,K)=C d(C,K)=M
message M message M
Without loss of too much generality, we assume that the message M and
cryptogram C are connected via one unique key K. Then, the condition for
“perfect security” can be given as
113
Chapter 6-Biometrics
In the following situation, we assume that the receiver has a noisy version of
the key, see Figure 6.2.
noise
key K key K
cryptogram c
encrypt decrypt
e(M,K)=C d(C, K)=M
message M message M
= H(K | C) – H(K | K)
≤ H(K) – H(K | K)
114
Chapter 6-Biometrics
where the maximum source entropy and the key entropy, given the cipher
text, are reduced with the amount H(K | K). This is the price for having a
noisy key.
en noise
bio bn bio bn
data
cn + bn base
cn cn + en
encoder decoder
mk mk
115
Chapter 6-Biometrics
The observation that the legal user has the availability of the output of two
parallel channels, see Figure 6.5, can also be applied to the wiretap channel
to improve the secrecy capacity, see Chapter 5. In this case,
Cs n ( H ( B) H ( E )) max {H ( Z n | Y n ) H ( Z n | C n Y n )} (6.2)
P (C n )
which enlarges the secrecy capacity as given in (6.1). The problem that
remains is the quantification of (6.2).
en
k n
m c legal
encoder yn = cn+en
illegal
zn = cn+bn
bn
116
Chapter 6-Biometrics
Enrollment
The reconstruction scheme uses the parity check matrix HT for a length n
linear block code with k information symbols [42]. The parity check matrix
HT has n rows and (n-k) columns. Hence, the inner product of a biometric
vector bn with the parity check matrix gives as a result a “syndrome vector”
sn-k = bn HT of reduced length (n-k), which a server stores in the data base.
en
k n
m c
encoder yn = cn+en legal
zn = cn+bn
wiretapper
bn
Reconstruction
We assume that, at the legal reconstruction phase, the noisy vector b n is
offered to the server, where bn = bn en and en is an error vector changing bn
at positions where the error vector en has ones. To reconstruct the original
biometric vector bn, the server calculates bn HT sn-k = bn HT bnHT =
enHT. A regular decoding algorithm for the corresponding error correcting
code subsequently produces en and thus reconstructs bn = bn en. Of course,
knowledge of the statistical properties of en is very important for the
decoding algorithm.
117
Chapter 6-Biometrics
bn = bn en bn
authentication reconstruction
HT
enrolment
bn enHT en
HT decoder
n
n i
FRR p (1 p) n i (np)(n - k 1)/2 . (6.3)
i
n k 1
i
2
118
Chapter 6-Biometrics
(n - k)/2 n
FAR (n 1) (n k) q (n k)/2 .
i
(6.4)
i 0
From (6.3) and (6.4), we see that the FRR and FAR can be reduced by
increasing (n-k). Calculation of the FAR and the FRR are the same as for a
noisy communication channel with the same parameters.
An illegal user, with data base knowledge of sn-k, can improve this
probability by guessing the bn for which P(bn stored as sn-k| sn-k) is maximum.
Let Sn-k be the set of possible syndromes, then
q n - k max P(b n ).
Bn
119
Chapter 6-Biometrics
For every particular syndrome, there are only qk candidate biometric words
and thus, the average probability that we have a correct biometric bn can be
bounded as
Using the concept of entropy with base q, the entropy H(Bn | Sn-k) k
symbols, because there are only qk candidate biometrics for a particular
syndrome vector sn-k. The entropy H(Sn-k) ≤ (n-k), since there are qn-k
possible syndromes. Thus, since H(Sn-k) + H(Bn | Sn-k) = H(Bn) + H(Sn-k | Bn)
= H(Bn), we obtain
k H(Bn | Sn-k) ,
We call (n-k) the entropy loss or leakage rate, see also (6.6), where we lose a
factor (2m)n-k in the guessing probability. In information theory, the concept
of typicality can be used to show equivalence between (6.6) and (6.8).
120
Chapter 6-Biometrics
?
Pk hash(Pk) = hash(Pk) Pk
encoder decoder
cn
corrupted code word cn
bn bn
Figure 6.7 JW scheme for linear codes
Enrollment
We add a biometric vector bn of length n with components from GF(2m) to a
randomly chosen code word cn from a scheme specific RS code. The code
word is generated by a random vector Pk. We store the sum cn = bn cn in a
data base. In addition, we also store the hash(Pk) in the data base.
Authentication
At authentication we add again the relevant biometric and the result is cn
bn = bn cn bn = en cn, see Figure 6.7. From this, we can retrieve the
original code word cn and thus Pk if the number of errors is within the
decoding region. The hash(Pk) can be used to check for correct decoding.
121
Chapter 6-Biometrics
n -k
n
n i 2 1
FRR p (1 p)
i
n i (np)
,
n k
i 1
2
.
which is the same as (6.3)
n -k
2 n k
n
FAR (n 1) n q k q
i
2 .
i 0
This FAR is a factor q-k better than (6.4). The calculation is based on a
random biometric b, whereas it can be expected that the vector bn probably is
not a random vector, but drawn from the same set of biometrics as the
original one.
Enrollment
1. generate a random word Pk of k symbols from GF(2m), and store the
corresponding hash value, hash(Pk), in the data base. The hash(Pk)
produces a value from which we cannot reconstruct Pk;
2. encode Pk with an RS encoding matrix as cn;
3. the t different values from bt are used as indicators for the positions in cn
where the code word symbols are fixed. In all other (n-t) positions, the
122
Chapter 6-Biometrics
symbols are changed in a random way from their original value. A code
word cn is created with n - t errors;
4. the word cn is stored in the data base.
Authentication
We assume that the biometric has r error symbols. Hence, the biometric
points at t – r correct positions and r incorrect positions. For the decoding the
remaining positions are considered to be erasures. Since the code has
dimensions (n,k), minimum distance n-k+1, the correct code word cn and
thus Pk can be decoded for
(n – k + 1) – (n - t) 2r +1.
For (t – k) 2r no decoding error can occur. After decoding Pk, the hash(Pk)
can be calculated and compared with the stored value from the data base at
enrollment.
(n – k + 1) – t 2r + 1,
?
k
P hash(P ) = hash(Pk)
k
Pk
encoder decoder
position bt
selector
bt
123
Chapter 6-Biometrics
We use this description of the JW scheme, because it fits the use of RS codes
very well and it relates the JW scheme with the Juels-Sudan (JS) hereafter.
Enrollment
We assume that bt = (b1, b2, ···, bt), bi GF(2m), bi bj, represents the
biometric at enrollment. Then:
As mentioned before, after enrollment the word bt can change due to errors
like measurement imprecision, aging, etc. We assume that for a particular
user at authentication we offer a word bt from t biometric properties. The
procedure at authentication is described as follows.
Authentication
Given bt = (b1, b2 , ···, b t), bi GF(2m), bi bj .
124
Chapter 6-Biometrics
FRR (tp)1+(t-k)/2..
Making k larger will reduce the error correcting capability of the decoder
and thus the FRR will increase.
2
t n k n t n t t k
FAR / / q . (6.9)
k t k t k k k k
For t = k, the FAR is roughly equal to q-k, the same as for a direct guess
without using the biometric.
t n t
P(successful guess) = / q k . (6.10)
k k k
125
Chapter 6-Biometrics
As in (6.7) we have
n
k n q t k
q P guess (correct | c ) q max Pr(b t ). (6.11)
q - 1 bt
Enrollment:
Given the biometric bt =(b1,b2,···,bt), bi GF(2m), bi bj.
1. choose a random secret P(X) of degree k-1;
2. calculate Q(X) = P(X) + (X-b1)(X-b2) ···(X- bt);
3. store Q(X) of degree (t-1).
126
Chapter 6-Biometrics
Authentication:
Given bt = (b1, b2 , ···, b t), bi GF(2m), bi bj .
1. evaluate Q(bi ), i = 1,t. Q(bi ) = P(bi ) for bi = bi;
2. decode P(X).
For bt, with at least k correct values, we have correct decoding of P(X). If
we look at the vector Qt that corresponds to Q(X), we conclude that Qt plays
exactly the same role as the vector cn in the JS scheme. One of the problems
with the JS scheme is the choice of biometrics in the application. A
fingerprint-based fuzzy vault implementation can be found in Nandakumar
et al. [48].
biometrics as a key
127
Chapter 6-Biometrics
128
Chapter 7-Codes with Constraints
Chapter 7
Iκ 0 P
Gk,n = k
0 Ir Q
129
Chapter 7-Codes with Constraints
For instance, if we want to use an RS code over GF(11) with code words of
length 10 and code word symbols from {0, 1, ···, 9}, we have to exclude the
symbol 10 in the encoder output.
In Figure 7.1 we give the parameters of the RS code in systematic form that
are of importance for the description. Note that, κ + r = k. We encode a
message as
κ RS (mκ,0r)Gk,n
information check part
symbols ϵ Ac generation
n-k (mκ,sr)Gk,n
check symbols
construct (0κ,sr)Gk,n
control
word sr
The property follows from the fact that, the minimum distance for this
systematic RS code is dmin = (n - k + 1), and thus the last (n - k) symbols of
any row are non-zero. Furthermore, since every element in the Galois Field
has an inverse, we can create any symbol in a particular position in the check
part by using a particular control word sr.
130
Chapter 7-Codes with Constraints
Encoding
Let the first κ pre-coded information symbols (no symbol from A) generate a
check part. A particular set of control words has to be selected that generate
check parts such that the symbols from A do not occur in the summation of
the check parts generated by the information and control input, see also
Figure 7.2. Every symbol in the check part generated by the information,
eliminates a maximum of |A|(q-|A|)r-1 control words that cannot be used. If
the total number of eliminated control words is less than (q - |A|)r, we can
always find a particular choice for the control input that realizes a check part
without the undesired symbols. Thus, for
or
q | A |
n (κ r) , (7.1)
|A|
Example For |A| = 2, r = 1, the redundancy n-(κ+1) < (n-1)/2, or κ > (n-
1)/2.
100 6167
G3,7 = 010 4155 .
001 3123
131
Chapter 7-Codes with Constraints
The word
[007 2752]
cannot be used to eliminate the symbol 7 since it has 7 in its systematic part.
To illustrate the elimination of symbol 7, we pick one code word with the
symbol 7 (in the check part) from the list of code words produced by G3,7
using the two information digits (0,3). The specific code word is
c7 = [0 3 0 7 3 4 4].
132
Chapter 7-Codes with Constraints
errors in the constrained code can be seen as symbol errors for the error
correcting code RS code.
133
Chapter 7-Codes with Constraints
constant envelope output. In Figure 7.4 we give the Power Spectral Density
of the modulated RLL words as a function of the parameter d using Binary
Phase Shift Keying (BPSK).
Now, consider a time frame of length T with n = T/ code word symbols. In
the same time T, we can have m = T/’ symbols from the constrained RLL
134
Chapter 7-Codes with Constraints
code. Hence, in this case we have the relation T = n = m’ and using the
condition that ’(d+1) = we have RRLL (d+1) = 1. If in addition we use an
135
Chapter 7-Codes with Constraints
error correcting code with efficiency k/n, the final condition of no change in
the PSD or “no bandwidth” expansion is
Figure 7.5 illustrates the idea in the time domain. Six information symbols
are encoded into eight code symbols. The eight code symbols are translated
into twelve RLL symbols. The overall rate satisfies (7.1).
Table 7.1
Example In Table 7.1 we give the RLL words for (d + 1) = 2 that can be
implemented using a 1-symbol look-ahead method. For instance, if we store
message 4 we can choose between 00001 and 00110. The code word is
selected in such a way that the next code word does not violate the d-
constraint. Thus, if the next message is 00011 we use 00110, whereas for
message 2 we use 00001. In this way, we do not have to use extra bits
between the RLL words to satisfy the d-constraint as is in recording systems
like CD, Hollman [59].
136
Chapter 7-Codes with Constraints
If we use an RS code over GF(23), the binary code symbols are of length
three. Every symbol can be converted into an RLL code word. For k = 5 and
n = 6, dmin = 2 and the value of RRS RRLL (d+1) = 1. After demodulation,
the RLL symbols can pass the likelihoods for every possible symbol to the
RS decoder. Since dmin = 2, we expect a coding gain of 3 dB without any
bandwidth expansion, see Ungerböck [58].
Ad 1). The first condition can be solved using the approach by Hollmann
[59] for the construction of block decodable RLL codes.
Table 7.2
Ad 3). RLL codes are generated that satisfy the d-constraint. Then, we make
a selection of the resulting code words that lead to an increase in minimum
distance. The number of resulting code words should be larger than 255 to
be able to make a concatenation with the 8-bit RS symbols.
137
Chapter 7-Codes with Constraints
m
Si cijs j , c ij / 1; i 1,28 , (7.2)
j1
where sj is the soft output of the demodulator per interval ’ and cji the j-th
symbol for block i. The complexity of this action is proportional to the
number of code words times the code word length m. After this operation,
we can apply hard-decision RS decoding.
Performance
The performance depends on the soft-decision decoding of the RLL code
words and the decoding of the RS code. We assume Gaussian noise with
PSD = No/2. Since = (d+1)’, the RLL soft-decision error rate PRLL is given
by
2E 2E b
PRLL Q d min s Q d min . (7.3)
N0 (d 1) N 0
For dmin = d+1, the RLL symbol error rate is of the same order as for un-
coded transmission. Therefore, we expect the coding gain to come from the
RS code. In Figure 7.6, we give the resulting “waterfall” curves for the
system. Three RS codes are simulated with dmin = 1, 2, 3 respectively. The
best performance is given by the (255,223) RS code combined with the RLL
d = 2 and dmin = 3 code. The RS code has minimum distance 255 - 223 = 32,
and the decoder can correct up to 16 symbol errors. Different code
constructions and combinations can be found in [60,61].
138
Chapter 7-Codes with Constraints
Conclusion
We describe a coded modulation scheme where the redundancy for error
correction is obtained from relaxation of the timing. The encoded symbols
have the same minimum spacing between two transitions as for the un-coded
case, but the symbols might be longer in discrete steps depending on the
parameter d. For a particular example, we show a coding gain of about 4 dB.
An additional advantage is that we have a constant envelope modulated
signal. This can be of importance for systems where we have an absolute
power constraint as for instance in the “Power-line Communications
CENELEC band.” Our system is considered for AWGN, but will also work
for other types of noise, since we have a block wise detection and decoding
without error propagation.
139
Chapter 7-Codes with Constraints
Specify a code
↓
Start with an encoding matrix
↓
Generate the equivalent matrices
↓
Calculate the distance profiles
↓
Output the Optimum Distance Profile
Row deletion means that we delete one row from the encoding matrix such
that it generates a new (n,k-1) code. Here, the effect is reduction in the code
efficiency from k/n to (k-1)/n but at the same time a possible improvement in
the minimum distance [71].
140
Chapter 7-Codes with Constraints
We first consider one-by-one row deletion from a generator matrix Gk,n that
generates the starting “mother code”. The mother code has minimum
distance dk. We delete a row from this matrix and obtain Gk-1,n with
minimum distance dk-1. From Gk-1,n we can again delete a row and obtain
Gk-2,n with minimum distance dk-2. The process ends when we obtain a single
row from G1,n. This process generates a distance profile
Example The (7,4) Hamming code can be generated by the encoding matrix
1000111
0100110
G4,7 = .
0010101
0001011
141
Chapter 7-Codes with Constraints
1011100
1110010
~
G 4,7 = .
0111001
1111111
which is better than (7.4) and the best possible for this code. For any linear
code, we can find the Optimum Distance Profile, ODPBdel, by taking the best
possible distance profile over all possible equivalent encoder matrices, see
Figure 7.7. Of course, this is a complicated task. In [54] Johannesson defines
the Optimum Distance Profile for convolutional codes.
Row extension means that we add a row to the encoding matrix such that it
generates a new (n,k+1) code. The effect is an improvement in the efficiency
from k/n to (k+1)/n, but at the same time a possible degradation in the
minimum distance.
We start with a single particular row from a code generator matrix and
extend the matrix row-by-row. Every matrix extension must generate code
words from the desired “mother code”. In every step, we select a row such
that we maximize the minimum distance of the constructed code generated
by code generator matrix. The starting code has minimum distance δ1,
determined by the Hamming weight of the first selected row. We add a row
to this matrix and obtain G2,n with minimum distance δ2. We can add a row
to G2,n and obtain G3,n with minimum distance δ3. The process ends when we
obtain the final code generator matrix Gk,n. We generate a distance profile
142
Chapter 7-Codes with Constraints
~
δ t > t .
Example The (7,4) Hamming code can be generated by the encoding matrix
1111111
1011100
G4,7 = .
1110010
0111001
Again, this is the best possible profile for the Hamming code. Remark that dk
= dmin, whereas δ1 equals the maximum Hamming weight of a code word.
1 1 1 1
1 2 n-1
Gk,n = 1 2 4 2(n-1) .
1 k-1 2(k-1) (n-1)(k-1)
If we start with the first row and extend the matrix row by row, we get
143
Chapter 7-Codes with Constraints
1 1 1 … 1
1 2 … n-1
Gk+1,n = 1 2 4 … 2(n-1) C1
•••
1 k-1 2(k-1) ... (k-1)(n-1) .
1 k 2k ... k(n-1)
Given the above matrix, we construct a sub-code with the property that all
code words of the sub-code have a maximum of k symbols that are the same.
Construction: Generate code words with the code matrix C1. Add the last
row from Gk+1,n to every code word. After decoding, subtract the last row
from the decoded code word.
144
Chapter 7-Codes with Constraints
Properties
- the “same-weight” code generated by C1 has dmin = (n-k+1);
- all code words have a maximum of k symbols that are the same;
- code words contain at least n/k different symbols;
- the code generated by C1 has efficiency k/n.
Note Since any linear code can be brought in systematic form, the number of
the same symbols for non-zero can be larger or equal to k. Using the
constructed sub-code, we obtain k as an upper bound. Hence, RS codes are
optimum.
We briefly summarize the operations at the receiver side that utilize the code
properties. For simplicity, we suppose that the MFSK demodulator outputs
the presence of a particular frequency. A narrowband disturbance may cause
a particular frequency to be present during a long period of time. We can
detect and delete this continuous presence. Using the same-symbol property,
the positions where the code word symbols agree with the disturbance are
considered as erasure positions. Since there is a maximum of k erasures per
narrowband disturbance, the number of narrowband disturbances that can be
corrected for this idealized situation is NB < (n-k+1)/k. The same situation
occurs when the disturbance blocks the transmission of certain frequencies.
The maximum number of “deletions” for our code is then equal to k and the
same analysis can be made. Performance gets worse when in addition to
narrowband noise we also have background noise.
145
Chapter 7-Codes with Constraints
Hollmann, and show that the combination RLL-RS gives a coding gain of
about 4 dB.
The third topic is concerned with a new property of Block codes, the
“Optimum Distance Profile”. This problem can solve the difficulty of
extending/reducing the dimensions of an encoding matrix. We show that RS
codes have the best possible profile.
symbol avoidance
coded modulation
The last topic describes a special application of RS encoding such that every
code word contains a desired maximum number of the same type of symbol.
This way of encoding can be beneficial when a channel is disturbed by
narrowband noise.
146
Chapter 8-Memories with Defects
Chapter 8
0 0 0 0 0 0
1 1 1 1 1 1
147
Chapter 8-Memories with Defects
The four situations give different results for the maximum storage efficiency
or storage capacity. Assume that the fraction of defect-1 cells is equal to the
fraction of defect-0 cells is equal to p/2. The situations can be described as:
1-p
0 0
p/2 p/2
p/2 p/2
1 1
1-p
1. writer and reader know. In this case, we can avoid the defective cells and
thus the storage capacity is (1-p) bits per cell;
2. writer does not know, but the reader knows. The reader, knowing the
position of a defect can treat this position as an erasure. Hence, the
channel that he creates is an erasure channel with maximum storage
capacity (1-p) bits/cell. The writer should use codes for the erasure
channel to store his information, see the model in Figure 8.2;
3. the reader and writer do not know the defects. The defect can be
considered as a random error and thus, on the average p/2 errors occur
when reading. The channel that results is a Binary Symmetric Channel
with storage capacity 1 – h(p/2), where h(*) is the binary entropy
function, see the model in Figure 8.3;
4. the writer knows and the reader does not know the value and the position
of the defect. This situation is the most interesting one, since we can
design a special type of coding. Kuznetsov and Tsybakov showed that in
this case also the capacity is (1-p) bits/memory cell. In addition to that,
they designed the “additive” coding method that asymptotically achieves
this capacity, see Section 8.2.4.
148
Chapter 8-Memories with Defects
1 – p/2
0 0
p/2
WRITE READ
p/2
1 1
1 – p/2
Figure 8.3 BSC model for unknown defects at writer and reader
Suppose that words of length n have a maximum of one defect per word. By
inspection, the writer knows the value of the defect and encodes a word xn-1
as (0,xn-1) or (1,xn-1), respectively, where xn-1 is the complementary word for
xn-1. One of both words can always be stored error free and thus the
redundancy is only one bit, irrespective of the value n. The reader can
always find back the original message by inspecting the first bit of a stored
word. This example shows that knowledge about the defect helps to reduce
the redundancy needed for defect error correcting.
149
Chapter 8-Memories with Defects
Another extreme example is the one that occurs when in n bits, n-1 bits are
defective and only one bit is error free. In this case, since we can observe the
value of the defects, we can always make the parity of the word even or odd
with the remaining error free position. Hence, we store one bit of
information in n positions.
Note Both strategies are optimal. In the first case, n-1 bits can be stored in n
positions and the data storage efficiency R = 1 - 1/n. In the second situation,
we can store only one bit in n positions and the storage efficiency R = 1 -
(n-1)/n = 1/n.
We first construct a code matrix for which any pair of bits is present in some
row. If this matrix exists and every row has a unique prefix, then this matrix
can be used to match defects. The construction is as follows:
1. take all binary vectors of length (2α - 1) and weight α as columns of the
code matrix;
2. add the all zero row to the matrix;
3. select log2α columns such that all rows of the 2α × log2α sub
matrix are different.
150
Chapter 8-Memories with Defects
fact that a column of length (2α - 1) has more than halve ones, and hence
there must be some overlap between the two specific columns;
0 0 0 0 0 0 0 0 0 0
0 0 1 0 1 1 0 1 1 1
C= 0 1 0 1 0 1 1 0 1 1 .
1 1 0 0 1 0 1 1 0 1
1 0 1 1 0 0 1 1 1 0
1 1 1 1 1 1 0 0 0 0
Any bit pattern of length 2 can be found in a row of length 10 and the first 3
digits uniquely specify each row of C.
Hence, the vector x10 selects one out of 128 messages and the efficiency is
7/10.
151
Chapter 8-Memories with Defects
Decoding
The decoding is done as follows. The vector x 10 has 3 all zero initial
components. Hence, the decoder (reader) knows which row of C is used in
order to make x10 defect compatible. This row is added modulo-2 to c10 and
the last 7 components of the result specify x7 again, for
The memory has a defect-1 in the 3rd position and a defect-0 in the 4th
position, i.e.
to
x10 = (0, 0, 0, 1, 1, 0, 1, 0, 0, 0)
and stores
The decoder sees as three initial components (1, 0, 1) and adds the vector
(1, 0, 1, 1, 0, 0, 1, 1, 1, 0)
x10 = (0, 0, 0, 1, 1, 0, 1, 0, 0, 0)
152
Chapter 8-Memories with Defects
and message
x7 = (1, 1, 0, 1, 0, 0, 0).
The overall, close to optimal, efficiency is 7/10 at a defect rate of 2/10. One
problem is to show that this method is the best that we can have for 2 defects
in a word of length n.
The previously described coding methods are special cases of the general
description by Kuznetsov and Tsybakov [64]. They show that there exists an
encoding matrix C that facilitates utilization of the fraction (1-p) of non-
defective memory cells, which is the best we can expect.
In the sequel, we assume that there are t defects in a length n binary vector
and the defect fraction is t/n = p. The encoding matrix C is given in Figure
8.4, where the first (n-k) columns are used to uniquely identify a particular
row (we have 2n-k rows). A particular row is used to make the vector x n
defect compatible.
n-k k
2n-k-u
153
Chapter 8-Memories with Defects
Suppose that for a particular defect vector dn we have u defects in the first
(n-k) positions and v = t - u in the last k positions, respectively. Then, the
maximum number of rows that can be used to match the defect vector is
2n-k-u, because u positions are equal to the defects and thus fixed. If the
matrix is such that we have a pattern in the selected 2n-k-u rows that can be
used to match the defects in the last k positions, the matrix is called useful.
We calculate the fraction of matrices that is not useful and when this fraction
is smaller than 1, a useful matrix exists.
The v defects in the last k positions and the u defects in the first n-k
positions specify a matrix of dimension v × 2n-k-u. The number of matrices
where the given defect pattern does not occur is given by
n k u
f1 ( 2 v 1) 2 .
The remaining part of the 2n-k × k matrix can be chosen freely. The number
of choices f2 is
nk nku
f2 22 k v2 .
For the particular defect vector, the fraction of useless matrices is thus given
by
n k u nk
k v2 n k u
(2 v 1) 2 22
F nk
22 k
2
n k u
1 2 v
nkt
e2 .
Since we can have t defects with all possible combinations of defect-0 and
defect-1, the total fraction of matrices that cannot be used is upper bounded
by
n
F exp(2 n k t ln 2 t ).
t
154
Chapter 8-Memories with Defects
t 1 n
R 1 log 2 (ln 2 t ).
n n t
R => 1 - t/n = 1 - p.
We start with the systematic encoding matrix Gk,n for code with minimum
distance dmin that has the form
where Ik,k is the k × k identity matrix, and Hk,n-k the check part. The parity
check matrix for this encoder is given by
Hk,n-k
(Hn-k,n)T = .
In-k,n-k
Since the code has minimum distance dmin, any dmin - 1 rows of HTn,n-k
are linearly independent and thus in this case dmin - 1 columns of
Gn-k,n = Hn-k,n
= [ In-k,n-k (Hk,n-k)T ] .
155
Chapter 8-Memories with Defects
We can use the systematic code Gn-k,n to construct any combination of dmin -
1 digits by some linear combination of rows. The matrix Gn-k,n is taken as
part of the bigger n × n matrix that has the structure as given in Figure 8.5,
where 0k,n-k is the all zero matrix with dimensions k and n-k. As before, the
vector xk and the defect vector dn = (d1, d2,···, dn) determine the vector cn-k
such that
cn = (cn-k,xk) Gn,n
In-k,n-k (Hk,n-k)T
Gn,n =
0k,n-k Ik,k
Figure 8.5 The matrix Gn,n for the defect matching procedure.
Example For the encoder in Figure 8.6a, the first 4 rows are derived from a
systematic encoder with a minimum distance of 4 and code word length 7.
We can thus match 3 defects.
1 0 0 0 1 1 1
0 1 0 0 1 1 0
0 0 1 0 1 0 1
0 0 0 1 0 1 1
0 0 0 0 1 0 0
0 0 0 0 0 1 0
0 0 0 0 0 0 1
156
Chapter 8-Memories with Defects
random errors and then find back the information. The problem is to find the
optimum combination of defect matching and error correction. This problem
was tackled by Heegard [67]. We will illustrate the method by examples.
Example The encoding matrices in Figure 8.6b and Figure 8.6c follow
from the (7,4) Hamming code with minimum distance 3. In both cases we
have the same distance properties and thus the same error correcting
capabilities (1-error correcting).
In Figure 8.6b we use the first row to make the vector x7 defect compatible,
and in Figure 8.6c we use the first 3 rows, respectively.
1 1 1 1 1 1 1
0 1 0 0 1 1 0
0 0 1 0 1 0 1
0 0 0 1 0 1 1
1 0 0 0 1 1 1
0 1 0 1 1 0 1
0 0 1 1 1 1 0
0 0 0 1 0 1 1
Note, that the storage efficiency is the same for the situation 8.6a and 8.6b.
157
Chapter 8-Memories with Defects
Properties:
- for the RS code generated by the encoding matrix Gn-δ,n, the
minimum distance is (δ + 1);
- any (n-k) × (n-k) sub-matrix of Gn-k,n has rank n-k.
Encoding
For an information vector xk- δ, we can construct cn-k such that
cn = (cn-k,xk-δ) Gn-δ,n
We receive
rn = cn en.
Decoding
Using Gn-δ,n we can correct the random errors that might occur after storing
the code vector cn. After decoding the random errors, the vector (cn-k,xk-δ) can
be reconstructed and thus we can find back the original encoded information
xk-δ.
n-k Gn-k,n
< = Gn-δ,n
k-δ Gk-δ,n
Note that the error correcting properties appear when δ > 0. The defect
matching properties and the efficiency depend on the values of (n – k) and (k
– δ). For δ = 0, we store k symbols in n positions. The efficiency is
k nk
R 1 1 (defect fraction).
n n
158
Chapter 8-Memories with Defects
Remark. Although not very practical, the same defect matching procedure
can be designed for convolutional codes, see [65].
At the second use of the punch card the existing configuration of holes,
represented by the vector dn, can be used by a defect matching code. If we
have a defect matching code for a fraction p of defects, we can store a
maximum of (n-pn) bits in the second writing. Hence, the total normalized
asymptotic number of bits stored in two writings is
1
pn
n
T lim
n n
log 2 (n pn)
i
i 0
h(p) (1 p) bits/memory cell.
If the WOM is used three or more times, we can restrict the writing in every
step and optimize the fraction of holes to be punched [66].
159
Chapter 8-Memories with Defects
defect models
defects as symbols
160
Appendix
pend
App dix
A.1 A bit of In
nformattion Theoory
Shannonn entropy is a basic conceept in inform mation theoryy. For a sourrce with
output m
messages S ϵ {s1, s2, ···, sM}, cardinalitty M and pro
obabilities (p1, p2, ···,
pM), the entropy is deefined as
M
H(S) p i log 2 p i bits. (A.1.1a)
(
i 1
Shannonn showed, thhat H(S) is th he minimum m average num mber of bits needed
to descriibe the sourcce output. The binary entrropy, h(p) is defined as
Figure A
A.1 gives the graphical reepresentationn of h(p).
h(p)
161
Appendix
The difference
is called the mutual information, and can be seen as the reduction in the
average description length of S given the observation T (or the other way
around). Conditional entropy, like H(S | T), is also called equivocation.
C max I(X; Y)
P(X)
(A.1.2)
max[H(X) H(X | Y)].
P(X)
Channel codes exist that can transmit at a rate as close to capacity as wanted,
and at the same time achieve a decoding word error probability as close to
zero as required. To achieve this, the word length has to go to infinity.
162
Appendix
163
Appendix
Property There exists a primitive element, called α such that all p-1 powers
of α are different modulo p and α p-1 = 1 modulo p.
Example Let p = 7 and calculations modulo p. The inverses are given by:
3-1= 5, 3-2 = 4, 3-3 = 6, 3-4 = 2, 3-5 = 3, and 3-6 = 1.
We thus have defined multiplication, inverse and the unit element 1. The
symbol 0 and all the nonzero elements together form the Galois Field GF(p).
We have an equivalent definition for a Galois Field using polynomials.
164
Appendix
P(X) modulo g(X) = r(X) means that P(X) = a(X)g(X) + r(X), where the
degree{r(X)} < degree {g(X)}.
165
Appendix
Proof Suppose that two elements are the same, then for i < j,
Property αi αj = αi + j.
Property Since αp-1= 1, we can reduce the exponents modulo p-1 as before.
Example Take I(X) = 1 + X + X3, which divides X7-1. The following table
lists the elements of the Galois Field
TABLE A.2.1
α X X (010) α6
α2 X2 X2 (001) α5
α3 X3 1+X (110) α4
α4 X4 X + X2 (011) α3
α5 X5 1 + X+ X2 (111) α2
α6 X6 1 + X2 (101) α1
α0 = 1 X7 1 (100) 1
Adding the element 0 gives the additional 3-tuple (000) and thus we have 8
elements. We can add, multiply and calculate an inverse with m-tuples
represented as elements in a Galois Field GF(2m).
166
Appendix
1 1 1
1 2 k
Vk = 12 22 k2 .
1k-1 2k-1 kk-1
1 1 1 1
x 2 3 t+1
Dt+1 = x2 22 32 t+12 .
xt 2t 3t t+1t
167
Appendix
If you substitute any i for x in the determinant, two of its columns will be
the same. So the value of such a determinant will be 0. Such a substitution in
the determinant is equivalent to substituting i for x in f(x). Thus it follows
that f(2) = f(3) = … = f(t+1) = 0 as well. So f(x) is divisible by each of
the factors 2, 3, …, t+1. All these factors are distinct otherwise the
original determinant is zero. So:
1 1 1
2 3 t+1
Dt+1 = 22 32 t+12
.
t-1
2 3t-1 t+1 t-1
which by the induction hypothesis, this is equal to ∏ 2 ≤ i < j ≤ t+1 (i −j ).
So this has to be our value of C. Thus, we have:
which is unequal to zero since all elements i, i = 1,k are different. .
168
Appendix
The encoder
The encoder performs the inner product of an information vector A of length
k with a k x n encoding matrix Gk,n. Both A and Gk,n have components from
GF(2m). The k x n encoding matrix consist of k consecutive rows of the
following matrix
1 1 1 1
1 2 n-1
Gn,n = 1 2 4 2(n-1) , (A.4.1)
1 n-1 2(n-1) (n-1)(n-1)
1 1 1 1
1 2 n-1
Gk,n = 1 2 4 2(n-1) . (A.4.2)
1 k-1 2(k-1) (k-1)(n-1)
The following two properties are basic for the applications of RS codes.
Without loss of generality, we choose Gk,n, to be the first k rows from Gn,n as
in (A.4.2).
169
Appendix
1 1 1
p q r
V(p, q, , r ) = 2p 2q 2r .
k
p(k-1) q(k-1) r(k-1)
which has the form of a Vandermonde matrix (note that all second row
elements are different).
For linear codes, the minimum distance is equal to the minimum Hamming
weight of a nonzero code word. This property follows from the fact that any
k columns are linearly independent and thus no linear combination of rows
can give a code word with k zeros. Hence, the minimum nonzero Hamming
weight of any code word is n-k+1.
The same proof follows from the following observation (Jack van Lint). Let
A(X) be a polynomial over GF(2m) of degree k-1. We can evaluate this
polynomial for all n = 2m-1 possible different powers of the primitive
element of the field GF(2m). This is equivalent to the inner product
encoding operation as described before. Since A(X) can have only k-1
different roots, at least n-k+1 evaluations must be nonzero and thus any
nonzero code word has Hamming weight larger or equal to n – k + 1. Since
the minimum distance for linear codes is less than or equal to n – k + 1, dmin
= n-k+1.
1 1 1 1 1 1 1
G= 1 2 3 4 5 6
1 2 4 6 3 5
170
Appendix
1 0 0 3 1 3 2
G= 0 1 0 5 1 .
0 0 1 4 1 6 4
1 1 1 1
1 n-1 2
Hn,n = 1 2(n-1) 4 2 . (A.4.3)
1 (n-1) ( n-1) 2(n-1) n-1
1 1 1
n-k 2
HT = 2(n-k) 4 2 . (A.4.4)
(n-1) ( n-k) 2(n-1) n-1
We recall that n = 2m -1. For GF(2m), we have n = 1 and thus for = q, q
n-1,
= 1 + + 2 + + n-1
= 0,
171
Appendix
The syndrome former HT can be used to decode a received code word at the
receiver. We distinguish the following steps.
- The decoder calculates the product rnHT = sn-k, which is called the
syndrome. The syndrome only depends on the noise word en.
- For a code with minimum distance (n-k+1) all error words of weight
less than (n-k)/2 give a different syndrome. For, otherwise a vector of
weight less than n-k+1 can be constructed that gives a syndrome 0n-k.
According to the definition of the minimum distance, this is not possible.
n k n k
2 n k 2
n n
(q 1)i q 2 .
i q n k ,
i
i 0 i 0
where we assume that n = q-1. From this we can see, that for small k,
almost all syndromes correspond to an error word of weight (n-k)/2.
For larger k, the bound will not be tight.
Example We give two examples: the single parity check (n,n-1) RS code
with efficiency k/n = (n-1)/n, minimum distance 2 and the repetition code
with efficiency 1/n and minimum distance n.
1 2 n-1
1 2 4 2(n-1) .
Gn-1,n =
172
Appendix
H= [ 1, 1, , 1].
1 0 0 1
0 1 0 1
Gn-1,n = 0 0 1 0 1 . (A.4.5)
0 0 0 1 1
It is easy to see, that (A.4.5) generates all code words cn such the inner
product cn HT = xn-1Gn-1,n HT = 0n-k. This matrix Gn-1,n is the simplest possible
and simplifies the encoding procedure drastically.
Decoding for this code is in principle the same as for the SPC. After taking
hard decision, the syndrome gives the error value. The position can be
determined by finding the position that minimizes the Euclidean distance.
1 1 1
n-1 2
HT = 2(n-1) 4 2 . (A.4.7)
(n-1) ( n-1) 2(n-1) n-1
After hard decision, the decoding procedure is a simple majority vote. In this
case, more than n/2 errors lead to decoding decision errors.
This follows directly from the minimum distance of the code generated by
G, which is n-k+1. Thus, all n-k or less rows of HT are linearly independent.
Furthermore, H is an RS encoding matrix with minimum distance k + 1.
173
Appendix
where g(X) is called the generator of the RS code and A(X) the information
polynomial of degree (k-1).
The calculation X n-k A(X) modulo g(x) gives a rest of degree less than n-k,
also called check part. Hence, we can have a systematic code word
containing the original information by writing C(X) = (X n-k A(X) + X n-k
A(X) modulo g(x)). Note that C(X) is still a multiple of g(X), since C(X)
modulo g(X) = 0.
174
Appendix
1 1 1
n-k 2
HT = 2(n-k) 4 2 .
(n-1) ( n-k) 2(n-1) (n-1)
If we write the code words in the form of a polynomial, then the code word
C is written as C(X). In the same way, we write the received word as
where E(X) represents the error symbols. Using the properties of the code
word C(X), we calculate the syndromes
= E(X = αj+1)
n 1
= E i ( i ) j 1
i0
t
= E i k ( i k ) j 1 ,
k 1
where we have assumed t errors at position i1, i2, , it, 0 i n-1. The
syndrome values Sj , 0 j 2t-1 define the syndrome polynomial
S(X) = S jX j
j0
t
= X j E i k ( i k ) j1
j 0 k 1
175
Appendix
t
= E i k ( i k ) /(1 X i k ).
k 1
The error locator polynomial for t errors at position ik, k=1,2, ···, t is defined
as
t
L(X) = (1 X i k ).
k 1
t t
L( X )S( X ) E i k ( )
ik
(1 X i ) W ( X ) .
k 1 k
We remark that the degree of W(X) less than t. Actually, the polynomial
S(X) is known only through the coefficient of X2t-1 so that in terms of the
known syndrome components we can write the key equation
The polynomials L(X) and W(X) are found according to Euclid’s algorithm.
This algorithm gives a unique valid solution in a finite number of steps (an
alternative is the Berlekamp Massey algorithm). We therefore reformulate
the key equation as
We have to find the solution L(X ) under the condition that the greatest
common divisor of S(X) and X2t is given by
For t errors, the polynomials L(X) and W(X) have degree t and degree < t,
respectively and are the only solution to the key equation and hence to the
problem.
We use the polynomial L(X) for finding the error locations. For an error at
position im, according to the definition,
176
Appendix
t
L ( i m ) (1 i m i k ) 0.
k 1
The search for the positoins where L(*) = 0, is called the Chien search.
Knowing the incorrect positions, also gives at least k correct positions and
thus, this allows us to reconstruct the encoded information. An interesting
topic that remains, is the complexity of this procedure.
Example
We use the GF(23) from Table A.2.1 and a (7,5) RS code defined as
C(X) = A(X)g(X) = A(X) (X-)(X-2).
For an information polynomial
A(X) = + 3X4,
The code word polynomial becomes
C(X) = 4 + 5X + X2 + 6X4 + X5 + 3X6.
We receive
The syndrome
S0 = R() = 4 + 6 + 3 + 3 + 4 + 2 = 1 = Eii ,
S1 = R(2) = 4 + 7 + 5 + 1 + 2 + = 5.
Thus, S(X) = 1 + 5X. for t = 1, we have to find the gcd (1 + 5X, X2).
From this, we find
177
Appendix
N(0, G2 ) n N(0, σ )
background impulse
in out
Am
Pm e A ; m 0.
m!
178
Appendix
n2
1 2 2m
p( n | m ) e , p( n ) Pm p(n | m) .
2 2m m 0
P(m = 0) = 1- P(m = 1) = 1 – A;
σ 2 σ 2I σ G
2 2 2
; T:= σ G /σ I .
AWGN channel 0
··· ···
AWGN channel k
Am m
Pm e A ; 2m 2I 2
G
m! A
179
Appendix
Table 4
Am m
Channel state Pm e A 2m 2I 2
G
m! A
2
m=0 0.99 G
2
m=1 0.01 10 4 G
2
+ G
2
m=2 5 10-5 2 10 4 G
2
+ G
180
Appendix
Suppose that we have the two-state impulse noise channel model as given in
Figure A4. The channel has two states with additive Gaussian noise:
2
Gaussian: probability 1-A, variance σ G ;
2
Impulsive: probability A, variance G 2I / A .
2
1-A G
input X output Y
2 σ 2 /A
σG
A I
PA = P/2B + 2I 2I / A ,
181
Appendix
P1-A= P/2B + 2I ,
1 A 2
for P/2B σI .
A
P 2 ) – AH( σ 2 σ 2 /A )bits
C+,+ = H( σ 2I σ G
2
) – (1-A)H( σ G G I
2B
P
2
σG σ 2I 2
σG
= Blog 2 2B ABlog 2 bits/second (A7.1)
2
σG σ G
2 σ 2I
A
1 A 2
For P/2B < I , only the Gaussian channel is considered and thus,
A
P 2
σG
2B(1 A)
C+,+ = (1-A) H bits/transmission
2
σG
P 2
σG
2B(1 A)
= (1-A) Blog 2 bits/second (A7.2)
2
σG
Remark We see that in the high power region, water-filling is the same as
fully randomizing the channel for the output entropy H(Y). For low power,
we have an improvement.
182
Appendix
2 2
C-,+ = (1-A){H(P/2B + G ) – H( G )} +
P 2
2 σ 2I 2 σI
+ A{H σ σ
– H G }bits/transmission
A
2B G
A
(A7.3)
P 2
P
σ 2I
G 2
σG
= (1 A)B log 2 2 B AB log 2 2B A bits/second.
G 2 2
σ G2 σI
A
noise
Input X output Y
T-1 T
P
C-,- = H( σ 2I σ G
2
) – H( σ 2I σ G
2
) bits/transmission
2B
P 2
σG σ 2I
= Blog 2 2B bits/second. (A7.4)
σG 2
σ 2
I
183
Appendix
C+,- ≤ C+,+
Conclusion
It can be seen from (A7.2) and (A7.3), that C-,+ ≈ C+,+. Hence, this shows that
an informed receiver can be as effective as an informed transmitter. In
principle, no feedback is needed.
σ2
G
Δ = 10log10 dB.
σ2 σ2
G I
For σ 2I 100 σ G
2
, the gain in capacity by the channel state information is
about 20 dB.
184
Appendix
2
N(oise) N(0, σ G )
X Y=X+N
= H(Y) – H(noise)
σ2 1 2 2
=
1
log 2 Y log σ X σ G bits/transmission.
σ2 2 2 2
2 G σG
Assuming that the channel has bandwidth B, we can represent both the input
and the output by samples taken 1/2B seconds apart. If the channel noise is
2
Gaussian with power spectral density σ G , each of the 2B noise samples per
2
second has variance σ G . The power spectral density per sample is P/2B and
thus, the channel capacity in bits/ per second is ,
185
Appendix
P
C = Blog 2 1 bits/second.
2Bσ 2
G
n1 n2
Y Z
1 P
C1 = log 2 1 ,
2 2
(A8.1)
1 P
C2 = log 2 1 .
2 P 2
What remains is to proof that this is indeed the capacity region for the
degraded broadcast channel. For this, we refer to [20].
186
Appendix
V Y = V + N1
V: N(0, αP)
U Z = V + U + N2
P1
C1 α B log 2 1 , (A8.2a)
2α B γ 2
P P1
C 2 (1 )B log 2 1 . (A8.2b)
2(1 ) B σ 2
187
Appendix
P1/2αB P2/2α B
γ2
Power
Spectral
Density σ2
αB αB frequency
For n parallel channels, each with the same bandwidth B, the sum capacity in
bits/second is given by
n P
CB log 2 1 2Bi 2 , (A8.4.1)
i 1 i
n
Pi P ,
i 1
188
Appendix
n Pi n
J(P1, P2, ···, Pn) = 2B log 2 1
2B 2
(P Pi ) . (A8.4.2)
i 1 i i 1
1 P
i i2 .
2 ln 2 2B
The value of λ can be solved by using the sum power constraint P, where for
physical reasons Pi 0. See Figure A10 for a graphical interpretation. For
the left situation, enough power for all channels to have a positive capacity.
1
PSD
2 ln 2
P1/2B P1=0
12
1
P2/2B P2/2B
2 ln 2
22
P3/2B P3/2B
32
B B B B B B
189
Appendix
190
Appendix
10 References
[1] N. Abramson, “The throughput of packet broadcasting channels,” IEEE
Transactions on Communications, vol. COM-25, pp. 117–128, Jan. 1977
[2] Christof Haslach and A.J. Han Vinck, “A Decoding Algorithm with Restrictions
for Array Codes,” IEEE Transactions on Information Theory, pp. 2339-2345, Nov.
1999
[3] Christof Haslach and A.J. Han Vinck, “Correction to a Decoding Algorithm with
Restrictions for Array Codes," IEEE Transactions on Information Theory, pp. 479,
Jan. 2001
[4] A. Kuznetsov, F. Swarts, A.J. Han Vinck and H.C. Ferreira, "On the Undetected
Error Probability of Linear Block Codes on Channels with Memory," IEEE
Transactions on Information Theory, Vol. 42, No. 1, pp. 303-309, Jan. 1996
[5] A.J. Han Vinck and A.J. van Wijngaarden, “On Synchronization for Burst
Transmission,” IEICE, pp. 2130-2135, Nov. 1997
[6] Hiroyoshi Morita, Adriaan J. van Wijngaarden and A.J. Han Vinck, ”On the
Construction of Maximal Prefix-Synchronized Codes,” IEEE Transactions on
Information Theory, pp. 2158-2166, Nov. 1996
[7] J.J. Metzner and E.J. Kapturowski, “A general decoding technique applicable to
replicated file disagreement location and concatenated code decoding,” IEEE
Transactions on Information Theory, vol. 36, pp. 911–917, July 1990
[8] Shin-Chun Chang and J.K. Wolf, "On the T-User M-Frequency Noiseless
Multiple-Access Channel with and without Intensity Information," IEEE
Transactions on Information Theory, vol. IT-27, pp. 41-48, Jan. 1981
[9] A.J. Han Vinck and Jeroen Keuning, “On the Capacity of the Asynchronous T-
user M-frequency Noiseless Multiple Access Channel without Intensity
Information,“ IEEE Transactions on Information Theory, Nov. 1996
[10] A. Cohen, J. Heller and A. Viterbi, "A New Coding Technique for
Asynchronous Multiple Access Communication," IEEE Transactions on
Communications, vol. COM-19, pp. 849-855, Oct. 1971
[11] W.H. Kautz and R.C. Singleton, “Nonrandom Binary Superimposed Codes,“
IEEE Transactions on Information Theory, IT-10, pp. 363-377, Oct. 1964,
[12] A. J. Han Vinck, Samvel Martirossian and Peter Gober, “On q-ary
Superimposed Codes,” 1999 IEEE ITW, Kruger National Park, South Africa, June
20 - 25
[13] E.L. Titlebaum, “Time Frequency Hop Signals,” IEEE Transactions on
Aerospace and Electronic Systems, Vol. AES-17, pp. 490-494, July 1981
191
Appendix
192
Appendix
[32] K.A. Schouhamer Immink, Codes for Mass Data Storage Systems, Second fully
revised edition, Shannon Foundation Publishers, Eindhoven, The Netherlands, ISBN
90-74249-27-2, Nov. 2004
[33] G.D. Forney, Jr, Concatenated Codes, MIT Press, Cambridge, MA, (1966)
[34] P. Elias, “Error-free coding,” IEEE Transactions on Information Theory, pp.
29-37, Sept. 1954
[35] A. D. Wyner, “The wiretap channel,” Bell Sys. Tech. J.; 54, pp. 1355-1387,
1975
[36] L.H. Ozarow and A.D. Wyner, “Wiretap channel II,” Proc. Eurocrypt 84, A
workshop on Advances in Cryptology: Theory and Application of Cryptographic
Techniques; pp. 33-51, 1984
[37] G. David Forney, Jr., “Dimension/length profiles and trellis complexity of
linear block codes,” IEEE Transactions on Information Theory, 40(6): pp. 439-441,
Nov. 1994
[38] Y. Luo, C. Mitrpant, A.J. Han Vinck and K. Chen, “Some New Characters on
the WireTap Channel of Type II,” IEEE Transactions on Information Theory, pp.
1222-1228, ISSN 0018-9448, March 2005,
[39] C. Mitrpant, A.J. Han Vinck and Yuan Luo, “An Achievable Region for the
Gaussian Wiretap Channel with Side Information,” IEEE Transactions on
Information Theory, pp. 1222-1228, May 2006
[40] S. K. Leung-Yan-Cheong, “On a special class of wiretap channels,” IEEE
Transactions on Information Theory, vol. IT-23(5), pp. 625-627, Sept. 1977
[41] A. Juels and M. Wattenberg, “A Fuzzy Commitment Scheme,” ACM
Conference on Computer and Communications Security, pp. 28–36, 1999,
Lausanne, Switzerland
[42] S. Lin and D. J. Costello, Jr., Error Control Coding: Fundamentals and.
Applications, 2nd ed., Prentice Hall, 2004
[43] Y. Dodis, L. Reyzin and A. Smith, “Fuzzy Extractors,” Advances in
Cryptology, Springer Verlag, pp 523-540, Eurocrypt 2004
[44] Ulrike Korte et al., “A cryptographic biometric authentication system based on
genetic fingerprints,” Lecture Notes in Informatics,” pp. 263-276, Bonner Köllen
Verlag (2008)
[45] Y. Chen and A.J. Han Vinck, ”Look into the Biometric Authentication
Scheme,” accepted for publication in Secrypt 2011, Sevilla, Spain
[46] T. Ignatenko and F.M.J. Willems, ”Information Leakage in Fuzzy
Commitment Schemes,” IEEE Transactions on Information Forensics and Security,
pp. 337-348, June 2010
[47] A. Juels and M. Sudan, “A Fuzzy Vault Scheme,” Designs, Codes and
Cryptography, pp. 237-257, Febr. 2006
[48] K. Nandakumar, A.K. Jain and S. Pankanti, “Fingerprint-Based Fuzzy Vault:
Implementation and Performance,” IEEE Transactions on Information Forensics
and Security, pp. 744-757, Dec. 2007
[49] V. B. Balakirsky and A. J. Han Vinck, “A Simple Scheme for Constructing
Fault-Tolerant Passwords from Biometric Data,” Eurasip Journal on Information
Security, Volume 2010 (2010), Article ID 819376, 11 pages
193
Appendix
[50] A.J: Han Vinck, R. Schweikert and H.P. Förster, “Message dependent
synchronization,” Global Telecommunications Conference, GLOBECOM’88, 1183
– 1187, 1988
[51] C.E. Shannon, "Communication Theory of Secrecy Systems," Bell System
Technical Journal, vol. 28(4), page 656–715, 1949
[52] A. J. Han Vinck and Y. Luo, “Optimum distance profiles of linear block
codes,” in Proc. IEEE Int. Symp. Inf. Theory, pp. 1958- 1962, July 2008
[53] Yanling Chen and A.J. Han Vinck, “A Lower Bound on the Optimum Distance
Profiles of the Second-Order Reed–Muller Codes,” IEEE Transactions on
Information Theory, pp. 4309 – 4320, Sept. 2010
[54] Rolf Johannesson, “Some long rate one-half binary convolutional codes with an
optimum distance profile,” IEEE Transactions on Information Theory, pp. 629-631,
1976
[55] H. Holma and A. Toskala, WCDMA for UMTS-HSPA Evolution and LTE, 4th
ed. London, U.K.: Wiley, 2007
[56] R. Tanner and J. Woodard, WCDMA-Requirements and Practical, Design,
London, U.K.: Wiley, 2004
[57] G. Solomon, “A Note on Alphabet Codes and Fields of Computation,”
Information and Control,” pp. 395-398, 1974
[58] Gottfried Ungerböck, “Channel Coding with Multilevel/Phase Signals,” IEEE
Transactions on Information Theory, Vol. IT 28, No. 1, pp 55-67, Jan 1982
[59] H. Hollmann, “Bounded-delay-encodable, block-decodable codes for
constrained systems,” IEEE Transactions on Information Theory, Vol. 6, pp. 1957-
1970, Nov. 1996
[60] Anil Mengi, Ph. D. Thesis, “On Combined Coding and Modulation,”
University Duisburg-Essen, Essen, Germany, 2010,
[61] Anil Mengi and A.J. Han Vinck, “Coded modulation with a constraint on the
minimum channel symbol duration,” Proceedings International Symposium on
Information Theory, ISIT 2009, Seoul, South Korea, pp. 1544-1548, June 2009
[62] A.J. Viterbi, “A rubust ratio-threshold technique to mitigate tone and partial
band jamming in coded MFSK systems,” in Proc. 1982 IEEE MILCOM, Boston,
MA, USA, Oct. 17-20, pp. 22.4.1- 22.4.5, 1982
[63] D.J.J. Versfeld, A.J. Han Vinck, J.N. Ridley and H.C. Ferreira, “Constructing
Coset Codes With Optimal Same-Symbol Weight for Detecting Narrowband
Interference in M-FSK Systems,” IEEE Transactions on Information Theory, pp.
6347-6353, Dec. 2010
[64] A. V. Kuznetsov, B. S. Tsybakov, “Coding in a Memory with Defective Cells,”
Probl. Peredachi Inf., 10:2, pp. 52–60, 1974
[65] Martin Borden and A.J. Han Vinck, ”On Coding for Stuck-at Defects,” IEEE
Transactions on Information Theory, pp. 729-735, Sept. 1987
[66] A.V. Kuznetsov and A.J. Han Vinck, "On the General Defect Channel with
Informed Encoder and Capacities of Some Constrained Channels,” IEEE
Transactions on Information Theory, Vol. 40, pp. 1866-1871, Nov. 1994,
[67] Chris Heegard, “Partitioned Linear Block Codes for Computer Memory with
Stuck – at Defects," IEEE Transactions on Information Theory, Vol. IT29, No.6, pp.
831-842, Nov. 1983
194
Appendix
[68] Fangwei Fu and A.J. Han Vinck, “On the Capacity of Generalized Write-Once
Memory with State Transitions Described by an Arbitrary Directed Acyclic Graph,”
IEEE Transactions on Information Theory, Vol. 45, no.1, pp. 308-312, Jan. 1999
[69] R. L. Rivest and A. Shamir, “How to reuse the write once memory,” Inform.
Control, vol. 55, pp. 1-19, Oct.-Dec. 1982
[70] http://mathworld.wolfram.com/VandermondeDeterminant.html
[71] Yuan Luo, A.J. Han Vinck and Yanling Chen, “On the Optimum Distance
Profile about Linear Block Codes,” IEEE Transactions on Information Theory, Vol
56, pp. 1007-1014, March 2010
[72] R. Gallager, Information Theory and Reliable Communication, 1968
[73] Tadashi Wadayama and A.J. Han Vinck, “DC-Free Convolutional Codes,”
IEEE Transactions on Information theory, Vol. 48, pp. 162-173, ISSN 0018-9448,
Jan. 2002
[74] Tadashi Wadayama and A.J. Han Vinck, “A Multilevel Construction of
Permutation Codes,” IEICE Transactions on Fundamentals, pp. 2518-2522, Oct.
2001
[75] Jurgen Haering and A. J. Han Vinck, “Coding and Signal Space Diversity for
a Class of Fading and Impulsive Noise Channels,” IEEE Transactions on
Information Theory, pp. 887-895, May 2004
[76] Jurgen Haering and A. J. Han Vinck, ”IEEE Transactions on Information
Theory, pp. 1251-1260, May 2003
[77] Jurgen Haering and A. J. Han Vinck, “Performance Bounds for Optimum and
Suboptimum Reception under Class-A Impulsive Noise,” IEEE Transactions on
Communications, pp. 1130-1136, July 2002
[78] Frans Willems and A.J. Han Vinck, “Repeated Recording for an Optical Disk,”
7th Symposium on Information Theory in the Benelux, Noordwijkerhout, The
Netherlands, pp. 49 – 53, May 22-23, 1986
[79] Martin Vinck, Francesco P. Battaglia, Vladimir B. Balakirsky, A. J. Han Vinck,
and Cyriel M. A. Pennartz, ”Estimation of the entropy based on its polynomial
representation,” Phys. Rev. E 85, 051139 (2012) [9 pages]
[80] T. Ericson and V. Levenshtein, “Superimposed Codes in the Hamming Space,”
IEEE Transactions on Information Theory, pp. 1882-1893, Nov. 1994
[81] G. Poltyrev and J. Snyders, “Linear Codes for the Sum-2 Multiple-Access
Channel with Restricted Access,” IEEE Transactions on Information Theory, pp.
794-799, May 1995
[82] A.J. Han Vinck, “Capacity Achieving Coding for the “OR” Multiple Access
Channel,” ITW 1998, Killarney, Ireland , p. 127, June 22-26
[83] Peter Gober, Aspekte des unkoordinierten Mehrfachzugriffs, Verlag
dissertation.de, 2000
[84] V.I. Levenshtein and A.J. Han Vinck, “Perfect (d,k)-Codes Capable of
Correcting Single Peak-Shifts," IEEE Transactions on Information Theory, Vol. 39,
No. 2, pp. 656-662, March 1993
[85] Young Gil Kim and A.J. Han Vinck, “A New Collision Arbitration Algorithm
for FM0 Code in RFID Applications, ”International Conference on Multimedia and
Ubiquitous Engineering, MUE '07, pp. 992–994, 26-28 April 2007
195
Appendix
196
Appendix
Z channel 23
check part 130, 174
Chien search 177
ciphertext 113
INDEX code
extended 31
KS 34
achievable rate 20 minimum distance 2
additive coding 148 repetition 173
additive white Gaussian noise 64 superimposed 34
Aloha 7 coding gain 70
array 9 collision 7
ARQ 3 concatenated code 88
attenuation 45 constrained coding 129
attenuation factor 46 control word 130
authentication 115, 120 cooperative coding 47
Automatic Repeat reQuest 3 coordinated access 21
correlator 78
background noise 81 cover 34
bandwidth 27, 77, 185 cryptosystem 113
efficiency 78, 84
Berlekamp Massey 176 d-constraint 132, 134
biometric 115, 120 decode-and-forward 47
broadcast channel 57, 186 defect
bus 46 matching 150
model 147
capacity -0 147
uncoordinated 20 -1 147
secrecy 97 compatible 150
channel 162 detect-and-forward 47
impulse noise 181 dimension division 21
Gaussian 185 distance
carrier frequency 138 minimum 2
channel spectrum 68
binary OR 20
binary XOR 20 efficiency 3
common 19 encoding matrix 2
Gaussian 185 energy 64, 65
M-ary OR 23 energy detector 32
M-ary Erasure 25 enrollment 115, 117
main 97 entropy 161
parallel 187, 188 conditional 162
197
Appendix
198
Appendix
199
Appendix
200
Appendix
A.V. Kuuznetzov,
member oof IPPI, Mosccow, Russia Fangwei Fu
Guest IEM
M Nankeei University, China, Guestt IEM
S. Thokozani, An
nil Mengi,
PhD Univv. of Johannessburg, South PhD, IEM
Africa, vvisiting scientiist IEM
Yanlin
ng Chen
Yuan Luo,, PhD, IEM
Tjiao-Tonng University Shanghai
Guest ressearcher IEM,
Jacco Versveld
Guestt IEM, Univ. Witwatersrand
W d,
Chriistof Haslach, Southh Africa
M
PhD, IEM
Wim Hoeks
H
Universitty of Eindhoveen A. van
n Wijngaarden
Master Sttudent, 1983 PhD, IEM
201
Appendix
Vladim
mir Balakirsky
y, Yanlin
ng Chen,
Guest IEM
M, Russia PhD U
University Du
uisburg-Essen
Robert Schweikert,
Chai Mitrpant, PhD Audenns, former DL
LR Oberpfaffeenhofen,
Universitty Duisburg-E
Essen, 2004 Germ
many
Young Gil
G Kim
Guest IEMM, Lutzz Lampe,
Seoul Unniversity, Soutth Korea Prof. UBC, Canadda, Humboldt Fellow,
Guestt IEM
Hiroyoshi Morita
M Francis Swart
Chofu Unniv. of Electroo-Comm, Japaan, Univ. of Johannesb
burg, South Affrica
Guest IEM
M, Univ. Duiisburg-Essen. Guesst IEM, Univ. Duisburg--Essen
202
Appendix
Tadashi Wadayama
W
Jürgenn Häring
Guest IEM
M, Nagoya Unniversity, Japaan
2001, PhD, Univ. Duisburg
D Esseen
Martin
n Vinck, PhD D Univ.
Frans Willems,
W of Am
msterdam, the Netherlands
Univ. of E
Eindhoven, thhe Netherlandss
Der Fen
ng Tseng
Wai Ho Moow, Nationnal Taiwan University
U of Science
Chinese U
University of HongKong Technology, Taipei
and T
203
Appendix
Theo
o Swarts
Hans Peter Foerster Univeersity of Johan
nnesburg
DLR Obeerpfaffenhofenn, Germany Southh Africa
Hsiao-HHwa Chen
Andre de
d Paepe
Nationnal Cheng Ku ung University
y
Universitty of Eindhovven
Tainaan City , 70101, Taiwan
204
Appendix
The prim mary objective of the Institu ute is to fosterr interactions between the fields of
mathemaatics, computeer science and a the enginneering scien nces. Severall of the
activities carried out byy scientists at IEM in pursuuit of this objeective are listed below:
205
Appendix
206