15
Single-Gaussian Messages and Noise Thresholds for Low-Density Lattice Codes International Symposium on Information Theory June 30, 2009 Seoul, Korea Brian M. Kurkoski, Kazuhiko Yamaguchi and Kingo Kobayashi [email protected] Dept. of Information and Communications Engineering University of Electro-Communications Information Security Research Center National Institute of Information and Communications Technology Tokyo, Japan

Single-Gaussian Messages and Noise Thresholds for Low ...kurkoski/presentations/Kurkoski-isit09.pdf · Gaussian mixture approximation • Propose a LDLC decoder: belief-propagation

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Single-Gaussian Messages and Noise Thresholds for Low ...kurkoski/presentations/Kurkoski-isit09.pdf · Gaussian mixture approximation • Propose a LDLC decoder: belief-propagation

<#>

Single-Gaussian Messages and

Noise Thresholds for Low-Density Lattice Codes

International Symposium on Information TheoryJune 30, 2009Seoul, Korea

Brian M. Kurkoski, Kazuhiko Yamaguchi and Kingo [email protected]

Dept. of Information and Communications Engineering University of Electro-Communications

Information Security Research CenterNational Institute of Information and Communications

Technology

Tokyo, Japan

Page 2: Single-Gaussian Messages and Noise Thresholds for Low ...kurkoski/presentations/Kurkoski-isit09.pdf · Gaussian mixture approximation • Propose a LDLC decoder: belief-propagation

Kurkoski, Yamaguchi, Kobayashi: University of Electro-Communications /14

Background

• Low-density lattice codes (LDLC) are lattices [Sommer, Feder and Shalvi, IT 2008]• Decoded using belief-propagation, like low-density parity check codes.• Decoding complexity is linear in the dimension. Dimension n=105 possible.

! “Classical” lattices can be decoded in dimension n=2~200• Within 0.6 dB of unconstrained power capacity• Messages (beliefs) are functions, rather than numbers. Existing implementations

! Quantize the functions! Gaussian mixture approximation

• Propose a LDLC decoder: belief-propagation messages approximated by a single Gaussian,

• Single-Gaussian decoding has a noise threshold within 0.1 dB of the quantized-message implementation (that is, 0.7 dB from capacity)

• But, single-Gaussian decoding has much lower complexity than other methods• Design of regular LDLC lattices alpha=0.7 is better than alpha approaching 1

2

In this talk

Page 3: Single-Gaussian Messages and Noise Thresholds for Low ...kurkoski/presentations/Kurkoski-isit09.pdf · Gaussian mixture approximation • Propose a LDLC decoder: belief-propagation

Kurkoski, Yamaguchi, Kobayashi: University of Electro-Communications /14

Sommer, Feder and Shalvi gave a lattice construction and decoding algorithm based upon low-density parity-check codes. Extensive convergence analysis in IT Trans, April 2008.

Low-Density Parity-Check Codes Codes

• Code over a finite field (binary)

• Sparse parity check matrix

LDLC

• Lattice: Code over the real numbers

• n-by-n inverse generator H=G-1 is sparse• H has row and column weight d• Non-zero entries in rows and columns:

Low-Density Lattice Codes (LDLCs)

3

x = G · b

±{h1, h2, · · · , hd}

n-dim integer vectorn-dim lattice points

Page 4: Single-Gaussian Messages and Noise Thresholds for Low ...kurkoski/presentations/Kurkoski-isit09.pdf · Gaussian mixture approximation • Propose a LDLC decoder: belief-propagation

Kurkoski, Yamaguchi, Kobayashi: University of Electro-Communications /14

Low-Density Parity-Check Codes Codes

4

So, messages are scalars (LLRs)

Low-Density Lattice Codes (LDLC)

# check nodes < # variable nodesx1 + x2 + x3 = 0 (over field)

Approaches BIAWGN channel capacity

Variables are from the fieldxi ! {0, 1}

x1 x2 x3 x4 x5 x6 x7 x8

Variables are real numbersxi ! R

So, messages are functions (!)

# check nodes = # variable nodesx1 + x2 + x3 = b (over real numbers)b is an integer

Comes within 0.6 dB of unconstrained power AWGN channel capacity.

Page 5: Single-Gaussian Messages and Noise Thresholds for Low ...kurkoski/presentations/Kurkoski-isit09.pdf · Gaussian mixture approximation • Propose a LDLC decoder: belief-propagation

Kurkoski, Yamaguchi, Kobayashi: University of Electro-Communications /14

!Use entire lattice for transmission!The code is linear!

