Institute for Experimental Mathematics Ellernstrasse Essen - Germany Data communication line codes and constrained sequences A.J. Han Vinck Revised December 09, 2010
University Duisburg-Essendigital communications group A.J. Han Vinck 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
University Duisburg-Essendigital communications group 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 )
University Duisburg-Essendigital communications group A.J. Han Vinck Line codes for clock recovery: Manchester code Basic frequency +5V 0 +5V 0 -5V –Longest run = 2, but time to transmit twice as large! Efficiency = ½ Detection is simple: Transition 1 0 => 1 0 1 =>
University Duisburg-Essendigital communications group A.J. Han Vinck Line codes for clock recovery: Manchester code Basic frequency +5V 0 +5V 0 -5V –Longest run = 2 Same time to transmit, but basic frequency factor of 2 higher! Detection is simple: Transition 1 0 => 1 0 1 => 0
University Duisburg-Essendigital communications group 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
University Duisburg-Essendigital communications group A.J. Han Vinck (d,k) sequences Definition: between 2 „ones“: maximum of k zeros; minimum of d zeros ex: Conversion from (d,k) into RLL or 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)
University Duisburg-Essendigital communications group 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
University Duisburg-Essendigital communications group 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
University Duisburg-Essendigital communications group 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? d d+1 k
University Duisburg-Essendigital communications group A.J. Han Vinck Ex: Modified Frequency Modulation MFM (d,k) = (1,3) Use markov state diagram to describe sequence generation A 0/00 B 1/01 0/101/01 Decoding rule: 0x0 101 Efficiency = ½ Maximum C(1,3) = 0.55
University Duisburg-Essendigital communications group A.J. Han Vinck Example (MFM) S1S2S3S4 # 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 cZ n Then, we obtain the relation: Z n = Z n-2 + Z n-3 + Z n-4 and For a solution we calculate C(d,k) => 1/n log 2 c n => log 2 = 0.55
University Duisburg-Essendigital communications group A.J. Han Vinck Example (Manchester (0,1) 0 1 S1S2 # 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 cZ n. Then, Z n = Z n-1 + Z n-2 For a solution we calculate C(d,k) => 1/n log 2 c n => log 2 ~
University Duisburg-Essendigital communications group A.J. Han Vinck Eight to Fourteen Modulation (EFM)
University Duisburg-Essendigital communications group A.J. Han Vinck Ex: CD (EFM) uses d=2, k=10 Note: DvD uses EFM+
University Duisburg-Essendigital communications group A.J. Han Vinck in recording and transmission keep basic basic frequency or minimum symbol length! –no constraint: L bits take time L/ d = d = 2
University Duisburg-Essendigital communications group A.J. Han Vinck 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 –i.e. it takes more symbols with the contraint included. The best performance is indicated by C(d,k) –same spacing: (d+1) units of time ‘= /(d+1) SURPRISE: SURPRISE: ‘L/C(d,k) = L/[(d+1) C(d,k)]
University Duisburg-Essendigital communications group A.J. Han Vinck Example: d = 1 –0000 or 112d = 1 –01000 or 1113 – or – or R = 2/3.5 = 1/1.75 ( = less than C(d,k) ) –With constraint L bits take ‘L/R = L/(d+1) R = L < L
University Duisburg-Essendigital communications group A.J. Han Vinck Example (cont‘d) Example: 4 symbols 00,01,10,11 encode sequence00, 01, 10, 00, as 00, 111, 0000, 11, 00,..., where after every symbol we change polarity. The code is uniquely decodable!
University Duisburg-Essendigital communications group A.J. Han Vinck What happened? What happened? the symbol duration changed !! Thus, we can pack more sequences in the same time. – no constraint (11,01,10,00) – with constraint –same minimum spacing, but different run lengths
University Duisburg-Essendigital communications group Main idea: (like in coded modulation, Ungerböck) k2k uncoded RLL- coded; d = Same minimum transition time , same information rate k/T= 1/ T T > 2 k
University Duisburg-Essendigital communications group A.J. Han Vinck Table for the efficiency of (d,k) codes d=0d=1d=2d=3 –k –1.69 – – – –
University Duisburg-Essendigital communications group A.J. Han Vinck IBM disk code (d,k) = (2,7) 10 or or or or or or or (d,k) RLL Homework: show that this code does not violate the constraint!
University Duisburg-Essendigital communications group 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!
University Duisburg-Essendigital communications group A.J. Han Vinck Efficient encoding example: d=1, k= R = 3/5 = 0.6 ( Maximum = 0.69) R*(d+1) = Problem: –What is maximum rate? –How to encode?
University Duisburg-Essendigital communications group A.J. Han Vinck problem – For large d: exact timing detection of transition erroneous shift of transition is called peak shift (in recording)
University Duisburg-Essendigital communications group 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:transmit000 or 111, 010 or or 110, 100 or 011 only 1-bit redundancy, for every length Pulse Position modulation: weight 1 code words example: 001, 010, 100