arXiv:1705.03192v2 [] 16 May 2017

Low-Complexity Decoding for Symmetric,
Neighboring and Consecutive Side-information
Index Coding Problems
Mahesh Babu Vaddi and B. Sundar Rajan
Department of Electrical Communication Engineering, Indian Institute of Science, Bengaluru 560012, KA, India
E-mail: {mahesh, bsrajan}@ece.iisc.ernet.in

Abstract—The capacity of symmetric, neighboring and consecutive side-information single unicast index coding problems
(SNC-SUICP) with number of messages equal to the number of
receivers was given by Maleki, Cadambe and Jafar. For these
index coding problems, an optimal index code construction by
using Vandermonde matrices was proposed. This construction
requires all the side-information at the receivers to decode their
wanted messages and also requires large field size. In an earlier
work, we constructed binary matrices of size m×n(m ≥ n) such
that any n adjacent rows of the matrix are linearly independent
over every field. Calling these matrices as Adjacent Independent
Row (AIR) matrices using which we gave an optimal scalar linear
index code for the one-sided SNC-SUICP for any given number of
messages and one-sided side-information. By using Vandermonde
matrices or AIR matrices, every receiver needs to solve K − D
equations with K − D unknowns to obtain its wanted message,
where K is the number of messages and D is the size of the sideinformation. In this paper, we analyze some of the combinatorial
properties of the AIR matrices. By using these properties, we
present a low-complexity decoding which helps to identify a
reduced set of side-information for each users with which the
decoding can be carried out. By this method every receiver is
able to decode its wanted message symbol by simply adding some
index code symbols (broadcast symbols). We explicitly give both
the reduced set of side-information and the broadcast messages
to be used by each receiver to decode its wanted message. For
a given pair or receivers our decoding identifies which one will
perform better than the other when the broadcast channel is
noisy.

I. I NTRODUCTION

AND

BACKGROUND

In an index coding problem, there is a unique source S
having a set of K messages X = {x0 , x1 , . . . , xK−1 } and a
set of m receivers R = {R0 , R1 , . . . , Rm−1 }. The messages
xk , k ∈ {0, 1, 2, · · · , K − 1} = [0 : K − 1] take values from
some finite field Fq . Each receiver Rk ∈ R is specified by the
tuple (Wk , Kk ), where Wk ⊆ X are the messages demanded
by Rk and Kk ⊆ X \ Wk is the information known at the
receiver called as side-information of the receiver. An index
coding problem is completely specified by (X, R) and it is
referred as I(X, R).
An index code over Fq for an instance of the index coding
N
problem I(X, R), is an encoding function E : FK
q → Fq
such that for each receiver Rk , k ∈ [0 : m − 1], there exists
|Kk |
|W |
a decoding function Dk : FN
→ Fq k satisfying
q × Fq
K
Dk (E(X), Kk ) = Wk , ∀ X ∈ Fq . An index code is said to

be linear if the encoding function E is linear. The parameter
N is called the length of the index code.
Birk and Kol [2] introduced the problem of index coding
with side-information. Ong and Ho [5] classify the binary
index coding problem depending on the demands and the sideinformation possessed by the receivers. An index coding problem is unicast if the demand sets of the receivers are disjoint.
An index coding problem is single unicast if the demand sets
of the receivers are disjoint and the cardinality of demand
set of every receiver is one. Any unicast index problem can
be converted into a single unicast index coding problem. BarYossef et al. [3] studied single unicast index coding problems.
It was found that the length of an optimal linear index code
is equal to the minrank of the side-information graph of the
index coding problem but finding the minrank is NP hard [7].
Maleki et al. [1] found the capacity of symmetric neighboring and consecutive side-information single unicast index
coding problem (SNC-SUICP). In a SNC-SUICP with equal
number of K messages and source-destination pairs, each
destination has a total of U + D = A < K side-information,
corresponding to the U messages before and D messages
after its desired message. In this setting, the k−th receiver
Rk demands the message xk having the side-information
{xk−U , . . . , xk−2 , xk−1 } ∪ {xk+1 , xk+2 , . . . , xk+D }. (1)
The symmetric capacity of this index coding problem is:

1,
A=K−1
C=
(2)
U+1
,
A
≤K −2
per message,
K−A+2U
where U, D ∈ Z, 0 ≤ U ≤ D, and U + D = A < K. In the
setting of [1] with one sided side-information cases, i.e., the
cases where U is zero,
Kk = {xk+1 , xk+2 , . . . , xk+D },
for which (2) reduces to

1
C=
1

K−D

if D = K − 1
if D ≤ K − 2,

(3)

(4)

symbols per message.
The SNC-SUICP considered in this paper was referred as
symmetric neighboring antidote multiple unicast index coding
problem by Maleki, Cadambe and Jafar in [1].

A. Motivation and Contributions
Maleki et al. [1] proposed index code construction by using
Vandermonde matrices. However the index code construction
procedure by using Vandermonde matrices require large field
size and the field size in this method depends on the number
of messages K. This method also requires every receiver
to use all of its D side-information to decode its wanted
message. The problem of finding an optimum length index
code is known to be NP-hard [3], [6] and the complexity
of finding an optimal solution increases exponentially with
number of messages and the number of side-information. In
[10], we gave a construction of binary matrices with a given
size m × n (m ≥ n), such that any n adjacent rows in the
matrix are linearly independent over every field Fq . We refer
these matrices as Adjacent Independent Row (AIR) matrices .
By using AIR matrices, we presented capacity achieving scalar
linear codes for given K and D over every field Fq , which
is independent of K. By using Vandermonde matrices or AIR
matrices, every receiver require to solve K − D equations
with K − D unknowns to know its wanted message. The
contributions of this paper may be summarized as below:
•
•

•

•

First we express the optimal scalar linear codes given in
[10] in terms of a set of Boolean expressions.
We analyze some of the combinatorial properties of AIR
matrices. By using these properties, we give a simple
low-complexity decoding procedure for one-sided SNCSUICP index codes by using AIR matrices. By using this
decoding procedure, every receiver can decode its wanted
message by simply adding some subset of index code
symbols (broadcast symbols) instead of solving K − D
linear equations.
We give a reduced set of side-information required by
each receiver to decode its wanted message. We explicitly
specify this reduced set and the set of broadcast transmissions to be used by every receiver.
Our decoding procedure identifies receivers that will perform better than some others when the broadcast channel
is noisy. Moreover, it also identifies the receivers which
will be able to decode their wanted messages instantly
(without using buffers), i.e., the receivers for which the
index code appears as an instantly decodable network
code (IDNC) [12].

The remaining part of this paper is organized as follows.
Definition of AIR matrices by an algorithmic Construction
and the structure of their submatrices are given in Section
II. In Section III, we present the optimal index code for
one-sided SNC-SUICP by using AIR matrices in Boolean
expressions. The low-complexity decoding and the reduced
side-information patterns used by the receivers are explained
in Section IV. In V, we study the performance of proposed
reduced complexity decoding for one-sided SNC-SUICP in
noisy index coding environment. We conclude the paper in
Section VI with a brief discussion and possible directions for
further work.
All the subscripts in this paper are to be considered

modulo K.
II. AIR MATRICES

AND THEIR SUB - MATRICES

In this section, we express optimal scalar linear index code
for one-sided SNC-SUICP by using AIR matrices in Boolean
expression. We study some of the combinatorial properties
of AIR matrices and by using these properties, we give the
simplified decoding and reduced side-information patterns for
the SNC-SUICP.
Given K and D the K × (K − D) matrix obtained by
Algorithm I is called the (K, D) AIR matrix and it is denoted
by LK×(K−D) . The general form of the (K, D) AIR matrix is
shown in Fig. 1. It consists of several submatrices (rectangular
boxes) of different sizes as shown in Fig.1. The location and
sizes of these submatrices are used subsequently to obtain
a Boolean expression for the index code and a Boolean
expression for the decoding of all the messages.
The description of the submatrices are as follows: Let m and
n be two positive integers and n divides m. The following
matrix denoted by Im×n is a rectangular matrix.




Im×n = 


In
In
..
.
In






 m
number of In matrices

n





(5)

and In×m is the transpose of Im×n . We will call the Im×n
matrix the (m × n) identity matrix.
Algorithm 1. Algorithm to construct the AIR matrix L of size
K × (K − D)
Given K and D let L = K × (K − D) blank unfilled
matrix.
Step 1
1.1:
1.2:
1.3:

Let K = q(K − D) + r for r < K − D.
Use Iq(K−D)×(K−D) to fill the first q(K − D) rows
of the unfilled part of L.
If r = 0, Go to Step 3.

Step 2
2.1:
2.2:
2.3:
2.4:
2.5:

