Title: Data communication line codes and constrained sequences
1Data communicationline codes and constrained
sequences
- A.J. Han Vinck
- Revised December 09, 2010
2A-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
3Run 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
-
4Line 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 gt 1
0 ? 1 gt 0
A.J. Han Vinck
5Line codes for clock recovery Manchester code
1 0 1 1 0 0 0 0
1 0 1
5V 0
Basic frequency
5V 0 -5V
Same time to transmit, but basic frequency
factor of 2 higher!
Detection is simple Transition 1 ? 0 gt 1
0 ? 1 gt 0
64B/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
7(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) -
-
-
8Conclusion from (d,k) to RLL
- RLL sequences have minimum run of d1 and maximum
of k1 -
- 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
9Shannons 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
10Calculations 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
d1 k
1 1 1
11Ex 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
12Example (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) gt 1/n
log2 c ?n gt log2? 0.55
13Example (Manchester (0,1)
0
S1
S2
1
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) gt 1/n log2 c ?n gt log2?
0.69
A.J. Han Vinck
14Eight to Fourteen Modulation (EFM)
15Ex CD (EFM) uses d2, k10
Note DvD uses EFM
16in 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
17Why 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) lt 1 - i.e. it takes more symbols with the contraint
included. The best performance is indicated by
C(d,k)
1 0
- same spacing (d1) units of time ? ?/(d1)
SURPRISE ?L/C(d,k) ? L/(d1) C(d,k) lt ? L
for (d1) C(d,k) gt 1
18Example 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) )
- With constraint L bits take
- ?L/R ? L/(d1) R 0.875 ? L lt ? L
19Example (contd)
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!
20What happened? the symbol duration changed !!
Thus, we can pack more sequences in the same
time.
- no constraint (11,01,10,00)
1 0
1 0
- same minimum spacing, but different run lengths
21Main 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
???
???
gt 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/?
22Table for the efficiency of (d,k) codes
- d0 d1 d2 d3
- k
- 1 .69
- 2 .88 .41
- 3 .95 .55 .29
- 4 .98 .62 .41 .22
- 5 .99 .65 .46 .32
A.J. Han Vinck
23IBM 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!
24Contd
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(d1) L/1.5
positions or 1/3 less!
25Efficient encoding example d1, k?
- 000 00000 R 3/5 0.6 (Maximum 0.69)
- 001 00001
- 010 00010
- 011 00100 R(d1) 1.2
- 100 00101
- 101 01000
- 110 01001
- 111 01010
- Problem
- What is maximum rate?
- How to encode?
26problem
- For large d
- exact timing
- detection of transition
- erroneous shift of transition is called peak
shift - (in recording)
27Other 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