Lattices and Lattice Codes - IIT HyderabadLattices and Lattice Codes Trivandrum School on...
Transcript of Lattices and Lattice Codes - IIT HyderabadLattices and Lattice Codes Trivandrum School on...
Lattices and Lattice Codes
Trivandrum School on Communication, Coding & Networking
January 27–30, 2017
Lakshmi Prasad NatarajanDept. of Electrical EngineeringIndian Institute of Technology [email protected]
1 / 32
Recall – Communications I & II
2 / 32
Capacity - Fundamental limit for Digital Communications
C(SNR) = log2(1 + SNR):Max. spectral efficiency at a given SNR for reliable communication.
SNR∗(η) = 2η − 1:Min. SNR required for a given η for reliable communication.
A code C with spectral efficiency η is ‘good’ if it has negligible Pefor SNR > 2η − 1.
3 / 32
Dr. Lalitha Vadlamani’s talk: Coding Theory I & II
4 / 32
How to Design Good Communication Schemes?
1 Combining Long Binary Codes with ‘Small’ Modulation Schemes
Examples: Bit-interleaved Coded Modulation, Multilevel Codes
2 Directly map messages to points in high-dimensional space RNExamples: Lattice codes, Group codes
5 / 32
This talk: Directly map messages to vectors
� Code (over R) C = {sss1, . . . , sssM} ⊂ RN
� Power P =1
N· ‖sss1‖2 + · · ·+ ‖sssM‖2
M
� Noise variance σ2 =No2
(per dimension)
� Signal to noise ratio SNR =P
σ2=
2P
No
� Spectral Efficiency η =2 log2M
Nbits/s/Hz (assuming N = 2TW )
� Probability of Error Pe = P (m̂ 6= m)
6 / 32
References
� F. Oggier and E. Viterbo, Algebraic Number Theory and Code Design for
Rayleigh Fading Channels. Foundations and Trends in Communications and
Information Theory, vol. 01, no. 03, 2004.
I Section 3 of this reference is a primer on lattices.
� J. H. Conway and N. J. A. Sloane, Sphere Packings, Lattices and Groups.New York, NY, USA: Springer-Verlag, 1999.
� R. Zamir, Lattice Coding for Signals and Networks. Cambridge, UK: CambridgeUniversity Press, 2014.
� G. D. Forney, “Multidimensional constellations. II. Voronoi constellations,”IEEE Journal on Selected Areas in Communications, vol. 7, no. 6, pp. 941–958,Aug 1989.
� H. A. Loeliger, “Averaging bounds for lattices and linear codes,” IEEETransactions on Information Theory, vol. 43, no. 6, pp. 1767-1773, Nov 1997.
� M. P. Wilson, K. Narayanan, H. D. Pfister and A. Sprintson, “Joint PhysicalLayer Coding and Network Coding for Bidirectional Relaying,” IEEE Transactionson Information Theory, vol. 56, no. 11, pp. 5641-5654, Nov. 2010.
7 / 32
1 Lattices
2 Sphere Packing Problem and Coding for Gaussian Channel
3 Construction A: From Error Correcting Codes to Lattices
4 Nested Lattice Codes/Voronoi Constellations
8 / 32
Lattices
Say ggg1, . . . , gggm ∈ RN are linearly independent column vectors, m ≤ N .
DefinitionThe lattice Λ generated by ggg1, . . . , gggm is the set of all integer linearcombinations of ggg1, . . . , gggm
Λ = {z1ggg1 + · · ·+ zmgggm | zi ∈ Z}
� We will consider only full-rank lattices m = N
� The matrix GGG = [ggg1 ggg2 · · · gggN ] is a generator matrix for Λ
Λ ={GzGzGz | zzz ∈ ZN
}GGG ∈ RN×N is square, rank(GGG) = N , i.e., det(GGG) 6= 0.
� {ggg1, . . . , gggN} forms a basis for Λ.
� Generator matrix GGG of a lattice Λ is not unique.
8 / 32
Examples of lattices in two dimensions
9 / 32
“A Lattice of Flowers”Trivandrum Flower Show, Kanakakunnu Palace Grounds
28 Jan 2017
10 / 32
Algebraic Properties of Lattices
Let Λ ⊂ RN be any N -dimensional lattice.
� The all-zero vector 000 is a lattice point
000 = 0ggg1 + · · ·+ 0gggN ∈ Λ
� Additive inverse of any lattice point is a lattice point
λλλ = z1ggg1 + · · ·+ zNgggN ∈ Λ ⇒ −λλλ = −z1ggg1 − · · · − zNgggN ∈ Λ
� Sum of any two lattice points is also a lattice point
λλλz = z1ggg1 + · · ·+ zNgggN and λλλu = u1ggg1 + · · ·+ uNgggN
λλλz + λλλu = (z1 + u1)ggg1 + · · ·+ (zN + uN )gggN ∈ Λ
� If a ∈ Z and λλλ ∈ Λ then aλλλ ∈ Λ.
Properties similar to vector space, but Z is NOT a field!!
Every lattice Λ is a module over Z
11 / 32
Minimum Distance of a Lattice
Minimum Distance dmin(Λ)Smallest distance between any two lattice points
dmin = minλλλ1 6=λλλ2
‖λλλ1 − λλλ2‖
Note that λλλ1 − λλλ2 ∈ Λ and λλλ1 − λλλ2 6= 0. Hence,
dmin = minλλλ6=0‖λλλ‖ = min norm of non-zero lattice points
NoteΛ is invariant to translation by any lattice vector λλλ ∈ Λ, Λ = λλλ+ Λ
� The distance of any nearest neighbor for any lattice point is dmin
12 / 32
Examples in two dimensions
13 / 32
Voronoi Region V(Λ)
.0
� Closest vector lattice quantizerQΛ(xxx) = λλλ if λλλ is the nearest lattice point to xxx ∈ RN
� Fundamental Voronoi regionV = Q−1
Λ (000) set of all points closer to 000 than any other lattice point
� λλλ+ V = Q−1Λ (λλλ) all points mapped to λλλ by QΛ
� Translates {λλλ+ V} of V are non-intersecting and cover RN14 / 32
Volume and Hermite Parameter
Volume of the lattice V (Λ)V (Λ) = volume
(V(Λ)
)is the volume of the Voronoi region
� If GGG is a generator matrix, then V (Λ) = |det(GGG)|� This is a lattice invariant, does not depend on the choice of GGG
How to measure the density of lattice points
� Number of lattice points per unit volume in RN = 1/V (Λ)
� By simply scaling Λ→ aΛ, we can trivially modify the number oflattice points per unit volume
� We need a measure that is invariant to scaling.
Hermite Parameter γ(Λ)
γ(Λ) =d2
min(Λ)
V (Λ)2/N
� γ(Λ)N/2 = density when the lattice scaled to unit min distance.
� γ(Λ) = squared min dist when the lattice is scaled to unit volume.
15 / 32
16 / 32
1 Lattices
2 Sphere Packing Problem and Coding for Gaussian Channel
3 Construction A: From Error Correcting Codes to Lattices
4 Nested Lattice Codes/Voronoi Constellations
17 / 32
The Sphere Packing Problem
A sphere packing is an arrangement of infinitely-many non-overlappingidentical spheres in the Euclidean space.
� A lattice can be used to pack spheres: place a sphere centered ateach lattice point
� Spheres must be non-overlapping: largest spheres that can bepacked using Λ have radius
rpack =dmin
2
This is called the packing radius of Λ
Sphere packing problem
What is the maximum density (number of spheres per unit volume)with which spheres can be packed in RN?
17 / 32
Sphere Packing and Hermite Parameter
Center Density δ(Λ) =rNpack(Λ)
V (Λ)
density of spheres when the lattice is scaled to unit packing radius
Using dmin = 2rpack, we obtain δ(Λ) =
(γ(Λ)
4
)N/218 / 32
Best Lattice Sphere Packings
Let γN = largest Hermite parameter among all lattices in RN
TheoremFor all sufficiently large N , we have
N
2πe. γN .
1.744N
2πe
� Bounds on packing efficiency increase with the dimension N .
Best Lattice Packings for N ≤ 8
N 1 2 3 4 5 6 7 8
Λ Z A2 D3 D4 D5 E6 E7 E8
γN 1 1.15 1.26 1.41 1.52 1.67 1.81 2
κ 2 6 12 24 40 72 126 240
19 / 32
From Lattices to Codes
� A code C = {sss1, . . . , sssM} for the (vector) Gaussian channel is afinite set of points in RN .
� Replace the average power constraint with the more stringent‘per-codeword’ power constraint:
‖sssi‖2
N≤ P ⇒ ‖sssi‖ ≤
√NP
� Let B be the N -dimensional ball of radius√NP centered at 000
sssi ∈ B for i = 1, . . . ,M
Spherically-shaped lattice codes
We can carve an N -dimensional code C from a lattice Λ by setting
C = Λ ∩ B
20 / 32
Spherically-Shaped Lattice Codes
Say, we desire to construct a code for given N , P & spectral efficiency η
M = |C | ≈ Vol(B)
V (Λ)⇒ V (Λ) ≈ Vol(B) 2−Nη/2
Then d2min = γ(Λ) · V (Λ)2/N ≈ γ(Λ) ·Vol(B)2/N 2−η
To construct a good code, we require Λ to have a large γ(Λ).
21 / 32
1 Lattices
2 Sphere Packing Problem and Coding for Gaussian Channel
3 Construction A: From Error Correcting Codes to Lattices
4 Nested Lattice Codes/Voronoi Constellations
22 / 32
Prime Fields FpPrime fields are finite fields whose cardinality is a prime number.Let p ≥ 2 be any prime integer.
DefinitionThe prime field of cardinality p is the set Fp = {0, 1, . . . , p− 1} whereaddition and multiplication are performed modulo p
� a⊕ b = (a+ b) mod p, and
� a⊗ b = (a · b) mod p.
� Fp satisfies all the axioms of a field: existence of additive &multiplicative identities and inverses, distributive law, etc.
Addition in F3 = {0, 1, 2}
⊕ 0 1 2
0 0 1 21 1 2 02 2 0 1
Multiplication in F3 = {0, 1, 2}
⊗ 0 1 2
0 0 0 01 0 1 22 0 2 1
22 / 32
Linear Codes over Fp
Addition of vectors over Fp:
aaa⊕ bbb = (a1, . . . , aN )⊕ (b1, . . . , bN ) = (a1 ⊕ b1, . . . , aN ⊕ bN )
DefinitionA linear code C over Fp of length N is a subspace of FNp .
� |C| = pk, where integer k is the dimension of the code.
Example
� N = 5, p = 2 and C = {(0, 0, 0, 0, 0), (1, 1, 1, 1, 1)}.This is the repetition code of length 5 over F2.
� N = 3, p = 3 and C = {(0, 0, 0), (1, 1, 1), (2, 2, 2)}.This is the repetition code of length 3 over F3.
23 / 32
Lattices from Codes
The linear code C ⊂ Fnp is closed under addition mod p
ccc1, ccc2 ∈ C ⇒ (ccc1 + ccc2) mod p ∈ C
Example: p = 7, N = 2C = {(0, 0), (3, 1), (6, 2), (2, 3), (5, 4), (1, 5), (4, 6)}
� Embed C into RN using naturalmap
Create a lattice Λ by tiling copies of C in RN
24 / 32
Lattices from Codes: Construction A
Λ = C + pZN = ∪uuu∈Zn (C + puuu)
Example (continued)
GGG =
[3 −11 2
]
p = 2: Using codes over F2 = {0, 1}, C ⊂ FN2p = 2 and, say, |C| = 2k, dH = min Hamming distance
Vol(Λ) = 2(N−k) and dmin(Λ) = min{2,√dH}
25 / 32
Examples of Construction A Lattices from Binary Codes
1 The D4 lattice
Let C = {(0, 0, 0, 0), (1, 1, 1, 1)} be repetition code of length N = 4.Dimension k = 1 and min Hamming distance dH = 4.
V (Λ) = 8 and dmin = 2 ⇒ γ(Λ) =√
2
GGG =
2 0 0 10 2 0 10 0 2 10 0 0 1
2 The E8 lattice
Use C = [N = 8, k = 4, dH = 4] extended Hamming code.
V (Λ) = 16 and dmin = 2 ⇒ γ(Λ) = 2
D4 and E8 are the densest lattices in their dimensions.
TheoremFor N large, there exists a Construction A lattice with γ &
N
2πe26 / 32
1 Lattices
2 Sphere Packing Problem and Coding for Gaussian Channel
3 Construction A: From Error Correcting Codes to Lattices
4 Nested Lattice Codes/Voronoi Constellations
27 / 32
Modulo Lattice Operation
xxx mod Λ = xxx−QΛ(xxx)
RN → V(Λ)
Modulo operation lends algebraic structure to the Voronoi region VΛ
V(Λ)× V(Λ)→ V(Λ)
(xxx,yyy) → (xxx+ yyy) mod Λ
� The origin 000 ∈ V(Λ), and for every xxx ∈ V, there exists a uniqueyyy = −xxx mod V such that (xxx+ yyy) mod Λ = 000
� V(Λ) is a group under addition modulo Λ.
27 / 32
Nested Lattices and Lattice Codes/Voronoi Constellations
Nested Lattices
� Λs ⊂ Λ are lattices
� Λs is a subgroup of Λ
Lattice Codes or Voronoi Constellations
� Λ/Λs = Λ ∩ VΛs is a group
Addition: xxx⊕ yyy = (xxx+ yyy) mod Λs
28 / 32
Lattice Codes
Lattice Code Λ/Λs
� Finite group under addition mod Λs
� |Λ/Λs| = V (Λs)/V (Λ)
� η = 2N log2
V (Λs)V (Λ)
Coding lattice (Fine lattice) Λ
� Provides noise resilience
� Want large dmin(Λ) & small V (Λ)
Shaping lattice (Coarse lattice) Λs
� Carves a finite code from Λ
� Determines transmit power
� Want small power & large V (Λs)
Lattice codes are good for many things: achieve capacity in Gaussianchannel and dirty paper channel, Diversity-Multiplexing Trade-off inmultiple-antenna channels, relay networks (compute & forward), wiretapchannels, interference channels, quantization, cryptography, etc. etc. etc.
29 / 32
Example Application: Bidirectional Relay Channel
30 / 32
Joint PHY/Network-layer Lattice Coding Scheme
Wilson, Narayanan, Pfister and Sprintson, IEEE Trans. Inf. Theory, Nov. 2010.31 / 32
Conclusion
� Lattices have rich algebraic and geometric properties.
� They have strong connection to coding/modulation for Gaussianchannel, and to error correcting codes over finite fields.
� Structured codes can be obtained using nested lattice pairs.This structure can be useful in communication engineering, forinstance for exploiting interference in wireless channels.
� Lattices have several other applications: cryptography,information-theoretic security, codes for fading and multiple antennachannels, vector quantization etc.
Thank You!!
32 / 32