Loading in 2 Seconds...
Loading in 2 Seconds...
Project: IEEE P802.15 Working Group for Wireless Personal Area Networks (WPANs) Submission Title: Error Rate Analysis of Manchester and 8B10B DC Balancing Codes Date Submitted: Oct 2009 Source: Rick Roberts [Intel] Address Voice: 503-929-5624, E-Mail: email@example.com Re:
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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.
Project: IEEE P802.15 Working Group for Wireless Personal Area Networks (WPANs) Submission Title: Error Rate Analysis of Manchester and 8B10B DC Balancing Codes Date Submitted: Oct 2009 Source: Rick Roberts [Intel] Address Voice: 503-929-5624, E-Mail: firstname.lastname@example.org 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. R. Roberts [Intel]
The purpose of the DC balancing “line code”, which is actually used here as a form of channel coding, is to ensure that the DC content of an OOK VLC transmission is held constant so as to keep the LED light source illuminated at a predictable level. When used with OOK keying, the DC balancing code maintains a constant peak to average ratio for the OOK modulated current flowing to the LED. For an extinction ratio of 100%, the peak to average ratio is two. Without the DC balancing code the peak to average ratio of the driving current would have a bit pattern variance which could cause the LED light source to appear to flicker. Also, by not having a DC component to the data pattern, AC coupling can be used at the receiver so as to reject low frequency ambient light interference that appears near DC at the output of the photodetector. Note that all this holds for OOK, but it is not clear that color shift keying (i.e. CCM or NM) actually needs DC balancing coding; for example, it would seem that for color shift keying the output light intensity is held constant regardless of the transmitted bit pattern and what is being modulated is the apparent color of the light source (in a manner similar to frequency shift keying). This contribution analyzes two DC balancing “line codes”: Manchester and 8B10B. R. Roberts [Intel]
This contribution compares the BER performance of Manchester coding with 8B10B coding in an AWGN environment. R. Roberts [Intel]
Theory … Manchester: Chipping rate is 2x the data rate (2 chips per bit), so each chip has ½ of the bit energy. The detection bandwidth is 2x Nyquist so twice the noise is ingested. Hence the SNR per chip is . But the two chips that make up a bit can be coherently combined to yield a 2x improvement as . So the net effect is a 3 dB reduction in performance due to the 2x excess detection bandwidth. An error made on any given chip impacts only one bit; that is, the error does not propagate to other bits. R. Roberts [Intel]
Theory … 8B10B: The chipping rate is 1.25x the data rate, so each chip has 4/5 of the bit energy. The detection bandwidth is 1.25x Nyquist so excess noise is ingested. Hence the SNR per chip is This is a 1.9382 dB reduction in performance, but 8B10B code exhibits error propagation when a codeword is incorrectly detected, which causes poorer than expected performance. Since each transmitted 10 chip codeword represents 8 bits, the number of bit errors generated by an incorrect codeword varies from 1 to 8 bits. This is an example of error propagation; that is, one chip error can result in multiple bit errors. Unfortunately the Hamming distance of this code is not good since there are a number of codewords for which 1 chip error results in another valid codeword. R. Roberts [Intel]
~4 dB 3dB ~2 dB The Manchester code outperforms the 8B10B code until an Eb/No of ~8.5 dB; after which the 8B10B error propagation lessens, resulting in better performance. R. Roberts [Intel]
Run Length: As pointed out in contribution 15-09-0637-00-0007-line-coding-for-vlc-wireless.ppt, the run length for Manchester coding is 2 and the run length for 8B10B coding is 5; hence, the AC coupling requirements for Manchester are less stringent. • When is 8B10B appropriate (code rate 4/5) • DC component can not be tolerated • Bandwidth is limited so a “high rate” code is necessary • The SNR is relatively high (low bit error rate) • Low corner frequency AC coupling is tolerable • When is Manchester appropriate (code rate ½) • DC component can not be tolerated • Bandwidth is not limited; that is, a moderate rate code is fine • The SNR is relatively low (high bit error rate) • When higher corner frequency AC coupling is desirable Note: Contribution 15-09-0660-00-0007 measures the signal energy at the output of the LED, while this contribution measures the signal energy at the output of the photodetector AC coupling capacitor. This results is several dB difference between the two contributions. R. Roberts [Intel]
Concatenated Coding Outer Decoder Inner Decoder Inner Encoder Outer Encoder channel The inner code has to be the DC balancing “channel code”. • The outer “forward error correcting” code is selected based upon the nature of the bit errors. • For a Manchester inner code, with random chip errors, the bit errors are also random. • For a 8B10B inner code, with random chip errors, the bit errors are in a burst if a wrong codeword is selected. Possible FEC codes: Manchester Inner Code Convolutional Outer FEC Code (good with random errors) 8B10B Inner Code Reed-Solomon Outer FEC Code (good with burst errors) R. Roberts [Intel]
Suggested Compromise and way forward • Use 8B10B for high rate modes (>10 Mbps) • Ranges are probably relatively short • Data rates are high • Ambient light (low frequency) interference is not a problem • Select the FEC outer code accordingly • Use Manchester for low rate modes (<1 Mbps) • Ranges are probably relatively long • Data rates are low • Ambient light (low frequency) interference is a problem • Select the FEC outer code accordingly R. Roberts [Intel]