line coding for vlc wireless
TRANSCRIPT
-
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.