Page: 1
- 12th, May, 2014
1155002056 12th, May, 2014 LI, Xialu - - PDF document
1155002056 12th, May, 2014 LI, Xialu
Page: 1
Physical-Layer Network Coding (PNC) [1] published in 2006 started an almost evolutionary boom in the study of MIMO system in the communication filed. Different from the conventional viewpoint of referring interference as noise, PNC firstly adapted the idea of network coding and interpret the signal interference as a kind of operation on physical layer. This simple but effective idea provided the hope1 to double the transmission rate with following demonstrative scheme. Figure 1: Physical Layer Network Coding Further generalization [2] yielded the famous compute-and-forward model (as demonstrated in 1) as an more precise description of network coding applied on multi-relay (three or more) MIMO communication. Figure 2: Compute and Forward Model with Lattice Decoding
1Two reasons for saying “hope”: 1.
This research was done based on an information theoretical point of view; 2. The transmission scheme followed required multiple assumptions including symmetric condition and transmission simultaneity.
1
The information theoretical work was quickly followed by constructive research [3] entitled as “Algebraic Approach”, which applied lattice decoding from early MIMO research [4, 5]. The basic coding-and-decoding scheme, also referred as lattice network coding, is demonstrated below. Figure 3: Lattice Network Coding The coding scheme, originally based on complex lattice over Gaussian Integer (i.e. Z [i]), tries to decode the mixed channel output (y as in above) back to a linear combination of the source messages (i.e. u = N
i=1 aiwi), where the coefficients {ai : i = 1, · · · , N} are chosen from the fine lattice Λ, and the messages
{wi : i = 1, · · · , N} are chosen from the quotient ring Λ/Λ′. The subring Λ′ < Λ can be carefully chosen so that Λ/Λ′ ∼ = Fk
q for some k and q. This made lattice coding a perfect choice for LNC. Moreover, the efficiency
precisely, to minimize the error probability is equivalent to find the coefficients a1, a2, · · · , aN to minimize
N
aixi where (xi, i = 1, 2, · · · , N) are predetermined by the channel. Above problem is in general referred as “Closet Vector Problem”, and was carefully and systematically studied in 1970s[6]. As a result, LLL Algorithm2 was introduced as an estimate polynomial-time algorithm for lattice reduction. Note that the form N
i=1 aixi is actually an lattice point generated by {x1, x2, · · · , xN}
case{x1, x2, · · · , xN} are always complex. To overcome the problem, a simple adaptation is to change the basis as {ℜ (xi) ⊕ ℑ (xi)} ∪ {ℜ (xi) ⊖ ℑ (xi)}, i.e. for each input matrix X = (x1, x2, · · · , xN)T , generate a new input H =
ℑ (X) −ℑ (X) ℜ (X)
to solve the problem, which did greatly lower the complexity [7]. The most recent work generalized the lattice network coding to be based on Eisenstein Integer Z [ω] (ω = 1
2 + √ 3 2 i) [8], i.e. the fine lattice Λ and coarse lattice Λ′ are Z [ω]-lattice. There are multiple reasons
for replacing Z [i] by Z [ω]. One of the most appealing one is that F4 is representable under Z [ω], whereas the largest representable even-sized field for Z [i] is only F2. The new work requires the lattice reduction
problem over any PID, the LLL over Eisenstein integer has never won a specific research, especially in engineering sense. Moreover, simulations to compare Gaussian integer based and Eisenstein integer based lattice decoding hasn’t be seen in large dimension (i.e. L > 2 in 1), which gives us further motivation to theoretically study and practically implement LLL over Eisenstein integer. In the rest of this report, preliminary knowledge and the original version of LLL algorithm will be shown followed by a detailed study of LLL algorithm over complex case (Z [i] and Z [ω]). Lattice network coding, especially its error performance shall be studied as an application of LLL algorithm afterward. Acknowledgments and references can be found at last.
2Named after mathematician Lenstra, Lenstra and Lovász, for their invention of this algorithm.
2
As an theoretically project, most part of the job were done by the whole group of two people in forms of
and the design of the MATLAB simulation program of LLL time estimation and LNC error simulation.
Z the domain of integers Q the field of rational numbers R the field of real numbers C the field of complex numbers Definition 1. A group G, ⋆ is a set G, closed under a binary operation ⋆, such that the following axiom are satisfied: G1: For all a, b, c ∈ G, we have (a ⋆ b) ⋆ c = a ⋆ (b ⋆ c) (associativity of ⋆); G2: There is an element e in G such that for all x ∈ G, e ⋆ x = x ⋆ e = x (existence of identity element under ⋆); G3: Corresponding to each a ∈ G, there is an element a′ ∈ G such that a ⋆ a′ = a′ ⋆ a = e (existence of inverse). Definition 2. A group G is abelian if its binary operation is commutative. Definition 3. A ring < R, +, · > is a set R together with two binary operation + and ·, which we call addition and multiplication, defined on R such that the following three axioms are satisfied: R1: < R, + > is an abelian group. R2: Multiplication is associative. R3: ∀a, b, c ∈ R, the left distributive lawa · (b + c) = (a · b) + (a · c) and right distributive law (a + b) · c = (a · c) + (b · c) hold. Definition 4. We’d like to recall the principle ideal domain based on the concept of ring.
divisors) (a) An integral domain D is a commutative ring with unity 1 = 0 and containing no divisors of 0. (b) An additive subgroupN of a ring R satisfying aN ⊆ N and Nb ⊆ N is called an ideal of R. (c) If R is a commutative ring with unity and a ∈ R, the ideal aR = {ar|r ∈ R} of all multiples of a is the principal ideal generated by a and is denoted by < a >. An ideal N of R is a principal idea if N =< a > for some a ∈ R. (d) An integral domain D is a principal ideal domain (abbreviated PID) if every ideal in D is a principal ideal. (e) R ⊂ C is a principal ideal domain (PID) if it is a commutative ring such that
Example 1. The ring of integers Z is a principal ideal domain. 3
Definition 5. Let R ⊂ Rn (Cn) be a principal ideal domain and N ≤ n be a positive integer. A subset Λ
i.e.
(a) Λ = {N
j=1 rjzj : rj ∈ R (C) ∀j} for some vectors z1, · · · , zN ∈ Λ linearly independent.
Definition 6. In this caseΛ is said to be generated by z1, · · · , zN and {z1, · · · , zN} is a basis of Λ . A subset Λ′ ⊂ Λ is a sublattice of Λ if it is an lattice itself. Note that through out the report, we only consider R to be discrete. More precisely, R could be Z in real case, and Z [i] or Z [ω] in complex case. Definition 7. (Determinant of an lattice and kth Gram determinant) Let 1 ≤ k ≤ N ≤ n, and Λ is a lattice generated by linearly independent row vectors z1, · · · , zN. Write L = [zt
1, zt 2, · · · , zt N]t the determinant of the lattice Λ is defined as
det (Λ) =
Remark 1. The determinant of an lattice is independent of the choice of basis. Definition 8. (Gram-Schmidt Orthogonalization (GSO)) Let x1, x2, · · · , xn be a basis of Rn or Cn. The Gram-Schmidt Orthogonalization (GSO) of x1, x2, · · · , xn is the following basis x⋆
1, x⋆ 2, · · · , x⋆ n:
x⋆
1
= x1 x⋆
i
= xi − i−1
j=1 μijx⋆ j
, μij =
xi·x⋆
j
x⋆
j ·x⋆ j
(1 j < i n) . Proposition 1. Let x1, x2, · · · , xn be a basis of Rnor C, and let x⋆
1, x⋆ 2, · · · , x⋆ n be its GSO. Let L be the
lattice generated by x1, x2, · · · , xn. For any nonzero y ∈ L, we have |y| min {|x⋆
i | : i = 1, · · · , n} .
Definition 9. Let x1, x2, · · · , xn be a basis of a lattice Λ, and let X be the n × n matrix with xi in row i for 1 ≤ i ≤ n. For 1 ≤ k ≤ n, let Xk be the k × n matrix consisting of the first k rows of X. The kth Gram matrix of Λ is the k × k symmetric matrix Gk = XkXt
k
The kth Gram determinant of this basis is dk = det(Gk) For convenience we set d0 = 1. Proposition 2. Let x1, x2, · · · , xn be a basis of a lattice Λ, and let x⋆
1, x⋆ 2, · · · , x⋆ n be its GSO. For
1 k n the k−th Gram determinant of the basis is the product of the square-lengths of the GSO vectors: dk = Πk
i=1 |x⋆ i |2 .
Definition 10. (α-Reduced lattice basis) Let l1, l2, · · · , ln be a basis of a lattice Λ, and let x⋆
1, x⋆ 2, · · · , x⋆ n be its GSO. The basis l1, l2, · · · , ln
is called α−reduced (or LLL-reduced with parameter α) if
2 for 1 j < i n,
(a)
i + μi,i−1x⋆ i−1
i−1
4
Definition 11. Here, μij is the GSO coefficient mentioned in 8, and α ∈ 1
4, 1
parameter, and β =
4 4α−1 is called the auxiliary parameter.
Proposition 3. Let x1, x2, · · · , xn be a basis of Rn, and let x⋆
1, x⋆ 2, · · · , x⋆ n be its GSO. Let j be in range
1 j n − 1, and let x1, x2, · · · , xn be the new basis obtained by exchanging xj and xj+1:
(i = j, j + 1) . Let x⋆
1,
x⋆
2, · · · ,
x⋆
n be the GSO the new basis. Then
x⋆
i = x⋆ i for i = j, j + 1 but
j = x⋆ j+1 + μj+1,jx⋆ j,
j+1 = |x⋆
j+1| 2
|x⋆
j| 2 x⋆
j − μj+1,j |x⋆
j| 2
|x⋆
j| 2 x⋆
j+1 .
The LLL algorithm is a well-known algorithm to find a reduced lattice basis given a basis for high dimensional
the nature of the algorithm. For impatient readers, please jump to the algorithm directly. Note that, in this section, only real lattice will be considered, i.e. the lattice for consideration (i.e. the lattice where a new reduced basis is wanted) is L = K
i=1 rili : ri ∈ Z
linearly independent.
The LLL algorithm first rose up in the question of finding integral points in triangles, where the later simple question is believed to underlies many engineering applications. A first intuition would convert this problem into finding a more or most (if can be defined) “regular” basis of the lattice given by the triangle, as illustrated below: The picture on left hand-side is actually isomorphic to the one on the right except the space is distorted with the basis change to a relevant perpendicular and short pair of the lattice (generated by − → OA and − − → OB). The process of finding such basis of an lattice out of an old basis is called the “Lattice Reduction” on the basis. In summary the “Lattice Reduction” means to pursuit a basis {v1, v2, · · · , vK} of the lattice L, s.t.
2.
vi, vj |vi|·|vi| are relatively large for all i = j.
The simplest version of above problem is for two vectors, in which case, the famous Gaussian algorithm terminates at finding the shortest vector in the lattice over Z generated by the two given vectors. 5
Algorithm 1. Gaussian Algorithm Input: A basis {x1, , x2} of a 2-dimensional lattice L over ring R, where ||x1|| ≤ ||x2||. Output: A basis {v1, , v2}of lattice Lwhere v1is the shortest nonzero vector inLand v2is the shortest nonzero vector in L/{βv1 : β ∈R}. Procedure (x1, , x2): Set v1 = x1and v2 = x2, finish_label=0 Algorithm 2. while finish_label = 0 do
2 = v2−DR(v1vt 2/||v1||2)v1
(a) if ||v′
2|| ≤ ||v1|| thenv2 := v1 and v1 := v′ 2 else v2 := v′ 2and finish_label=1.
end while Algorithm 3. whereDR(x) = y if y ∈ R such that y minimizes ||x − y||. If we extend the algorithm for the simple two independent vectors case to three independent vectors case, it is very natural to apply Gaussian algorithm to the the first two vectors and get two new vectors. Suppose the three vectors are x1, , x2, x3and after applying Gaussian algorithm to x1, , x2, we get v1, , v2, , x3. We reduce the length of x3projected on Span{x1, , x2}by a similar step of step 1 in Gaussian algorithm, and then decide whether to exchange the updated x3and v2 by some criteria. If there is an exchange of x3and v2, then reduce the length of x3projected onv1 and then compare x3andv1to decide whether to exchange them again. In this way, we get a set of reduced lattice basis of three vectors. The original LLL algorithm for lattice in Rnover Z is using a similar idea. Algorithm 4. LLL Algorithm Input: A basis x1, x2, · · · , xn of the lattice L ⊂ Rn over Z, and a reduction parameter α ∈ 1
4, 1
Output: An α−reduced basis y1, y2, · · · , yn of lattice L. Variables with meaning: (We’ll keep updating to ensure the correspondence of below “meanings”s)
Note that initially Y = X = [x1, x2, · · · , xn]t. – Y ⋆ = [y⋆
1, y⋆ 2, · · · , y⋆ n]t is the matrix containing the GSO result of Y , i.e. y⋆ i = yi − i−1 j=1 μijy⋆ j
where μij =
yi·y⋆
j
|y⋆
j| 2 .
– M = [μij] is an n × n matrix where μii = 1 for all i and μij = 0 for all j > i. Then Y ⋆ = M · Y – γ⋆
i = |y⋆ i |2 for all i
Algorithm 5. Procedure reduce (k, l): (l < k) If |μkl| > 1
2 theny1, y2, · · · , yn
(a) yk ← yk − K · yl; (b) Subtract K times of row l from row k in matrix M = (μij) Algorithm 6. Procedure exchange (k): (k > 1)
(a) By 3, we have y⋆
k ← y⋆ k, y⋆ k−1 ← y⋆ k−1 and
y⋆
k−1 ← y⋆ k + μk,k−1y⋆ k−1
y⋆
k ←
μk,k−1 · γ⋆
k−1
γ⋆
k + (μk,k−1)2 · γ⋆ k−1
· y⋆
k +
γ⋆
k
γ⋆
k + (μk,k−1)2 · γ⋆ k−1
y⋆
k−1
6
(b) Update M as: (Note that all variables on the RHS are old values, they are first stored then used for calculation)
μk,k−1·γ⋆
k−1
γ⋆
k+(μk,k−1)2·γ⋆ k−1 , μk,k ← 1;
μi,k ←
μk,k−1·γ⋆
k−1
γ⋆
k+(μk,k−1)2·γ⋆ k−1 · μi,k +
γ⋆
k
γ⋆
k+(μk,k−1)2·γ⋆ k−1 · μi,k−1;
(c) Update γ⋆ as: (Note that all variables on the RHS are old values, they are first stored then used for calculation)
k ←
k−1
γ⋆
k+(μk,k−1)2·γ⋆ k−1
2 γ⋆
k +
k
γ⋆
k+(μk,k−1)2·γ⋆ k−1
2 γ⋆
k−1;
k−1 ← γ⋆ k + μ2 k,k−1γ⋆ k−1.
Algorithm 7. Main Procedure:
(a) GSO: Y ⋆ = MY ; (b) Set k ← 2 (c) While k n do:
k
k,k−1
k−1 then
else
For 2 ≤ k ≤ n, at the kth stage of the main procedure, we assume that we have obtained an α−reduced basis of the first k-1 vectors. Consider the first k-1updated vectors in reduced form with the kth vector xk. First reduce the length of the vector yk = xkprojected on Span{y1, , y2, · · · , yk−1} by reduce(k, k − 1). Then decide whether to exchange yk−1 and yk by the criteria of step 4b in the main procedure, i.e. checking condition γ⋆
k
k,k−1
k−1 . If we do need to change, then we will exchange the two vectors and do
the previous reduce procedure and exchange procedure on the set {y1, , y2, · · · , yk−1} . We keep reducing the length of the the kth vector xk of the input and comparing it with the vector ahead of it until no exchange
We extend the α−reduced basis set by adding one vector each time. Finally, that set will be extended to be an α−reduced basis y1, y2, · · · , yn of lattice L. Theorem 1. LLL Theorem If x1, x2, · · · , xn is an α−reduced basis of the lattice L in Rn, and y ∈ L is any nonzero lattice vector, then |x1| ≤ β(n−1)/2|y| where β =
4 4α−1
In particular, the first vector in the α−reduced basis is no longer than β(n−1)/2 times the shortest nonzero vector in L.
7
Closest Vector Problem (CVP) is an optimization problem on lattices. As its name suggests, it is a problem of finding the vector in a lattice closest to a certain vector v given a basis for the lattice and a norm
find the shortest vector in a lattice i.e. the vector closest to zero vector in a lattice. LLL algorithm helps to approximately find the shortest vector in the lattice and the first vector in the α−reduced basis is guarantee to be not far from the real shortest vector in the lattice.
Theorem 2. (Termination Theorem) The total number of passes through the loop in Step (4) of the main procedure is at most −2 log B log α n (n − 1) + (n − 1) Remark 2. For fixed α, the number of loops performed by the LLL algorithm is O
Using exactly same concept, and same intuition, the LLL algorithm introduced in last section can be gen- eralized to complex case, where the processed vectors are in C, and the underlying PID is chosen to be either Z [i] or Z [ω]. i.e. considering lattice Λ = K
i=1 rili
ri ∈ Z [ω] = {a + bω : a, b ∈ Z}, and {l1, l2, · · · , lK} ⊂ Cn linearly independent. (Note that ω = 1
2 + √ 3 2 i.)
Keeping the note that the concept and even the notations of the algorithm can be easily extended to complex case, the main frame of the algorithm can be kept, and as a result following is an “nature” update: Algorithm 8. (Recall) Main Frame of LLL Algorithm
(a) GSO: Y ⋆ = MY ; (b) Set k ← 2 (c) While k n do:
k
k,k−1
k−1 then
else
To verify and update above algorithm for complex version, three things need to be checked and update:
k,k−1 > 0 after reduce (k, k − 1).
8
4.1.1 Complex sub-routing exchange(k) The functionality of this procedure is to exchange the order of the basis by switching ykand yk−1, briefly as below:
The detailed processing is just the result of 3, i.e. after switching y⋆
i = y⋆ i for i = j, j + 1 but
j = y⋆ j+1 + μj+1,jy⋆ j,
j+1 = |y⋆
j+1| 2
|y⋆
j| 2 y⋆
j − μj+1,j |y⋆
j| 2
|y⋆
j| 2 y⋆
j+1 .
Luckily, above result could easily be verified on complex environment, which means that the exchange sub-routing need not to be updated for complex environment. However, since it’s trivial and tedious, please refer appendix for detailed verification. 4.1.2 Complex sub-routing reduce(k, l) The functionality of this procedure is to cancel out integral multiple of yl out of yk such that the component
l can be minimized. The process is briefly as below: (below is an general version)
y⋆
l can be minimized then
(a) yk ← yk − K · yl; (b) Subtract K times of row l from row k in matrix M = (μij) (we actually do this by changing μks ← μks − μls for all s). However, we do have different concept on “nearest integer” for Z, Z [i] , Z [ω]: Nearest Integer Example Picture illustration Z a → ⌊a⌉ 5.6 → 6 Z [i] a + bi → ⌊a⌉ + ⌊b⌉ i 5.4 + 0.7i → 5 + i Z [ω] a + bi →
2
√ 3b 3
√ 3b 3
5.4 + 0.7i → 6 + ω Thus, we’ll need to change the sub-routing reduce(k, l)to fit the scenario, detailed as below:
If |ℜ (μkl)| > 1
2 or |ℑ (μkl)| > 1 2
(a) yk ← yk − K · yl; (b) Subtract K times of row l from row k in matrix M = (μij) (we actually do this by changing μks ← μks − μls for all s).
If 1
2 · |ℜ (μkl)| + √ 3 2 |ℑ (μkl)| > 1 2 or |ℜ (μkl)| > 1 2
(a) K =
2
√ 3ℑ(μkl) 3
√ 3ℑ(μkl) 3
μks ← μks − μls for all s). 9
I’s easy to see that the range of GSO coefficient (i.e. μkl) after we call the procedure reduce(k, l) under different cases: Case Range Norm range Z
2, 1 2
2
2, 1 2
2, 1 2
√ 2 2
1 2 · |ℜ (μkl)| + √ 3 2 |ℑ (μkl)| 1 2 or |ℜ (μkl)| 1 2
√ 3 3
k,k−1 1 2 for Gaussian Integer LLL Algorithm. Hence, we
have Case Range of LLL Reduction Parameter α Z 1
4, 1
1
2, 1
1
3, 1
Theorem 3. (Generalized LLL Theorem) If x1, x2, · · · , xn is an α−reduced basis of the lattice L, and y ∈ L is any nonzero lattice vector, then |x1| β(n−1)/2 |y| . Where β = 4 4α − 1 in case of Real LLL β = 3 3α − 1 in case of Z [ω]-LLL β = 2 2α − 1 in case of Z [i]-LLL In particular, the first vector in the α−reduced basis is no longer than β(n−1)/2 times the shortest nonzero vector in L.
|x⋆
i |2
i,i−1
x⋆
i−1
According to section 4.2, we have Above ⎧ ⎪ ⎨ ⎪ ⎩
4
x⋆
i−1
in case of Real LLL
3
x⋆
i−1
in case of Z [ω]-LLL
2
x⋆
i−1
in case of Z [i]-LLL Let β = ⎧ ⎪ ⎨ ⎪ ⎩
4 4α−1
in case of Real LLL
3 3α−1
in case of Z [ω]-LLL
2 2α−1
in case of Z [i]-LLL we have |x⋆
i |2 1
β
i−1
Since x⋆
1 = x1, we have
|x1|2 = |x⋆
1|2 β |x⋆ 2|2 β2 |x⋆ 3|2 βn−1 |x⋆ n|2
10
Hence for 1 i n, we have |x⋆
i |2 β−(i−1) |x1|2
By 1, we have for any y ∈ L, we have |y| min {|x⋆
i | : i = 1, · · · , n} β(n−1)/2 |x1|
Lemma 1. During the calls to reduce (k, l) in the LLL algorithm, the Gram determinants di do not change. During the calls to exchange (k), the Gram determinants di do not change for i = k − 1, but dk−1 change to a new value d′
k−1 αdk−1, where α is the reduction parameter.
di = Πi
j=1
j
since y⋆
j remains untouched in procedure reduce for all j, we are sure the Gram determinants do not change
in this case. Note that exchange (k) only reordered y1, y2, · · · , yn by exchanging the k−th and (k − 1) −th elements. Hence, Gl for l < k − 1 remains untouched, and Gl for l > k − 1 experienced an exchange of row and an exchange of column. Therefore, dl = det (Gl) remains unchanged for l = k − 1. Now let y⋆
l and z⋆ l denote the orthogonal basis before and after exchange (k), where l = 1, 2, · · · , n.
d′
k−1
= Πk−1
j=1
j
=
k−1
j=1
j
Since, z⋆
k−1 = y⋆ k + μk,k−1y⋆ k−1 and γ⋆ k <
k,k−1
k−1, we have
k−1
= γ⋆
k + μ2 k,k−1 · γ⋆ k−1
<
k,k−1
k−1 + μ2 k,k−1 · γ⋆ k−1
= αγ⋆
k−1
= α
k−1
Hence, d′
k−1
=
k−1
j=1
j
< α
k−1
j=1
j
= α
k−1
j=1
j
= α · Πk−1
j=1
j
= α · dk−1 This finished proof. Lemma 2. Let E denote the total number of calls to exchange performed through the LLL algorithm, then E −log B log α n (n − 1) ans thus the algorithm does terminate, and therefore is correct.
k=1dk to be the multiplication of all Gram determinant. In particular, denote D0 for
the value of D at the beginning of the algorithm. Then
11
Case Time Accuracy Z-LLL − 2 log B
log α n (n − 1) + (n − 1)
|x1| β(n−1)/2 |y| where β =
4 4α−1
Z [i]-LLL |x1| β(n−1)/2 |y|where β =
2 2α−1
Z [ω]-LLL |x1| β(n−1)/2 |y|where β =
3 3α−1
Table 1: Speed and Accuracy of different LLL in theory
D0 = Πn−1
k=1dk
= Πn−1
k=1Πk l=1 |x⋆ l |2
=
1|2
|x⋆
1|2 |x⋆ 2|2
· · ·
1|2 |x⋆ 2|2 · · ·
n−1
B2B2 · · ·
= Bn(n−1) Note that by lemma 1, each call to exchange will decrease D to or lower than αD. However, D is always a positive integer. Hence, 1 αED0 ∴ α−E D0 Bn(n−1) ∴ −E log α n (n − 1) log B ∴ E − log B
log α n (n − 1) since 0 < α < 1 ⇒ − log α > 0
Theorem 4. (Termination Theorem for Complex Version LLL) The total number of passes through the loop in Step (4) of the main procedure is at most −2 log B log α n (n − 1) + (n − 1)
Still, let E denote the total number of calls to exchange performed through the LLL algorithm. Also, let E′ denote the number of (b) (i) (ii) in 8 (i.e. the opposite branch flow) performed. Then, N = E + E′ Note that for each one in E, k will decrease by 1 and for each one in E′ k will increase by 1. Hence, klast − kinitial = n + 1 − 2 = n − 1 = E′ − E ∴ E′ = E + (n − 1) ∴ N = E + E′ = 2E + (n − 1) = − 2 log B
log α n (n − 1) + (n − 1)
As a summary, we have following table
For Z [i]-LLL (Gaussian) to have same accuracy with Z [ω]-LLL (Eisenstein) in theory, we need
3 3αE−1 = 2 2αG−1. Here we use αG and αH to denote the LLL-reduced parameter for Gaussian and Eisenstein case
1
2, 1
1
3, 1
αG ∈ 1
2, 1
1
3, 5 6
Hence, Time for Z [ω] -LLL Time for Z [i] -LLL = − 2 log B
log αE
− 2 log B
log αG
= log αG log αE = log
6
and it is plotted as follows: 12
Figure 4: Theoretical Comparison Between Z [ω]-LLL and Z [i]-LLL: Same Accuracy, compare time
For Z [i]-LLL (Gaussian) to have same speed with Z [ω]-LLL (Eisenstein) in theory, we need αG = αH, where αG and αH are defined as before, in last subsection. Then, we have Accuracy for Z [ω] -LLL Accuracy for Z [i] -LLL =
3α−1
(n−1)/2
4α−1
(n−1)/2 = 12α − 3 12α − 4 (n−1)/2 and it is plotted as follows: Figure 5: Theoretical Comparison: Same time, compare Accuracy with n = 3 13
Figure 6: Theoretical Comparison: Same time, compare Accuracy with n = 10
Through the theoretical result seems to be inspiring, the simulation result suggest that LLL on Gaussian Integer and on Eisenstein Integer have similar complexity. However, the original LLL cannot process complex
H =
ℑ (X) −ℑ (X) ℜ (X)
Figure 7: Time Consumption Simulation with fixed α = 0.75 and different dimension N 14
Figure 8: Time Consumption Simulation with fixed N = 10 and different α
Figure 9: The compute-and-forward model The more detailed compute-and-forward model mentioned in the introduction section is redrawn as above. In the compute-and-forward scheme, there are N independent transmitters and each of them sends one message via a Gaussian multi-access channel (MAC). Message Space Given PID, say R (can be any one of Z, Z [i] , Z [ω]), of above lattice network coding scheme, the massage space is defined as W = Λ/Λ′, where Λ is a lattice over R, and Λ′ < Λ is a chosen sublattice such that Λ/Λ′ is finite. Encoder Before transmission, each message wi ∈ W = Λ/Λ′ is encoded as its smallest coset leader, i.e. E : W = Λ/Λ′ → Λ ⊂ Cn such that 15
Channel The received signal at the relay is y = N
i=1 hixi + z where hi is the i-th fading coefficient and xi = E (wi),
and z represents a complex circularly-symmetric additive white Gaussian noise (AWGN) vector. Decoder Given a coefficient vector a = (a1, · · · , aN) over R and a scaling factor α ∈ C, the relay receiver tries to decode yinto an R-linear combination of the transmitted message u = N
i=1 aiwi, by mapping y to the
nearest lattice point of αy, i.e. D (y) = QΛ (αy) where QΛ is the lattice quantization function. In case Λ = Z, Z [i] or Z [ω], QΛ was demonstrated in section 4.1.2.
For the LNC described above, given a, we can find best α [2] as α = a · hHSNR SNR||hH|| + 1. The union bound estimation of decoding error rate is given as Perror K(Λ/Λ′)exp(− d2(Λ/Λ′) 4N0aMaH ) where M = SNRIN −
SNR2 SNR||h||2+1hhH.
Let L be the lower triangular matrix such that M = LLH since M is Hermitian and positive-definite. The decoding error rate can be rewritten as Perror ≈ K(Λ/Λ′)exp(− d2(Λ/Λ′)
4N0|aL|2 ). To minimize the error rate,
the best choice of a is a = argmina∈RN |aL|2. Since {aL : a ∈ R} is exactly the lattice generated by the rows of L, to find the best choice of a is equivalent to find the shortest vector in this lattice. Forn = 2, Gaussian algorithm can be applied to find the shortest vector. For n ≥ 3, LLL algorithm can be used to find an reduced basis, and the first vector of the reduced basis can be viewed as an estimate shortest vector.
Since the vectors in the basis of the lattice, in which we try to find the shortest vector, is complex-valued, traditionally, LLL reduction is performed on L = [ ℜ(L) ℑ(L) −ℑ(L) ℜ(L) ]. This will cause a doubling in dimension and hence generally requires extra computations. CLLL algorithm directly works on complex lattice. Although each complex arithmetic operation costs more, the totally number of operation has reduced a lot. Hence CLLL algorithm has a lower overall complexity than applying real LLL (RLLL) algorithm in this case. This has been demonstrated in 5.4. 16
One advantage of Z[ω] is that a field of character 4 F4 can be represented by the lattice partition Z[ω]/2Z[ω] while for Z[i] the only field can be represented by lattice partition Z[i]/βZ[i] is F2which is a field of character
Z[ω] than Z[i]. Moreover, as pointed by Sun [8], the LNC over Z [ω] yields extra shaping gain and more coding gain, as a result of which, one can expected better performance (in terms of error) of Z [ω]-LNC. Indeed, following proposition gives the the average power for the constellation of Λ/γΛ where Λ = Z [i] or Z [ω]. Proposition 4. Given Λ1 = Z [i], Λ2 = Z [ω] are two trivial lattices over PID Z [i] and Z [ω] respectively. Suppose γ1 ∈ Z [i], γ2 ∈ Z [ω] and |γ1| = |γ2| = |γ|, then Λ′
1 = γ1Λ1 < Λ1, Λ′ 2 = γ2Λ2 < Λ2 and the average
power for the constellation of Λ1/Λ′
1 and Λ2/Λ′ 2 are given as
E [E (w) : w ∈ Λ1/Λ′
1] ≈ |γ|2
6 E [E (w) : w ∈ Λ2/Λ′
2] ≈ 5 · |γ|2
36
E [E (w) : w ∈ Λ/Λ′] ≈ ˆ
V (Λ/Λ′)
where V (Λ/Λ′) {z ∈ C : |z + v| |z| ∀v ∈ Λ′} . In this case, E [E (w) : w ∈ Λ1/Λ′
1] ≈
ˆ
γ 2
− γ
2
ˆ
γ 2
− γ
2
x2 + y2dxdy E [E (w) : w ∈ Λ2/Λ′
2] ≈ 6 ·
ˆ
γ 2
ˆ
√ 3 6 x
−
√ 3 6 x
x2 + y2dydx By estimating above, one shall get the result.
Note that Z [i] / (2 + 3i) Z [i] ≃ F13 ≃ Z [ω] / (4 + 3ω) Z [ω] Following is the simulated result of symbol error rate of the 3-User LNCs over Z [i] and Z [ω] with respect to different SNR (Signal-to-Noise Ratio): 17
Figure 10: Simulated Error Rate of LNC generated by Z [i] / (2 + 3i) Z [i] and Z [ω] / (4 + 3ω) Z [ω] with respect to SNR
There are still multiple possible related work in the future, listed as follows. Lattice Network Codes based on Integers, Gaussian integers and Eisenstein integers are compared in our
results Lattice Network Codes over Eisenstein Integers can perform better than Gaussian integers under comparable conditions. It remains to be explored whether there existent other principal ideal domain (PID)
As observed from simulations, the channel coefficients which depict the channel property h = (h1, h2, · · · , hN) is having a noticeable influence over the transmission error probability with or without optimized parameters. Further study of the relation between these coefficients and transmission performance are needed whenever such patterns over channel coefficients improving or debasing the performance. LLL algorithm has always been the key to the realization of multi-user LNC. However, since the bound
guarantee that the performance of complex LLL algorithm is still acceptable for those cases. Therefore, it is still a long-term job to study possible better algorithm for lattice reduction problem.
We’d like to thank Prof. Robert LI for his kind supervision, and great patience in helping us in many aspects. We would also like to appreciate Dr. Tyler Sun who helped us understand the engineering application of the LLL algorithm, and gave us a great motivation to solve the problem. In addition, we’d like to thank each other for the tacit cooperation and understanding.
[1] Shengli Zhang, Soung Chang Liew, Patrick P. Lam, “Hot Topic: Physical-Layer Network Coding”, 2006 18
[2] B. Nazer and M. Gastpar, “Compute-and-Forward: Harnessing Interference through Structured Codes,” submitted to IEEE Transactions On Information Theory, August 2009. [3] C. Feng, D. Silva, and F. R. Kschischang, “An algebraic approach to physical-layer network coding,” submitted to IEEE Trans. Inf. Theory (see arXiv:1108.1595v1). [4] Wai Ho Mow, “Universal lattice decoding: a review and some recent results”, 2004 IEEE International Conference on Communications. Vol. 5, pp. 2842-2846, 2004. [5] Wai Ho Mow, “Maximum Likelihood Sequence Estimation from the Lattice Viewpoint”, IEEE Transac- tions on Information Theory, September, 1994 [6] Murray R. Bremner, “Lattice Basis Reduction: An Introduction to the LLL Algorithm and Its Applica- tions”, 2012 [7] Ying Hung Gan, Cong Ling, Member, and Wai Ho Mow, “Complex Lattice Reduction Algorithm for Low-Complexity Full-Diversity MIMO Detection”, IEEE Transactions on Signal Processing, July 2009 [8] Qifu Tyler Sun, Jinhong Yuan, Tao Huang, and Kenneth W. Shum, “Lattice Network Codes Based on Eisenstein Integers”, IEEE Transactions on Communications, Vol. 61, No. 7, July 2013 19