Time-Varying Variable-Length Error-Correcting Codes Victor - - PowerPoint PPT Presentation

time varying variable length error correcting codes
SMART_READER_LITE
LIVE PREVIEW

Time-Varying Variable-Length Error-Correcting Codes Victor - - PowerPoint PPT Presentation

Time-Varying Variable-Length Error-Correcting Codes Victor Buttigieg Johann A. Briffa ISITA 2018, 31 October 2018, Singapore Department of Communications and Computer Engineering University of Malta Msida MSD 2080, Malta Outline


slide-1
SLIDE 1

Time-Varying Variable-Length Error-Correcting Codes

Victor Buttigieg Johann A. Briffa ISITA 2018, 31 October 2018, Singapore

Department of Communications and Computer Engineering University of Malta Msida MSD 2080, Malta

slide-2
SLIDE 2

Outline

Introduction and motivation Time-Varying Variable-Length Error-Correcting (TV-VLEC) codes Sequence-level MAP decoder Symbol-Constrained Free Distance (SCFD) Results Conclusions

2/21

slide-3
SLIDE 3

Introduction and Motivation

Variable-Length Codes

  • Used mainly for source coding
  • Suffer from loss of synchronization under error conditions

(Takishima et al., 1994)

  • Symbols may be inserted and/or deleted at the decoder

3/21

slide-4
SLIDE 4

Introduction and Motivation

Variable-Length Codes

  • Used mainly for source coding
  • Suffer from loss of synchronization under error conditions

(Takishima et al., 1994)

  • Symbols may be inserted and/or deleted at the decoder

a b 10 c 11 10 11 b c 00 11 aa c Message: Encoded Message: Received: Decoded Message: Simple VL Code

3/21

slide-5
SLIDE 5

Introduction and Motivation

Motivation

  • Introduce mechanisms that aid in the detection and avoidance of

inserted/deleted symbols

  • Redundancy

– Variable-Length Error-Correcting (VLEC) codes

  • Decoder keeping track of number of symbols

– Sequence MAP Decoder

  • Time-dependency

– Time-Varying Variable-Length Error-Correcting (TV-VLEC) codes

  • Improves
  • symbol-level synchronization
  • error performance

4/21

slide-6
SLIDE 6

TV-VLEC Codes

Definitions

  • Define a TV-VLEC code of order m, as the set of m distinct

sub-codes C = {C✵, C✶, . . . , Cm−✶}, where each sub-code Ci consists of s codewords.

  • Two sub-codes are distinct if they differ in at least one codeword.
  • The length of codeword ❝ is denoted by |❝|.
  • In regular TV-VLEC codes, all Ci have the same length distribution

Encoding

  • Let X = {x✵, x✶, . . . , xs−✶} be an s-symbol memoryless source.
  • Let P(xj) ≥ P(xj+✶), where P(xj) is the probability of occurrence
  • f symbol xj
  • The more probable symbols are encoded using the shorter
  • codewords. For sub-code Ci, symbol xj is mapped to codeword

❈ i(xj), where |❈ i(xj)| ≤ |❈ i(xj+✶)|

5/21

slide-7
SLIDE 7

TV-VLEC Codes

TV-VLEC Sequence-Use

  • Consider the message ❛ = (a✵, a✶, . . . , aK−✶) consisting of K

symbols from source X

  • Message ❛ is encoded as the sequence

❜ = ❈ u✵(a✵) ❈ u✶(a✶) . . . ❈ uK−✶(aK−✶)

  • The TV-VLEC sequence-use is defined by ✉ = (u✵, u✶, . . . , uK−✶),

uk ∈ {✵, ✶, . . . , m − ✶}, k = ✵, ✶, . . . , K − ✶

  • The sequence-use could be set to be
  • Sequential (each sub-code used in turn)
  • Random (sub-code selected randomly)
  • Fixed (sub-codes used in fixed repeating pattern)

6/21

slide-8
SLIDE 8

TV-VLEC Codes

