|
|
Line 1: |
Line 1: |
| {{mergefrom|balanced code|date=April 2012}}
| | Andrew Simcox is the name his mothers and fathers gave him and he completely loves this title. For a whilst I've been in Mississippi but now I'm considering other options. The favorite pastime for him and his kids is to perform lacross and he would by no [http://brazil.amor-amore.com/irboothe online psychic reading] readings ([http://findyourflirt.net/index.php?m=member_profile&p=profile&id=117823 simply click the following website page]) means give it up. Credit authorising is exactly where my primary earnings arrives from.<br><br>Feel free to surf to my site ... real psychics, [http://netwk.hannam.ac.kr/xe/data_2/85669 netwk.hannam.ac.kr], |
| In [[coding theory]], a '''constant-weight code''', also called an '''m of n code''', is an [[error detection and correction]] code where all codewords share the same [[Hamming weight]]. The theory is closely connected to that of [[Combinatorial design|designs]] (such as [[block design|''t''-design]]s and [[Steiner system]]s). Most of the work on this very vital field of [[discrete mathematics]] is concerned with ''binary'' constant-weight codes.
| |
| | |
| Binary constant-weight codes have several applications, including [[Frequency-hopping spread spectrum|frequency hopping]] in [[Global System for Mobile Communications|GSM]] networks.<ref name="smith">D. H. Smith, L. A. Hughes and S. Perkins (2006). "[http://www.combinatorics.org/Volume_13/Abstracts/v13i1a2.html A New Table of Constant Weight Codes of Length Greater than 28]". ''The Electronic Journal of Combinatorics'' '''13'''.</ref>
| |
| Most [[barcode]]s use a binary constant-weight code to simplify automatically setting the threshold.
| |
| Most [[line code]]s use either a constant-weight code, or a nearly-constant-weight [[paired disparity code]].
| |
| In addition to use as error correction codes, the large space between code words can also be used in the design of [[asynchronous circuit]]s such as [[delay insensitive circuit]]s.
| |
| | |
| Constant-weight codes, like [[Berger code]]s, can detect all unidirectional errors.
| |
| | |
| == ''A''(''n'',''d'',''w'') ==
| |
| The central problem regarding constant-weight codes is the following: what is the maximum number of codewords in a binary constant-weight code with length <math>n</math>, [[Hamming distance]] <math>d</math>, and weight <math>w</math>? This number is called <math>A(n,d,w)</math>. | |
| | |
| Apart from some trivial observations, it is generally impossible to compute these numbers in a straightforward way. Upper bounds are given by several important theorems such as the ''first and second Johnson bounds'',<ref>See pp. 526–527 of F. J. MacWilliams and N. J. A. Sloane (1979). ''The Theory of Error-Correcting Codes''. Amsterdam: North-Holland.</ref> and better upper bounds can sometimes be found in other ways. Lower bounds are most often found by exhibiting specific codes, either with use of a variety of methods from discrete mathematics, or through heavy computer searching. A large table of such record-breaking codes was published in 1990,<ref name="brouwer">A. E. Brouwer, James B. Shearer, N. J. A. Sloane and Warren D. Smith (1990). "A New Table of Constant Weight Codes". ''IEEE Transactions of Information Theory'' '''36'''.</ref> and an extension to longer codes (but only for those values of <math>d</math> and <math>w</math> which are relevant for the GSM application) was published in 2006.<ref name="smith"/>
| |
| | |
| == 1 of N codes ==
| |
| {{main|one-hot}}
| |
| | |
| A special case of constant weight codes are the one-of-N codes, that encode <math>log_2 N</math> bits in a code-word of <math>N</math> bits. The one-of-two code uses the code words 01 and 10 to encode the bits '0' and '1'. a one-of-four code can use the words 0001, 0010, 0100, 1000 in order to encode two bits 00, 01, 10, and 11. An example is [[dual rail encoding]], and chain link <ref>{{cite news
| |
| | title=System-on-Chip Design using Self-timed Networks-on-Chip
| |
| | url=http://www.design-reuse.com/articles/14561/system-on-chip-design-using-self-timed-networks-on-chip.html
| |
| | authors=W.J.Bainbridge, A.Bardsley, R.W.McGuffin
| |
| }}</ref> used in delay insensitive circuits.
| |
| | |
| == m of n codes==
| |
| | |
| An '''''m'' of ''n'' code''' is a separable [[error detection]] code with a code word length of ''n'' bits, where each code word contains exactly ''m'' instances of a "one." A single bit error will cause the code word to have either ''m'' + 1 or ''m'' – 1 "ones". An example ''m''-of-''n'' code is the [[Two-out-of-five code|2 of 5 code]] used by the [[United States Postal Service]].
| |
| | |
| The simplest implementation is to append a string of ones to the original data until it contains ''m'' ones, then append zeros to create a code of length ''n''.
| |
| | |
| Example:
| |
| | |
| {|class="wikitable" style="text-align:center"
| |
| |+ 3 of 6 code
| |
| |-
| |
| ! Original 3 data bits !! Appended bits
| |
| |-
| |
| |000 || 111
| |
| |-
| |
| |001 || 110
| |
| |-
| |
| |010 || 110
| |
| |-
| |
| |011 || 100
| |
| |-
| |
| |100 || 110
| |
| |-
| |
| |101 || 100
| |
| |-
| |
| |110 || 100
| |
| |-
| |
| |111 || 000
| |
| |-
| |
| |}
| |
| | |
| Some of the more notable uses of constant-weight codes include
| |
| [[biphase mark code]] uses a 1 of 2 code;
| |
| [[pulse-position modulation]] uses a 1 of n code;
| |
| [[Code 39]] uses a 3 of 9 code;
| |
| [[6b/8b encoding]] uses a 4 of 8 code;
| |
| [[bi-quinary coded decimal]] code uses a 2 of 7 code,
| |
| etc.
| |
| | |
| == References ==
| |
| <!--See http://en.wikipedia.org/wiki/Wikipedia:Footnotes for an explanation of how to generate footnotes using the <ref> and </ref> tags and the tag below -->
| |
| <references/>
| |
| | |
| == External links ==
| |
| * [http://www.win.tue.nl/~aeb/codes/Andw.html Table of lower bounds on <math>A(n,d,w)</math>] maintained by [[Andries Brouwer]] (update of the [http://www.research.att.com/~njas/codes/Andw/index.html earlier table] by [[Neil Sloane]] and [[E. M. Rains]])
| |
| * [http://webfiles.portal.chalmers.se/s2/research/kit/bounds/ Table of upper bounds on <math>A(n,d,w)</math>] maintained by [[Erik Agrell]]
| |
| | |
| [[Category:Information theory]]
| |
| [[Category:Error detection and correction]]
| |
Andrew Simcox is the name his mothers and fathers gave him and he completely loves this title. For a whilst I've been in Mississippi but now I'm considering other options. The favorite pastime for him and his kids is to perform lacross and he would by no online psychic reading readings (simply click the following website page) means give it up. Credit authorising is exactly where my primary earnings arrives from.
Feel free to surf to my site ... real psychics, netwk.hannam.ac.kr,