data communication line codes and constrained sequences
DESCRIPTION
Data communication line codes and constrained sequences. A.J. Han Vinck May 18, 2003. A-synchronous arrivals: Line codes. Binary data transmitted using special signal form Important aspects: No DC content: average signal level = 0 High frequencies present in signal - PowerPoint PPT PresentationTRANSCRIPT
Institute for Experimental Mathematics
Ellernstrasse 29
45326 Essen - Germany
Data communicationline codes and constrained
sequences
A.J. Han Vinck
May 18, 2003
A.J. Han Vinck
University Duisburg-Essen digital communications group
A-synchronous arrivals: Line codes
• Binary data transmitted using special signal form
• Important aspects:– No DC content: average signal level = 0– High frequencies present in signal – Enough transitions in signal to gain timing information
• Applications:– Optical transmission– Magnetic and Optical recording
A.J. Han Vinck
University Duisburg-Essen digital communications group
Line codes for clock recovery: examples
1 0 1 1 0 0 0 0 1 0 1
Basic frequency
Basic frequency factor of 2 higher!
+5V
0
+5V
0
-5V
–Longest run = 2
–No DC Manchester code
A.J. Han Vinck
University Duisburg-Essen digital communications group
4B/5B (FDDI)
Property: 4 bits translated into 5 channel digits
at most one „o“ at beginning; at most two „o“ at end
Data code NRZI (change only when a „1“ occurs)
0000 11110
0001 01001
0010 10100
0011 10101
***
1111 11100
Result:
Longest run of „0s“ = 4
Longest run of „1s“ = 6
010001010 0101 01011
0110 01110 0111 01111
1000 10010 1001 10011
1010 10110 1011 10111
1100 11010 1101 11011
1110 11100
A.J. Han Vinck
University Duisburg-Essen digital communications group
4B/5B codes
1 0 1 1 0 0 0 0 1 0 1
DATA
NRZI
Rule NRZI: change only when a „1“ occurs
A.J. Han Vinck
University Duisburg-Essen digital communications group
Run Length Limited sequences (RLL)
• maximum run of same symbols – changes in sequence used to synchronize
• minimum run of same symbols – used to improve transmision efficiency
Example: ( minimum = 2, maximum = 5 )
00111000001111001100111
A.J. Han Vinck
University Duisburg-Essen digital communications group
Ex: CD (EFM) uses min=2, max=10
Note: DvD uses EFM+
A.J. Han Vinck
University Duisburg-Essen digital communications group
Problem:
• Encoding into RLL sequence
– Instead of RLL sequence consider (d,k)-constrained sequence– between 2 „ones“: maximum of k zeros; minimum of d zeros– The „ones“ indicate the position of a transition in the RLL sequence
• ex: 0100010010001101 1000011100001001
Hence: RLL sequence has minimum run of d+1 and maximum of k+1
ex: the manchester code ( with efficiency ½ ) has (d,k) = (0,1)
efficiency can be improved to 0.69!
A.J. Han Vinck
University Duisburg-Essen digital communications group
Why is it used in recording?–no constraint: L bits take time L/1
–with constraint: L bits take time ‘ L/C(d,k), where C(d,k) < 1
–same spacing: (d+1) units of time ‘= /(d+1)
SURPRISE:SURPRISE: ‘L/C(d,k) = L/[(d+1) C(d,k)] < L for [(d+1) C(d,k)] > 1
1
0
1
0
A.J. Han Vinck
University Duisburg-Essen digital communications group
Example: d = 1
–00 00 or 11 2 d = 1
–01 000 or 111 3
–10 0000 or 1111 4
–11 00000 or 11111 5 C(d,k) = 2/3.5 = 1/1.75
–With constraint L bits take
‘L/C(d,k) = L/(d+1) C(d,k) = 0.875 L < L
SECRETSECRET:: we changed the timing!
A.J. Han Vinck
University Duisburg-Essen digital communications group
Example (cont‘d)
Example: 4 symbols 00,01,10,11
encode sequence 00, 01, 10, 00, 00...
as
00, 111, 0000, 11, 00,...,
where after every symbol we change polarity.
The code is uniquely decodable!
A.J. Han Vinck
University Duisburg-Essen digital communications group
IBM disk code (d,k) = (2,7)
• 10 1000 0000 or 1111• 11 0100 0111 or 1000• 011 000100 000111 or 111000• 010 001000 001111 or 110000• 000 100100 111000 or 000111• 0011 00100100 00111000 or
11000111• 0010 00001000 00001111 or
11110000
(d,k) RLL
Homework: show that this code does not violate the constraint!
A.J. Han Vinck
University Duisburg-Essen digital communications group
Cont‘d
–Efficiency = ½
–Maximum 0.51 (shown by Information theory)
Instead of using L positions to store L bits of information
we need only L/ R*(d+1) = L/1.5 positions or 1/3 less!
A.J. Han Vinck
University Duisburg-Essen digital communications group
Eight to Fourteen Modulation (EFM)
A.J. Han Vinck
University Duisburg-Essen digital communications group
Efficient encoding example: d=1, k=
• 000 00000 R = 3/5 = 0.6 (Maximum = 0.69)
• 001 00001• 010 00010• 011 00100 R*(d+1) = 1.2• 100 00101• 101 01000• 110 01001• 111 01010
Problem:
–What is maximum rate?
–How to encode?
A.J. Han Vinck
University Duisburg-Essen digital communications group
Ex: Modified Frequency Modulation MFM (d,k) = (1,3)
• Use markov state diagram to describe sequence generation
A 0/00 B
1/01
0/10 1/01
Decoding rule:
0 x0
1 01
Efficiency = ½
Maximum = 0.55
•R*(d+1) = 1.0
A.J. Han Vinck
University Duisburg-Essen digital communications group
Calculations of maximum rate C(d,k)
• Use maximum entropy of the following Markov source
• Information Theory gives the answer!Very important for practical applications: how far away from optimal?
0 0 0 0 0
1 1 1
0 1 2 d d+1 k
–C(d,k) := # of information bits/channel use
A.J. Han Vinck
University Duisburg-Essen digital communications group
Shannons way out
– N(n) is the number of constrained sequences of lenght n
– The „capacity is then defined as n
)n(NloglimC 2
n
A.J. Han Vinck
University Duisburg-Essen digital communications group
Example (MFM)0 0 0
1 1 1
S1 S2 S3 S4
# sequences in state S1 at time n = # sequences in state S1 at time n-2
+ # sequences in state S1 at time n-3
+ # sequences in state S1 at time n-4
A solution can be of the form: # sequences in state S1 at time n cZn
Then, we obtain the relation: Zn = Zn-2 + Zn-3 + Zn-4
A solution for Z gives the rate as C = log2 (use previous formula)
A.J. Han Vinck
University Duisburg-Essen digital communications group
problem
– For large d:
exact timing
detection of transition
erroneous shift of transition is called peak shift
(in recording)
A.J. Han Vinck
University Duisburg-Essen digital communications group
Other constrained codes
Equal weight codes: # ones is the same for every code word
example: 0011, 0101, 0110, 1001, 1010, 1100
DC-balanced: try to balance the number of ones and zeros
example: transmit 000 or 111, 010 or 101
001 or 110, 100 or 011
only 1-bit redundancy, for every length
Pulse Position modulation: weight 1 code words
example: 001, 010, 100