coding for the correction of synchronization errors
DESCRIPTION
Coding for the Correction of Synchronization Errors. ASJ Helberg CUHK Oct 2010. Content. Background Synchronization errors and their effects Previous approaches Resynchronization Concatenation Error correction Algebraic insertion/deletion correction Single error correcting - PowerPoint PPT PresentationTRANSCRIPT
Coding for the Correction of Synchronization Errors
ASJ HelbergCUHK Oct 2010
Content
• Background– Synchronization errors and their effects
• Previous approaches– Resynchronization– Concatenation– Error correction
• Algebraic insertion/deletion correction– Single error correcting– Multiple error correcting
• Problems and applications
Synchronization errors
• Due to timing or other noise and inaccuracies,• Manifests as the insertion or deletion of symbols• Examples:
– PPM (Pulse position modulation) in optic fibres, – Terabit per square inch magnetic recording– Optic disc recording due to ISI and ITI– Multipath effects in radio
Types of Synchronization errors
• Insertion or deletion, excluding additive errors– Additive errors are special case of deletion and
insertion in same position of bits of opposite value
– Repetition/duplication error: copies bit– Bit/peak shift: 01 becomes 10– Bit/peak shift of size a: 0a1 becomes 10a
Effects
• A single synchronization error causes a catastrophic burst of additive errors
Tx: 0001010011011110Rx: 0001100001110
• Boundaries of data blocks are unknown to receiver
e.g. 001100 becomes 0000
Synchronizable codes
• Comma-free codes• Prefix synchronised codes• Bounded synchronisation delay• Synchronisation with timing• Marker codes
• Corrupted blocks are discarded!!
Sync error correcting codes
• Binary Algebraic block codes• Nonbinary and perfect codes• Bursts of sync errors• Weak synchronization errors• Convolutional codes• Expurgated codes (Reed Muller/ LDPC)
Binary Algebraic block codes
• Varshamov Tenengoltz construction:
• One asymmetric error
Levenshtein codes
With 2n > m >= n + 1, s=1 correcting code
With m >= 2n, s=1 and t=1 correcting code
Partition a=0 was proven to have the maximum cardinality
Largest common subword obtained from two valid codewords is
Examplei = 4 3 2 1 ixi ixi a mod(n+1); x = 0 0 0 0 0 0x = 0 0 0 1 1 1x = 0 0 1 0 2 2x = 0 0 1 1 3 3x = 0 1 0 0 4 4x = 0 1 0 1 4 4x = 0 1 1 0 5 0x = 0 1 1 1 6 1x = 1 0 0 0 4 4x = 1 0 0 1 5 0x = 1 0 1 0 6 1x = 1 0 1 1 7 2x = 1 1 0 0 7 2x = 1 1 0 1 8 3x = 1 1 1 0 9 4x = 1 1 1 1 10 0
Hamming distance properties of Levenshtein codes
• Proposition 1 : A Levenshtein code C has only one code
word of either weight w = 0 or weight w = 1. • Proposition 2 : In a Levenshtein code there is a minimum
Hamming distance, dmin 2 between any two code words. • Proposition 3 : Code words in a Levenshtein code have a
dmin 4 if they have the same weight. • Proposition 4 : Levenshtein code words that differ in one
unit of weight have dmin 3.
Weight distance diagram
2
3
n-2
n-3
dmin = 3
n
dmin = 3dmin = 4
dmin = 4
dmin = 2
dmin = 4
0
dmin = 4
dmin = 2
Generalised structure
Proposition 5• Code words of weights w = 0, 1, 2, ..., s do not occur
together in an s ‑ correcting code. Proposition 6• The minimum Hamming distance of an s ‑ insertion/deletion
correcting code is dmin s + 1. • Again, the proof of propositions 5 and 6, is straight forward
when considering the resulting subwords after s deletions.
Proposition 7• Any two number theoretic s ‑ insertion/deletion correcting
code words which differ in weight by i, 0 i s, have a Hamming distance of d 2(s + 1) ‑ i.
dmin = (w2 ‑ x) + (w1 ‑ x)= w2 + w1 ‑ 2x= w2 + w2 ‑ w ‑ 2x= 2(w2 ‑ x) ‑ w
From Proposition 6, dmin s + 1 corresponding to number of “1’s” by which w2 differ from w1 i.e. (w2 ‑ x) thus d 2(s + 1) ‑ i
Weight-distance diagram
s+1
s+2
n-s+1
n-s+2
dmin = 2s+1
n
dmin = 2s+1
dmin = s+1
0
dmin = 2(s+1)
dmin = s+1
dmin = 2(s+1)
dmin = 2(s+1)
dmin = 2(s+1)
dmin = 2(s+1) - i
Bounds for the general algebraic construction
• Lower bound on s correction capability
• Upper Bound on correction capability
Upper bound on Cardinality
• Hamming type upper bound
General algebraic construction
Modified Fibonacci
• S=1:• 1, 2, 3, 4, 5, 6, 7, …• S=2• 1, 2, 4, 7, 12, 20, 33, …• S=3:• 1, 2, 4, 8, 14, 23, 38, …• S=4:• 1, 2, 4, 8, 16, 31, 60, …
• Partitioning 2n into , thus in limit, cardinality bounded by
• 2n / m with
(non-empty partitions)
Example
v = 7 4 2 1 vx vx a mod(m); m=12x = 0 0 0 0 0 0x = 0 0 0 1 7 7x = 0 0 1 0 4 4x = 0 0 1 1 11 11x = 0 1 0 0 2 2x = 0 1 0 1 9 9x = 0 1 1 0 6 6x = 0 1 1 1 13 1x = 1 0 0 0 1 1x = 1 0 0 1 8 8x = 1 0 1 0 5 5x = 1 0 1 1 12 0x = 1 1 0 0 3 3x = 1 1 0 1 10 10x = 1 1 1 0 7 7x = 1 1 1 1 14 2
Cardinalities
Word length n
s = 2 s = 3 s = 4 s = 5
4 2 2 - -5 2 2 2 -6 3 2 2 27 4 2 2 28 5 3 2 29 6 4 2 210 8 4 3 211 9 5 4 212 11 6 4 313 15 8 4 414 18 8 5 4
Problems
• Very low cardinalities• Does not scale well• No decoding algorithm• Codeword boundaries assumed
• Validity not proven in general
Cardinality bounds
• Levenshtein
Lower bounds on the capacity of the binary deletion channel
A Kirsch and E Drinea, “Directly lower bounding the information capacity for channels with i.i.d. deletions and duplications, IEEE Transactions on Information Theory, vol. 56, no. 1, January 2010, pp 86-102
Lower bounds on the capacity of the binary deletion channel
Connection with network coding?
• Synchronization in NC environments is assumed• Especially on physical layer NC
• “Pruned/punctured” codes may be useful ?
• Superimposed codes that are also sync error correcting?