The Concept of Soft Channel Encoding and its Applications ...sc.enseeiht.fr/doc/Seminar_Matz.pdf ·...

41
The Concept of Soft Channel Encoding and its Applications in Wireless Relay Networks Gerald Matz Institute of Telecommunications Vienna University of Technology institute of telecommunications

Transcript of The Concept of Soft Channel Encoding and its Applications ...sc.enseeiht.fr/doc/Seminar_Matz.pdf ·...

The Concept of Soft Channel Encoding andits Applications in Wireless Relay Networks

Gerald Matz

Institute of Telecommunications

Vienna University of Technology

institute oftelecommunications

Acknowledgements

People:

• Andreas Winkelbauer

• Clemens Novak

• Stefan Schwandter

Funding:

SISE - Information Networks (FWF Grant S10606)

2

Outline

1. Introduction

2. Soft channel encoding

3. Approximations

4. Applications

5. Conclusions and outlook

3

Outline

1. Introduction

2. Soft channel encoding

3. Approximations

4. Applications

5. Conclusions and outlook

4

Introduction: Basic Idea

Soft information processing

• popular in modern receivers

• idea: use soft information also for transmission

Soft-input soft-output (SISO) encoding

• extension of hard-input hard-output (HIHO) encoding

• data only known in terms of probabilities

• how to (efficiently) encode “noisy” data?

Applications

• physical layer network coding

• distributed (turbo) coding

• joint source-channel coding

5

Introduction: Motivation (1)

Example: relay channel

D

xS

xS

xR

R

S

u′

R

πxR

xS

SR ch.

Encoder S

Encoder Ru

uS

• relay R assists S – D transmission

• decode-and-forward → distributed channel coding

• D can perform iterative (turbo) decoding

What if relay fails to decode?

• forwarding soft information might help

• how to transmit soft information?

6

Introduction: Motivation (2)

Soft information forwarding

• H. Sneessens and L. Vandendorpe, “Soft decode and forward improvescooperative communications,” in Proc. Workshop on Computational Advancesin Multi-Sensor Adaptive Processing, 2005.

• P. Weitkemper, D. Wubben, V. Kuhn, and K.D. Kammeyer, “Soft informationrelaying for wireless networks with errorprone source-relay link,” in Proc. ITGConference on Source and Channel Coding, 2008.

Transmission of soft information

• LLR quantization ⇒ information bottleneckN. Tishby, F. Pereira, and W. Bialek, “The information bottleneck method,” inProc. 37th Allerton Conference on Communication and Computation, 1999.

• quantizer labels & symbol mapping ⇒ binary switchingK. Zeger and A. Gersho, “Pseudo-gray coding,” IEEE Trans. Comm., vol. 38,no. 12, 1990.

7

Outline

1. Introduction

2. Soft channel encoding

3. Approximations

4. Applications

5. Conclusions and outlook

8

Hard Encoding/Decoding Revisited

Notation

• information bit sequence: u = (u1 . . . uK)T ∈ {0, 1}K

• code bit sequence: c = (c1 . . . cN )T ∈ {0, 1}N

• assume N ≥ K

Linear binary channel code

• one-to-one mapping φ between data bits u and code bits c

• encoding: c = φ(u)

• codebook: C = φ({0, 1}K

)Hard decoding:

• observed code bit sequence c′ = c⊕ e = φ(u)⊕ e

• decoder: mapping ψ such that ψ(c′) is “close” to u

9

Soft Decoding Revisited

Word-level

• observations: code bit sequence probabilities pin(c′)

• enforce code constraint:

p′(c) =