!Reliable “communication” [Poltyrev, etc.] if and only if

!Transmit power is unconstrained; no shaping region.

!

−3 −2 −1 0 1 2 3

−1

−0.5

0

0.5

1

Channel Model:Unconstrained Power Transmission

5

x

yVolume V

Vornoi boundaries

Code points

Noise power !2SNR ! 2!e, SNR =n"

V 2

"2

Page 6: Single-Gaussian Messages and Noise Thresholds for Low ...kurkoski/presentations/Kurkoski-isit09.pdf · Gaussian mixture approximation • Propose a LDLC decoder: belief-propagation

Kurkoski, Yamaguchi, Kobayashi: University of Electro-Communications /14

−0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.50

0.5

1

1.5

2

2.5

3

Implementations of LDLC Decoders

How to represent messages, which are functions?

0. Exact True message is a mixture of Gaussians, but number is exponential in iterations.

1. Quantization of the the messages [Sommer et al.]! About 1024 quantization points gets good performance

2. Mixture of Gaussians — Approximate the message with a mixture of Gaussians [joint work with Justin Dauwels]! Uses a "Gaussian Mixture Reduction Algorithm"! preserves Gaussian nature of messages, low memory

requirements.! Further improvements: Yona and Feder, ISIT 2009

3. Single Gaussian (this talk) Approximate the message with a single Gaussian

6

−10 −8 −6 −4 −2 0 2 4 6 8 100

1

x 10−4 M=12

−10 −8 −6 −4 −2 0 2 4 6 8 100

1

2x 10−4 M=5

−10 −8 −6 −4 −2 0 2 4 6 8 100

1

2x 10−4 M=4

−10 −8 −6 −4 −2 0 2 4 6 8 100

1

2x 10−4 M=3

−10 −8 −6 −4 −2 0 2 4 6 8 100

1

2x 10−4 M=2

Page 7: Single-Gaussian Messages and Noise Thresholds for Low ...kurkoski/presentations/Kurkoski-isit09.pdf · Gaussian mixture approximation • Propose a LDLC decoder: belief-propagation

x3x2 ! N (m2, v2)

h2

h1

x1 ∼ N (m1, v1)

h3

Input: Single Gaussian

Output: Single Gaussian(wait for shift-and-repeat)

Single Gaussian Decoder:

Check Node (Easy Part)

m1, v1

m2, v

2

Message is two scalars

m3 = !h1m1 + h2m2

h3

v3 =h2

1v1 + h22v2

h23

h1x1 + h2x2 + h3x3 = b

h3

Unknown integer

Check node function is quite simple:

Page 8: Single-Gaussian Messages and Noise Thresholds for Low ...kurkoski/presentations/Kurkoski-isit09.pdf · Gaussian mixture approximation • Propose a LDLC decoder: belief-propagation

Kurkoski, Yamaguchi, Kobayashi: University of Electro-Communications /14

Moment Matching — Gaussian Approximation

8

X1

X2

Y

Let X be the mixture of two Gaussians X1 and X2:

X = X1 + X2

= c1N (m1, v1) + c2N (m2, v2).

Let Y be the single Gaussian (mean mY , variance vY )which approximates X. Then, KL(X||Y ) is minimized when:

E[Y ] = E[X] (first moment)E[Y 2] = E[X2] (second moment)

Then,

mY = E[Y ] = c1m1 + c2m2

E[Y 2] =!

i

ci · (vi + m2i )

Of course:

vY = E[Y 2]− E[Y ]2

Page 9: Single-Gaussian Messages and Noise Thresholds for Low ...kurkoski/presentations/Kurkoski-isit09.pdf · Gaussian mixture approximation • Propose a LDLC decoder: belief-propagation

Kurkoski, Yamaguchi, Kobayashi: University of Electro-Communications /14

!y

!y

βk!1 !k!1 !d!1

Single Gaussian Decoder:Variable Node (Hard Part)

Forward-backward algorithmat variable node

Inputs from check node: Single Gaussians (implied periodicity)

Output: Single Gaussian

Input: From Channel

(single Gaussian)

Input: From Channel (single Gaussian)

9

Page 10: Single-Gaussian Messages and Noise Thresholds for Low ...kurkoski/presentations/Kurkoski-isit09.pdf · Gaussian mixture approximation • Propose a LDLC decoder: belief-propagation

Kurkoski, Yamaguchi, Kobayashi: University of Electro-Communications /14

Next recursion stepor output

Moment Matching Approximation

Variable Node One-Step Function

10

−1 0 1(a)

−1 0 1(b)

−1 0 1(c)

−1 0 1(d)