Encoding Example

TV-VLEC Code B C0 C1 00 111 10011 01001 11 000 01100 10110 TV-VLEC Code B C0 C1 00 111 10011 01001 11 000 01100 10110 x0 x1 x2 x3 Source Symbol Sequence-Use: 0 1 0 1 Message: x0 x0 x2 x1 Encoded massage: 001110011000 Sequence-Use: 0 1 0 1 Message: x0 x0 x2 x1 Encoded massage: 001110011000

7/21

slide-9
SLIDE 9

Sequence-Level MAP Decoder

Decoders for VLEC Codes

  • In the literature, several decoders for VLEC codes are given
  • Maximum-likelihood (Buttigieg & Farrell, 1993)
  • Symbol-level and sequence-level MAP decoders – both exact and

approximate (Park & Miller, 2000)

  • Different channel models were also considered - BSC, Gaussian and

Additive-Markov (Subbalakshmi & Vaisey, 2003)

  • The changes required to accommodate TV-VLEC codes are

minimal

  • Decoder complexity remains the same

8/21

slide-10
SLIDE 10

Sequence-Level MAP Decoder

1 2 4 8 19 18 17 15 11 16 13 10 5 3 9 7 6 14 12 1 2 3

Symbol Index, k Bit Index, n TV-VLEC Code B C0 C1 00 111 10011 01001 11 000 01100 10110 TV-VLEC Code B C0 C1 00 111 10011 01001 11 000 01100 10110 x0 x1 x2 x3 Source Symbol Sequence-Use: 0 1 0 1 Message: x0 x0 x2 x1 Encoded massage: 001110011000 Sequence-Use: 0 1 0 1 Message: x0 x0 x2 x1 Encoded massage: 001110011000 9/21

slide-11
SLIDE 11

Sequence-Level MAP Decoder

Path Metric

  • The path metric to be maximized is given by

M(ˆ ❛)

K−✶

  • k=✵

(log p − log (✶ − p)) d❤

  • ❈ uk(ˆ

ak), ②(k) + log P(ˆ ak)

  • p is the BSC cross-over probability
  • d❤
  • ❈ uk (ˆ

ak), ②(k) is the Hamming distance between the codeword from sub-code uk corresponding to the kth decoded symbol ˆ ak and the corresponding received sub-sequence ②(k)

  • P(ˆ

ak) is the a priori probability of the kth decoded symbol

  • Maximization can be achieved using dynamic programming on a

trellis

10/21

slide-12
SLIDE 12

Symbol-Constrained Free Distance

Distance Measures

  • In decoders that ignore the number of decoded symbols, paths

merge when a sequence of codewords have an equal number of bits

  • The appropriate distance measure to use in this case is the free

distance

  • In decoders that are constrained on the number of decoded

symbols, paths merge when a sequence of codewords have an equal number of bits and an equal number of codewords

  • In this work we introduce the Symbol-Constrained Free Distance

(SCFD) to take this into account

11/21

slide-13
SLIDE 13

Symbol-Constrained Free Distance

1 2 4 8 19 18 17 15 11 16 13 10 5 3 9 7 6 14 12

Bit Index, n TV-VLEC Code B C0 C1 00 111 10011 01001 11 000 01100 10110 TV-VLEC Code B C0 C1 00 111 10011 01001 11 000 01100 10110 x0 x1 x2 x3 Source Symbol Sequence-Use: 0 1 0 Message 1: x0 x1 x2 Encoded massage 1: 0000010011 Sequence-Use: 0 1 0 Message 1: x0 x1 x2 Encoded massage 1: 0000010011 Encoded massage 2: 1001111111 Message 2: x2 x0 x1 12/21

slide-14
SLIDE 14

Symbol-Constrained Free Distance

Free Distance

  • The free distance of a TV-VLEC code C = {C✵, C✶, . . . , Cm−✶} of
  • rder m and with sequence-use ✉ = (u✵, u✶, . . . , uK−✶) is the

