Academia.eduAcademia.edu

Codes for MIMO transmission based on orthogonal sequences

2011, Problems of Information Transmission

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.

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