Input from check node(must be shift-and-repeated)

Single Gaussian Input(from recursion)

Belief propagation:Multiply

h

Page 11: Single-Gaussian Messages and Noise Thresholds for Low ...kurkoski/presentations/Kurkoski-isit09.pdf · Gaussian mixture approximation • Propose a LDLC decoder: belief-propagation

Kurkoski, Yamaguchi, Kobayashi: University of Electro-Communications /14

Complexity Measure: Can you write the decoding rule on one slide?

11

Variable Node Check Node

Quantized message

128-point DFT Sum of 1024 numbers

Multiple Gaussians

Gaussian Mixture Reduction:

• Compute pair-wise distance between M2 Gaussians

• Repeatedly combine Gaussians

Single Gaussian m = v!

!

b"B

" b

vch+

mc

vc+

ma

va

#exp

"! 1

2(b/h + mc !ma)2

vc + va

#

v = v! !m2

+v!2!

b"B

" b

vch+

mc

vc+

ma

va

#2 exp"! 1

2(b/h + mc !ma)2

vc + va

#

Binary LDPC (log domain)

xa + xc

m = ma + mc

v = va + vc

• Single-Gaussian decoder is considerably simpler that previous methods• Single-Gaussian decoder is more complicated than binary LDPC, but at least the decoding

rule fits on the page.

sgn(xa, xb) · 2 tanh!1!

log"" tanh

xa

2"" + log

"" tanhxb

2""#

Page 12: Single-Gaussian Messages and Noise Thresholds for Low ...kurkoski/presentations/Kurkoski-isit09.pdf · Gaussian mixture approximation • Propose a LDLC decoder: belief-propagation

Kurkoski, Yamaguchi, Kobayashi: University of Electro-Communications /14

Noise Thresholds — Monte Carlo Density Evolution

• Single-Gaussian decoding noise threshold within 0.1 dB of the quantized-message implementation.

• Single-Gaussian decoder has a slight performance loss but is significantly simpler.

12

0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.90

0.5

1

1.5

2

2.5

3

3.5

Noise

Thr

esho

ld

α (LDLC design parameter)

d=7

Full Complexity (quantized)

0.1 dB

Channel capacity

0.6 dB

Page 13: Single-Gaussian Messages and Noise Thresholds for Low ...kurkoski/presentations/Kurkoski-isit09.pdf · Gaussian mixture approximation • Propose a LDLC decoder: belief-propagation

Kurkoski, Yamaguchi, Kobayashi: University of Electro-Communications /14

Noise Thresholds — Regular Code Design

• Even alpha =0.7 is slightly better that other higher values.• Increasing d beyond 7 gives little benefit (same as Sommer et al.)

13

LDLC sparse matrix non-zero entries:

h1 ! h2 ! · · · ! hd

Characterized by parameter !:

! =h2

2 + h23 + · · · + h2

d

h21

! 0

Theorem [Sommer, et al.]: Convergenceis exponentially fast for ! " 1.

It was noted,

! # 1

gave good performance.

0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.90

0.5

1

1.5

2

2.5

3

3.5

Noise

Thr

esho

ld

α (LDLC design parameter)

Full Complexity (quantized) d=9d=8

d=7 d=6d=5

d=4

d=3

Page 14: Single-Gaussian Messages and Noise Thresholds for Low ...kurkoski/presentations/Kurkoski-isit09.pdf · Gaussian mixture approximation • Propose a LDLC decoder: belief-propagation

Kurkoski, Yamaguchi, Kobayashi: University of Electro-Communications /14

Conclusion

• Proposed a single-Gaussian decoder for LDLC lattices

• Complexity is much lower than previous methods — we could write the decoding rule on one slide

• Performance: Minimal loss, noise threshold 0.1 dB away from more complicated decoder.

• Code Design Regular codes found that alpha->1 wasn’t always best, slight gain by picking alpha = 0.7

14

Page 15: Single-Gaussian Messages and Noise Thresholds for Low ...kurkoski/presentations/Kurkoski-isit09.pdf · Gaussian mixture approximation • Propose a LDLC decoder: belief-propagation

Kurkoski, Yamaguchi, Kobayashi: University of Electro-Communications /14

What about finite or smaller dimension?

"Low" dimension lattices (dimension 100-1000) • Single Gaussian numerical results poor.• Multiple Gaussian decoder works OK at low dimension.

• Suggestion: modify BP decoder to improve convergence at low dimensions

15

Low Dimension (100-1000)More Gaussians(Performance loss with single Gaussian)

High dimension (10000 to infinity)Single Gaussian OK