minimum Hamming distance between any two codeword concatenations ❈ ui′ (a′

✵) ❈ ui′+✶(a′ ✶) . . . ❈ ui′+K′−✶

  • a′

K ′−✶

  • and

❈ ui′′ (a′′

✵) ❈ ui′′+✶(a′′ ✶) . . . ❈ ui′′+K′′−✶

  • a′′

K ′′−✶

  • ,

where a′

j, a′′ j are two source symbols such that a′ ✵ = a′′ ✵, K ′−✶

  • j=✵
  • ❈ ui′+j
  • a′

j

  • =

K ′′−✶

  • j=✵
  • ❈ ui′′+j
  • a′′

j

  • and

k′−✶

  • j=✵
  • ❈ ui′+j
  • a′

j

  • =

k′′−✶

  • j=✵
  • ❈ ui′′+j
  • a′′

j

  • for any k′ < K ′ and k′′ < K ′′, K ′, K ′′ = ✶, ✷, . . . , K,

i′ = ✵, ✶, . . . , K − K ′, and i′′ = ✵, ✶, . . . , K − K ′′.

13/21

slide-15
SLIDE 15

Symbol-Constrained Free Distance

1 2 4 8 19 18 17 15 11 16 13 10 5 3 9 7 6 14 12 1 2 3

Symbol Index, k Bit Index, n TV-VLEC Code B C0 C1 00 111 10011 01001 11 000 01100 10110 TV-VLEC Code B C0 C1 00 111 10011 01001 11 000 01100 10110 x0 x1 x2 x3 Source Symbol Sequence-Use: 0 1 0 Message 1: x0 x1 x2 Encoded massage 1: 0000010011 Sequence-Use: 0 1 0 Message 1: x0 x1 x2 Encoded massage 1: 0000010011 Encoded massage 2: 1001111111 Message 2: x2 x0 x1 14/21

slide-16
SLIDE 16

Symbol-Constrained Free Distance

Symbol-Constrained Free Distance

  • The symbol-constrained free distance of a TV-VLEC code

C = {C✵, C✶, . . . , Cm−✶} of order m and with sub-code sequence-use ✉ = (u✵, u✶, . . . , uK−✶) is the minimum Hamming distance between any two codeword concatenations ❈ ui(a′

✵) ❈ ui+✶(a′ ✶) . . . ❈ ui+K′−✶

  • a′

K ′−✶

  • and

❈ ui(a′′

✵) ❈ ui+✶(a′′ ✶) . . . ❈ ui+K′−✶

  • a′′

K ′−✶

  • ,

where a′

j, a′′ j are two source symbols such that a′ ✵ = a′′ ✵, K ′−✶

  • j=✵
  • ❈ ui+j
  • a′

j

  • =

K ′−✶

  • j=✵
  • ❈ ui+j
  • a′′

j

  • and

k−✶

  • j=✵
  • ❈ ui+j
  • a′

j

  • =

k−✶

  • j=✵
  • ❈ ui+j
  • a′′

j

  • for k < K ′, K ′ = ✶, ✷, . . . , K and i = ✵, ✶, . . . , K − K ′.

15/21

slide-17
SLIDE 17

Symbol-Constrained Free Distance

Problem with Order One TV-VLEC Codes

  • An order one TV-VLEC code is a VLEC code
  • A symbol-constrained MAP decoder can recover symbol sync by

a "reverse" error event

16/21

slide-18
SLIDE 18

Symbol-Constrained Free Distance

Problem with Order One TV-VLEC Codes

  • An order one TV-VLEC code is a VLEC code
  • A symbol-constrained MAP decoder can recover symbol sync by

a "reverse" error event

VLEC Code A 1011 11010 x0 x1 x2 Source Symbol

0101111010 1101001011

16/21

slide-19
SLIDE 19

Symbol-Constrained Free Distance

Problem with Order One TV-VLEC Codes

  • An order one TV-VLEC code is a VLEC code
  • A symbol-constrained MAP decoder can recover symbol sync by

