270 likes | 467 Views
Data communication line codes and constrained sequences. A.J. Han Vinck Revised December 09, 2010. A-synchronous arrivals: Line codes. Binary data transmitted using special signal form Important aspects: Enough transitions in signal to gain timing information
E N D
Data communicationline codes and constrained sequences A.J. Han Vinck Revised December 09, 2010
A-synchronous arrivals: Line codes • Binary data transmitted using special signal form • Important aspects: • Enough transitions in signal to gain timing information • Constraints to match sequence to the physical channel • Applications: • Optical transmission • Magnetic and Optical recording • Classical line transmission A.J. Han Vinck
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
Line codes for clock recovery: Manchester code 1 0 1 1 0 0 0 0 1 0 1 +5V 0 Basic frequency 1 0 1 1 0 0 +5V 0 -5V • Longest run = 2, but time to transmit twice as large! Efficiency = ½ Detection is simple: Transition 1 0 => 1 0 1 => 0 A.J. Han Vinck
Line codes for clock recovery: Manchester code 1 0 1 1 0 0 0 0 1 0 1 +5V 0 Basic frequency +5V 0 -5V • Longest run = 2 Detection is simple: Transition 1 0 => 1 0 1 => 0 Same time to transmit, but basic frequency factor of 2 higher! A.J. Han Vinck
4B/5B mapping codes 4B/5B guarantees: at least one transition per block to allow the clock signal to be recovered. Efficiency decreased by 25%. 4B5B is used in the following standard: 100BASE-TX standard defined by IEEE 802.3u A.J. Han Vinck
(d,k) sequences Definition: between 2 „ones“: maximum of k zeros; minimum of d zeros ex:0100010010001101 • Conversion from (d,k) into RLL 0100010010001101 1000011100001001 or 0111100011110110 the „ones“ indicate the position of a transition in the RLL sequence Note, from a (d,k) sequence we can derive 2 RLL sequences depending on the „starting state“ (0 or 1) A.J. Han Vinck
Conclusion: from (d,k) to RLL RLL sequences have minimum run of d+1 and maximum of k+1 ex: the Manchester code has (d,k) = (0,1) but efficiency ½, i.e. sequence is twice as long efficiency can be improved to 0.69, i.e. about 1.4 times as long! Problems: generation of (d,k) sequences how efficient can this be done A.J. Han Vinck
Shannons way out • Calculate N(n), the maximum number of sequences with constraint and length n, • The „capacity is then defined as • C := maximum # of information bits/channel use A.J. Han Vinck
Calculations of maximum rate C(d,k) • the following Markov source generates all (d,k) sequences Very important for practical applications: how far is a construction away from optimal? 0 0 0 0 0 0 1 2 d d+1 k 1 1 1 A.J. Han Vinck
Ex: Modified Frequency Modulation MFM (d,k) = (1,3) • Use markov state diagram to describe sequence generation 1/01 0/10 1/01 A 0/00 B Decoding rule: 0 x0 1 01 Efficiency = ½ Maximum C(1,3) = 0.55 A.J. Han Vinck
Example (MFM) 0 0 0 S1 S2 S3 S4 1 1 1 # 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 and For a solution we calculate C(d,k) => 1/n log2 c n => log2 = 0.55 A.J. Han Vinck
Example (Manchester (0,1) 0 1 S1 S2 1 # sequences in state S1 at time n = # sequences in state S1 at time n-2 + # sequences in state S1 at time n-1 # sequences in state S1 at time n cZn. Then, Zn =Zn-1 +Zn-2 For a solution we calculate C(d,k) => 1/n log2 c n => log2 ~ 0.69 A.J. Han Vinck
Eight to Fourteen Modulation (EFM) A.J. Han Vinck
Ex:CD (EFM) uses d=2, k=10 Note: DvD uses EFM+ A.J. Han Vinck
in recording and transmissionkeep basic basic frequency or minimum symbol length! • no constraint: L bits take time L/1 1 0 1 0 d = 1 d = 2 1 0 A.J. Han Vinck
Why is it used in recording? • no constraint: L bits take time L/1 1 0 • with constraint: L bits take time ‘ L/C(d,k), where C(d,k) < 1 • i.e. it takes more symbols with the contraint included. The best performance is indicated by C(d,k) 1 0 • same spacing: (d+1) units of time ‘= /(d+1) SURPRISE:‘L/C(d,k) = L/[(d+1) C(d,k)] < L for [(d+1) C(d,k)] > 1 A.J. Han Vinck
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 R = 2/3.5 = 1/1.75 ( = less than C(d,k) ) • Withconstraint L bitstake ‘L/R = L/(d+1) R = 0.875 L < L A.J. Han Vinck
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
Whathappened?thesymboldurationchanged !! Thus, we can pack more sequences in the same time. • no constraint (11,01,10,00) 1 0 • with constraint 1 0 • same minimum spacing, but different run lengths A.J. Han Vinck
Main idea: (like in coded modulation, Ungerböck) uncoded RLL- coded; d = 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 1 1 0 0 2k > 2k 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 0 1 1 T 0 0 0 0 1 1 1 0 0 0 0 1 1 1 0 0 T - Same minimum transition time, same information rate k/T= 1/
Table for the efficiency of (d,k) codes d=0 d=1 d=2 d=3 • k • 1 .69 • 2 .88 .41 • 3 .95 .55 .29 • 4 .98 .62 .41 .22 • 5 .99 .65 .46 .32 A.J. Han Vinck
IBM disk code (d,k) = (2,7) (d,k) RLL • 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 Homework: show that this code does not violate the constraint! A.J. Han Vinck
Cont‘d Remark: - for every L information bits, we produce exactly 2L channel digits Thus, the efficiency = ½ (Maximum 0.51 ) - Sequence uniquely decodable! 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
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
problem • For large d: exact timing detection of transition erroneous shift of transition is called peak shift (in recording) A.J. Han Vinck
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 A.J. Han Vinck