Let (K − D) = q ′ r + r′ for r′ < r.
′
Use IT
q′ r×r to fill the first q r columns of the unfilled
part of L.
If r′ = 0, go to Step 3.
K ← r and K − D ← r′ .
Go to Step 1.

Step 3 Exit.
end
The simplicity of Algorithm I is illustrated by the following
two AIR matrices, discussed in the following section, L10×7
and L17×10 in Examples 1 and 2 respectively. AIR matrices
L13×10 , L13×3 and L44×27 can be seen in Examples 3,4 and

K −D

I(K−D)×(K−D)

β1λ1
D = λ0

Iλ0×β0λ0

Iβ1λ1×λ1

β1λ1

R1

β3λ3

R2

λ3

β2λ2
λ2

Iβ3 λ3 ×λ3
λ5

Iλ2×β2λ2

.

λ4
β0λ0
C0

R0

λ1

β0λ0

K

K −D

Iλ4 ×β4 λ4

.

.

S

β4λ4
C2

β2λ2
C1

S = Iλl ×βl λl if l is even and S = Iβl λl ×λl otherwise.
Fig. 1. AIR matrix of size K × (K − D).

6 in the following sections.

L10×7

1 0 0 0 0 0 0
0 1 0 0 0 0 0
0 0 1 0 0 0 0
0 0 0 1 0 0 0


0 0 0 0 1 0 0

= 0 0 0 0 0 1 0

0 0 0 0 0 0 1


1 0 0 1 0 0 1


0100101
0010011

L17×10

1 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0 0 0


0 0 0 1 0 0 0 0 0 0
0 0 0 0 1 0 0 0 0 0


0 0 0 0 0 1 0 0 0 0


0 0 0 0 0 0 1 0 0 0
0 0 0 0 0 0 0 1 0 0



=
0 0 0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 0 0 1
1 0 0 0 0 0 0 1 0 0


0 1 0 0 0 0 0 0 1 0


0 0 1 0 0 0 0 0 0 1
0 0 0 1 0 0 0 1 0 0


0 0 0 0 1 0 0 0 1 0


0000010 001
0000001 111

AIR matrices have been shown to be giving optimal length
index codes for one-sided SNC-SUICP problems [10] and are
shown to be useful to obtain optimal length index codes for
two-sided SNC-SUICP problems in [11].
Towards explaining the other quantities shown in the AIR

matrix shown in Fig. 1, for a given K and D, let D = λ0 and

•
•

K − D = β0 λ0 + λ1 ,
λ0 = β1 λ1 + λ2 ,
λ1 = β2 λ2 + λ3 ,
λ2 = β3 λ3 + λ4 ,
..
.

C1 = [K − D − λ1 : K − D − λ3 − 1]
C2 = [K − D − λ3 : K − D − λ5 − 1]
..
.

•

Ci = [K − D − λ2i−1 : K − D − λ2i+1 − 1]
..
.

•

C⌈ l ⌉−1 = [K − D − λ2⌈ l ⌉−3 : K − D − λ2⌈ l ⌉−1 − 1]
2
2
2
C⌈ l ⌉ = [K − D − λ2⌈ l ⌉−1 : K − D − 1]

•

2

2

λi = βi+1 λi+1 + λi+2 ,
..
.
λl−1 = βl λl .

(7)
(6)

we have C0 ∪ C1 ∪ C2 ∪ . . . ∪ C⌈ l ⌉ = [0 : K − D − 1].
2

where λl+1 = 0 for some integer l, λi , βi are positive integers
and λi < λi−1 for i = 1, 2, . . . , l. The number of submatrices
in the AIR matrix is l + 2 and the size of each submatrix
is shown using λi , βi , i = 0, 1, 2, . . . , l. The submatrices are
classified in to the following three types.
• The first submatrix is the I(K−D)×(K−D) matrix at the
top of Fig. 1 which is independent of λi , βi , i =
0, 1, 2, . . . , l. This will be referred as the I(K−D)×(K−D)
matrix henceforth.
• The set of matrices of the form Iλi ×βi λi for i =
0, 2, 4, · · · (for all i even) will be referred as the set of
even-submatrices.
• The set of matrices of the form Iβi λi ×λi for i =
1, 3, 5, · · · (for all i odd) will be referred as the set of
odd-submatrices.
Note that the odd-submatrices are always ”fat” and the evensubmatrices are always ”tall” including square matrices in
both the sets. By the i-th submatrix is meant either an oddsubmatrix or an even-submatrix for 0 ≤ i ≤ l. Also whenever
β0 = 0, the corresponding submatrix will not exist in the
AIR matrix. To express the optimal scalar linear index code
given by an AIR matrix in terms of Boolean expressions as
well as to present a low complexity decoding it is required in
the following sections that the location of both the odd- and
even-submatrices within the AIR matrix need to be identified.
Towards this end, we define the following intervals. Let
R0 , R1 , R2 , . . . , R⌊ l ⌋ + 1 be the intervals that will identify
2
the rows of the submatrices as given below:
• R0 = [0 : K − λ0 − 1]
• R1 = [K − λ0 : K − λ2 − 1]
• R2 = [K − λ2 : K − λ4 − 1]
..
.
•

Ri = [K − λ2(i−1) : K − λ2i − 1]
..
.

•

R⌊ l ⌋ = [K − λ2(⌊ l ⌋−1) : K − λ2⌊ l ⌋ − 1]
2
2
2
R⌊ l ⌋+1 = [K − λ2⌊ l ⌋ : K − 1],

•

2

2

we have R0 ∪ R1 ∪ R2 ∪ . . . ∪ R⌊ l ⌋+1 = [0 : K − 1].
2
Let C0 , C1 , . . . , C⌈ l ⌉ be the intervals that will identify the
2
columns of the submatrices as given below:
• C0 = [0 : β0 λ0 − 1] if β0 ≥ 1, else C0 = φ

III. B OOLEAN

EXPRESSIONS FOR OPTIMAL LENGTH INDEX
CODES FOR SNC-SUICP

Let L be a AIR matrix of size K × (K − D). A scalar linear
index code of length K − D generated by an AIR matrix is
given by
[c0 c1 . . . cK−D−1 ] = [x0 x1 . . . xK−1 ]L =

K−1
X

xk Lk

k=0

(8)
where Lk is the kth row of L for k ∈ [0 : K −1]. In the matrix
L, the jth column contains the coefficients used for mixing
messages x0 , x1 , . . . , xK−1 to get the jth broadcast symbol.
Theorem 1. The broadcast symbol generated by the kth
column of an AIR matrix for k ∈ [0 : K − D − 1] can be
expressed in Boolean expression as given at the top of the next
page where IS denotes the indicator function, i.e., IS takes the
value 1 if the statement S is true and 0 otherwise. We will
refer to this Boolean expression as the Boolean expression for
ck .
Proof. Proof is given in Appendix A.



Example 1. For the cases where l = 1, the scalar linear index
code is given by
ck = xk + I{k∈C0 } (xk mod λ0 )+(K−D) )

X
β1
xk+jλ1 .
+ I{k∈C1 }
j=1

For example consider the case K = 10 and D = 3. For this
SNC-SUICP, we have λ0 = 3, β0 = 2, λ1 = 1, l = 1, C0 =
[0 : 5] and C1 = {6}. The scalar linear index code is given by
C = {x0 + x7 ,
x4 + x8 ,

x1 + x8 ,
x5 + x9 ,

x2 + x9 , x3 + x7 ,
x6 + x7 + x8 + x9 }.

The encoding matrix L10×7 was shown in the previous section.

mod λ0 )

