Presentation is loading. Please wait.

Presentation is loading. Please wait.

Coding for the Correction of Synchronization Errors ASJ Helberg CUHK Oct 2010.

Similar presentations


Presentation on theme: "Coding for the Correction of Synchronization Errors ASJ Helberg CUHK Oct 2010."— Presentation transcript:

1 Coding for the Correction of Synchronization Errors ASJ Helberg CUHK Oct 2010

2 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

3 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

4 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  0  1 becomes 10 

5 Effects A single synchronization error causes a catastrophic burst of additive errors Tx: 0001010011011110 Rx: 0001100001110 Boundaries of data blocks are unknown to receiver e.g. 001100 becomes 0000

6 Synchronizable codes Comma-free codes Prefix synchronised codes Bounded synchronisation delay Synchronisation with timing Marker codes Corrupted blocks are discarded!!

7 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)

8 Binary Algebraic block codes Varshamov Tenengoltz construction: One asymmetric error

9 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

10 Example i=4 3 2 1  ix i  ix i  a mod(n+1); x=0000x=0000 00 x=0001x=0001 11 x=0010x=0010 22 x=0011x=0011 33 x=0100x=0100 44 x=0101x=0101 44 x=0110x=0110 50 x=0111x=0111 61 x=1000x=1000 44 x=1001x=1001 50 x=1010x=1010 61 x=1011x=1011 72 x=1100x=1100 72 x=1101x=1101 83 x=1110x=1110 94 x=1111x=1111 100

11 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, d min  2 between any two code words. Proposition 3 : Code words in a Levenshtein code have a d min  4 if they have the same weight. Proposition 4 : Levenshtein code words that differ in one unit of weight have d min  3.

12 Weight distance diagram 2 3 n-2 n-3 d min = 3 n d min = 4 d min = 2 d min = 4 0 d min = 2

13 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 d min  s + 1. Again, the proof of propositions 5 and 6, is straight forward when considering the resulting subwords after s deletions.

14 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. d min = (w 2 ‑ x) + (w 1 ‑ x) = w 2 + w 1 ‑ 2x = w 2 + w 2 ‑  w ‑ 2x = 2(w 2 ‑ x) ‑  w From Proposition 6, d min  s + 1 corresponding to number of “1’s” by which w 2 differ from w 1 i.e. (w 2 ‑ x) thus d  2(s + 1) ‑ i

15 Weight-distance diagram s+1 s+2 n- s+1 n- s+2 d min = 2s+1 n d min = s+1 0 d min = 2(s+1) d min = s+1 d min = 2(s+1) d min = 2(s+1) - i

16 Bounds for the general algebraic construction Lower bound on s correction capability

17 Upper Bound on correction capability

18 Upper bound on Cardinality Hamming type upper bound

19 General algebraic construction

20 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 2 n into, thus in limit, cardinality bounded by 2 n / m with (non-empty partitions)

21 Example v=7 4 2 1  vx  vx  a mod(m); m=12 x=0000x=0000 00 x=0001x=0001 77 x=0010x=0010 44 x=0011x=0011 11 x=0100x=0100 22 x=0101x=0101 99 x=0110x=0110 66 x=0111x=0111 131 x=1000x=1000 11 x=1001x=1001 88 x=1010x=1010 55 x=1011x=1011 120 x=1100x=1100 33 x=1101x=1101 10 x=1110x=1110 77 x=1111x=1111 142

22 Cardinalities Word length n s = 2s = 3s = 4s = 5 422-- 5222- 63222 74222 85322 96422 108432 119542 1211643 1315844 1418854

23 Problems Very low cardinalities Does not scale well No decoding algorithm Codeword boundaries assumed Validity not proven in general

24 Cardinality bounds Levenshtein

25 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

26 Lower bounds on the capacity of the binary deletion channel

27 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?


Download ppt "Coding for the Correction of Synchronization Errors ASJ Helberg CUHK Oct 2010."

Similar presentations


Ads by Google