Upload
allan-parsons
View
230
Download
4
Tags:
Embed Size (px)
Citation preview
Some German history in China (1897-1914)
Tsingtao (Germania) brewery
A.J. Han Vinck, Jinan 2011 3
My cooperation with Chinese scientistsBackground Application
• Fang-Wei Fu Information theory Flash Memory
• Yuan Luo Error Control Coding Networking
• Yanling Chen Wiretap channel Biometrics
• Feng-Wen Sun Mathematics Convolutional Codes
Common link? Fang-Wei Fu from Nankai University
A.J. Han Vinck, China 2012 4
Error correction is needed in high tech devices
A.J. Han Vinck, China 2012 5
fundamental limits set by Shannon (1948)
Bell Labs, 1955.
Fundamental problem: reproducing at the receiver a message selected at the transmitter
Shannon‘s contribution: - bound on the efficiency (capacity) - how to achieve the bound
The Bell System Technical Journal, Vol. 27, pp. 379–423, 623–656, October, 1948.
A.J. Han Vinck, Jinan 2011 6
message: Alpha
codeword: (0 1 0 1 0 1 0 1)
transmission error (0 0 0 1 0 1 0 1)
decode (0 1 0 1 0 1 0 1)
translate: Alpha
How can we do that?
Introduction to the basic concepts
A.J. Han Vinck, Jinan 2011 7
It works as follows
• Use the difference in transmitted vectors to recover the transmitted original
Example:
4 messages encoded as A 00 000B 01 011C 10 101D 11 110the words differ in at least 3 positions
Hence, one difference (error) can be detected and corrected:
receive: 10110
the transmitted message is? 11110
A.J. Han Vinck, China 2012 8
1-Error correction started by Hamming (1950)
(31,26)(7,4)
(3,1)
1 2 3
123
000111
3567 124
0000 0001000 1100100 101•••1111 111 minimum distance dmin = 3
A.J. Han Vinck, China 2012 9
What are the classical research problems
Codebook: maximize - # of codewords of length n - minimum distance dmin
Channel characterization:- Types of errors; memory in the noise behavior ? - Channel Capacity?
Decoder:- Design of a decoding/decision algorithm- Minimize complexity
A.J. Han Vinck, China 2012 10
Lecture content
Goal: give examples, different from just error correction
- improve storage efficiency in flash memory
- give biometrics privacy
- code design for variable efficiency in networking
- permutation codes for non-traditional error models
A.J. Han Vinck, China 2012
Ibm punch card „a flash memory“
On the Capacity of Write-Unidirectional Memories with Nonperiodic Codes”, IEEE Transactions on Information theory, April 2004, pp. 649-656, (Fang-Wei Fu, A.J. Han Vinck, Victor Wei, Raymond Yeung)
Write, read and throw away, but •••
Write, read and refresh
Write, read and erase, but •••
A.J. Han Vinck, China 2012
A modern ROM: the Flash Memory
Cell array in a flash memory A flash memory cell
(Floating gate)
- A flash memory cell stores charge / data- We can only increase the cell charge- If charge top level is reached, erase memory block
A.J. Han Vinck, China 2012
Writing in a q-ary flash memory cell
cell charge level value
1, 0, 1, 0, 0, 0, 1, 1, 0, 1 1, 2, 3, 4, 4, 4, 5, 5, 6, 7
A.J. Han Vinck, 2011
Cell Level 0
Input
Strategy for writing: increase charge content or stay at present content
Start at 0
7 16 05 14 03 12 01 10 0
bit
Use the memory T=4 times: how many sequences we can write into the
memory?
q = 3: 5 +T(T-1)/2 = 11 words
write 0000 0011 0111 1111 0001 0012 0112 1112
0122 1122 1222
q = 2: T+1 = 5 words
write 0000 0011 0111 1111 0001
Capacity: log2|#sequences | ≈ (q-1) log2 (T+1)
Note: writer and reader must know the content!
A.J. Han Vinck, China 2012
A.J. Han Vinck, China 2012
cell level
average number of writes to reach top level
Performance of the 1 step up strategy
probabilityP(1) = 1 – P(0) = p
p
1-p
Probability (level change) = 2p(1-p)
p)2p(11q
T
capacity! the of 50% is which
1)(Tlog2
1qpT
Tlog :is stored bits of# the 22
10101010
Example of Codes: 2 bits in 3 cellsbefore erasing
A.J. Han Vinck, China 2012
2 bits
2 bits
A.J. Han Vinck, China 2012 17
A.J. Han Vinck, China 2012 18
Coding for Noisy Biometrics used as a key/password
- verify claimed identity with stored information
problems:
• Errors at authentication: False Rejection (FRR)/ False Acceptance (FAR)
• Leakage: attacker finds information about bio from Data Base (DB)
I am Han, can I come in?
A.J. Han Vinck, China 2012 19
the Juels-Wattenberg scheme (binary)
b(io)
c bRandomCodeword c
b‘(io)
DataBase
c b b‘ = c e
Hash(c)
Enrollment Authentication c b
Hash(c)
Hash(c)
c b
= ?Y/N
Our contributions: use knowledge of bio at enrollment to encodeuse c b from database to improve decision on c
Yanling Chen and Han Vinck, A fresh look into the biometric authentication: Perspective from Shannon’s secrecy system and a special wiretap channel, Secrypt, 2011V. B. Balakirsky, A. R. G. and A. J. Han Vinck, Permutation block coding from biometrical authentication, Proc. 7th Int. Conf. on Computer Science and Info. Technologies, 2009
A.J. Han Vinck, China 2012 20
Juels-Wattenberg for RS codes
Secret s { 1,2,•••,2k } → RS codeword c = c1,c2,c3,••• ,cn
c* b(io) changes n - t positions b => --- --- -----
Enrollment: store c*
Authentication: b‘ points at n- t „incorrect“ positions in c*
these positions are considered as erasures: for t k : dmin n– k + 1 – (n-t) = t – k + 1
kt for nt
k
nk
t
Rate Acceptance FalseFARk
b' in errors of number the is e where ne
Rate Rejection False FRR2k-t
Increasing k reduces FAR, but increases FRR
A.J. Han Vinck, China 2012 21
• Translation from Bio to Template– Iris, fingerprint, etc
• Investigation of error behavior– Burst, impulsive, non-linear
• Performance estimation for real dataPractical performance FAR, FRR, etc.
• Using other techniques, such as data compression– Fault tolerant hashing
Research topics we work on
011001…
000001…
A.J. Han Vinck, China 2012 22
Mondriaan
A.J. Han Vinck, China 2012 23
Optimum distance profile (intro)
Encoder for binary linear (n,k) codes:
info generator matrix codeword
k bits n n bits
x •k G = cExample: equivalent Hamming code generators with dmin = 3 ( minimum # of differences)
1 0 0 0 1 1 1 1 1 1 1 1 1 10 1 0 0 1 0 1 1 1 1 0 1 0 0
0 0 1 0 1 1 0 1 1 0 1 0 0 10 0 0 1 0 1 1 1 0 1 1 0 1 0
G = ≡
The matrices generate the same code words
24
Motivation (2)• UMTS: starting code (32,6) Reed Muller code, dmin = 16
6
32
• UMTS: extend to (32,10) code in best possible way
IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 56, NO. 9, SEPTEMBER 2010 4309
A Lower Bound on the Optimum Distance Profiles of the Second-Order Reed–Muller CodesYanling Chen and A. J. Han Vinck
A.J. Han Vinck, China 2012
IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 56, NO. 3, MARCH 2010 1007
On the Optimum Distance Profiles About Linear Block CodesYuan Luo, A. J. Han Vinck, and Yanling Chen
A.J. Han Vinck, China 2012 25
Motivation (2)
• From (32,6), dmin = 16 to bound
– (32,7) dmin 14
– (32,8) dmin 13
– (32,9) dmin 12
– (32,10) dmin 12
– (32,11) dmin 12 is also possible !
QUESTION: is this possible?
REFERENCE: Markus Grassl ([email protected]).
A.J. Han Vinck, China 2012 26
Optimum distance profile (for the Hamming code)
G0 = one row of G: dmin = 7
1 1 1 1 1 1 1
1 0 1 1 0 1 0
1 1 0 1 0 0 1
1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 0 1 1 0 1 0
1 1 1 1 1 1 1
1 0 1 1 0 1 0
1 1 0 1 0 0 1
0 1 1 1 1 0 0
G1 = add one row of G: dmin = 3
G2 = add one row of G: dmin = 3
G3 = add one row of G: dmin = 3
G for the Hamming CODE
PROFILE :(7, 3, 3, 3)
A.J. Han Vinck, China 2012 27
Optimum distance profile (idea 2)
G0 = one row of G: dmin = 4
0 1 1 1 1 0 0
1 0 1 1 0 1 0
1 1 0 1 0 0 1
0 1 1 1 1 0 0
0 1 1 1 1 0 0
1 0 1 1 0 1 0
1 1 1 1 1 1 1
1 0 1 1 0 1 0
1 1 0 1 0 0 1
0 1 1 1 1 0 0
G1 = add one row of G: dmin = 4
G2 = add one row of G: dmin = 4
G3 = add one row of G: dmin = 3
G for the Hamming CODE
PROFILE :(4, 4, 4, 3)
A.J. Han Vinck, China 2012 28
Research problem: optimize distance profile
Inverse Optimum Distance profile:
Д:= (0, 1, 2, 3 ) Ex: (7,3,3,3) better than (4,4,4,3)
General problem: find ODP for classes of codes
like: Reed-Muller
BCH
Golay code
•••
29A.J. Han Vinck, China 2012
Binary Extended Golay code (24,12,8)» Use Grassl (http://www.codetables.de/)
# rows: 12 11 10 9 8 7 6 5 4 3 2 1
– Dinvupper-bound := (8,8,8,8,8, 10,10, 12, 12,13,16,24)
– ODPinv-BGolay =(8,8,8,8,8, 8, 8, 8, 12,12,12,24)
Why? 1. All ones should be the first row (weight 24)hence 10 = 16 cannot occur Codeword weights: 0, 8, 12, 16, 24
2. there is a unique (24,5,12) code ( code word weights: 12 and 16)
D.B. Jaffe, optimal binary linear codes of length 30, Discr. Math., vol 223, pp. 135-155, 2000
3. a code with n = 24 and k = 4, d = 12 exists
123
Codewords: (1111111-1111111-11111111), (10100110-10100110-10100110) (01001110-01001110-01001110), (00111010-00111010-00111010)
Binary Extended Golay code (24,12,8)
A.J. Han Vinck, China 2012 30
The Optimum distance profile in practice
(32,10) sub-code ofthe second orderReed-Muller code
T F C I co d e w o rdb 0 ...b 3 1
T F C I (1 0 b its )a 0 ...a 9
Figure 6: Channel coding of TFCI bits
China Wireless Telecommunication Standard (CWTS); Working Group 1 (WG1);
Multiplexing and channel coding
CWTS STD-TDD-103
Currently, a [32,10,12] sub-code of the second order Reed-Muller Code is used in the TFCI coding. An easy improvement can be obtained by extending it to a [32,11,12] sub-code .
A.J. Han Vinck, China 2012 31
Escher
A.J. Han Vinck, China 2012 32
Permutation codes
• Idea: present codewords as balls in an array
• One ball per column and one per row
word 1
word 2
= 4
number
1
2
6
time1 2 6
3
4
5
3 4 5
A.J. Han Vinck, China 2012 33
effect of noise on permutation codes (simplified)
Transmitted Background-insertion Background-deletion
Impulsive-broadband narrowband-jammer frequency selective fading
f
t
A.J. Han Vinck, China 2012 34
A practical example: Spread-FSK
Send: f0 or f1 :
Detector: uses FSK or On-Off keying mode
Advantages: robust against narrowband noise
alternative
Send: (f0,f1 ) or (f1,f0 ) i.e. R = 1/2
Detector: select max. # of agreements
Advantages: robust
against: narrowband + impulsive noise + random
f
f0 f1
2-FSK mode
f
f1
On-off mode
Permutation code, dmin = 2
f0
f1
t
A.J. Han Vinck, China 2012 35
Code parameters
• Upperbound on cardinality of the code
Q1: when do we achieve equality?
Q2: if not, what is the upperbound
• References: - Ian Blake, Permutation codes for discrete channels (1975, IT)
- P. Frankl and M. Deza, On the max. # of Permutations with given Max. or Min. Distance (1977, Jrnl of Comb. Th.)
- T. Klöve: |C| = 18 for M = 6, D = 5 instead of 30
1)!(DM!
|C|p
# of permutations
reduction for
distance
A.J. Han Vinck, China 2012 36
• all cases M < 7 solved• Interesting cases left ?
Dp = 2 3 4 5 6 7 8 9 10
6 x x x 18 x |C| = 18 is the Klöve (2000) result
7 x x ? ? x x proof that the max code size is 18
M 8 x x ? ? x x x for Dp = 5, M = 6.
9 x x ? ? ? x x x M! = 720 possible code words
10 x x ? ? ? ? x ? x
Some answers to the questions
A.J. Han Vinck, China 2012 37
Existing code constructions
• Dp = M; Dp = M-1 , where M is prime (power)
• Dp = 2; Dp = 3
• The Mathieu groups– M11 Dp = 8 |C| = 7920
– M12 Dp = 8 |C| = 95040
• Codes with distance Dp = M-2 exist for– M = 1 + pn |C| = pn(1+pn)(pn-1)
A.J. Han Vinck, China 2012 38
Performance: conform
• Correct decoding if # error events ( impulse + narrow + background + fading ) < Dp
an error event hits a codeword only at one place
• An efficient trellis based decoding scheme has been designed for low complexity decoding
Hendrik C. Ferreira, A. J. Han Vinck, Theo G. Swart, Ian de Beer. Permutation trellis codes. IEEE Transactions on Communications, 2005: 1782~1789
Code performance
A.J. Han Vinck, China 2012 39
• extremely suited for dirty channels– Impulse-, narrow band -, background noise, fading
• Problems to work on:– Cardinality of the codes: upperbound can be obtained, but not always– Encoding complexity no linear encoding– Decoding complexity no easy decoding algorithm due to non-linearity
• Performance analysis on real channels
• Applications in Powerline Communications and Flash memories - Coded Modulation for Powerline Communications, In AEÜ Journal, 2000, pp. 45-49, Jan 2000, A.J. Han Vinck
- Rank Modulation for Flash Memories, A. Jiang, Member, R. Mateescu, M. Schwartz, J.Bruck, IEEE Tr. IT, JUNE 2009
Conclusions
A.J. Han Vinck, China 2012 40
Our (Olaf hooijen and me) modem design based on permutation codes,
1997, Cebit Hannover
• Coding has a mathematical and a systems aspect
• Applications are widespread: from networking to chip level
• Implementations lead to low complexity algorithms– Viterbi (Convolutional Codes)– Berlekamp Massey (RS-codes)
• Background knowledge in Information and Communication theory and combinatorics necessary
• Cooperation with different disciplines important
A.J. Han Vinck, China 2012 41
Some lessons I learned
A.J. Han Vinck, Jinan 2011 42
My scientific genealogy
• Friedrich Leibniz (1597, Leipzig)• Carl Friedrich Gauß (Göttingen)• Ernst Adolph Guillemin (München)• Robert Mario Fano (MIT)• John McReynolds Wozencraft (MIT)• Thomas Kailath (Stanford)• Johan Pieter M. Schalkwijk (Stanford-TUE)• Me (University Duisburg-Essen, Germany)
my scientific Genealogy (coincidence?)http://genealogy.math.ndsu.nodak.edu/
• Friedrich Leibnitz (1597, Leipzig)
• Carl Friedrich Gauß (Göttingen)
• John M. Wozencraft (MIT) (1925-2009)
• Me (University Duisburg-Essen, Germany)– Digital Communications and - Coding techniques
A.J. Han Vinck, China 2012 43
A.J. Han Vinck, China 2012 44
A.J. Han Vinck, China 2012 45
EARLIEST DEPICTION OF JUGGLING known shows skillful Egyptian women on the 15th Beni Hassan
tomb of an unknown prince from the Middle Kingdom period of about 1994 to 1781 B.C
Shannon juggling machine and juggling theorem
A.J. Han Vinck, China 2012 46
A.J. Han Vinck, China 2012 47
Traditional Jeju (Korean) Channel Code
is there a Chinese equivalent?
A.J. Han Vinck, China 2012 48
A Related problem: code generator partitioning
Code generator
make d2 as large as possible for any generator for a specific code
d1
d2
A.J. Han Vinck, China 2012 49
Optimum distance profile (idea 1)
G0 = 4 rows of G: dmin = 3
G1 = delete one row of G: dmin = 4
G2 = delete one row of G: dmin = 4
G3 = 1 row of G: dmin = 4
1 0 1 1 0 1 0
1 1 0 1 0 0 1
0 1 1 1 1 0 0
1 1 0 1 0 0 1
0 1 1 1 1 0 0
1 1 0 1 0 0 1
Start with G for the Hamming CODE
1 1 1 1 1 1 1
1 0 1 1 0 1 0
1 1 0 1 0 0 1
0 1 1 1 1 0 0 PROFILE (3, 4, 4, 4)
A.J. Han Vinck, China 2012 50
Optimum distance profile (idea 1)
G0 = 4 rows of G: dmin = 3
G1 = delete one row of G: dmin = 3
G2 = delete one row of G: dmin = 3
G3 = 1 row of G: dmin = 7
1 1 1 1 1 1 1
1 1 0 1 0 0 1
0 1 1 1 1 0 0
1 1 1 1 1 1 1
0 1 1 1 1 0 0
1 1 1 1 1 1 1
Start with G for the Hamming CODE
1 1 1 1 1 1 1
1 0 1 1 0 1 0
1 1 0 1 0 0 1
0 1 1 1 1 0 0 PROFILE (3, 3, 3, 7)
A.J. Han Vinck, China 2012 51
Research problem: optimize distance profile
Optimum Distance profile for the Hamming code:
D:= ( d0, d1, d2, d3 ) Ex: (3,4,4,4) better than (3,3,3,7)
General problem: find ODP for classes of codes
like: Reed-Muller
BCH
Golay code
•••
1 2
A.J. Han Vinck, China 2012 52
Binary Extended Golay code (24,12,8)
• Use Grassl (http://www.codetables.de/)
– # rows: 12 11 10 9 8 7 6 5 4 3 2 1
– Ddicupper-bound := (8,8,8,8,8, 10,10, 12,12,13,16,24)
– ODPdic-BGolay =(8,8,8,8,8, 8, 8, 12,12,12,16,16)
Why? 1. Codeword weights: 0, 8, 12, 16, 24 2. there is a unique (24,5,12) code ( code word
weights: 12 and 16)D.B. Jaffe, optimal binary linear codes of length 30, Discr. Math., vol 223, pp.
135-155, 2000
A.J. Han Vinck, China 2012 53
Simple code construction with Dp = M-1
• M prime (power)
Same as Reed Solomon codes except for I 0
CI(m) = ( m , I ) 1 1 1 Dp = M – 1 0 1 M-1
result: M-1 sets of M codewords; (M-1) M/2 pairs at distance M !
----- ----- -----M ----- ----- -----
••• ••• ••• ••• ---------- -----
M-1 sets
A.J. Han Vinck, China 2012 54
Example: M = 3
M = 3; M(M-1) = 6; minimum distance = M-1 = 2
(m,I) 1 1 1 C0 1 2
I = 1 I = 2+ 000 0 1 2 0 2 1 + 111 1 2 3 1 0 2+ 222 2 0 1 2 1 0
A.J. Han Vinck, China 2012 55
• Design of optimal codes
• Complexity of decoding (exhaustive search)
• Low efficiency
Problems
A.J. Han Vinck, China 2012 56
My scientific genealogy
• Friedrich Leibniz (1597, Leipzig)• Carl Friedrich Gauß (Göttingen)• Ernst Adolph Guillemin (München)• Robert Mario Fano (MIT)• John McReynolds Wozencraft (MIT)• Thomas Kailath (Stanford)• Johan Pieter M. Schalkwijk (Stanford-TUE)• Me (University Duisburg-Essen, Germany)
A.J. Han Vinck, China 2012 57
The first topic is impulsive noise• Mobile radio with electromagnetic interference
– D. Middleton ""Statistical-physical models of electromagnetic interference,"", IEEE Trans. Electromagn. Compat., vol. EMC-19, pp. 106-127, Aug. 1977.
• Measurements and Models of Radio Frequency Impulsive Noise for Indoor Wireless Communications
K. Blackard, T. S. Rappaport, and C. W. Bostian, IEEE JSAC, Sept. 1993
• Impulsive Noise Environment of High Voltage Electricity Transmission Substations and its Impact of the Performance of ZigBee
• Impulse noise, is characterized by long quiet intervals of time followed by high-amplitude bursts. This noise results from natural causes— such as lightning— as well as man-made causes.
• Impulse noise is responsible for most errors in digital communication systems and generally provokes errors to occur dependently in groups.
http://www.wireless-center.net/WLANs-WPANs/2425.html
A.J. Han Vinck, China 2012 58
Some German history in China (1897-1914)
Tsingtao (Germania) brewery
A.J. Han Vinck, China 2012 59
My cooperation with Chinese scientists
Background Application• Fang-Wei Fu Information theory Flash Memory
• Yuan Luo Error Control Coding Networking
• Yanling Chen Wiretap channel Biometrics
• Feng-Wen Sun Mathematics Convolutional Codes
Common link? Fang-Wei Fu from Nankai University
A.J. Han Vinck, China 2012 60
Error correction started by Hamming (1950)
A.J. Han Vinck, China 2012 61
The classical starting point
http://commons.wikimedia.org/wiki/File:Hamming(7,4)_as_bits.svg
Hamming Code (7,4)
- Message bits 3,5,6,7
- check bits 1,2,4
Conclusion:1 error can be found
A.J. Han Vinck, China 2012 62
Can we do a general representation?Example: 5 check digits
(31,26)
A.J. Han Vinck, China 2012 63
What is error correction?
Shannon does the math at Bell Labs, 1955.
The Bell System Technical Journal, Vol. 27, pp. 379–423, 623–656, October, 1948.
A.J. Han Vinck, China 2012 64
message: Alpha
codeword: (0 1 0 1 0 1 0 1)
transmission error (0 0 0 1 0 1 0 1)
decode (0 1 0 1 0 1 0 1)
translate: Alpha
How can we do that?
Introduction to the basic concepts
A.J. Han Vinck, China 2012 65
It works as follows
• Use the difference in transmitted vectors to recover the transmitted original
Example:
4 messages encoded as A 00 000B 01 011C 10 101D 11 110the words differ in at least 3 positions
Hence, one difference (error) can be detected and corrected:
receive: 10110
the transmitted message is? 11110