1 / 17

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

Project: IEEE P802.15 Working Group for Wireless Personal Area Networks (WPANs) Submission Title: Line Coding for VLC Wireless Date Submitted: September 2009 Source: Rick Roberts [Intel] Address Voice:503-712-5624, E-Mail: richard.d.roberts@intel.com Re: Abstract: Purpose:

berg
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Project: IEEE P802.15 Working Group for Wireless Personal Area Networks (WPANs) Submission Title: Line Coding for VLC Wireless Date Submitted: September 2009 Source: Rick Roberts [Intel] Address Voice:503-712-5624, E-Mail: richard.d.roberts@intel.com 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. Rick Roberts [Intel]

  2. The subject of line coding for VLC has been discussed within the committee during the last few meetings. This contribution offers the author’s 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) Rick Roberts [Intel]

  3. So let’s consider some common line codes: • AMI • Modified AMI B8ZS • 4B5B • 6B8B • 8B10B • Manchester Rick Roberts [Intel]

  4. AMI and Modified AMI B8ZS 1:1 coding rate 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 (two modulation 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. Rick Roberts [Intel]

  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 multiple decoder errors. Rick Roberts [Intel]

  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). Rick Roberts [Intel]

  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 to make multiple bit errors during the decoding process. Rick Roberts [Intel]

  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 XOR’ing the clock with the data. The code is not error propagating. Rick Roberts [Intel]

  9. spectrum 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 purposes – exist between some low cut off frequency and some high cut off frequency. Spectrum of Manchester Coding ambient light noise of the photo detector spectrally falls around DC and can be blocked with capacitive coupling. 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. Rick Roberts [Intel]

  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). Rick Roberts [Intel]

  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 kHz • Filter Response: Bessel Test Patterns: Run Length 2: 101010 … 1010101101010 … Run Length 4: 101010 … 101010111101010 … Run Length 6: 101010 … 10101011111101010 … Rick Roberts [Intel]

  12. Run Length 2 – 5 kHz lower cutoff -1.5 dB droop Rick Roberts [Intel]

  13. Run Length 4 – 5 kHz lower cutoff -2.6 dB droop Rick Roberts [Intel]

  14. Run Length 6 – 5 kHz lower cutoff -3.8 dB droop The longer the run length, the more the droop. Rick Roberts [Intel]

  15. The higher the lower corner frequency, the more the droop. Run Length 6 – 10 kHz lower cutoff -10.3 dB droop Rick Roberts [Intel]

  16. 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. Rick Roberts [Intel]

  17. Concatenated FEC and Line Code – A Possibility Line Code Encoder Line Code Decoder Chip Errors FEC Encoder FEC Decoder FEC decoder corrects the error burst Line Code decoder can cause a of burst errors We’d need to investigate this carefully. There are a number of issues that need to be taken into consideration. Rick Roberts [Intel]

More Related