a "reverse" error event

VLEC Code A 1011 11010 x0 x1 x2 Source Symbol

0101111010 1101001011 Constrained Symbol Distance = 4

16/21

slide-20
SLIDE 20

Symbol-Constrained Free Distance

Problem with Order One TV-VLEC Codes

  • An order one TV-VLEC code is a VLEC code
  • A symbol-constrained MAP decoder can recover symbol sync by

a "reverse" error event

VLEC Code A 1011 11010 x0 x1 x2 Source Symbol

Constrained Symbol Distance = 4 0101110111101011010 1101010111101001011 0101110111101011010 1101010111101001011

16/21

slide-21
SLIDE 21

Symbol-Constrained Free Distance

Problem with Order One TV-VLEC Codes

  • An order one TV-VLEC code is a VLEC code
  • A symbol-constrained MAP decoder can recover symbol sync by

a "reverse" error event

VLEC Code A 1011 11010 x0 x1 x2 Source Symbol

Constrained Symbol Distance = 4 0101110111101011010 1101010111101001011 0101110111101011010 1101010111101001011

  • The symbol-constrained free distance is not relevant in this case
  • Problem is solved by using TV-VLEC codes with order 2 or higher

16/21

slide-22
SLIDE 22

Results – Levenshtein Symbol Error Rate

2 4 6 8 10 12 10-6 10-5 10-4 10-3 10-2 10-1 100

Code B: SCFD = ✸, L = ✷.✾ bits Code C: dfree = ✷, L = ✷.✾ bits Code D: dfree = ✸, L = ✸.✸ bits As expected, symbol-constrained decoder offers better performance

17/21

slide-23
SLIDE 23

Results – Levenshtein Symbol Error Rate

2 4 6 8 10 12 10-6 10-5 10-4 10-3 10-2 10-1 100

Code B: SCFD = ✸, L = ✷.✾ bits Code C: dfree = ✷, L = ✷.✾ bits Code D: dfree = ✸, L = ✸.✸ bits TV-VLEC code B performs better compared to same average codeword length or same dfree VLEC codes

17/21

slide-24
SLIDE 24

Results – Hamming Symbol Error Rate

2 4 6 8 10 12 10-6 10-5 10-4 10-3 10-2 10-1 100

Code B: SCFD = ✸, L = ✷.✾ bits Code C: dfree = ✷, L = ✷.✾ bits Code D: dfree = ✸, L = ✸.✸ bits Performance gains more pronounced with Hamming SER – greater capability to maintain symbol-level synchronization with code B

18/21

slide-25
SLIDE 25

Results – Frame Error Rate

2 4 6 8 10 12 10-4 10-3 10-2 10-1 100

Code B: SCFD = ✸, L = ✷.✾ bits Code C: dfree = ✷, L = ✷.✾ bits Code D: dfree = ✸, L = ✸.✸ bits TV-VLEC code B gives a coding gain of 2dB when compared to VLEC code C and a gain of 0.5dB when compared to VLEC code D

19/21

slide-26
SLIDE 26

Conclusions

Contributions

  • Introduced Time-Varying Variable-Length Error-Correcting Codes
  • Defined the Symbol-Constrained Free Distance (SCFD) that takes

into account the number of symbols in compared paths Advantages of TV-VLEC codes

  • Significant improvement in performance can be achieved without

increasing decoding complexity over normal VLEC code decoders

  • SCFD allows the construction of better performing codes

20/21

slide-27
SLIDE 27

Conclusions

Future Work

  • Using concatenated codes
  • Implementing a symbol-level soft-in soft-out decoder should be

relatively straight forward

  • Performance with an outer error-correcting code is expected to be

significantly better

  • Decoder complexity may be reduced using similar approximate

MAP decoding techniques as for VLEC codes (e.g. Huang et al., 2008)

  • More efficient algorithms to design TV-VLEC codes with a given

SCFD are required

21/21