ck = xk + I{k∈C0 } (x(K−D)+k
+ I{k∈C1 ∪C2 ∪...∪C
+ I{k∈C2 ∪C3 ∪...∪C
+ I{k∈C3 ∪...∪C

⌈ 2l ⌉

⌈ 2l ⌉

}

X
β1

xk+jλ1

j=1



X
β3

+ I{k∈C1 } (x(K−λ2 )+(k−K+D+λ1 )

mod λ2 )



xk+β1 λ1 +jλ3 + I{k∈C2 } (x(K−λ4 )+(k−K+D+λ3 ) mod λ4 )
}
⌈ 2l ⌉ j=1

X
β5
xk+β1 λ1 +β3 λ3 +jλ5 + I{k∈C3 } (x(K−λ6 )+(k−K+D+λ5 ) mod λ6 )
}
j=1

+ ...
+ I{k∈Ci ∪Ci+1 ∪...∪C
+ ...
+ I{k∈C

⌈ 2l ⌉−1

⌈ 2l ⌉

} (x(K−λ

}

 βX
2i−1

xk+β1 λ1 +β3 λ3 +...+β2i−3 λ2i−3 +jλ2i−1

j=1

⌈ 2l ⌉−2

2

)+(k−K+D+λ

⌈ 2l ⌉−3

2

) mod λ

⌈ 2l ⌉−1)

2(



+ I{k∈Ci } (x(K−λ2i )+(k−K+D+λ2i−1 )

mod λ2i )

)

β

+ I{k∈C
+ I{l

+I{l

⌈ 2l ⌉

}

l −1
 2⌈X
2⌉

xk+β1 λ1 +...+β

j=1

is even} I{k∈C

is odd} I{k∈C

⌈ 2l ⌉

⌈ 2l ⌉

}

λ

⌈ 2l ⌉−3 2⌈ 2l ⌉−3

2

+jλ

} (x(K−λl )+(k−K+D+λl−1 ) mod λl )

X
βl

xk+β1 λ1 +β3 λ3 +...+βl−2 λl−2 +jλl

j=1

Example 2. For the cases leading to l = 2, the scalar linear
index code is given by
ck = xk + I{k∈C0 } (xk mod λ0 +(K−D) )

X
β1
xk+jλ1
+ I{k∈C1 }
j=1

+ I{k∈C1 } (x(k−K+D+λ1 )

mod (λ2 )+K−λ2 ).

Consider the example K = 17 and D = 7 which leads to
l = 2.. For this SNC-SUICP, we have λ0 = 7, β0 = 1, λ1 =
3, β1 = 2, λ2 = 1, C0 = [0 : 6] and C1 = [7 : 9]. The encoding
matrix L17×10 was shown in the previous section. The scalar
linear index code in Boolean expressions is given by
C = {x0 + x10 ,
x3 + x13 ,
x6 + x16 ,

⌈ 2l ⌉−1

2

•

x4 + x14 , x5 + x15 ,
x7 + x10 + x13 + x16 ,

•

x9 + x12 + x15 + x16 }.

IV. L OW C OMPLEXITY D ECODING OF SNC-SUICP
B OOLEAN E XPRESSIONS

USING

In this section we present a low complexity decoding of
SNC-SUICP using the Boolean expression description of the
code obtained in the previous section. To be specific, we give
closed form expressions for the message symbols of every
receiver as a function of broadcast symbols.

(9)

In this subsection, we define some quantities related to an
AIR matrix that are used subsequently to obtain the closed
form expression for decoding. Let L be the AIR matrix of
size K × (K − D).
In the matrix L, the element L(j, k) is present in one of the
l
submatrices: IK−D or Iβ2i+1
 λ2i+1 ×λ2i+1 for i ∈ [0 : ⌈ 2 ⌉−1] or
l
Iλ2i ×β2i λ2i for i ∈ [0 : 2 ]. Let (jR , kR ) be the (row-column)
indices of L(j, k) within the submatrix in which L(j, k) is
present. Then, for a given L(j, k), the indices jR and kR are
as given below.

•

x8 + x11 + x14 + x16 ,



A. Properties of AIR matrices

x2 + x12 ,

x1 + x11 ,



•

If L(j, k) is present in IK−D , then
jR = j and kR = k.
If L(j, k) is present in Iλ0 ×β0 λ0 , then
jR = j mod (K − D) and kR = k.
If L(j, k) is present in Iβ2i+1 λ2i+1 ×λ2i+1 for i ∈ [0 :
⌈ 2l ⌉ − 1], then
jR = j mod (K −λ2i ) and kR = k mod (K −D−λ
  2i+1 ).
If L(j, k) is present in Iλ2i ×β2i λ2i for i ∈ [1 : 2l ], then
jR = j mod (K −λ2i ) and kR = k mod (K −D−λ2i−1 ).

In Definition 1 below we define several distances between
the 1s present in an AIR matrix. These distances are used in
the following subsection to obtain a low complexity decoding.
Figure 2 is useful to visualize the distances defined.
Definition 1. Let L be the AIR matrix of size K × (K − D).

1

L(k, k)

•
•

ddown (k)
1

dup (k + ddown (k), k + µk )
1

If kR ∈ [0 : (β2i − 1)λ2i − 1] for i ∈ [0 : ⌊ 2l ⌋], then
dright (j, k) is λ2i .
If kR ∈ [(β2i − 1)λ2i : β2i λ2i − 1] for i ∈ [0 : ⌊ 2l ⌋ − 1],
then dright (j, k) depends on jR . If jR = cλ2i+1 + d for
some positive integers c, d (d < λ2i+1 ), then dright (j, k)
is λ2i − cλ2i+1 .

Proof. Proof is given in Appendix D.

1

dright(k + ddown (k), k) = µk



tk,1

Example 3. Consider the AIR matrix of size 13 × 10 given
shown below. For this matrix D = 3, , β0 = 3, λ1 = 1, β1 = 3
and l = 1.

tk,2
1

tk,pk
1

1

Fig. 2. Illustration of Definition 1

1 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0 0 0


0 0 0 1 0 0 0 0 0 0
0 0 0 0 1 0 0 0 0 0


0 0 0 0 0 1 0 0 0 0



=
0 0 0 0 0 0 1 0 0 0
0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 0 1 0


0 0 0 0 0 0 0 0 0 1


1 0 0 1 0 0 1 0 0 1


0100100101
0010010011

(i) For k ∈ [0 : K − D − 1] we have L(k, k) = 1. Let k ′ be
the maximum integer such that k ′ > k and L(k ′ , k) = 1.
Then k ′ − k, denoted by ddown (k), is called the downdistance of L(k, k).
(ii) Let L(j, k) = 1 and j ≥ K − D. Let j ′ be the maximum
integer such that j ′ < j and L(j ′ , k) = 1. Then j − j ′ ,
denoted by dup (j, k), is called the up-distance of L(j, k).
(iii) Let L(j, k) = 1 and L(j, k) ∈ Iλ2i ×β2i λ2i for i ∈ [0 :
⌊ 2l ⌋]. Let k ′ be the minimum integer such that k ′ > k
and L(j, k ′ ) = 1. Then k ′ − k, denoted by dright (j, k),
is called the right-distance of L(j, k).
(iv) For k ∈ [0 : K −D−λl −1], let dright (k+ddown (k), k) =
µk . Let the number of 1s in the (k + µk )th column of
L below L(k + ddown (k), k + µk ) be pk and these are
at a distance of tk,1 , tk,2 , . . . , tk,pk (tk,1 < tk,2 < . . . <
tk,pk ) from L(k + ddown (k), k + µk ). Then, tk,r is called
the r-th down-distance of L(k + ddown (k), k + µk ), for
1 ≤ r ≤ pk .

The down-distances of the elements in the matrix L13×10
are given below.

Notice that if L(k + ddown (k), k + µk ) ∈ Iλ2i ×β2i λ2i in L
for i = 0, 1, 2, . . . , ⌊ 2l ⌋, then pk = 0.

dup (10, 0) = dup (11, 1) = dup (12, 2) = 9,

Lemma 1. Let k ∈ Ci for i ∈ [0 : ⌈ 2l ⌉]. Let k mod (K −
D − λ2i−1 ) = cλ2i + d for some positive integers c and d
(d < λ2i ). The down distance is given by
ddown (k) = D + λ2i+1 + (β2i − 1 − c)λ2i .

(10)

Proof. Proof is given in Appendix B.

Lemma 3. The right-distance of L(j, k) is as given below.

ddown (0) = ddown (1) = ddown (2) = 10,
ddown (3) = 7, ddown (4) = 7, ddown (5) = 7,
ddown (6) = 4, ddown (7) = 4, ddown (8) = 4,
ddown (9) = 3.
The up-distances are given below.

dup (10, 3) = dup (11, 4) = dup (12, 5) = 6,
dup (10, 6) = dup (11, 7) = dup (12, 8) = 3,
dup (10, 9) = dup (11, 9) = dup (12, 9) = 1.
The right-distances are given below.



Lemma 2. The up-distance of L(j, k) is as given below.
l
• If L(j, k) ∈ Iβ2i+1 λ2i+1 ×λ2i+1 for i ∈ [0 : ⌈ 2 ⌉ − 1], then
dup (j, k) is λ2i+1 .
l
• If L(j, k) ∈ Iλ2i ×β2i λ2i for i ∈ [0 : ⌊ 2 ⌋] and kR =
cλ2i + d for some positive integer c, d (d < λ2i ), then
dup (j, k) is λ2i−1 − cλ2i .
Proof. Proof is given in Appendix C.

L13×10



dright (10, 0) = 3, dright (10, 3) = 3, dright (10, 6) = 3,
dright (11, 1) = 3, dright (11, 4) = 3, dright (11, 7) = 2,
dright (12, 2) = 3, dright (12, 5) = 3, dright (12, 8) = 1.
We have pk = 0 for k = 0, 1, 2, 3, 4, 5, 8, 9. For k = 6,
we have pk = 2, t6,1 = 1 and t6,2 = 2. For k = 7, we have
pk = 1 and t7,1 = 1.
Example 4. Consider the AIR matrix of size 13 × 3 given
below. In this matrix K = 13, D = 10, K − D = 3, β0 =

0, λ1 = 3, β1 = 3, λ2 = 1, β2 = 3 and l = 2.


100
0 1 0
0 0 1


1 0 0


0 1 0
0 0 1



L13×3 = 
1 0 0
0 1 0
0 0 1


1 0 0


0 1 0
0 0 1
111

where
νk =

2z−1
i βX
X

(13)

and
νk+µk = xk+µk +

2z−1
i βX
X

xk+tk,j +D−λ2z−2 +jλ2z−1 .

z=1 j=1

(14)
⌈ 2l ⌉

(ii) If k ∈ Ei for i ∈ [0 :
− 1], then
Rk can decode xk by using the broadcast symbols
ck , ck+µk , ck+tk,1 , . . . , ck+tk,pk and the side-information
available. That is

The down-distances are given below.
ddown (0) = 12, ddown(1) = 11, ddown(2) = 10.

xk =ck + ck+µk + ck+tk,1 + ck+tk,2 + . . . + ck+tk,pk
+ νk + νk+µk + νk+tk,1 + νtk,2 + . . . + νk+tk,pk ,
{z
}
|

The up-distances are given below.
dup (3, 0) = dup (4, 1) = dup (5, 2) = 3,

side-information terms

(15)

dup (6, 0) = dup (7, 1) = dup (8, 2) = 3,
dup (9, 0) = dup (10, 1) = dup (11, 2) = 3,

where

dup (12, 0) = 3, dup (12, 1) = 2, dup (12, 2) = 1.

νk =

The right-distances given below.

2z−1
i βX
X

xk+D−λ2z−2 +jλ2z−1 ,

z=1 j=1

dright (12, 0) = dright (12, 1) = 1.

νk+tk,j = xk+tk,j +

We have pk = 0 for k ∈ [0 : 12].

2z−1
i βX
X

xk+tk,j +D−λ2z−2 +jλ2z−1

z=1 j=1

B. Low Complexity decoding for One-Sided SNC-SUICP
In this subsection, we give a low complexity decoding procedure for one-sided SNC-SUICP index codes by using AIR
matrices. Henceforth, for the sake of notational convenience
we denote K − D by λ−1 also.
It turns out that the interval Ci defined in (7) for i =
0, 1, 2, . . . , 2l needs to be partitioned into two as Ci = Di ∪
Ei as given below for the purpose of obtaining expressions
for decoding for the receivers with indices falling in Ci . This
is because the right-distances for entries in the submatrices
corresponding to Ci are different for Di and Ei .
Di = [K − D − λ2i−1 : K − D − λ2i−1 + (β2i − 1)λ2i − 1]
Ei = [K − D − λ2i−1 + (β2i − 1)λ2i : K − D − λ2i+1 − 1].
(11)
Theorem 2. Let L be the AIR matrix of size K × (K − D).
Let [c0 c1 . . . cK−D−1 ] be the optimal scalar linear index code generated by L for SNC-SUICP. Let dright (k +
ddown (k), k) = µk . Also let tk,r be the r-th down distance
of L(k + ddown (k), k + µk ), where 1 ≤ r ≤ pk . Let Di and
Ei be the sets as given in (11). Then, the receiver Rk can
decode its wanted message symbol xk as given below.
(i) If k ∈ Di for i ∈ [0 : ⌈ 2l ⌉], then Rk can decode xk
by using the two broadcast symbols ck , ck+µk and the
available side-information. That is
xk =ck + ck+µk +

xk+D−λ2z−2 +jλ2z−1 ,

z=1 j=1

νk + νk+µk ,
| {z }

side-information terms

(12)

for j ∈ [1 : pk ], and
νk+µk = xk+µk +

2z−1
i βX
X

xk+tk,j +D−λ2z−2 +jλ2z−1

z=1 j=1

+

c
X

xk+tk,j +D−λ2i +jλ2i+1 and c ∈ Z+ such that

j=1

kR = (β2i − 1)λ2i + cλ2i+1 + d and d < λ2i+1 . (16)
(iii) If k ∈ [K − D − λl : K − D − 1], then Rk can decode xk
from the broadcast symbol ck and the side-information.
That is
xk =ck + νk ,

(17)

where the side-information term
l

νk =

⌈ 2 ⌉ β2z−1
X
X

xk+D−λ2z−2 +jλ2z−1 if l is odd, and

z=1 j=1

l

νk = xk+D +

⌈ 2 ⌉ β2z−1
X
X

xk+D−λ2z−2 +jλ2z−1 if l is even.

z=1 j=1

(iv) If k ∈ [K − D : K − 1], then Rk can decode xk from the
broadcast symbol ck mod (K−D) . Let k mod (K − D) =
k ′ . Receiver Rk can decode xk as
xk = ck′ + νk′ ,

(18)

where the side-information term νk′ is the exclusive OR
of all message symbols present in ck′ excluding xk .

Proof. Proof is given in Appendix E.



Corollary 1. Consider a one-sided SNC-SUICP with K
messages and D number of side-information. Let γk be subset
of side-information Kk = {xk+1 , xk+2 , . . . , xk+D } used by
receiver Rk to decode its wanted message by using the
scalar linear index code given by the AIR matrix of size
K × (K − D). γk for k ∈ [0 : K − 1] has been explicitly given
in Theorem 2. Consider a new index coding problem with K
messages and K receivers with the receiver Rk wanting the
message xk and having side-information Kk = γk . We call
this index coding problem as (K, D, {γk }K
k=1 ) non-symmetric
index coding problem. From Theorem 2 it follows that the
capacity of this non-symmetric side-information index coding
1
and the minrank of its side-information graph
problem is K−D
is K − D.
Example 5. Consider a one-sided SNC-SUICP with K =
13, D = 3. For this index coding problem, we have λ1 =
1, β0 = 3, β1 = 3 and l = 1. The encoding matrix L13×10 is
given in Example 3. Table I gives the broadcast symbols and
side-information set γk used by receiver Rk to decode xk for
k ∈ [0 : 12].
Example 6. Consider a one-sided SNC-SUICP with K =
44, D = 17. For this index coding problem, we have λ1 =
10, λ2 = 7, λ3 = 3, λ4 = 1 and l = 4. The AIR matrix
encoding matrix L44×27 is given in Fig. 3.
Let k = 7. Receiver R7 wants to decode x7 . We have,
ddown (7) = 27, µ7 = dright (7 + 27, 7) = dright (34, 7) =
17, t7,1 = 3, t7,2 = 6, t7,3 = 9. The receiver R7 decodes x7
by adding the broadcast symbols c7 , c10 , c13 , c16 and c24 . From
the AIR matrix we have
c7 = x7 + x34
c10 = x10 + x37
c13 = x13 + x40
c16 = x16 + x43
c24 = x24 + x34 + x37 + x40 + x43
c7 + c10 + c13 + c16 + c24 = x7 + x10 + x13 + x16 + x24 .
In c7 + c10 + c13 + c16 + c24 , the message symbols
x10 , x13 , x16 and x24 are in the side-information of R7 . Thus,
R7 decodes its wanted message x7 .
Table II gives the broadcast symbols and side-information
γk used by receiver Rk to decode xk for all k ∈ [0 : 43].
Example 7. Consider the one-sided SNC-SUICP with K =
17, D = 7. For this index coding problem, l = 2, λ1 = 3, λ2 =
1. The AIR matrix of size 17 × 10 was seen in Section II. For
this SNC-SUICP, Table III gives the broadcast symbols and
side-information γk used by receiver Rk to decode xk for all
k ∈ [0 : 16].
V. A PPLICATION

TO

N OISY I NDEX C ODING

In a noisy index coding problem with binary transmission,
index coded bits are transmitted over K binary symmetric

channels, ( K is the number of users) each with independent
and identical cross-over probability p.The value of p is determined by the channel noise statistics,like AWGN, Rayleigh
fading, Rician fading etc.
Let C = {c0 , c1 , . . . , cN −1 } be the N −1 broadcast symbols
(ci ∈ F2 for i ∈ [0 : N − 1]), which are required to be
broadcasted to K receivers. Let {s0 , s1 , . . . , sN −1 }, denote
the sequence of binary antipodal channel symbols transmitted
by the source.
For instance, considering a quasi-static fading broadcast
channel, the received symbol sequence at receiver Rk corresponding to the transmission of si is given by yk = hk si + wk
where hk is the fading coefficient associated with the channel
from source to receiver Rk and wk is the sample of additive
white Gaussian noise process. Receiver Rk decodes its wanted
message symbol xk in the following two steps.
• Rk
first estimates N broadcast symbols from
y0 , y1 , . . . , yN −1 . Let c̃0 , c̃1 , . . . , c̃N −1 be the estimated
broadcast symbols, where c̃i ∈ F2 . A broadcast symbol
error occurs with probability p.
• By using c̃0 , c̃1 , . . . , c̃N −1 and the side-information available with it, receiver Rk decodes its wanted message. Let
x̃k be the message symbol decoded by the receiver Rk .
The message is in error if x̃k 6= xk .
In [9], it is shown that the message probability of error in
decoding a message at a particular receiver decreases with a
decrease in the number of transmissions used to decode the
message among the total of broadcast transmissions. Also an
algorithm to identify an optimal index code for single uniprior
index coding problems which gives the best performance in
terms of minimal maximum error probability across all the
receivers is given.
For one-sided SNC-SUICP, Theorem 2 explicitly gives the
number of broadcast symbols used by each receiver to decode
its wanted message. The number of broadcast symbols used
by each receiver to decode its wanted message is summarized
below.
• If k ∈ [K −D −λl : K −1], then the number of broadcast
symbols required by Rk to decode xk is one.
• If k ∈ [0 : K − D − λl − 1], then the number of broadcast
symbols required by Rk to decode xk is pk + 2, where
pk is the number of 1s below L(k + ddown (k), k + µk )
in the AIR matrix.
For the codes discussed in Examples 5, 6 and 7, Tables I II
and III show the exact number of transmissions used by each
receiver to decode its wanted message in the 7th column. In the
following subsection we elaborate this aspect with simulation
results for Example 5.
Another application of our results in noise index coding
problem is related to Instantly Decodable Network Coding
(IDNC). IDNC deals with code designs when the receivers
have no buffer and need to decode the wanted messages
instantly without having stored previous transmissions. A
recent survey article on IDNC with application to Deviceto-Device (D2D) communications is [12]. These results are

Rk

Wk

ddown (k)

µk

pk

tk,τ

R0
R1
R2
R3
R4
R5
R6
R7
R8
R9
R10
R11
R12

x0
x1
x2
x3
x4
x5
x6
x7
x8
x9
x10
x11
x12

10
10
10
7
7
7
4
4
4
3
-

3
3
3
3
3
3
3
2
1
-

0
0
0
0
0
0
2
1
0
0
-

0
0
0
0
0
0
1,2
1
0
0
-

ck , ck+tk,τ , ck+µk
τ = 1, 2, . . . , pk
c0 , c3
c1 , c4
c2 , c5
c3 , c6
c4 , c7
c5 , c8
c6 , c7 , c8 , c9
c7 , c8 , c9
c8 , c9
c9
c0
c1
c2

γk
x3
x4
x5
x6
x7
x8
x7 , x8 , x9
x8 , x9 , x10
x9 , x10 , x11
x10 , x11 , x12
x0
x1
x2

TABLE I
R EDUCED COMPLEXITY DECODING FOR THE SNC-SUICP GIVEN IN E XAMPLE 5

Rk

Wk

R0
R1
R2
R3
R4
R5
R6
R7
R8
R9
R10
R11
R12
R13
R14
R15
R16
R17
R18
R19
R20
R21
R22
R23
R24
R25
R26
R27
R28
R29
R30
R31
R32
R33
R34
R35
R36
R37
R38
R39
R40
R41
R42
R43

x0
x1
x2
x3
x4
x5
x6
x7
x8
x9
x10
x11
x12
x13
x14
x15
x16
x17
x18
x19
x20
x21
x22
x23
x24
x25
x26
x27
x28
x29
x30
x31
x32
x33
x34
x35
x36
x37
x38
x39
x40
x41
x42
x43

ddown
(k)
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
20
20
20
20
20
20
20
19
18
17
-

µk

pk

tk,τ

17
17
17
17
17
17
17
17
17
17
7
7
7
7
7
7
7
7
7
7
4
4
4
1
1
1
-

1
1
1
1
1
1
1
3
3
3
0
0
0
0
0
0
0
2
2
2
1
1
1
0
0
0
0
-

10
10
10
10
10
10
10
3, 6, 9
3, 6, 8
3, 6, 7
0
0
0
0
0
0
0
3, 6
3, 5
3, 4
3
2
1
0
0
0
0
-

ck , ck+tk,τ , ck+µk
τ = 1, 2, . . . , pk
c0 , c10 , c17
c1 , c11 , c18
c2 , c12 , c19
c3 , c13 , c20
c4 , c14 , c21
c5 , c15 , c22
c6 , c16 , c23
c7 , c10 , c13 , c16 , c24
c8 , c11 , c14 , c16 , c25
c9 , c12 , c15 , c16 , c26
c10 , c17
c11 , c18
c12 , c19
c13 , c20
c14 , c21
c15 , c22
c16 , c23
c17 , c20 , c23 , c24
c18 , c21 , c23 , c25
c19 , c22 , c23 , c26
c20 , c23 , c24
c21 , c23 , c25
c22 , c23 , c26
c23 , c24
c24 , c25
c25 , c26
c26
c0
c1
c2
c3
c4
c5
c6
c7
c8
c9
c10
c11
c12
c13
c14
c15
c16

γk
x10 , x17
x11 , x18
x12 , x19
x13 , x20
x14 , x21
x15 , x22
x16 , x23
x10 , x13 , x16 , x24
x11 , x14 , x16 , x25
x12 , x15 , x16 , x26
x17 , x27
x18 , x18
x19 , x29
x20 , x30
x21 , x31
x22 , x32
x23 , x33
x20 , x23 , x24 , x27 , x30 , x33 , x34
x21 , x23 , x25 , x28 , x31 , x33 , x35
x22 , x23 , x26 , x29 , x32 , x33 , x36
x23 , x24 , x30 , x33 , x34 , x37
x23 , x25 , x31 , x33 , x35 , x38
x23 , x26 , x32 , x33 , x36 , x39
x24 , x33 , x34 , x37 , x40
x25 , x34 , x35 , x37 , x38 , x40 , x41
x26 , x35 , x36 , x38 , x39 , x41 , x42
x36 , x39 , x42 , x43
x0
x1
x2
x3
x4
x5
x6
x7
x8
x9
x10
x11
x12
x13
x14
x15
x16

TABLE II
R EDUCED COMPLEXITY DECODING FOR THE SNC-SUICP GIVEN IN E XAMPLE 4


100000000000000000000000000
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0


0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0


0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0


0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0


0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0


0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0


0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0


0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0


0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0


0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0


0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0


0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0


0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0

=
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0


0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0


0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1


1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0


0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0


0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0


0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0


0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0


0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0


0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0


0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0


0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0


0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1
00000000000000001 0000001 111


L44×27

Fig. 3. Encoding matrix for the SNC-SUICP in Example 4.

valid for index coding since it is a special case of network
coding. The decoding expressions we have developed in
this paper identifies the receivers which can decode their
wanted messages using only one broadcasted transmission.
In other words we have shown that the receivers Rk with
k ∈ [K − D − λl : K − 1] can decode their messages without
using any buffer. These receivers can be seen in the 7th column
of Tables I, II and III for Examples 5, 6 and 7 respectively.
A. Simulation Results
In this subsection, we give simulation results which show
that the number of broadcast symbols used by receivers to
decode its wanted message matters. We show that the receiver
which uses lesser number of broadcast symbols to decode its
wanted message perform better than those using more number
of broadcast symbols.
We consider the SNC-SUICP given in Example 5 to simulate the SNR vs BER performance of each receiver. In
the simulation, the transmitter uses BPSK signal set. The
performance of receivers were evaluated in the AWGN sce-

nario and Rayleigh fading scenario with perfect channel state
information at receiver. The performance of receiver Rk ,
k ∈ [0 : 12] in Example 5 for AWGN channel is shown in Fig.
4. The performance of receiver Rk , k ∈ [0 : 12] in Example
5 for Rayleigh fading channel is shown in Fig. 5.
In Fig. 4 and 5, we observe that at any given SNR,
maximum error probability occurs at receiver R6 and minimum error probability occurs at receivers R9 , R10 , R11 and
R12 . We can also observe that the SNR vs BER plots
of receivers R0 , R1 , R2 , R3 , R4 , R5 and R8 are overlapping
with each other. From Table I, we see that R6 is using
four broadcast symbols to decode its wanted message and
receivers R9 , R10 , R11 , R12 using only one broadcast symbol
to decode their wanted message symbol. We also observe that
the receivers R0 , R1 , R2 , R3 , R4 , R5 and R8 are using equal
number of broadcast symbols to decode their wanted message
symbol. Hence, from simulations, it is evident that the receiver
which use lesser number of broadcast symbols to decode its
wanted message perform better than those using more number
of broadcast symbols.

Rk
R0
R1
R2
R3
R4
R5
R6
R7
R8
R9
R10
R11
R12
R13
R14
R15
R16

Wk
x0
x1
x2
x3
x4
x5
x6
x7
x8
x9
x10
x11
x12
x13
x14
x15
x16

ddown (k)
10
10
10
10
10
10
10
9
8
7
-

µk
7
7
7
4
4
4
1
1
1
-

pk
2
2
2
1
1
1
0
0
0
0
-

tk,τ

ck , ck+tk,τ , ck+µk

γk

3,6
3,5
3,4
3
2
1
0
0
0
0
-

τ = 1, 2, . . . , pk
c0 , c3 , c6 , c7
c1 , c4 , c6 , c8
c2 , c5 , c6 , c9
c3 , c6 , c7
c4 , c6 , c8
c5 , c6 , c9
c6 , c7
c7 , c8
c8 , c9
c9
c0
c1
c2
c3
c4
c5
c6

x3 , x6 , x7
x3 , x6 , x7
x5 , x6 , x9
x6 , x7 , x10
x6 , x8 , x11
x6 , x9 , x12
x7 , x10 , x13
x9 , x11 , x12 , x14 , x15
x12 , x15 , x16
x0
x0
x1
x2
x3
x4
x5
x6

TABLE III
R EDUCED COMPLEXITY DECODING FOR THE SNC-SUICP GIVEN IN E XAMPLE 7

10 0

10 -1

10 -3

10 -4

10 -5

1

2

3

4

5

6

7

8

9

Fig. 4. SNR Vs BER in AWGN channel at receivers Rk for k ∈ [0 : 12]
for Example 5.

of further research are as follows:
•

VI. D ISCUSSION
In this paper, we have presented a low-complexity decoding
for one-sided SNC-SUICP. Our decoding procedure explicitly
identified the side-information subset as well as the subset
of broadcast transmissions to be used by any receiver. Since
the number of broadcast transmissions to be used by every
receiver is known apriori, when the index code is used in a
noisy broadcast channel, its relative probability of error performance among different receivers is predictable. Further more
the set of receivers which would use exactly one broadcast
transmission was identified. Some of the interesting directions

R0
R1
R2
R3
R4
R5
R6
R7
R8
R9
R10
R11
R12

10 -2

BER

The low-complexity decoding given in Theorem 2 explicitly
quantifies the number of broadcast symbols and the number
of side-information required by each receiver to decode its
wanted message. Hence, Theorem 2 gives the receiver with
best error performance and the receiver with worst error
performance. In fact, based on number of broadcast symbols
used by a receiver to decode its wanted message, Theorem
2 can partition the K receivers into disjoint sets such that
the error performance in every receiver in a set is equal.
In Fig. 4 and 5, we can observe that the error performance of every receiver in the four sets {R9 , R10 , R11 , R12 },
{R0 , R1 , R2 , R3 , R4 , R5 , R8 }, {R6 } and {R7 } is equal and
hence we can notice four curves in the simulation results.
In Rayleigh fading channel, simulation results show that
the receiver R6 requires 5.3 dB more SNR than the receivers
R9 , R10 , R11 , R12 to get same probability of error. The receivers R0 , R1 , R2 , R3 , R4 , R5 , R8 require 2.7 dB more SNR
than the receivers R9 , R10 , R11 , R12 to get same probability
of error. In AWGN channel, simulation results show that the
receiver R6 requires 1.0 dB more SNR than the receivers
R9 , R10 , R11 , R12 to get a BER of 2 × 10−4 . The receivers
R0 , R1 , R2 , R3 , R4 , R5 , R8 require 0.5 dB more SNR than the
receivers R9 , R10 , R11 , R12 to get a BER of 2 × 10−4 .

•

•

It will be interesting to characterize the class of nonsymmetric index codes described in Corollary 1 and the
their side-information graphs. We conjecture that these
non-symmetric codes are critical index coding problems
[4].
The parameters l as well as the down-distance parameter
pk play important roles in getting the Boolean expression
as well as number of broadcast transmissions used by a
receiver. Closed form expressions or bounds for these for
a given set of values of K and D will be very useful.
A natural direction for further research is to extend the
results of this paper to two-sided SNC-SUICP and vector
linear codes.

comprises of 1 + β1 λ1 + β3 λ3 + . . . + βl λl number of 1s. The
positions of 1s in kth column are given below.
• k
• k + jλ1 for j = 1, 2, . . . , β1
• k + β1 λ1 + jλ3 for j = 1, 2, . . . , β3
• k + β1 λ1 + β3 λ3 + jλ5 for j = 1, 2, . . . , β5
...
• k + β1 λ1 + β3 λ3 + . . . + jλl for j = 1, 2, . . . , βl .
Hence, the kth broadcast symbol can be written as

10 0

10 -1

10 -2

BER

R0
R1
R2
R3
R4
R5
R6
R7
R8
R9
R10
R11
R12

10 -3

10

-4

10 -5

5

ck = xk +

10

15

20

25

30

35

+

Fig. 5. SNR Vs BER in Rayleigh fading channel at receivers Rk for k ∈
[0 : 12] for Example 5.

APPENDIX A
Proof of Theorem 1
Case (i): Let k ∈ Ci for i ∈ [0 : ⌈ 2l ⌉] if l is even and
i ∈ [0 : ⌈ 2l ⌉ − 1] if l is odd.
In this case, as shown in Figure 6, the kth column of L
intersects with IK−D , Iλ2i ×β2i λ2i and Iβ2j−1 λ2j−1 ×λ2j−1 for
j = 1, 2, . . . , i. As can be seen from Figure 6, the kth column
comprises of 2 + β1 λ1 + β3 λ3 + . . . + β2i−1 λ2i−1 number of
1s, the positions of which are given below.
• k
• k + jλ1 for j = 1, 2, . . . , β1
• k + β1 λ1 + jλ3 for j = 1, 2, . . . , β3
• k + β1 λ1 + β3 λ3 + jλ5 for j = 1, 2, . . . , β5
...
• k + β1 λ1 + β3 λ3 + . . . + β2i−3 λ2i−3 + jλ2i−1 for j =
1, 2, . . . , β2i−1
• (K − λ2i ) + (k − (K − D − λ2i−1 )) mod λ2i .
Since, the kth broadcast symbol is obtained by multiplying
kth column of L with the message vector [x0 x1 . . . xK−1 ],
the kth broadcast symbol can be written as
β3
X

β1
X

xk+jλ1 +

β5
X

xk+β1 λ1 +β3 λ3 +jλ5

xk+β1 λ1 +jλ3

βl
X

xk+β1 λ1 +...+βl−2 λl−2 +jλl .

(20)

j=1

The number of P
terms in (19) depends on the value of k.
β1
xk+jλ1 is present in ck if k ∈ C1 ∪
That is, the term j=1
Pβ3
C2 ∪ . . . ∪ C⌈ l ⌉ . The term j=1
xk+β1 λ1 +jλ3 is present in ck
2
if k ∈ C2 ∪ C3 ∪ . . . ∪ C⌈ l ⌉ . Indicator function can be used to
2
mark the presence of a given term in ck . By combining (19)
and (20), we get the Boolean expression given in (9).
APPENDIX B
Proof of Lemma 1
Case (i): l is even and k ∈ Ci for i ∈ [0 : ⌈ 2l ⌉] or l is odd
and k ∈ Ci for i ∈ [0 : ⌈ 2l ⌉ − 1].
In this case, from the definition of down distance, we have
L(k + ddown (k), k) ∈ Iλ2i ×β2i λ2i . Let k mod (K − D −
λ2i−1 ) = cλ2i +d for some positive integers c and d (d < λ2i ).
From Figure 7, we have
ddown (k) = d1 + d2 + d3 ,

(21)

and
d1 = (K − D) − k,
d2 = D − λ2i ,
d3 = k − (K − D − λ2i−1 ) − cλ2i .

(22)

ddown (k) = d1 + d2 + d3
= (K − D) − k + D − λ2i
| {z }

j=1

d2

+ ...

+ k − (K − D − λ2i−1 ) − cλ2i
{z
}
|

β2i−1

+

xk+β1 λ1 +β3 λ3 +jλ5 + . . .

By using (21) and (22), we have

j=1

j=1

+

β5
X

xk+β1 λ1 +jλ3

j=1

j=1

SNR in dB

ck = xk +

xk+jλ1 +

j=1

+

β3
X

β1
X

X

d3

xk+β1 λ1 +β3 λ3 +...+β2i−3 λ2i−3 +jλ2i−1

= D + λ2i−1 − (c + 1)λ2i .

j=1

+ x(K−λ2i )+(k−K+D+λ2i−1 )

mod λ2i .

(23)

(19)

Case (ii): l is odd and k ∈ C⌈ l ⌉
2
In this case, the kth column of L intersects with IK−D
and Iβ2i−1 λ2i−1 ×λ2i−1 for i = 1, 2, . . . , 2⌈ 2l ⌉. The kth column

By replacing λ2i−1 with β2i λ2i + λ2i+1 in (23), we get
ddown (k) = D + λ2i+1 + (β2i − 1 − c)λ2i .
Case (ii): l is odd and k ∈ C⌈ l ⌉ .
2

K −D

I(K−D)×(K−D)

K −D

k th

column

k
β0λ0

λ1

K

β1λ1
D = λ0

K − λ2i

Iβ1λ1×λ1

β1λ1

β2λ2

Iλ0×β0λ0

λ3
Iβ3 λ3 ×λ3

β3 λ3

λ5

λ2

.

Iλ2×β2λ2
λ4
β2λ2

β0λ0
C0

.

.

β2i−1 λ2i−1
λ2i

Iλ4 ×β4 λ4

β4λ4

C1

Ci

C2

K − D − λ2i−1
Fig. 6. Boolean Expression for kth broadcast symbol

In this case, from the definition of down distance, we have
L(k + ddown (k), k) ∈ Iβl λl ×λl . From Figure 8, we have
ddown (k) = d1 + d2 + d3 ,

(24)

and
d1 = (K − D) − k,
d2 = D − βl λl ,
d3 = βl λl − d5 .

(25)

We have L(k, k) ∈ IK−D and L(k + ddown (k), k) ∈ Iλl of
Iβl λl ×λl as shown in Figure 8. Hence, we have d1 = d4 and
d4 = d5 . By using (24) and (25), we have

APPENDIX C
Proof of Lemma 2
Case (i): L(j, k) ∈ Iβ2i+1 λ2i+1 ×λ2i+1 (one of the oddsubmatrices) for i = 0, 1, . . . , ⌈ 2l ⌉ − 1.
In this case dup (j, k) is λ2i+1 follows directly from the
definition in (5) and construction of AIR matrix. Figure 9
illustrates this.
Case (ii):L(j, k) ∈ Iλ2i ×β2i λ2i (one of the evensubmatrices) for i = 0, 1, 2, . . . , ⌊ 2l ⌋
From the definition of up distance, we have L(j −
dup (j, k), k) ∈ Iβ2i−1 λ2i−1 ×λ2i−1 .
We have kR = k mod (K − D − λ2i−1 ) = cλ2i + d for
some positive integers c and d (d < λ2i ). From Figure 10, we
have

ddown (k) = d1 + d2 + d3

dup (k) = d1 + d2 ,

= d1 + D − βl λl + βl λl − d1 = D.
| {z } | {z }
d2

 
For i = 2l , we have λ2⌈ i ⌉ = λ2⌈ i ⌉+1 = 0. We can write
2
2
D as D + λ2⌈ l ⌉+1 + (β2⌈ l ⌉ − 1 − c)λ2⌈ l ⌉ . Hence
2

2

d1 = λ2i−1 − kR and
d2 = d = kR − cλ2i .

d3

Hence, we have

2

ddown (k) = D + λ2i+1 + (β2i − 1 − c)λ2i .

dup (k) = λ2i−1 − kR + kR − cλ2i = λ2i−1 − cλ2i .
| {z } | {z }
d1

d2

I(K−D)×(K−D)
k
K −D

k

1

K

d1

ddown(k)

d2
Iλ2i ×β2iλ2i

D

d3
λ2i
Iλ2i

K − D − λ2i−1

...

cλ2i

1

...

Iλ2i

d3

λ2i+1

β2i λ2i
Ci
Fig. 7. Maximum-down distance calculation

k

I(K−D)×(K−D)

K −D
d4

k

K

1

d1

d2
ddown(k)
D
d3
d5
K − D − λl

Iβl λl ×λl
Iλl
.
.
.

βl λl

1 Iλl

d4

λl
Cl+1

Fig. 8. Maximum-down distance calculation

From Lemma 2, we have
dup (k + ddown (k), k) = λ2i−1 − cλ2i and
dup (k + ddown (k), k + µk ) = λ2i−1 − (c + 1)λ2i .

I2λi −1

In this case, we have k + µk = k + λ2i ∈ Ci , hence L(k +
ddown (k), k + µk ) ∈ Iλ2i ×β2i λ2i and pk = 0.
From (26) and (27)

dup (j, k)

λ2i+1

ddown (k) − dup (k + ddown (k), k + µk ) = D,

I2λi +1

(28)

this indicates that all message symbols in ck+µk are in the sideinformation of Rk except xk+ddown (k) . From (27) and (28),
every message symbol in ck +ck+µk is in the side-information
of Rk . From (9), we can write ck as

.
.
.

β2i+1λ2i+1

I2λi

(27)

I2λi +1
I2λi +1

ck = xk +

2z−1
i βX
X

xk+D−λ2z−2 +jλ2z−1 +xk+ddown (k) .

z=1 j=1

|

λ2i+1
Fig. 9. up-distance calculation

APPENDIX D
Proof of Lemma 3
Case (i): L(j, k) ∈ Iλ2i ×β2i λ2i for i ∈ [0 : ⌊ 2l ⌋] and kR ∈
[0 : (β2i − 1)λ2i − 1].
In this case dright (j, k) is λ2i follows directly from the
definition in (5).
Case (ii): L(j, k) ∈ Iλ2i ×β2i λ2i for i ∈ [0 : ⌊ 2l ⌋] and kR ∈
[(β2i − 1)λ2i : β2i λ2i − 1].
In this case, from the definition of right-distance, we have
L(j, k + dright (j, k)) ∈ Iβ2i+1 λ2i+1 ×λ2i+1 . We have kR =
k mod (K − D − λ2i ) = cλ2i+1 + d for some positive integers
c and d (d < λ2i+1 ). From Figure 11, we have

{z
νk

}

Hence, the term νk in (13) is the exclusive OR of the set of
message symbols present in ck excluding the message symbols
xk and xk+ddown (k) . The term νk+µk in (13) is the exclusive
OR of the set of message symbols present in ck+µk excluding
the message symbol xk+ddown (k) . From (27) and (28), νk and
νk+µk are known to receiver Rk . Hence, Rk can decode xk
from (12).
Case (ii): k ∈ Ei for i = 0, 1, 2, ..⌈ 2l ⌉ − 1.
In this case, we have kR ∈ [(β2i − 1)λ2i : β2i λ2i − 1] for
i = 0, 1, 2, ..⌊ 2l ⌋ − 1. Let kR = (β2i − 1)λ2i + cλ2i+1 + d
for some positive integers c, d (d < λ2i+1 ). We have k =
K − D − λ2i−1 + kR . From Lemma 1, we have
ddown (k) = D + λ2i+1 + (β2i − 1 − (β2i − 1))λ2i
= D + λ2i+1 .
(29)
From Lemma 3, we have
µk = dright (k + ddown (k), k)
= dright (K − D − λ2i−1 + kR + D + λ2i+1 , k)

dright (j, k) = d1 + d2 ,
d1 = λ2i − d3 ,

= dright (K − λ2i + cλ2i+1 + d, k)
= λ2i − cλ2i+1 .

d3 = kR and d = d2 .
Hence,

(30)

From Lemma 2, we have

dright (j, k) = λ2i − kR + |{z}
d = λ2i − cλ2i+1 − d + d
| {z }
d1

d2

= λ2i − cλ2i+1 .

dup (k + ddown (k), k + µk ) = λ2i+1 .
From (29) and (31)
ddown (k) − dup (k + ddown (k), k + µk ) = D,

APPENDIX E
Proof of Theorem 2
Case (i): k ∈ Di for i = 0, 1, 2, ..⌈ 2l ⌉.
In this case, we have kR ∈ [0 : (β2i − 1)λ2i − 1] for i =
0, 1, 2, ..⌊ 2l ⌋. Let kR = cλ2i + d for some positive integers c
and d and d < λ2i . From Lemma 3, we have µk = λ2i . From
Lemma 1, we have
ddown (k) = D + λ2i+1 + (β2i − 1 − c)λ2i
= D + λ2i−1 − (c + 1)λ2i .

(31)

(32)

this indicates that all other message symbols in ck+µk
are in the side-information of Rk except xk+ddown (k) and
xk+tk,τ +ddown (k) for τ = 1, 2, . . . , pk .
From Definition 1, k + ddown (k) + tk,pk is always less than
the number of rows in the matrix L. That is, k + tk,pk +
ddown (k) < K. Hence, we have
tk,pk < K − k − ddown (k)
= K − (K − D − λ2i−1 + (β2i − 1)λ2i + cλ2i+1 + d)−

(26)

(D + λ2i+1 )
= λ2i − cλ2i+1 − d.

(33)

λ2i−1

Iλ2i−1
kR

λ2i−1

dup (j, k)

d1
d2

λ2i
Iλ2i

...

Iλ2i

...

S
Iλ2i

d

λ2i

β2i+1 λ2i+1
λ2i+2

λ2i+1

cλ2i
β2i λ2i
Fig. 10. up-distance calculation

λ2i

λ2i+1
Iλ2i+1

kR

..
.

dri (j, k)
λ2i
d1

d3

cλ2i+1

d
d2

β2i+1 λ2i+1

Iλ2i+1
..
.

Iλ2i+1

Iλ2i

Iλ

2i+2 ×λ2i+2 β2i+2

λ2i+2 β2i+2 λ2i+3
λ2i

λ2i+1
Fig. 11. right distance calculation

λ2i+2

From (30) and (33)
tk,pk < µk − d.

(34)

known to receiver Rk . Hence, Rk can decode xk from (15).
 
Case (iii): k ∈ [K − D − λl : K − D − 1] = Ei for i = 2l .
In this case, from Lemma 1, we have

From (33), we have

ddown (k) = D.

kR + tk,pk < kR + λ2i − cλ2i+1 − d
= (β2i − 1)λ2i + cλ2i+1 + d +λ2i − cλ2i+1 − d
|
{z
}
kR

= β2i λ2i .

Hence,
kR + tk,pk ∈ [(β2i − 1)λ2i : β2i λ2i − 1]
and
L(k + tk,τ + ddown (k + tk,τ ), k + tk,τ ) ∈ Cλ2i ×β2i λ2i (35)
for τ = 1, 2, . . . , pk . Hence, we have
ddown (k) = ddown (k + tk,τ )

(36)

for τ = 1, 2, . . . , pk .
From Lemma 2 and (35), for L(k + tk,τ + ddown (k +
tk,τ ), k + tk,τ ), we have,
dup (k + tk,τ + ddown (k + tk,τ ), k + tk,τ ) = λ2i + λ2i+1 .
(37)
From (31) and (37), we have
dup (k + tk,τ + ddown (k + tk,τ ), k + tk,τ )−
dup (k + ddown (k), k + µk ) = λ2i ,

(38)

which along with (32) indicates that every message symbol in ck+tk,τ is in the side-information of Rk except
xk+tk,τ +ddown (k+tk,τ ) for τ = 1, 2, . . . , pk .
We have kR ∈ [(β2i − 1)λ2i : β2i λ2i − 1], dup (k +
ddown (k), k) = λ2i + λ2i+1 . From (37), we have
dup (k + ddown (k), k) − dup (k + ddown (k), k + µk )
= λ2i ,

(39)

and this along with (32) indicates that every message symbol
in ck is in the side-information of Rk except xk+ddown (k) .
From (32),(38) and (39), the interfering message symbol
xk+tk,τ +ddown (k) in ck+µk can be canceled by adding the
broadcast symbol ck+tk,τ for τ = 1, 2, . . . , pk and the interfering message symbol xk+ddown (k) in ck+µk can be canceled
by adding the broadcast symbol ck . Hence, Rk can decode the
message symbol xk by adding the broadcast symbols ck , ck+µk
and ck+tk,τ for τ = 1, 2, . . . , pk .
The term νk in (16) is the exclusive OR of the set of message
symbols present in ck excluding the message symbols xk and
xk+ddown (k) . The term νk+tk,τ for τ ∈ [1 : pk ] in (16) is the
exclusive OR of the set of message symbols present in ck+tk,τ
excluding the message symbol xk+tk,τ +ddown (k+tk,τ ) . The
term νk+µk in (16) is the exclusive OR of the set of message
symbols present in ck+µk excluding the message symbols
xk+ddown (k) and xk+tk,τ +ddown (k+tk,τ ) for τ ∈ [1 : pk ]. From
(32), (38) and (39), νk , νk+µk and νtk,τ for τ ∈ [1 : pk ] are

(40)

Hence, every message symbol in ck is in the side-information
of Rk excluding the message symbol xk . The term νk in (17)
is the exclusive OR of the set of message symbols present in
ck excluding the message symbol xk . From (40), νk is known
to receiver Rk . Hence, Rk can decode xk from (17).
Case (iv): k ∈ [K − D : K − 1]
K 
• If D
<
2 , from (9), the broadcast symbol ck mod (K−D) is given by ck mod (K−D) =
xk mod (K−D) + xk mod (K−D)+K−D = xk+D + xk . In
ck mod (K−D) , the message symbol xk+D is in the sideinformation of receiver Rk . Hence, Rk can decode its
wanted message
symbol xk from ck mod (K−D) .

K
• If D ≥ 2 , from (6), we have β0 = 0 and λ1 = K −D.
From Lemma 2, we have
dup (k, k mod (K − D)) = λ1 = K − D.
Hence, ck mod
from the set

(K−D)

(41)

does not contain message symbols

{xk−(K−D)+1 , xk−(K−D)+2 , . . . , xk−1 } = Ik
(interference to receiver Rk ). Every message symbol in
ck′ is in the side-information of Rk excluding the message symbol xk . The term νk′ in (18) is the exclusive OR
of the set of message symbols present in ck′ excluding the
message symbol xk . From (41), νk′ is known to receiver
Rk . Hence, Rk can decode xk from (18).
This completes the proof.
ACKNOWLEDGMENT
This work was supported partly by the Science and Engineering Research Board (SERB) of Department of Science and
Technology (DST), Government of India, through J.C. Bose
National Fellowship to B. Sundar Rajan
R EFERENCES
[1] H. Maleki, V. Cadambe, and S. Jafar, “Index coding an interference
alignment perspective”, in IEEE Trans. Inf. Theory,, vol. 60, no.9,
pp.5402-5432, Sep. 2014.
[2] Y. Birk and T. Kol, “Informed-source coding-on-demand (ISCOD)
over broadcast channels”, in Proc. IEEE Conf. Comput. Commun., San
Francisco, CA, 1998, pp. 1257-1264.
[3] Z. Bar-Yossef, Z. Birk, T. S. Jayram and T. Kol, “Index coding with
side-information”, in Proc. 47th Annu. IEEE Symp. Found. Comput.
Sci., Oct. 2006, pp. 197-206.
[4] M. Tahmasbi, A. Shahrasbi and A. Gohari, “Critical graphs in index
coding,” in Proc. IEEE Int. Symp. Inf. Theory, Honolulu, Jul. 2014,
pp. 281-285.
[5] L Ong and C K Ho, “Optimal Index Codes for a Class of Multicast
Networks with Receiver Side Information”, in Proc. IEEE ICC, 2012,
pp. 2213-2218.
[6] M. A. R. Chaudhry and A. Sprintson, “Efficient Algorithms for Index
Coding,” in Proc. IEEE INFOCOM, 2008, pp. 1-4.
[7] R. Peeters, Orthogonal representations over finite fields and the chromatic number of graphs, Combinatorica, vol. 16, no. 3, Sept 1996, pp.
417431.

[8] A. Blasiak, R. Kleinberg and E. Lubetzky, “Broadcasting With sideinformation: Bounding and Approximating the Broadcast Rate” CoRR,
in IEEE Trans. Inf. Theory,, vol. 59, no.9, pp.5811-5823, Sep. 2013.
[9] A. Thomas, R. Kavitha, A. Chandramouli and B. S. Rajan, “Optimal Index Coding with Min-Max Probability of Error over Fading,” proc. of PIMRC 2015, Hong Kong, August 2015, pp. 889-894.
An expanded version “Single Uniprior Index Coding with Min-Max
Probability of Error over Fading Channels,” is to appear in IEEE
Transactions on Vehicular Technology - available as early access paper
http://ieeexplore.ieee.org/document/7752905 .
[10] M. B. Vaddi and B. S. Rajan, “Optimal Scalar Linear Index Codes for
One-Sided Neighboring Side-Information Problems,” In Proc. IEEE
GLOBECOM workshop on Network Coding and Applications, Washington, USA, December 2016.
[11] M. B. Vaddi and B. S. Rajan, “Optimal Vector Linear Index Codes
for Some Symmetric Multiple Unicast Problems,” in Proc. IEEE ISIT,
Barcelona, Spain, July 2016.
[12] Ahmed Douik, Sameh Sorouar, Tareq Al-Naffouri and Slim Alouini,
“Instantly Decodable Network Coding: From Centralized to Deviceto-Device Communications, ” to appear in IEEE Communications Surveys & Tutorials. Available as early access article
:http://ieeexplore.ieee.org/abstract/document/7845689/.

