Line Coding for Vlc Wireless

download Line Coding for Vlc Wireless

of 17

Transcript of Line Coding for Vlc Wireless

  • 8/10/2019 Line Coding for Vlc Wireless

    1/17

    doc.: IEEE 802.15-09-0637-00-0007

    Submission

    September 2009

    Rick Roberts [Intel]Slide 1

    Project: IEEE P802.15 Working Group for Wireless Personal Area Networks (WPANs)

    Submission Title:Line Coding for VLC Wireless

    Date Submitted: September 2009Source:Rick Roberts [Intel]

    Address

    Voice:503-712-5624, E-Mail: [email protected]

    Re:

    Abstract:

    Purpose:

    Notice: This document has been prepared to assist the IEEE P802.15. It is offered as a basis for

    discussion and is not binding on the contributing individual(s) or organization(s). The material in this

    document is subject to change in form and content after further study. The contributor(s) reserve(s) the right

    to add, amend or withdraw material contained herein.

    Release: The contributor acknowledges and accepts that this contribution becomes the property of IEEE

    and may be made publicly available by P802.15.

  • 8/10/2019 Line Coding for Vlc Wireless

    2/17

    doc.: IEEE 802.15-09-0637-00-0007

    Submission

    September 2009

    Rick Roberts [Intel]Slide 2

    The subject of line coding for VLC has been discussed within the committee during the

    last few meetings. This contribution offers the authors view points.

    We need to be careful in selecting a code that was intended for a wired connection (i.e.

    high SNRs and low BERs) for use with a wireless technology (i.e. low SNRs and high

    BERs). Some codes do not perform well in the presence of bit errors.

    Some of the desirable characteristics of the code are:

    1. No DC component (spectral shift away from DC)

    2. Does not propagate errors (an error in one part of the code should not cause an error in another part of the code)

    3. The passband bandwidth of the code is not excessive (no long runs of zeros or ones)

    4. Easy clock recovery

    5. Code levels must map efficiently to VLC modulation techniques (e.g. OOK)

  • 8/10/2019 Line Coding for Vlc Wireless

    3/17

    doc.: IEEE 802.15-09-0637-00-0007

    Submission

    September 2009

    Rick Roberts [Intel]Slide 3

    So lets consider some common line codes:

    1. AMI

    2. Modified AMI B8ZS

    3. 4B5B

    4. 6B8B

    5. 8B10B

    6. Manchester

  • 8/10/2019 Line Coding for Vlc Wireless

    4/17

    doc.: IEEE 802.15-09-0637-00-0007

    Submission

    September 2009

    Rick Roberts [Intel]Slide 4

    AMI and Modified AMI B8ZS

    AMI has no run length constraints on the number of zero symbols that can be transmitted in a

    row, which can be problematic. To circumvent this problem B8ZS coding constraints the run

    length of zero symbols by replacing each string of 8 consecutive zeros with the special pattern

    "000VB0VB". Depending on the polarity of the preceding mark, that could be 000+0+ or

    000+0+. There are other variants of this same idea such as B6ZS and B3ZS.

    Problems with AMI

    1. The AMI ternary coding (3 modulation levels) does not map well to OOK modulation (twomodulation levels)

    2. The AMI code itself has no constraint on the run length of the zero symbol which causes

    spectral problems and clock recovery problems

    3. Modifications to constraint the run length, such as B8ZS, can be error propagating since an

    error in the received replacement string can cause the decoder to not take the correct action,

    resulting in one error into the decoder producing multiple errors out of the decoder.

    1:1 coding rate

  • 8/10/2019 Line Coding for Vlc Wireless

    5/17

    doc.: IEEE 802.15-09-0637-00-0007

    Submission

    September 2009

    Rick Roberts [Intel]Slide 5

    4B5B Code

    4B5B maps groups of four bits onto groups of 5 bits;hence, it is a rate 4/5 code

    1. While 4B5B coding helps clock recovery, it is not a

    DC balanced code.

    2. One code word bit error can result in multipledecoder errors.

  • 8/10/2019 Line Coding for Vlc Wireless

    6/17

    doc.: IEEE 802.15-09-0637-00-0007

    Submission

    September 2009

    Rick Roberts [Intel]Slide 6

    6B8B

    Coding Rate: 3/4

    6b/8b is a line code that expands 6-bit codes to 8-bit symbols for the purposes of

    maintaining DC-balance in a communications system. Each 8-bit output symbol

    contains 4 zero bits and 4 one bits, so the code can, like a parity bit, detect all

    single-bit errors (i.e. it can not correct the error). Unfortunately, a single bit error

    can lead to 6 decoding errors.

    Note that no data symbol contains more than four consecutive matching bits, or

    begins or ends with more that three identical. Thus, the longest run of identical

    bits that will be produced is 6 (i.e. requires a low frequency response to handle the

    long string of symbols).

  • 8/10/2019 Line Coding for Vlc Wireless

    7/17

    doc.: IEEE 802.15-09-0637-00-0007

    Submission

    September 2009

    Rick Roberts [Intel]Slide 7

    8B10B Coding

    Code Rate: 4/5

    8b/10b is a line code that maps 8-bit symbols to 10-bit symbols to achieve DC-

    balance and yet provide enough state changes to allow reasonable clock recovery.

    There are not more than five 1s or 0s in a row (which again means there must be

    sufficient low frequency response in the analog).

    The lower 5 bits of data are encoded into a 6-bit group (the 5b/6b portion) and the

    top 3 bits are encoded into a 4-bit group (the 3b/4b portion). These code groups are

    concatenated together to form the 10-bit symbol that is transmitted.

    Unfortunately a single bit error on the received code word can cause the decoder tomake multiple bit errors during the decoding process.

  • 8/10/2019 Line Coding for Vlc Wireless

    8/17

    doc.: IEEE 802.15-09-0637-00-0007

    Submission

    September 2009

    Rick Roberts [Intel]Slide 8

    Manchester Coding

    Manchester coding belongs to a family of codes that use mid-bit transitions as part

    of the encoding scheme. Manchester is a rate code with a max run length of two.

    The encoder can be implemented by XORing the clock with the data.

    The code is not error propagating.

  • 8/10/2019 Line Coding for Vlc Wireless

    9/17

    doc.: IEEE 802.15-09-0637-00-0007

    Submission

    September 2009

    Rick Roberts [Intel]Slide 9

    Bandpass Filtering and Run Length Intersymbol Interference

    There is a relationship between the code run length (number of ones and/or zeros

    in a row) and the bandpass filtering requirements. And note that any code that

    does not have a DC component by definition is a bandpass signal whose spectrum

    for all practical purposesexist between some low cut off frequency and some

    high cut off frequency.

    spectrum

    ambient light noise of the photo detector spectrally falls

    around DC and can be blocked with capacitive coupling.

    Spectrum of Manchester Coding

    The reason we care about the spectral properties of the code has to do with the

    modulation domain spectral interference; that is, at the output of the photodetector we

    have a spectrum that contains interference (i.e. CFL) and desired signals.

  • 8/10/2019 Line Coding for Vlc Wireless

    10/17

    doc.: IEEE 802.15-09-0637-00-0007

    Submission

    September 2009

    Rick Roberts [Intel]Slide 10

    From document 15-09-0136-00-0007 modulation domain spectrum for a halogen

    light bulb with a dimmer.

    Typical spectral output from the photodetector. This particular spectrum is from a

    halogen light bulb with the dimmer at 75% (100% is full brightness).

  • 8/10/2019 Line Coding for Vlc Wireless

    11/17

    doc.: IEEE 802.15-09-0637-00-0007

    Submission

    September 2009

    Rick Roberts [Intel]Slide 11

    Simulation:Bandpass filter bandwidth and Intersymbol Interference due to Run Length

    Simulation Scenario

    Chip Rate: 1 Mchip/sec

    Test Pattern: Run Length embedded in a 101010 pattern

    Run Lengths Tested: 2, 4, 6

    High Cutoff Frequency: 1 MHz

    Low Cutoff Frequency: 5 kHzFilter Response: Bessel

    Test Patterns:

    Run Length 2: 101010 1010101101010

    Run Length 4: 101010 101010111101010 Run Length 6: 101010 10101011111101010

  • 8/10/2019 Line Coding for Vlc Wireless

    12/17

    doc.: IEEE 802.15-09-0637-00-0007

    Submission

    September 2009

    Rick Roberts [Intel]Slide 12

    Time (us)

    Waveform

    -2

    -1.6

    -1.2

    -0.8

    -0.4

    0

    0.4

    0.8

    1.2

    1.6

    2

    Time (us)

    90 94 98 102 106 110 114 118 122 126 130

    Run Length 25 kHz lower cutoff

    -1.5 dB droop

  • 8/10/2019 Line Coding for Vlc Wireless

    13/17

    doc.: IEEE 802.15-09-0637-00-0007

    Submission

    September 2009

    Rick Roberts [Intel]Slide 13

    Run Length 45 kHz lower cutoff

    Time (us)

    Waveform

    -2

    -1.6

    -1.2

    -0.8

    -0.4

    0

    0.4

    0.8

    1.2

    1.6

    2

    Time (us)

    90 94 98 102 106 110 114 118 122 126 130

    -2.6 dB droop

  • 8/10/2019 Line Coding for Vlc Wireless

    14/17

    doc.: IEEE 802.15-09-0637-00-0007

    Submission

    September 2009

    Rick Roberts [Intel]Slide 14

    Run Length 65 kHz lower cutoff

    Time (us)

    W

    aveform

    -2

    -1.6

    -1.2

    -0.8

    -0.4

    0

    0.4

    0.8

    1.2

    1.6

    2

    Time (us)

    90 94 98 102 106 110 114 118 122 126 130

    -3.8 dB droop

    The longer the run length, the more the droop.

  • 8/10/2019 Line Coding for Vlc Wireless

    15/17

    doc.: IEEE 802.15-09-0637-00-0007

    Submission

    September 2009

    Rick Roberts [Intel]Slide 15

    The higher the lower corner frequency, the more the droop.

    Run Length 610 kHz lower cutoff

    Time (us)

    Waveform

    -2

    -1.6

    -1.2

    -0.8

    -0.4

    0

    0.4

    0.8

    1.2

    1.6

    2

    Time (us)

    90 94 98 102 106 110 114 118 122 126 130

    -10.3 dB droop

  • 8/10/2019 Line Coding for Vlc Wireless

    16/17

    doc.: IEEE 802.15-09-0637-00-0007

    Submission

    September 2009

    Rick Roberts [Intel]Slide 16

    Code Rate DC Comp onent Error

    Propagating

    Run

    Length

    Clock

    Recovery

    Bi- level

    Code

    AMI 1/1 No No No

    Limit

    Poor No

    Tri-level

    B8ZS 1/1 No Yes 10 Good No

    Tri-level

    4B5B 4/5 Yes bit pattern

    dependent

    Yes 8 Good Yes

    6B8B 3/4 No Yes 6 Good Yes

    8B10B 4/5 No Yes 5 Good Yes

    Manchester 1/2 No No 2 Good Yes

    Summary of the discussed line codes

    While we are willing to consider other coding schemes, at this time we are

    supporting Manchester coding. While Manchester coding is a rate code, its bi-

    level nature, its short run length and its non-error propagating characteristics make

    it the desirable choice at this time.

  • 8/10/2019 Line Coding for Vlc Wireless

    17/17

    doc.: IEEE 802.15-09-0637-00-0007

    Submission

    September 2009

    Rick Roberts [Intel]Slide 17

    Concatenated FEC and Line Code A Possibility

    FEC

    Encoder

    Line

    Code

    Encoder

    Line

    Code

    Decoder

    FEC

    Decoder

    Chip

    Errors

    Line Code decoder can

    cause a of burst errors

    FEC decoder correctsthe error burst

    Wed need to investigate this carefully. There are a number of issues that

    need to be taken into consideration.