{pin(c)∑

c′∈C pin(c′) , c ∈ C

0, else

• info bit sequence probabilities: pout(u) = p′(φ(u))• conceptually simple, computationally infeasible

Bit-level

• observed: code bit probabilities pin(cn) =∑∼cn

pin(c′)

• desired: info bit probabilities pout(uk) =∑∼uk

pout(φ(u))

• conceptually more difficult, computationally feasible

• example: equivalent to BCJR for convolutional codes

10

Soft Encoding: Basics

Word-level

• given: info bit sequence probabilities pin(u)• code bit sequence probabilities:

pout(c) =

{pin(φ

−1(c)), c ∈ C0, else

• conceptually simple, computationally infeasible

Bit-level

• given: info bit probabilities pin(uk) → pin(u) =K∏k=1

pin(uk)

• desired: code bit probabilities

pout(cn) =∑∼cn

pout(c) =∑

c∈C:cnpin(φ

−1(c))

• Main question: efficient implementation?11

Soft Encoding: LLRs

System model: SISO

encoder

binary

source

noisy binary source

u L(u) L(c|u)channel

noisy

Log-likelihood ratios (LLR)

• definition:

L(uk) = logpin(uk=0)

pin(uk=1), L(cn) = log

pout(cn=0)

pout(cn=1)

• encoder input: L(u) = (L(u1) . . . L(uK))T

• encoder output: L(c) = (L(c1) . . . L(cN ))T

12

HIHO versus SISO

HIHO is reversible:

SISO is irreversible:

• except if |L(uk)| =∞ for all k

• however: sign(L1(uk)) = sign(L2(uk))

Post-sliced SISO identical to pre-scliced HIHO

SISO

encoder

L(u) c cHIHO

encoder

uL(u)≡

L(c)

13

Block Codes (1)

Binary (N,K) block code C with generator matrix G ∈ FN×K2

HIHO encoding: c = Gu, involves XOR/modulo 2 sum ⊕

Statistics of XOR:

p(uk⊕ul=0) = p(uk=0)p(ul=0) + p(uk=1)p(ul=1)

Boxplus: L(uk⊕ul) , L(uk)� L(ul) = 1 + eL(uk)+L(ul)

eL(uk) + eL(ul)

• � is associative and commutative

• |L1 � L2| ≤ min{|L1|, |L2|}

J. Hagenauer, E. Offer, and L. Papke, “Iterative decoding of binary block and

convolutional codes,” IEEE Trans. Inf. Theory, vol. 42, no. 2, Feb. 1996.

SISO encoder: replace “⊕” in HIHO encoder by “�”

14

Block Codes (2)

Example: systematic (5, 3) block codec1c2c3c4c5

︸ ︷︷ ︸

c

=

1 0 00 1 00 0 11 1 00 1 1

︸ ︷︷ ︸

G

u1u2u3

︸ ︷︷ ︸

u

=

u1u2u3

u1 ⊕ u2u2 ⊕ u3

L(u1) L(u3)L(u2)

�L(c4)

L(c3)

L(c2)

L(c1)

�L(c5)

u1 u3u2

c1

c2

c3

c4

c5

15

Soft Encoding: Convolutional Codes (1)

• Code C with given trellis: use BCJR algorithm

· · ·

· · ·

· · ·

· · ·(1, 1)

(1, 0)

(0, 1)

(0, 0)0

1

2

3

m(m(1),m(0)

)

k = 0 21 3 TT − 3 T − 2 T − 1

αk(m) βk(m)

γk(m′,m) = P

{Sk+1 = m|Sk = m′

}αk(m) =

∑M−1m′=0

αk−1(m′)γk−1(m

′,m)

βk(m) =∑M−1

m′=0βk+1(m

′)γk(m,m′)

pb(c(j)k

)=∑

(m′,m)∈A(j)b

αk(m′)γk(m

′,m)βk+1(m)

A. Winkelbauer and G. Matz, “On efficient soft-input soft-output encoding ofconvolutional codes,” in Proc. ICASSP 2011

16

Soft Encoding: Convolutional Codes (1)

• Code C with given trellis: use BCJR algorithm

· · ·

· · ·

· · ·

· · ·(1, 1)

(1, 0)

(0, 1)

(0, 0)0

1

2

3

m(m(1),m(0)

)

k = 0 21 3 TT − 3 T − 2 T − 1

αk(m) βk(m)

γk(m′,m) = P

{Sk+1 = m|Sk = m′

}αk(m) =

∑M−1m′=0

αk−1(m′)γk−1(m

′,m)

βk(m) =∑M−1

m′=0βk+1(m

′)γk(m,m′)

pb(c(j)k

)=∑

(m′,m)∈A(j)b

αk(m′)γk(m

′,m)βk+1(m)

A. Winkelbauer and G. Matz, “On efficient soft-input soft-output encoding ofconvolutional codes,” in Proc. ICASSP 2011

16

Soft Encoding: Convolutional Codes (2)

• Observe: only 2 transition probabilites per time instantI Backward recursion βk(m) is rendered superfluous

· · ·

· · ·

· · ·

· · ·(1, 1)

(1, 0)

(0, 1)

(0, 0)0

1

2

3

m(m(1),m(0)

)

k = 0 21 3 TT − 3 T − 2 T − 1

αk(m) βk(m)

• Simplified forward recursion encoder (FRE), reducesI computational complexityI memory requirementsI encoding delay

sk+1(m) =∑

m′∈Bmsk(m

′)γk(m′,m)

pb(c(j)k

)=∑

(m′,m)∈A(j)b

sk(m′)γk(m

′,m)

17

Soft Encoding: Convolutional Codes (2)

• Observe: only 2 transition probabilites per time instantI Backward recursion βk(m) is rendered superfluous

· · ·

· · ·

· · ·

· · ·(1, 1)

(1, 0)

(0, 1)

(0, 0)0

1

2

3

m(m(1),m(0)

)

k = 0 21 3 TT − 3 T − 2 T − 1

αk(m) βk(m)

• Simplified forward recursion encoder (FRE), reducesI computational complexityI memory requirementsI encoding delay

sk+1(m) =∑

m′∈Bmsk(m

′)γk(m′,m)

pb(c(j)k

)=∑

(m′,m)∈A(j)b

sk(m′)γk(m

′,m)17

Soft Encoding: Convolutional Codes (3)

• Special case: non-recursive shift register encoder (SRE)I soft encoder with shift register implementationI linear complexity with minimal memory requirements

• Example: (7, 5)8 convolutional code

DD

L(c2k+1)

L(c2k)

L(uk)

BCJR

operationsper

unittime

constraint length ν

SRE (upper bound)

FRE

2 4 6 8 100

200

400

600

800

1000

18

Soft Encoding: LDPC Codes (1)

• Sparse parity check matrix H given: v ∈ C iff HTv = 0

• Graphical representation of H: Tanner graphI bipartite graph with variable nodes and check nodesI let V denote the set of variable nodes

• Encoding: iterative erasure fillingI matrix multiplication Gu is infeasible for large block lengthsI erasure pattern is known

19

Soft Encoding: First Approach

Consider systematic code: c = (uT pT )T

Erasure channel: L(c) = (L(u)T L(p)T )T 7→ (L(u)T 0T )T

deterministic

erasure channel

(L(u)TL(p)T )T

(L(u)TL(p)T )T (L(u)T 0T )T

SISO encoding = decoding ...

• for the erasure channel (erasure filling) or, equivalently,

• w/o channel observation, but with prior soft information on u

Consider special problem structure

• yields efficient implementation

• (much) less complex than SISO decoding

• adjustable accuracy/complexity trade-off

20

Soft Encoding: LDPC Codes (2)

• Iterative erasure filling algorithm1. find all check nodes involving a single erasure2. fill the erasures found in step 13. repeat steps 1-2 until there are no more (recoverable) erasures

• Encoding example:

• Problem: stopping sets ⇒ non-recoverable erasures

21

Soft Encoding: LDPC Codes (2)

• Iterative erasure filling algorithm1. find all check nodes involving a single erasure2. fill the erasures found in step 13. repeat steps 1-2 until there are no more (recoverable) erasures

• Encoding example:

• Problem: stopping sets ⇒ non-recoverable erasures

21

Soft Encoding: LDPC Codes (3)

• Definition: S ⊆ V is a stopping set if all neighbors of S areconnected to S at least twice

• Example:

• Solution: modify H such that stopping sets vanishI constraints: code C remains unchanged and H remains sparse

M. Shaqfeh, N. Gortz, “Systematic Modification of Parity-Check Matrices forEfficient Encoding of LDPC Codes,” in Proc. ICC 2007

22

Soft Encoding: LDPC Codes (3)

• Definition: S ⊆ V is a stopping set if all neighbors of S areconnected to S at least twice

• Example:

• Solution: modify H such that stopping sets vanishI constraints: code C remains unchanged and H remains sparse

M. Shaqfeh, N. Gortz, “Systematic Modification of Parity-Check Matrices forEfficient Encoding of LDPC Codes,” in Proc. ICC 2007

22

Outline

1. Introduction

2. Soft channel encoding

3. Approximations

4. Applications

5. Conclusions and outlook

23

Approximations: Boxplus Operator

• Boxplus operator is used frequently in SISO encoding

I Recall a� b = 1 + ea+b

ea + eb

• Approximation: a� b ≈ a � b = sign(a)sign(b)min(|a|, |b|)I small error if

∣∣|a| − |b|∣∣ large

I overestimates true result: a � b ≥ a� bI suitable for hardware implementation

• Correction termsI a� b = a � b+ log(1 + e−|a+b|)− log(1 + e−|a−b|)︸ ︷︷ ︸

− log(2) ≤ additivecorrection ≤ 0

I a� b = a � b ·

(1− 1

min(|a|, |b|)log

1 + e−||a|−|b||

1 + e−||a|+|b||

)︸ ︷︷ ︸

0 ≤ multiplicativecorrection ≤ 1

I Store correction term in (small) lookup table

• Decrease lookup table size by LLR clipping

24

Approximations: Boxplus Operator

• Boxplus operator is used frequently in SISO encoding

I Recall a� b = 1 + ea+b

ea + eb

• Approximation: a� b ≈ a � b = sign(a)sign(b)min(|a|, |b|)I small error if

∣∣|a| − |b|∣∣ large

I overestimates true result: a � b ≥ a� bI suitable for hardware implementation

• Correction termsI a� b = a � b+ log(1 + e−|a+b|)− log(1 + e−|a−b|)︸ ︷︷ ︸

− log(2) ≤ additivecorrection ≤ 0

I a� b = a � b ·

(1− 1

min(|a|, |b|)log

1 + e−||a|−|b||

1 + e−||a|+|b||

)︸ ︷︷ ︸

0 ≤ multiplicativecorrection ≤ 1

I Store correction term in (small) lookup table

• Decrease lookup table size by LLR clipping

24

Approximations: Max-log Approximation

• FRE: perform computation in log-domain (f∗ = log f)

s∗k+1(m) = log∑

m′∈Bmexp(s∗k(m

′) + γ∗k(m′,m)

)p∗b(y(j)k

)= log

∑(m′,m)∈A(j)

b

exp(s∗k(m

′) + γ∗k(m′,m)

)• Approximation: log

∑k exp(ak) ≈ maxk ak , aM

• Correction term: log(ea + eb) = max(a, b) + log(1 + e−|a−b|)I nesting yields log

∑k exp(ak) = aM + log

∑k exp(ak − aM )

• Correction term depends only on |a− b| ⇒ lookup table

25

Approximations: Max-log Approximation

• FRE: perform computation in log-domain (f∗ = log f)

s∗k+1(m) = log∑

m′∈Bmexp(s∗k(m

′) + γ∗k(m′,m)

)p∗b(y(j)k

)= log

∑(m′,m)∈A(j)

b

exp(s∗k(m

′) + γ∗k(m′,m)

)• Approximation: log

∑k exp(ak) ≈ maxk ak , aM

• Correction term: log(ea + eb) = max(a, b) + log(1 + e−|a−b|)I nesting yields log

∑k exp(ak) = aM + log

∑k exp(ak − aM )

• Correction term depends only on |a− b| ⇒ lookup table

25

Outline

1. Introduction

2. Soft channel encoding

3. Approximations

4. Applications

5. Conclusions and outlook

26

Applications: Soft Re-encoding (1)

• Soft network coding (NC) for the two-way relay channelI users A and B exchange independent messagesI relay R performs network coding with soft re-encoding

A B

RxR xRR

BA

xBxB

A B

R

xA

xA

• Transmission of quantized soft information is critical

A. Winkelbauer and G. Matz, “Soft-Information-Based Joint Network-Channel Codingfor the Two-Way Relay Channel,” submitted to NETCOD 2011

27

Applications: Soft Re-encoding (1)

• Soft network coding (NC) for the two-way relay channelI users A and B exchange independent messagesI relay R performs network coding with soft re-encoding

A B

RxR xRR

BA

xBxB

A B

R

xA

xA

Puncturer

Puncturerπ

π

Demapperencoder

SISOencoder

Network

encoderModulatorQ(·)

SISOSISOdecoder

SISOdecoder

Demapper

yBR

yAR

xR

• Transmission of quantized soft information is critical

A. Winkelbauer and G. Matz, “Soft-Information-Based Joint Network-Channel Codingfor the Two-Way Relay Channel,” submitted to NETCOD 2011

27

Applications: Soft Re-encoding (2)

• BER simulation resultsI sym. channel conditions, R halfway between A, B, rate 1 bpcu,

256 info bits, 4 level quantization, 1 decoder iteration

soft NC

hard NC

PCCC (5 it.)

BER

γAB [dB]

−8 −6 −4 −2 0 2 4 6

10−5

10−4

10−3

10−2

10−1

100

• SNR gain of ∼ 4.5dB at BER ≈ 10−3 over hard NC28

Applications: Convolutional Network Coding

• Physical layer NC for the multiple-access relay channel

xR

xA

xBB

A

R D

• NC at relay

SISO

encoder

L(cA)

L(cB)

LR

L(cA)

L(cB)

LRcR

convolutional NCsoft NChard NC

�⊕cB

cA

29

Applications: Convolutional Network Coding

• Physical layer NC for the multiple-access relay channel

xR

xA

xBB

A

R D

• NC at relay

SISO

encoder

L(cA)

L(cB)

LR

L(cA)

L(cB)

LRcR

convolutional NCsoft NChard NC

�⊕cB

cA

29

Outline

1. Introduction

2. Soft channel encoding

3. Approximations

4. Applications

5. Conclusions and outlook

30

Conclusions and Outlook

Conclusions:

• Efficient methods for soft encoding

• Approximations facilitate practical implementation

• Applications show usefulness of soft encoding

Outlook:

• Frequency domain soft encoding

• Code and transceiver design for physical layer NC

• Performance analysis of physical layer NC schemes

Thank you!

31

Conclusions and Outlook

Conclusions:

• Efficient methods for soft encoding

• Approximations facilitate practical implementation

• Applications show usefulness of soft encoding

Outlook:

• Frequency domain soft encoding

• Code and transceiver design for physical layer NC

• Performance analysis of physical layer NC schemes

Thank you!

31

Conclusions and Outlook

Conclusions:

• Efficient methods for soft encoding

• Approximations facilitate practical implementation

• Applications show usefulness of soft encoding

Outlook:

• Frequency domain soft encoding

• Code and transceiver design for physical layer NC

• Performance analysis of physical layer NC schemes

Thank you!

31