c Pleiades Publishing, Inc., 2011.
ISSN 0032-9460, Problems of Information Transmission, 2011, Vol. 47, No. 4, pp. 305–326.
c A.A. Kreshchuk, A.A. Davydov, V.V. Zyablov, 2011, published in Problemy Peredachi Informatsii, 2011, Vol. 47,
Original Russian Text
No. 4, pp. 3–26.
CODING THEORY
Codes for MIMO Transmission
Based on Orthogonal Sequences
A. A. Kreshchuk, A. A. Davydov, and V. V. Zyablov
Kharkevich Institute for Information Transmission Problems,
Russian Academy of Sciences, Moscow
[email protected]
[email protected]
[email protected]
Received March 24, 2011; in final form, July 4, 2011
Abstract—We consider MIMO communication systems with Rayleigh fading. We propose a
new coded modulation based on orthogonal sequences and state a new decodability condition.
We introduce concepts and constructions of permutation free (PF) and permutation and repetition free (PRF) codes. We also propose a construction of PRF codes with sign manipulation,
whose code rate can exceed 1. For better analysis and construction of these codes we introduce
a one-to-one mapping that transforms signal matrices to vectors over a finite field. We propose
construction algorithms for PF and PRF codes. We build PF and PRF codes with large cardinality, which in several case achieve the maximum cardinality. Simulation of the constructed
codes and estimation of their performance was done in Simulink environment. Results show
high error-correcting capability, which often reaches that of STBC codes with full transmit
diversity.
DOI: 10.1134/S0032946011040016
1. INTRODUCTION
In this paper we propose a new coded modulation for MIMO (multiple-input, multiple-output)
communication systems. Such systems use multiple receiving and transmitting antennas, each pair
having independent path gains. Simultaneous use of multiple antennas increases the transmission
rate and decreases the error probability. This kind of communication systems is also called spatial
diversity systems. For further information on the diversity, see [1]. It is not sufficient to use only
spatial diversity to reach high throughput. Coded modulation constructions utilizing both spatial
and time diversity are called space-time codes. One of the first attempts to build an efficient
full-rate space-time code was made in [2]. The technique proposed in [2] allowed to halve the
number of receiving antennas by using two transmitting antennas without any loss of error-correction
capability. In [3] this technique was generalized to any number of transmitting antennas, but the
code rate dropped to 0.5. For a detailed review of state-of-the-art space-time codes, see [4–6].
Modern coded modulations for MIMO communication systems have small code lengths. That
is why they require using an external code, which limits their applicability. The coded modulation
considered in this paper was announced in [7]. It allows us to build codes of any length with
proportionally increasing squared Euclidean code distance. This distance metric is equal to the
energy distance between signals.
Now we describe the channel model. We consider a wireless communication system with NT
transmitting and NR receiving antennas. Data are transmitted in blocks of length L through all the
transmitting antennas simultaneously. Symbol interference is assumed to be negligible. During the
transmission of one block, the channel is stationary. The channel can be described by the following
305
306
KRESHCHUK et al.
expression:
rjt =
NT
αij sti + ηjt ,
j = 1, . . . , NR ,
i=1
t ∈ N,
(1)
where sti is the signal transmitted over the ith antenna at time t, rjt is the signal received by the jth
antenna at time t, αij are statistically independent complex Gaussian random variables, and ηjt is
white Gaussian noise. The values αij are called path gains. In the general case, sti are complex, but
throughout this paper we assume sti = ±1. The received signal rjt is always complex. The values
|αij | have a Rayleigh distribution. The described channel [1, 6] has the diversity order of NT NR .
The above channel is called a Rayleigh channel. This is one of models describing signal propagation in urban environments with no direct line of sight.
Rewrite (1) in a matrix form:
R = Sα + η.
(2)
Here R = rjt is an L × NR complex matrix, α = αij is an NT × NR complex matrix, S = sti
is an L × NT real matrix, and η = ηjt is an L × NR complex matrix. The index t in rjt , sti , and ηjt
is a row number, and the lower index is a column number.
Assume that η = 0. Then R1 − R2 = (S 1 − S 2 )α. Hence, we can distinguish between two
different received signals R if and only if the right-hand side of the equation is nonzero. We do
not want to base our criterion on the number of receiving antennas, so we assume the worst case
scenario, i.e., having one receiving antenna. Then NR = 1, R is a column of length L, and α is a
column of length NT . Apparently, no transmission is possible in the case of α = 0. We require any
two code matrices to be distinguishable when all path gains are nonzero. We state this as a desired
criterion for a code.
For our code, we use a finite set S of L × NT matrices S complying with the decodability
condition:
(3)
∀ S 1 , S 2 ∈ S, ∀ α ∈ CNT : αj = 0, ∀ j → S 1 α = S 2 α,
where αj are elements of the column α.
The set S is considered as a code with codewords S. Each column of a codeword S ∈ S is
transmitted over a separate transmitting antenna.
Condition (3) means that two different codewords can be distinguished at the receiver in case of
no deep fading in the channel.
Now we introduce a definition of the MIMO code rate. The described code is nonlinear. The
rate of a nonlinear code S of length L is defined as
v=
log2 |S|
.
L
This definition accounts for sti = ±1. In [5], the rate thus defined is called the “temporal rate.”
In Sections 1–4 we consider codes whose codewords consist of columns from an ordered set of
orthogonal columns. Throughout this paper, as this set we use columns of an L × L Hadamard
matrix with
L = 2m ≥ NT .
In Section 5 we modify the introduced codes. The set of columns is extended by adding their
inverses.
Throughout this paper, we use a finite field of 2m elements. However, in principle, the code
construction technique could be applied to cases where L is not a power of 2.
Definition 1. A code S is said to be a PRF code (permutation and repetition free code) if no
two codewords are permutations of each other and no codeword contains repeated columns.
PROBLEMS OF INFORMATION TRANSMISSION Vol. 47 No. 4 2011
CODES FOR MIMO TRANSMISSION
307
Definition 2. A code S is said to be a PF code (permutation free code) if no two codewords
are permutations of each other. Codewords of a PF code may contain repeated columns.
Lemma 1. Let codewords S of a code S be columns of an L×L Hadamard matrix. Then for (3)
to be true, it is necessary that S is a PF code, and it is sufficient that S is a PRF code.
A proof of the lemma is given in Section 2.
Note that some PF codes do not satisfy constraint (3). Nevertheless, PF codes can be used when
channel characteristics do not allow one to build a PRF code of the desired cardinality.
Hence, we introduce for MIMO communication systems a new coded modulation, described as
a matrix code S, and show that the decodability condition holds if S is a PRF code. With some
decrease in the error-correction capability, we may let S be a PF code.
The goal of this paper is to find construction techniques for PRF and PF codes with sufficiently
large cardinality and perform a numerical simulation of the constructed codes to estimate their
efficiency.
To develop code construction techniques, we introduce a one-to-one mapping of a matrix code S
to a vector code C, and then use natural vector-space techniques, which proves to be efficient.
Let q be a prime or prime power. Let Fq denote a Galois field of q elements. Let F∗q = Fq \ {0}.
Let Fnq denote an n-dimensional vector space over Fq .
Let us map the columns of an L × L Hadamard matrix H to elements of the field FL taken
in a fixed order. Then H = h0 h1 . . . hL−1 , where hi is a column of the Hadamard matrix and
{0, 1, . . . , L − 1} = FL . A codeword S composed of NT columns of the Hadamard matrix can be
expressed as
S = hi1 hi2 . . . hiNT ,
{i1 , i2 , . . . , iNT } ⊂ FL .
T
Now we can map each codeword S to a vector c ∈ FN
L whose components correspond to the
column number in the Hadamard matrix. We denote this map by L. It follows from the aforesaid
that L is a one-to-one map which can be expressed as follows:
T
L(S) = L(hi1 hi2 . . . hiNT ) = c = (i1 , i2 , . . . , iNT ) ∈ FN
L .
(4)
The vectors c compose the code C.
In the following, by PF and PRF codes we mean both codes S, whose codewords are L × NT
T
matrices, and the corresponding codes C ⊂ FN
L .
We develop code construction algorithms for the vector representation. Also, we construct PF
T
and PRF codes both as subsets of Reed–Solomon (RS) codes and subsets of the vector space FN
L
with no connection to the RS codes.
Some results of this paper were presented without proofs in [7].
In Section 2 the maps L and L−1 are explored. We describe how these maps affect the distance
between codewords. In Section 3 we present a general analysis of PF and PRF codes and propose
techniques for their construction. In Section 4 we illustrate the efficiency of these techniques by
examples of constructing specific PF and PRF codes. In Section 5 we consider a modification of
PRF codes, which is called PRF codes with sign manipulation. In Section 6 we describe a maximumlikelihood decoder and analyze differences between PF and PRF codes. In Section 7 we describe
a numerical simulation environment for some codes from Section 4 and show plots of the code
performance versus the signal-to-noise ratio (SNR). Results of the simulation are also presented.
In the Appendix we consider subsets of the field F2m with a fixed sum of elements, which can be
used in constructing PF and PRF codes.
PROBLEMS OF INFORMATION TRANSMISSION
Vol. 47 No. 4 2011
308
KRESHCHUK et al.
2. MAP L AND CODE DISTANCES IN S AND L(S)
Proof of Lemma 1. First we prove the sufficiency, i.e., show that a PRF code satisfies condi1
tion (3). Let H denote an Hadamard matrix. Multiply equation (3) by the matrix H T , where T
L
1
denotes the transpose operator. The matrix H T S u is a (0, 1)-matrix and contains exactly one 1
L
in each column. The position of this 1 is given by the index of the corresponding column of the
1
matrix S u in H. Each row in H T S u either contains precisely one 1 (since S u contains no idenL
tical columns) or is all-zero. The all-zero rows correspond to columns from H that are not present
in S u . Since different matrices S u could not be obtained from each other by permutations, there
exists a column in S 1 that is not present in S 2 . Hence, there exist an index i such that the ith row
1
1
in the matrix H T S 1 is nonzero and the ith row in H T S 2 is all-zero. Since αj = 0, ∀j, we have
1
L
1
L
T
L
H S1α
i
H T S2α
i
L
= 0 (which is ensured by the existence of precisely one 1 in a nonzero row), while
= 0, where (e)i is the ith component of the vector e. Therefore, condition (3) holds.
The aforesaid also means that, to satisfy (3), the code S must be a PF code. To prove this, we
can take the all-one column as α. If S 2 is a permutation of S 1 , then, obviously, condition (3) is
violated. △
Note that the proof of Lemma 1 can easily be generalized to any set of orthogonal columns.
Recall that each column of a codeword S ∈ S is transmitted over a separate antenna. Therefore,
each element of a codeword L(S) corresponds to one antenna.
The decodability requirement imposes several constraints on a code L(S). A PRF code S cannot
have codewords with the same set of columns. For a code L(S), this results in the absence of
codewords with the same set of elements. The absence of repeated columns in codewords of S
results in the absence of repeated symbols in codewords of L(S).
Let us examine how the map L affects distances between codewords. We use the Euclidean
T
metric for the matrices and the Hamming metric in the field FN
L .
The Euclidean distance between two distinct columns of an L × L Hadamard matrix equals
√
L 2
L
· 2 + · 02 = 2L. Take two codewords c1 , c2 ∈ L(S) with Hamming distance d. Then the
2
2
squared Euclidean distance between the matrices L−1 (c1 ) and L−1 (c2 ) equals the sum of the squared
distances between the columns; i.e.,
d2E L−1 (c1 ), L−1 (c2 ) = 2Ld.
√
Hence, dE (L−1 (c1 ), L−1 (c2 )) = 2dL.
According to [5], the Euclidean distance is a good measure of the code performance when the
SNR is low. We will optimize our code for this situation.
The squared Euclidean distance is the energy distance between codewords. There is a well-known
expression [6] for this distance:
d2E (S 1 , S 2 ) = tr (S 1 − S 2 )H (S 1 − S 2 ) ,
where tr is the matrix trace operator and H denotes Hermitian conjugation.
In [6], a choice criterion based on the Euclidean distance was called the trace criterion. We will
use this criterion in constructing the coded modulation.
In the literature (see, e.g., [6]) one can find other criteria for constructing space-time codes: the
rank criterion and determinant criterion. We do not use these criteria in the present paper, since
they are better suited for high values of the SNR.
PROBLEMS OF INFORMATION TRANSMISSION Vol. 47 No. 4 2011
CODES FOR MIMO TRANSMISSION
309
Note that the error-correction capability depends not only on the minimum code distance but
also on the whole distance spectrum. To summarize all the aforesaid, we will construct PF and
PRF codes of length NT over the field FL with a “good” Hamming distance spectrum.
3. SOME APPROACHES TO CONSTRUCTING PERMUTATION FREE CODES
3.1. Basic Concepts and Definitions
Let [n, k, d]q be a linear code of length n and dimension k with minimum distance d over the
field Fq . Denote by (n, M, d)q a nonlinear code over Fq of length n and cardinality M with minimum
distance d.
Definition 3. (i) A PF code is a set of words none of which is a permutation of another. We
denote an (n, M, d)q PF code by (n, M, d)PF
q . Given n, d, and q, we denote the maximum possible
PF
cardinality of a PF code by Mq (n, d). A maximal PF code is a code with cardinality MqPF (n, d).
(ii) A PF code whose codewords do not contain repeated symbols is called a PRF code. We
denote an (n, M, d)q PRF code by (n, M, d)PRF
. Given n, d, and q, we denote the maximum
q
PRF
possible cardinality of a PRF code by Mq (n, d). A maximal PRF code is a code with cardinality
MqPRF (n, d).
(iii) Consider subcodes of an [n, n − d + 1, d]q RS code. A subcode is called a PF subcode or a
PF
PRF
PRF subcode if it is a PF or PRF code, respectively. Let M q (n, d) and M q (n, d) denote the
maximum cardinality of PF and PRF subcodes, respectively. A maximal PF subcode and a maximal
PF
PRF
PRF subcode are subcodes with cardinalities M q (n, d) and M q (n, d), respectively.
Throughout this paper we assume that n ≤ q.
Note that a PRF code is a repetition free (RF) code. These codes were described in [8, 9]. But
in those papers, permutations of symbols in codewords were not forbidden.
Let a = (a1 , a2 , . . . , an ) be an n-dimensional vector over Fq .
If
n
i=1
ai = s ∈ Fq , then the vector a is called an (n, s)q -vector.
If all components of an
(n, s)q -vector are different, then it is called an (n, s)RF
q -vector, or just an RF vector. Thus, for
RF
an (n, s)q -vector a we have
n
i=1
ai = s ∈ F q ,
ai = aj
for i = j.
Let u = (u1 , u2 , . . . , un ) be an n-dimensional vector over Fq . Following [10, Section 5.6], by a
composition of the vector u we call the following q-dimensional vector over the alphabet {0, 1, . . . , n}:
comp(u) = comp(u1 , u2 . . . , un ) = (v0 , v1 , . . . , vq−1 ) = (v0 (u), v1 (u), . . . , vq−1 (u)),
q−1
where vi = vi (u) is the number of components uj equal to i. Obviously,
vi (u) = n.
i=0
The 2nd-order composition of an n-dimensional vector u over Fq is defined as the following
(n + 1)-dimensional vector over the alphabet {0, 1, . . . , q − 1}:
comp(2) (u) = comp(comp(u)) = comp(v0 (u), v1 (u), . . . , vq−1 (u))
= (V0 , V1 , . . . , Vn ) = (V0 (u), V1 (u), . . . , Vn (u)),
where Vi = Vi (u) is the number of components vj (u) equal to i. It is obvious that
Vi (u) ≥ 0,
n
i=0
Vi (u) = q,
n
i=0
PROBLEMS OF INFORMATION TRANSMISSION
iVi (u) = n,
V0 ≥ q − n.
Vol. 47 No. 4 2011
(5)
310
KRESHCHUK et al.
The symmetric group Sn of degree n with cardinality n! (composed of all permutations on n
elements) partitions the vector space Fnq into disjoint orbits. In what follows, we consider only these
orbits. Values of the parameters n and q will be clear from the context.
The length (cardinality) of an orbit lies in the range 1, . . . , n!. The number and lengths of orbits
depend on the values of n and q.
Let O w (a) = Ow (a1 , a2 , . . . , an ) denote an orbit containing the word a = (a1 , a2 , . . . , an ), where
ai ∈ Fq . The word a = (a1 , a2 , . . . , an ) is called an orbit generator. Any word contained in an orbit
can be viewed as its generator. If
n
i=1
ai = s ∈ Fq , then the orbit Ow (a1 , a2 , . . . , an ) is also called an
(n, s)q -orbit, and its generator (a1 , a2 , . . . , an ) is an (n, s)q -vector.
Let O(v) = O(v0 , v1 , . . . , vq−1 ) denote an orbit whose generator has the composition v =
(v0 , v1 , . . . , vq−1 ). All words of the orbit have the same composition, and the orbit is composed
of all words with this composition. We call this composition the orbit composition. The length of
the orbit O(v0 , v1 , . . . , vq−1 ) is equal to the number of n-dimensional vectors over Fq with composition (v0 , v1 , . . . , vq−1 ); i.e.,
|O(v0 , v1 , . . . , vq−1 )| =
n
v0 , v1 , . . . , vq−1
=
n!
.
v0 ! v1 ! . . . vq−1 !
(6)
We define the structure of an orbit to be the 2nd-order composition of its generator. Let
O (2) (V ) = O (2) (V0 , V1 , . . . , Vn ) denote an orbit whose generator has 2nd-order composition V =
(V0 , V1 , . . . , Vn ). Let T (V0 , V1 , . . . , Vn ) be the set of orbits with structure (V0 , V1 , . . . , Vn ). The number of orbits NO (V0 , V1 , . . . , Vn ) in this set equals the number of q-dimensional vectors over the
alphabet {0, 1, . . . , n} with composition (V0 , V1 , . . . , Vn ); i.e.,
NO (V0 , V1 , . . . , Vn ) =
q!
.
V0 ! V1 ! . . . Vn !
(7)
Taking (6) into account, the length of any orbit in the set T (V0 , V1 , . . . , Vn ) is
|O (2) (V0 , V1 , . . . , Vn )| =
n!
=
(0!)V0 (1!)V1 . . . (n!)Vn
n!
n
.
(8)
(i!)Vi
i=0
In essence, relation (8) is relation (6) written with grouped multipliers.
The total number NΣ (n, q) of orbits of the group Sn in the space Fnq equals the number of
combinations of q things n at a time with repetitions:
NΣ (n, q) =
q+n−1
.
n
(9)
3.2. Upper Bounds for PF Codes
Lemma 2. A PF code (n, M, d)PF
q can include at most one word from each orbit of the group Sn
regardless of the orbit structure.
Corollary 1. For any distance d, for the maximum possible cardinality of an (n, M, d)PF
code
q
we have
q+n−1
MqPF (n, d) ≤
.
n
Proof. Apply Lemma 2 and equation (9). △
PROBLEMS OF INFORMATION TRANSMISSION
Vol. 47 No. 4 2011
CODES FOR MIMO TRANSMISSION
311
Lemma 3. Fix an element a ∈ Fq . Consider q orbits with generators of the form (a, . . . , a, b),
n−1
where b ∈ Fq and the equality a = b is allowed. Let W denote the number of words in these orbits
that belong to an (n, M, 2)PF
code C with code distance 2.
q
(i) If the word (a, . . . , a, a) belongs to C, then W = 1.
n−1
(ii) If the word (a, . . . , a, a) does not belong to C, then W ≤ n. Furthermore, all words that
n−1
are generators of orbits contained in the code are of the forms (a, . . . , a, b), (a, . . . , a, b, a),
(a, . . . , a, b, a, a), . . . , (b, a, . . . , a).
n−1
n−2
n−3
n−1
Proof. Correctness of the lemma immediately follows from the structure of words given in its
statement. △
Corollary 2. Consider q 2 orbits with generators of the form (a, . . . , a, b), where a, b ∈ Fq and
n−1
the equality a = b is allowed. Let V denote the number of words in these orbits that belong to an
(n, M, 2)PF
code C. Then V ≤ nq.
q
Proof. Apply Lemma 3. △
Corollary 3. For the maximum possible cardinality of an (n, M, d)PF
q code with distance d ≥ 2,
we have
q+n−1
MqPF (n, d) ≤
− q(q − n), d ≥ 2.
(10)
n
Proof. Apply Corollaries 1 and 2. △
3.3. RF Orbits, RF Subsets, and RF Vectors
Consider an orbit with generator (a1 , a2 , . . . , an ). If all components ai are distinct and
n
ai =
i=1
s ∈ Fq , then the orbit is called an (n, s)RF
q -orbit, or just an RF orbit (repetition free). We also
denote it by ORF . According to Section 3.1, regardless of s, the structure of an (n, s)RF
q -orbit is of
the form
V0 = q − n,
V1 = n,
V2 = V3 = . . . = Vn = 0.
(11)
Given q and n, the total number of RF orbits and the length of each RF orbit are, respectively,
NORF =
q
,
n
|ORF | = n!.
(12)
Lemma 4. All words of an (n, M, d)PRF
code belong to RF orbits of the group Sn . Furthermore,
q
a PRF code can contain at most one word from each RF orbit.
Lemmas 2 and 4 are fundamental for constructing PF and PRF codes.
Corollary 4. For any distance d, for the maximum possible cardinality of an (n, M, d)PRF
code
q
we have
q
MqPRF (n, d) ≤
.
n
Proof. Apply Lemma 4 and relations (12). △
PROBLEMS OF INFORMATION TRANSMISSION
Vol. 47 No. 4 2011
312
KRESHCHUK et al.
We call an n-subset of the field Fq composed of distinct elements an RF subset. An RF subset
with the sum of all elements equal to s is called an (n, s)RF
q -subset. Such a subset is of the form
n
{a1 , a2 , . . . , an } ⊂ Fq ,
ai = s,
i=1
ai = aj
for i = j.
(s)
Let Nn,q denote the total number of (n, s)RF
q -subsets.
RF
Any ordering of elements of an (n, s)RF
q -subset results in an (n, s)q -vector, which can be
treated as a generator of an (n, s)RF
q -orbit. Thus, there exists a one-to-one correspondence be(s)
RF
tween (n, s)RF
q -subsets and (n, s)q -orbits. Therefore, the values Nn,q play an important role in
constructing and analyzing PF and PRF codes. Let Fq = {e0 , e1 , . . . , eq−1 }. Then
q−1
(ei )
Nn,q
=
i=0
q
.
n
(13)
PRF
3.4. Codes (n, M, 2)PF
2m and (n, M, 2)2m as Subcodes of an [n, n − 1, 2]2m RS Code
PRF
Throughout what follows, we consider (n, M, 2)PF
2m and (n, M, 2)2m codes over F2m with distance
d = 2. We denote elements of F2m by numbers, so that
F2m = {0, 1, . . . , 2m−1 }.
(14)
Here, the binary m-digit representation of a number coincides with the vector representation of the
corresponding element over some basis. Since here we use addition of elements only, the choice of
a basis is insignificant.
(s)
In the Appendix we obtain some helpful expressions for Nn,2m , which come from the weight
spectra of a Hamming code and its cosets.
We introduce the following notation:
Aw,2m is the number of weight-w codewords of the [2m − 1, 2m − 1 − m, 3]2 Hamming code with
m parity checks;
Aw,2m is the number of weight-w words in a coset of the [2m − 1, 2m − 1 − m, 3]2 Hamming code.
All codewords of an [n, n − 1, 2]2m RS code can be obtained by appending a parity check to an
(n − 1)-dimensional information vector. Hence, we get the following result.
Lemma 5. Consider an [n, n − 1, 2]2m RS code and its cosets.
(i) The code contains all (n, 0)2m -vectors and only these vectors. The group Sn partitions the code
into disjoint (n, 0)2m -orbits.
(ii) Let a coset have a nonzero syndrome s ∈ F2m . Then this coset contains all (n, s)2m -vector and
only these vectors. The group Sn partitions the coset into disjoint (n, s)2m -orbits.
We call an orbit embedded in an RS code a code orbit. An RF orbit embedded in a code will be
called a code RF orbit.
Lemmas 2–5 imply the following theorem.
Theorem 1. Consider an [n, n − 1, 2]2m RS code.
(i) A maximal PF subcode contains one and only one word from each code orbit regardless of its
PF
structure. The maximum cardinality M 2m (n, 2) equals the total number of code orbits.
(ii) A maximal PRF subcode contains one and only one word from each code RF orbit. The
PRF
maximum cardinality M 2m (n, 2) equals the total number of code RF orbits.
PROBLEMS OF INFORMATION TRANSMISSION Vol. 47 No. 4 2011
CODES FOR MIMO TRANSMISSION
313
Table 1. Some code orbits of an [n, n − 1, 2]2m RS code, n ≤ 2m
Orbit
Nonzero components
of the orbit structure
O1 = ORF
V0 = 2m − n, V1 = n
O2
V0 = 2m − 1, Vn = 1
Orbit generator
(a, b, c, d, e, f are different
elements of F2m )
(a1 , a2 , . . . , an ),
a1 + a2 + . . . + an = 0,
ai = aj for i = j
Number of orbits NOj
(0)
Orbit length
|Oj |
Nn,2m =
An−1,2m + An,2m
n!
2m
1
(a, . . . , a), n = 2p
n
O3
V0 = 2m − 2, Vp = 2
(a, . . . , a, b, . . . , b),
p
p even
O4
V0 = 2m − p, V2 = p
O5
V0 = 2m − 4, V1 = 3,
Vn−3 = 1
p
(a1 , a1 , a2 , a2 , . . . , ap , ap )
2m ·
(a, . . . , a, b, c, d),
2m
2
2m
p
2−p n!
1
3
n−3
a + b + c + d = 0, n = 2p
O6
V0 = 2m − 5, V1 = 4,
Vn−4 = 1
2m
(a, . . . , a, b, c, d, e),
V0 = 2m − 4, V1 = 2,
Vp−1 = 2
(a, . . . , a, b, . . . , b, c, d),
p−1
p−1
p even, a + b + c + d = 0
O8
V0 = 2m − 6, V1 = 4,
Vp−2 = 2
p−2
V0 = 2m − 5, V1 = 3,
Vp−1 = 1, Vp−2 = 1
O8+t
V0 = 2m − p + t − 1,
V2 = p − t, V2t = 1
2m − 1
4
n!
(n − 3)!
2m
p−t
n!
(n − 4)!
(2m−1 − 1)
n!
(p − 1)! (p − 1)!
n!
(p − 2)! (p − 2)!
3
p−2
(b, . . . , b, a1 , a1 , . . .
. . . , ap−t , ap−t ),
2t
× (2m−2 − 2)
m
2
(2m − 4)
(a, . . . , a, b, . . . , b, c, d, e),
p−1
2m − 1
2
2m
2m−1 − 1
2
m
1 2 −1
+
2
3
p−2
p even, a + c + d + e = 0,
n≥8
2m
2
(a, . . . , a, b, . . . , b, c, d, e, f ),
p even, c + d + e + f = 0,
n≥8
O9
1
2m − 3
n−4
b + c+ d+ e = 0, n = 2p ≥ 6
O7
n
p
(2m − p + t)
n!
(p − 1)! (p − 2)!
1
2t−p n!
(2t)!
n = 2p, t = 2, 3, . . . , p − 1
Lemma 6. An [n, n − 1, 2]2m RS code with n ≤ 2m , m ≥ 3, contains the code orbits presented
in Table 1, where O1 is an RF orbit.
Proof. Lengths of all orbits in Table 1 are computed using equation (8).
The structure of the RF orbit O1 is of the form (11) regardless of whether it is a code orbit or
not. Similarly, for a generator of an RF orbit it is necessary that ai = aj for i = j. Finally, equality
a1 + . . . + an = 0 for a generator of a code RF orbit must hold due to Lemma 5 (i). Properties
(0)
(s)
of a generator and the definition of Nn,q imply NO1 = Nn,2m . Then we use formula (21) from the
Appendix.
For the orbits O2 –O9 and O8+t we use Lemma 5 (i). Taking properties of the field F2m into
account, all generators of the orbits O2 –O9 and O8+t have zero sum of elements. The structure of
an orbit is determined by the form of its generator. The number of orbits O2 , O3 , O4 , and O8+t is
PROBLEMS OF INFORMATION TRANSMISSION
Vol. 47 No. 4 2011
314
KRESHCHUK et al.
determined by (7), since there are no constraints on the generators. For the orbits O5 and O6 , an
element a can be chosen in 2m ways. Then
use Lemma 13 (ii), see the Appendix. For the orbits
we
O7 and O8 , a pair a, b can be chosen in
2m
2
ways. Then we use Lemma 13 (iii). Finally, for the
orbit O9 , a pair a, b can be chosen in 2m (2m − 1) ways, since a and b are not interchangeable. Then
we use Lemma 13 (iii) again. △
Theorem 2. A maximal PRF subcode of an [n, n − 1, 2]2m RS code has cardinality
PRF
(0)
M 2m (n, 2) = Nn,2m = An−1,2m + An,2m .
(15)
Moreover, all words of a maximal PRF subcode can be obtained from words of weights n − 1 and n
of the binary [2m − 1, 2m − 1 − m, 3]2 Hamming code.
Proof. According to Theorem 1 (ii), a maximal PRF subcode contains exactly one word from
each code RF orbit. Then we use Lemma 6 and the orbit O1 from Table 1.
Let us arrange (in any order) the (n, 0)RF
2m -subsets specified in Lemma 10 (i), constructed from
words of weights n − 1 and n of the binary [2m − 1, 2m − 1 − m, 3]2 Hamming code. As a result, we
obtain (n, 0)RF
2m -vectors, which can be regarded as words of a maximal PRF code. △
Corollary 5. For n ∈ {2m − 2, 2m − 1, 2m }, a maximal PRF subcode of an [n, n − 1, 2]2m RS
code has cardinality
PRF
PRF
PRF
M 2m (2m , 2) = M 2m (2m − 1, 2) = 1,
M 2m (2m − 2, 2) = 0.
Proof. Apply Theorem 2 and Lemma 11; see the Appendix. △
A PF or PRF code is constructed if structures and generators of all orbits that compose the code
are defined.
It follows from Lemma 6 and Theorem 2 that the task of constructing a maximum PRF subcode
PRF
of an [n, n − 1, 2]2m RS code is solved, and a precise value of the maximum cardinality M 2m (n, 2)
is obtained.
Taking into account Lemma 6 and Theorems 1 and 2, a maximal PF subcode of an [n, n − 1, 2]2m
RS code can be constructed in the following way.
Algorithm A. Constructing a maximal PF subcode of an [n, n − 1, 2]2m RS code.
1. In Table 1 select orbits Oj appearing in an RS code with the given n. The set of indices of these
orbit is denoted by Jn (RF orbits O1 are always present). Compute the total number M of the
selected code orbits and the number Σ of words in them:
M=
NO j ,
j∈Jn
Σ=
j∈Jn
NOj |Oj |.
2. Check the equality
Σ = 2m(n−1) .
(16)
If (16) holds, exit the algorithm, letting
PF
M 2m (n, 2) = M.
If (16) does not hold, go to Step 3.
3. Based on the technique used for constructing Table 1 and on the proof of Lemma 6, find an
admissible (for the given parameters) structure of an orbit Onew that was not used at previous
steps. Find the length |Onew | of this orbit and the number NOnew of such orbits. Correct
Σ = Σ + NOnew |Onew | and M = M + NOnew . Go to Step 2.
PROBLEMS OF INFORMATION TRANSMISSION Vol. 47 No. 4 2011
CODES FOR MIMO TRANSMISSION
315
Note that when relation (16) holds, the selected orbits contain the whole RS code. In this case,
PF
a maximal PF subcode is constructed, and its cardinality M 2m (n, 2) equals the total number of
code orbits M .
Efficiency of Algorithm A is illustrated in Section 4.1, where interesting examples of constructing
maximal PF subcodes of an [n, n − 1, 2]8 RS code are given. In these examples, Step 3 was not
used.
n
PRF
3.5. Codes (n, M, 2)PF
2m and (n, M, 2)2m as Subsets of the Space F2m
In the general case, where we are not limited by subcodes of RS codes, the following algorithms
are useful.
Algorithm B. Constructing a PRF code as a union of PRF codes derived from an RS code and
its cosets.
Let n ≥ 4. The desired (n, M, 2)PRF
2m code is denoted by C.
(s)
1. Based on Lemma 12 (see the Appendix), construct (n, Nn,2m , 2)PRF
2m codes with sum of elements
equal to s for all s = 0, 1, . . . , 2m − 1. Arrange elements of F2m in some order. An example
of such arrangement is given in (14). Rearrange all words with s = 0 in descending order of
elements, and words with s = 0, in ascending order. We call the obtained PRF codes Cs -codes.
2. Compose the code C = C0 ∪ C1 . By the construction, this code has distance 2. Set s′ = 2.
3. Obtain a code Cs∗′ by permuting every word of the code Cs′ in one and the same way. Examples of
such permutations include cyclic shifts and swapping some (fixed for a given s′ ) pairs of elements.
By using the trial and error method, find operations that provide distance 2 in the combined
code C ∪ Cs∗′ . Set C = C ∪ Cs∗′ . If no such operations exist, the code C is not changed.
4. If s′ = 2m − 1, exit the algorithm. Otherwise, set s′ = s′ + 1 and go to Step 3.
The efficiency of Algorithm B is illustrated in Section 4.2,
where we construct a practically
8
PRF
code with cardinality M =
interesting maximal (4, M, 2)8
(see Example 1). In this example,
4
all permutations providing distance 2 in the combined code C ∪ Cs∗′ are found for each s′ .
The following greedy algorithm is also helpful.
Algorithm C. Constructing a PF or PRF code with a “good” distance spectrum.
PRF
Denote the desired (n, M, 2)PF
2m or (n, M, 2)2m code by V.
1. If a PF code is constructed, find all orbits of the group Sn in the space Fn2m (this can be done
by enumerating all combinations of 2m things n at a time with repetitions). If a PRF code is
constructed, find all RF orbits of the group Sn in the space Fn2m (this can be done by enumerating
all combinations of 2m things n at
repetitions). Let O1 , O2 , . .. , OM0 denote the
a time without
constructed orbits, where M0 =
2m + n − 1
n
for a PF code and M0 =
2m
n
for a PRF code.
Let Oi = {ci,1 , ci,2 , . . . , ci,|Oi | }, where ci,j is an n-dimensional vector from the orbit Oi .
2. Arbitrarily choose a vector c1,j in the orbit O1 and set
V = {v1 },
v1 = c1,j ,
M = 1,
i = 2.
3. For each vector ci,j in an orbit Oi compute the spectrum of distances between ci,j and all words
of the code V = {v1 , v2 , . . . , vM } constructed at previous steps:
spec(ci,j , V) = (s1 , s2 , . . . , sn ),
su = |{k : vk ∈ V, d(ci,j , vk ) = u}|,
where d(c, v) is the Hamming distance between c and v.
PROBLEMS OF INFORMATION TRANSMISSION
Vol. 47 No. 4 2011
316
KRESHCHUK et al.
4. If there is no spectrum spec(ci,j , V) such that s1 = 0, set i = i + 1 and go to Step 6 (in this case
the generator of the orbit Oi is not included in the code V). If a spectrum with s1 = 0 exists, go
to Step 5.
5. Select all vectors ci,j whose distance spectrum satisfies s1 = 0. From them, select a vector with
the smallest s2 . If there are several such vectors, select the one with the smallest s3 , and so on,
up to sn . If there are still several vectors left, choose one at random. Denote the chosen vector
by ci,t . Set
M = M + 1,
vM = ci,t ,
V = V ∪ {vM },
i = i + 1.
Go to Step 6.
6. If i > M0 , exit the algorithm. Otherwise, go to Step 3.
Performance of Algorithm C is illustrated in Section 4.2, where we construct a (4, 70, 2)PRF
code
8
in Example 2 with better distance spectrum than that in Example 1. In this example for every
orbit there exists a vector ci,j whose spectrum has s1 = 0. That is why the code V is maximal.
PRF
Basically, an (n, M, 2)PF
2m code can have larger cardinality than an (n, M, 2)2m code, since constraints on PF are looser. For constructing a PF code as a subset of the space Fn2m , we can take a
PRF code obtained by algorithm B or C as a basis. Then we can append generators of orbits with
repetitions that preserve code distance 2.
Efficiency of this technique is shown in Section 4.2, where we build a (4, M, 2)PF
code with
8
cardinality 114, while the maximum cardinality of a (4, M, 2)PRF
code
is
70.
8
PRF CODE CONSTRUCTIONS
4. EXAMPLES OF (n, M, 2)PF
8 AND (n, M, 2)8
In this section we assume n = 4 or n = 8 and m = 3.
PRF as Subcodes of an [n, n − 1, 2] RS Code
4.1. Codes (n, M, 2)PF
8
8 and (n, M, 2)8
In Theorems 3 and 4 we use algorithm A (see Section 3.4).
Theorem 3. (i) Consider the orbits O1 , O2 , and O3 given in Table 1. The symmetric group S4
partitions the [4, 3, 2]8 RS code into 50 separate (4, 0)8 -orbits: 14 RF orbits O1 , 8 orbits O2 , and
28 orbits O3 with p = 2.
(ii) A maximal PF subcode of the [4, 3, 2]8 RS code consists of 50 words; i.e.,
PF
M 8 (4, 2) = 50.
(0)
(iii) A maximal PRF subcode of the [4, 3, 2]8 RS code contains N4,8 =
PRF
M8
1 8
words:
4 3
(4, 2) = 14.
Proof. In (i) and (ii) we use algorithm A.
(0)
(i) The numbers and lengths of orbits are indicated in Table 1. We set J4 = {1, 2, 3}. For N4,8
we use Lemma 13 (i). Taking the lengths of the orbits stated in Table 1 into account, we deduce
that 50 orbits contain Σ =
3
j=1
NOj |Oj | = 83 codewords, i.e., the entire [4, 3, 2]8 RS code.
(ii) According to Theorem 1 (i), a maximal PF subcode contains precisely one word from each
code orbit regardless of its structure.
(iii) This follows from Theorem 2 and Lemma 13 (i). △
PROBLEMS OF INFORMATION TRANSMISSION Vol. 47 No. 4 2011
CODES FOR MIMO TRANSMISSION
317
Theorem 4. (i) Consider the orbits O1 –O9 and O8+t defined in Table 1. The symmetric
group S8 partitions the [8, 7, 2]8 RS code into 835 (8, 0)8 -orbits: one RF orbit O1 , 8 orbits O2 ,
28 orbits O3 , 70 orbits O4 , 56 orbits O5 , 56 orbits O6 , 84 orbits O7 , 84 orbits O8 , 224 orbits O9 ,
168 orbits O8+2 , and 56 orbits O8+3 . Here for all orbits with parameter p we set p = 4.
(ii) A maximal PF subcode of the [8, 7, 2]8 RS code contains 835 words; i.e.,
PF
M 8 (8, 2) = 835.
(iii) A maximal PRF subcode of the [8, 7, 2]8 RS code contains one word and is also a maximal
(8, M, 2)PRF
code; i.e.,
8
PRF
M 8 (8, 2) = M8PRF (8, 2) = 1.
Proof. In (i) and (ii) we use algorithm A.
(0)
(i) The numbers and lengths of orbits are given in Table 1. We set J8 = {1, 2, . . . , 11}. For N8,8
we use (29); see the Appendix. Taking into account the orbit lengths from Table 1, we find that
835 orbits contain Σ =
11
j=1
NOj |Oj | = 87 codewords, i.e., the entire [8, 7, 2]8 RS code.
(ii) According to Theorem 1 (i), a maximal PF subcode contains one word from each code orbit
regardless of its structure.
(iii) Use Corollaries 4 and 5. △
PRF as Subsets of the Space Fn
4.2. Codes (n, M, 2)PF
8 and (n, M, 2)8
8
Maximal (4, 70, 2)PRF
code
8
Example 1. To construct a maximal (4, 70, 2)PRF
code, we use algorithm B (see Section 3.5).
8
(0)
By Lemma 13 (i) we have N4,8 = 14. By Corollary 6 and Lemma 14 (see the Appendix), we
(s)
have N4,8 = 8 for all s = 0.
The codes C0 and C1 have the following form:
C0 = {0123, 0145, 0167, 0246, 0257, 0347, 0356, 1247, 1256, 1346, 1357, 2345, 2367, 4567},
C1 = {7530, 7521, 7431, 7420, 6531, 6520, 6430, 6421}.
The codes Cs∗′ have the following form:
C2∗ = {7261, 7360, 7342, 7140, 6352, 6150, 5241, 5340},
C3∗ = {7136, 7026, 7235, 7015, 6234, 6014, 5024, 5134},
C4∗ = {6507, 6417, 5427, 2107, 5436, 3106, 3205, 3214},
C5∗ = {1765, 0764, 3754, 0731, 2654, 0621, 1532, 0432},
C6∗ = {5276, 4376, 4075, 2073, 4165, 2163, 1052, 1043},
C7∗ = {6735, 6724, 5714, 3712, 5604, 3602, 3501, 2401}.
To obtain the codes Cs∗′ from Cs′ , we used the following permutations:
s′ = 2 → swap the 2nd and 3rd elements,
s′ = 3 → swap the 2nd and 4th elements,
s′ = 4 → cyclic left shift by one position,
s′ = 5 → cyclic right shift by one position,
s′ = 6 → cyclic right shift by two positions,
s′ = 7 → swap the 1st and 2nd elements, then swap the 3rd and 4th elements.
PROBLEMS OF INFORMATION TRANSMISSION
Vol. 47 No. 4 2011
318
KRESHCHUK et al.
Table 2. Some orbits of the group S4 in the space F48
Orbit
Nonzero components of the
orbit structure
Orbit generator
Number of orbits
Orbit length
Oaaab
(s)
V0 = 6, V1 = 1, V3 = 1
8
4
(δ)
(a, a, a, b), a + b = s, s = 0
V0 = 6, V2 = 1
(a, a, b, b), a + b = δ, δ = 0
4
6
Oaabb
The distance of 2 for the combined code C ∪ Cs∗′ in each iteration of Step 3 of Algorithm B with
= 2, 3, . . . , 7 was checked on a computer.
7
The desired (4, M, 2)PRF
code is of the form C = C0 ∪ C1 ∪
Cs∗′ . Its cardinality is M =
8
′
s =2
14 + 7 · 8 = 70.
s′
Example 2. Another instance of a (4, 70, 2)PRF
code, code V, was obtained on a computer by
8
using Algorithm C (see Section 3.5):
V = {3210, 4102, 5021, 2601, 1720, 0314, 1053, 0136, 1307, 0541, 6140, 4017, 1065, 7510,
6701, 2430, 5203, 0623, 3072, 0452, 2046, 7204, 0265, 2570, 7026, 4350, 6034, 3407,
5630, 0375, 0763, 4506, 7405, 0647, 5760, 3124, 1532, 6312, 2173, 4251, 1246, 2714,
6125, 2157, 7162, 5413, 3461, 7341, 3615, 5371, 1673, 1564, 4715, 1476, 7651, 4523,
6243, 3742, 5326, 5237, 2367, 5642, 4275, 6427, 2756, 3654, 3547, 4736, 7635, 6574}.
Let D = {d1 , d2 , . . . , dn } denote the distance spectrum of an (n, M, d) code, where di is the
number of occurrences of distance i between codewords. Obviously, di = 0 for i < d.
Theorem 5. Codes (4, 70, 2)PRF
given in Examples 1 and 2 are maximal PRF codes; i.e.,
8
M8PRF (4, 2) = 70.
Distance spectra of these code are as follows: D = {0, 234, 712, 1469} for Example 1 and D =
{0, 95, 900, 1420} for Example 2.
Proof. According to Corollary 4, these codes C have the maximum cardinality. Distance spectra
were computed directly. △
Code (4, 114, 2)PF
8
Lemma 7. In the space F48 there exist orbits of the group S4 mentioned in Table 2.
(s)
Proof. Lengths of the orbits result from (8). An element a for an orbit Oaaab can be chosen
arbitrarily. Thus, there are eight such orbits. Given any nonzero δ in the field F8 , there are four
(δ)
different pairs of elements a, b for which a + b = δ. Hence, there are four orbits Oaabb . △
Lemma 8. Given any nonzero s ∈ F8 , the distance between any two words of the set
is at least 2.
Proof. The set
7
a=0
(s)
7
a=0
(s)
Oaaab
Oaaab is embedded in a coset of a [4, 3, 2]8 RS code with generator (0, 0, 0, s). △
Lemma 9. For any set of nonzero elements δj ∈ F8 , the distance between any two words of the
(δj )
Oai ai bi bi is at least 2.
set
j i
Proof. The set
j i
(δ )
Oaijai bi bi is embedded in a [4, 3, 2]8 RS code. △
PROBLEMS OF INFORMATION TRANSMISSION Vol. 47 No. 4 2011
CODES FOR MIMO TRANSMISSION
319
Construction D. Write the nonzero elements of F8 as follows: {s1 , s2 , s3 , s4 , δ1 , δ2 , δ3 }. Let C
be a set of cardinality 70 obtained in Example 1. We construct four sets Tj of cardinality 8:
T1 =
7
b1,i ai ai ai ,
T2 =
ai =0
7
ai b2,i ai ai ,
T3 =
ai =0
7
ai ai b3,i ai ,
T4 =
ai =0
bj,i = ai + sj ,
j = 1, 2, 3, 4,
7
ai ai ai b4,i ,
ai =0
i = 0, 1, . . . , 7.
For every nonzero element δk , we write four elements {ak,1 , ak,2 , ak,3 , ak,4 } of the field for which
ak,u = ak,v + δk if u = v. Then we construct three sets Dk of cardinality 4:
Dk =
4
ak,h ak,h bk,h bk,h ,
bk,h = ak,h + δk ,
k = 1, 2, 3.
h=1
We will construct a (4, 114, 2)8 code U in the following way:
U =C∪
4
j=1
Tj ∪
3
Dk .
k=1
Theorem 6. (i) The code U of Construction D is a (4, 114, 2)PF
8 code.
(ii) We have the estimate
M8PF (4, 2) ≥ 114.
(17)
Proof. The code cardinality of 114 directly follows from the construction. The PF property is
based on Lemma 2. From Theorem 5 and Lemmas 8 and 9 we obtain the minimum distance of 2
inside the following subsets of the code: C, Tj , and
3
Dk .
k=1
The minimum distance of 2 between the subsets directly follows from their structure. In particular, since each word of the subset C contains no repeated elements, and words of Tj and Dk contain
only two different elements, the distance between C and Tj and between C and Dk is at least 2.
The distance between words of different subsets Tj , e.g., between words b1,i ai ai ai and ai b2,i ai ai ,
is also at least 2, even if the elements ai coincide. Finally, since sj = δk , sj , δk = 0, b1,i = ai + s1 ,
and bk,h = ak,h + δk , the distance between words of the subsets Tj and Dk , e.g., b1,i ai ai ai and
ak,h ak,h bk,h bk,h , is at least 2. Indeed, if bk,h = ai , then ak,h = ai and ak,h = bk,h + δk = ai + s1 = b1,i .
Existence of this code implies estimate (17). △
5. PRF CODE WITH SIGN MANIPULATION
Now we introduce one more coded modulation scheme, which is a modification of the proposed
PRF codes.
Let hi1 and hi2 denote distinct columns of an Hadamard matrix. Then we have the following:
•
The columns hi1 and −hi2 are orthogonal, and the squared Euclidean distance between them is
d2E (hi1 , −hi2 ) =
•
L
L 2
· 2 + · 02 = 2L.
2
2
The columns hi1 and −hi1 are not orthogonal, hTi1 × −hi1 = −L, and the squared Euclidean
distance between them is d2E (hi1 , −hi1 ) = L · 22 = 4L.
Choose some PRF code S, whose words are composed of columns of an Hadamard matrix (see
Section 3 for construction algorithms). Let the transmitted information be represented by a natural
number a ≤ |S| and a vector b = (b1 , . . . , bNT ), bi = ±1. Let us describe the encoding procedure.
PROBLEMS OF INFORMATION TRANSMISSION
Vol. 47 No. 4 2011
320
KRESHCHUK et al.
Choose a word S a ∈ S. The encoding result is the matrix
S ab = S a diag(b1 , . . . , bNT ).
We call the code S whose words are matrices S ab a PRF code with sign manipulation. This
code satisfies constraint (3), which can be proved analogously to the proof of Lemma 1. Here the
1
matrix H T S ab is composed of elements 0, 1, −1 and contains exactly one nonzero element in each
L
column.
Formally, the rate of a PRF code with sign manipulation can be greater than 1. The cardinality
of the code S is 2NT times as large as the cardinality of the original PRF code.
Note that if we change the decodability constraint (3) into a stricter one that secures the transmission if ∃j : aj = 0, then codes with rates above 1 cannot exist. This can easily be proved by
regarding this state of the channel as a usual SISO (single input, single output) channel.
Constructing PF codes with sign manipulation is also possible, but this is more complicated due
to impossibility of independent change of signs of identical columns.
6. DECODING
We use the maximum likelihood decoding technique. First, we compute the values of the likelihood function at all possible codewords S. Then we apply the map L and compute the likelihood
function for all codewords c. Thus we get a soft decoder.
Let us construct the likelihood function:
N
P(sti | αij , rjt ) =
T
P(sti | αij )
t
t
t
t
P(r
|
α
,
s
)
=
const
·
P
η
αij sti .
=
r
−
ij i
j
j
j
P(rjt | αij )
i=0
The probability density function is
⎛
2 ⎞
NT
t
t
αij si ⎟
⎜ rj −
f (sti | αij , rjt )
⎟
⎜
i=0
t
t
,
p(si | αij , rj ) = const · exp ⎜
⎟ = const · exp
⎠
⎝
2σ 2
2σ 2
f (sti | αij , rjt ) =
2
NR
NT
L
t
rt −
α
s
ij i .
j
j=0 t=0
(18)
i=0
As we have shown above, all columns of a PRF code are orthogonal; i.e.,
L
t=1
sti stj = Lδij , where δij
is the Kronecker operator. Therefore, we can use the approach described in [3] and rewrite (18) in
the following form:
f (sti | αij , rjt )
=
NT
L
i=0 t=0
⎛
2
NR
∗
t
t
⎝ s −
αij rj +
i
j=0
−1 +
NT
j=0
2
|αij |
⎞
|sti |2 ⎠
+ const.
Since sti are elements of an Hadamard matrix, we have |sti | = 1. The expression in the inner brackets
does not depend on sti , and the likelihood function takes the form
f (sti | αij , rjt )
2
NT
NR
L
t ∗ t
=
αij rj + const,
si −
i=0 t=0
(19)
j=0
where x∗ is the complex conjugation operator.
PROBLEMS OF INFORMATION TRANSMISSION Vol. 47 No. 4 2011
CODES FOR MIMO TRANSMISSION
321
T
Having applied the map L(sti ), we obtain the likelihood value f (c) for all elements of FN
L .
Moreover, for a PRF code we can compute the likelihood for any particular element of FL , i.e., for
each symbol of the codeword. This allows us to use efficient decoding methods developed for q-ary
symmetric channels that dot not take into account specific peculiarities of the data transmission.
Here we can use iterative error-correction algorithms, but we do not consider them in this paper.
In the case of PRF codes with sign manipulation, the above procedure changes only a little.
Equation (19) takes the form
f (sti , bi | αij , rjt )
2
NT
NR
L
t
∗ t
=
αij rj + const.
si bi −
i=0 t=0
(20)
j=0
7. ESTIMATION OF THE ERROR-CORRECTION CAPABILITY BY SIMULATION
To estimate the error-correction capability of the proposed coded modulation, we developed a
simulation model in MATLAB Simulink.
A channel was defined by equation (1). The signal-to-noise ratio varied from 0 to 30 dB with
step 1. The maximum likelihood decoding was utilized. We used NT = 4 transmitting antennas
and NR = 1, 2, 4 receiving antennas. The code length was L = 8. We tested two codes: a PF code
of cardinality 256 and a PRF code of cardinality 64. They are subcodes of codes obtained by the
greedy algorithm (Algorithm C): respectively, of a PF code of cardinality 281 and PRF code of
cardinality 70 (see Example 2 in Section 4.2). The rates of the PF code of cardinality 256 and PRF
code of cardinality 64 are 1 and 0.75, respectively. Simulation halted after reaching 1000 erroneous
bits or 1 000 000 code bits, whichever happens the first.
The obtained results are plotted in the figures below.
To simplify the analysis, we introduce the concept of effective diversity order. Recall that the
diversity order in a MIMO communication system is NR NT . The error-correction capability in a
MIMO communication system without coding that performs the maximum likelihood demodulation
is said to be optimal for a given diversity order. Codes that reach the optimal error-correction
capability are called optimal. If the error-correction capability of a code is equal to that of an
optimal code of diversity order D, we say that the effective diversity order of this code is D.
In Fig. 1, solid lines denote theoretical curves for optimal STBC (space-time block) codes given
in [3]. Their diversity orders are 1, 2, 4, 8, 16, from top to bottom. Stars denote simulation results
for PRF codes. From top to bottom: NR = 1, 2, 4 and, respectively, the diversity order is 4, 8, 16.
Let us estimate the effective diversity order of the PRF codes using the plot: for NR = 1 and
NR = 2 the effective diversity order of the PRF code is half the optimal. But for NR = 4, the
PRF code is optimal. Thus, we may conclude that the error-correction capability of the PRF codes
strongly depends on the number of receiving antennas and is in some cases optimal. The rate of the
PRF codes is below 1. The advantage of the PRF codes is existence of a construction algorithm for
any given L and NT .
In Fig. 2, stars denote simulation results for a PRF code, and triangles, for a PF code. From
top to bottom: NR = 1, 2, 4. The plot shows that the error-correction capability of the PRF code is
better than that of the PF code, but as the number of receiving antennas increases, this difference
becomes smaller.
The notation in Fig. 3 is the same as in the preceding plots. The effective diversity order of the
PF code is half the optimal. For NR = 4, it becomes a little greater. Thus, the error-correction
capability of the PF code is lower than the optimal, but the code has fast construction algorithms
for arbitrary values of L and NT .
PROBLEMS OF INFORMATION TRANSMISSION
Vol. 47 No. 4 2011
322
KRESHCHUK et al.
100
Bit error ratio
10−2
10−4
10−6
10−8
0
5
10
15
20
Signal-to-noise ratio per bit [dB]
25
30
Fig. 1. Simulation results: comparison of PRF and optimal codes.
100
10−1
Bit error ratio
10−2
10−3
10−4
10−5
10−6
10−7
10−8
0
5
10
15
20
Signal-to-noise ratio per bit [dB]
25
30
Fig. 2. Simulation results: comparison of PF and PRF codes.
Figure 4 shows a change in the error-correction capability of the PRF code when using sign
manipulation in the case of L = 8 and NR = 4. Stars denote simulation result for the PRF
code, and circles, for the PRF code with sign manipulation. The theoretical curve corresponds to
the diversity order of 16. The initial PRF code is constructed by Algorithm C and has the rate
of 3/4. Adding sign manipulation increases the code rate up to 5/4. Existence of codes with rates
above 1 is possible because of using several transmitting antennas and due to constraint (3). The
error-correction capability decreases with increasing code rate, and in the presented case the loss
amounts to 1 dB only. For other channel parameters, the loss was found to be higher: from 2 to 4 dB.
PROBLEMS OF INFORMATION TRANSMISSION Vol. 47 No. 4 2011
CODES FOR MIMO TRANSMISSION
10
323
0
10−1
Bit error ratio
10−2
10−3
10−4
10−5
10−6
10−7
0
5
10
15
20
Signal-to-noise ratio per bit [dB]
25
30
Fig. 3. Simulation results: comparison of PF and optimal codes.
100
10−1
Bit error ratio
10−2
10−3
10−4
10−5
10−6
10−7
10−8
0
5
10
Signal-to-noise ratio per bit [dB]
15
Fig. 4. Estimation of the error-correction capability of a PRF code with sign manipulation.
8. CONCLUSION
In this paper we proposed new coded modulation, which uses a system of orthogonal vectors
T
to pass to codes in the space FN
L . We stated a decodability constraint and proposed a PRF code
satisfying this constraint. Then we built a mathematical model for PF and PRF codes. With its aid,
we obtained some estimates for the cardinality of the codes and proposed construction algorithms
for them. We built PF and PRF codes of relatively high (in several cases, maximum) cardinality.
PROBLEMS OF INFORMATION TRANSMISSION
Vol. 47 No. 4 2011
324
KRESHCHUK et al.
In the Simulink environment, we conducted simulation for the proposed coded modulation scheme
in a Rayleigh channel which is quasi-stationary during transmission of one block, with a receiver
having exact knowledge on the channel state. The results showed the advantage of the PRF codes
over the PF codes, as well as high error-correction capability in the case of sufficiently many receiving
antennas.
APPENDIX
Subsets of the field F 2m with a fixed sum of elements. We use the notation of Sections 3.1
and 3.3. The field F2m is represented in the form (14).
Lemma 10. Consider the [2m − 1, 2m − 1 − m, 3]2 Hamming code.
(i) To each codeword of weight w, the following two RF subsets of the field F2m correspond :
RF
a (w, 0)RF
2m -subset consisting of nonzero elements and a (w + 1, 0)2m -subset containing the zero
element. There is a one-to-one correspondence between sets of all codewords of weights w and w − 1
and all (w, 0)RF
2m -subsets.
(ii) Consider a coset of the code with a syndrome s = 0. To each word of weight w of the coset,
the following two RF subsets of F2m correspond : a (w, s)RF
2m -subset consisting of nonzero elements
RF
and a (w+1, s)2m -subset containing the zero element. There is a one-to-one correspondence between
sets of all words of weights w and w − 1 in the coset and all (w, s)RF
2m -subsets.
Proof. The parity-check matrix of the code consists of all different nonzero binary m-position
columns, which can be treated as elements of the field F2m according to (14). The zero column (not
contained in the matrix) corresponds to the zero element of F2m .
(i) Every codeword of weight w corresponds to a set of w different nonzero columns whose sum
is the zero column. One can add the zero column to the w-set to obtain a set of w + 1 different
columns with zero sum.
(ii) Consider a coset of the code with a nonzero m-position syndrome column, which can be
treated as a nonzero element s of F2m . Every word of weight w of the coset corresponds to a set of
w different nonzero columns whose sum is s. One can add the zero column to the w-set to obtain
a set of w + 1 different columns with sum s.
By the construction, the correspondence between words and column sets specified in (i) and (ii)
is one-to-one. △
Corollary 6. Let 3 ≤ w ≤ 2m − 1.
(i) We have
(0)
Nw,2m = Aw−1,2m + Aw,2m .
(21)
(s)
(ii) For s = 0, the value Nw,2m does not depend on s. We have
(s)
Nw,2m = Aw−1,2m + Aw,2m ,
s = 0.
(22)
Proof. Relations (21) and (22) follow from Lemma 10. Note also that all cosets of a binary
Hamming code have the same weight spectrum [10, Section 6.6]. △
(s)
To compute the values Nw,2m by formulas (21) and (22), the following known relations for the
weight spectrum of the binary [2m − 1, 2m − 1 − m, 3]2 Hamming code and its coset [10] are useful:
A0,2m = A2m −1,2m = 1,
A3,2m =
1 2m − 1
,
3
2
A1,2m = A2,2m = A2m −3,2m = A2m −2,2m = 0,
A4,2m =
2m − 1
2m − 4 2m − 1
1
= m
,
3·4
2 −3
2
4
(23)
(24)
PROBLEMS OF INFORMATION TRANSMISSION Vol. 47 No. 4 2011
CODES FOR MIMO TRANSMISSION
2m − 1
,
w−1
wAw,2m + Aw−1,2m + (2m − w + 1)Aw−2,2m =
Aw,2m =
325
(25)
2m − 1
− Aw,2m .
w
1
2m − 1
(26)
From (23)–(26) it follows that
A0,2m = A2m −1,2m = 0,
A3,2m =
A2,2m = A2m −3,2m = 2m−1 − 1,
A1,2m = A2m −2,2m = 1,
(2m
−
4)(2m−1
3
− 1)
,
A4,2m =
(2m−1
1)(2m
−
3·4
−
4)2
.
(27)
(28)
Lemma 11. We have the following equalities:
(0)
(0)
(0)
(s)
(0)
(s)
(s)
N1,2m = N2m ,2m = N2m −1,2m = N1,2m = N2m −1,2m = 1,
(0)
N2,2m = N2m −2,2m = N2m ,2m = 0,
(s)
(s)
N2,2m = N2m −2,2m = 2m−1 ,
s = 0,
s = 0,
(29)
s = 0.
Proof. Use relations (23) and (27) and the following facts: the sum of all elements of a filed is
zero; the sum of two different elements of F2m is nonzero. △
Lemma 12. Let n ≤ 2m . For all s = 0, 1, . . . , 2m − 1, let all possible (n, s)RF
2m -subsets of F2m
-subset
in
an
arbitrary order,
be constructed by the methods of Lemma 10. Arrange each (n, s)RF
2m
RF
n
transforming it into an (n, s)2m -vector of F2m . Then for a fixed s, all the obtained (n, s)RF
2m -vectors
(s)
PRF
form an (n, Nn,2m , 2)2m code embedded in either the [n, n − 1, 2]2m RS code (if s = 0) or a coset
of this code with syndrome s = 0.
Proof. Use Lemma 5. Note also that minimum distance of any coset of an [n, n − 1, 2]2m RS
code is 2. △
Lemma 13. Consider the field F2m and quadruples {a, b, c, d} of different field elements with
zero sum, a + b + c + d = 0. Then
(0)
(i) In total there are N4,2m quadruples, where
(0)
N4,2m =
1 2m
.
4 3
(ii)
Each element
of the field F2m is contained in
1
2m − 1
4
2m − 3
quadruples.
1 2m − 1
quadruples and is not contained in
2
3
m−1 − 1 quadruples and
(iii) Each pair a, b of elements
the field is completely contained in 2
m of
1 2 −1
has no intersection with
(2m−2 − 2) + 2m−1 − 1 quadruples. Furthermore, there are
2
3
1 m
(2 − 2)(2m − 4) quadruples that contain a but do not contain b.
6
Proof. (i) This follows from (21) and (24).
(ii) Fix an element a. To obtain a quadruple with zero sum,
two of three elements b, c, d
m only
2 −1
can be taken arbitrarily. The number of ways to choose is
. Furthermore, one and the
2
1 2m − 1
same quadruple can be obtained in three ways.
quadruples with zero sum
exactly 3
Thus,
2
1 2m − 1
(0)
quadruples do not contain this element.
contain the element a. The other N4,2m −
2
3
PROBLEMS OF INFORMATION TRANSMISSION
Vol. 47 No. 4 2011
326
KRESHCHUK et al.
(iii) Fix elements a and b. Only one of two elements c, d can be taken arbitrarily to obtain a
quadruple with zero sum. The number of ways to choose is 2m − 2. Here the same quadruple is
obtained in two ways. Thus, exactly 2m−1 − 1 quadruples
with zero sum contain the pair a, b.
1 2m − 1
2
3
By the above, the element a is contained in
1 2m − 1
quadruples, 2m−1 − 1 of which contain
− (2m−1 − 1) quadruples that contain a but do not
also the element b. Hence, there are
2
3
contain b.
The remaining situation (i.e., no intersection) takes place for
(0)
N4,2m
m
1 2 −1
m−1
−2
− (2
− 1) − (2m−1 − 1)
2
3
quadruples. △
Lemma 14. Consider the field F2m and quadruples {a, b, c, d} of different field elements with a
(s)
nonzero sum a + b + c + d = s. In total there are N4,2m such quadruples, where
(s)
N4,2m =
2m (2m−2 − 1)(2m−1 − 1)
,
3
s = 0.
Proof. This follows from (22) and (28). △
The authors are grateful to a reviewer for helpful comments.
REFERENCES
1. Proakis, J.G., Digital Communications, New York: McGraw-Hill, 1995, 3rd ed. Translated under the
title Tsifrovaya svyaz’, Moscow: Radio i Svyaz’, 2000.
2. Alamouti, S.M,. A Simple Transmit Diversity Technique for Wireless Communications, IEEE J. Select.
Areas Commun., 1998, vol. 16, no. 8, pp. 1451–1458.
3. Tarokh, V., Jafarkhani, H., and Calderbank, A.R., Space-Time Block Codes from Orthogonal Designs,
IEEE Trans. Inform. Theory, 1999, vol. 45, no. 5, pp. 1456–1467.
4. Gesbert, D., Shafi, M., Shiu, D., Smith, P.J., and Naguib, A., From Theory to Practice: An Overview
of MIMO Space-Time Coded Wireless Systems, IEEE J. Select. Areas Commun., 2003, vol. 21, no. 3,
pp. 281–302.
5. Lusina, P.J., Algerbaic Designs of Space Time Codes, PhD Thesis, Ulm, Germany: Univ. of Ulm, 2003.
6. Jafarkhani, H., Space-Time Coding: Theory and Practice, Cambridge: Cambridge Univ. Press, 2005.
7. Kreschuk, A.A., Code Construction for MIMO Systems Based on a Subset of Rows of an Hadamard
Matrix, in Proc. Conf. of Young Scientists and Engineers on Information Technologies and Systems
(ITaS’10), Gelendzhik, Russia, 2010, Moscow: Inst. Probl. Peredachi Inf. Ross. Akad. Nauk, 2010,
pp. 104–107.
8. Davydov, A.A., Zyablov, V.V., and Kalimullin, R.E., Subcodes of Reed–Solomon Code with Special
Properties, in Proc. 12th Int. Workshop on Algebraic and Combinatorial Coding Theory (ACCT’2010),
Novosibirsk, Russia, 2010, pp. 116–122.
9. Davydov, A.A., Zyablov, V.V., and Kalimullin, R.E., Special Sequences as Subcodes of Reed-Solomon
Codes, Probl. Peredachi Inf., 2010, vol. 46, no. 4, pp. 56–82 [Probl. Inf. Trans. (Engl. Transl.), 2010,
vol. 46, no. 4, pp. 321–345].
10. MacWilliams, F.J. and Sloane, N.J.A., The Theory of Error-Correcting Codes, Amsterdam: NorthHolland, 1977. Translated under the title Teoriya kodov, ispravlyayushchikh oshibki, Moscow: Svyaz’,
1979.
PROBLEMS OF INFORMATION TRANSMISSION Vol. 47 No. 4 2011