Berger code

Berger code

In telecommunication, a Berger code is a unidirectional error detecting code, named after its inventor, J. M. Berger. Berger codes can detect all unidirectional errors. Unidirectional errors are errors that only flip ones into zeroes or only zeroes into ones, such as in asymmetric channels. The check bits of Berger codes are computed by summing all the zeroes in the information word, and expressing that sum in natural binary. If the information word consists of n bits, then the Berger code needs k = lceil log_2 (n+1) ceil "check bits", giving a Berger code of length k+n. (In other words, the k check bits are enough to check up to n = 2^k - 1 information bits).Berger codes can detect any number of one-to-zero bit-flip errors, as long as no zero-to-one errors occurred in the same code word.Berger codes can detect any number of zero-to-one bit-flip errors, as long as no one-to-zero bit-flip errors occur in the same code word.Berger codes cannot correct any error.

Like all unidirectional error detecting codes,Berger codes can also be used in delay-insensitive circuits.

Unidirectional error detection

As stated above, Berger codes detect "any" number of unidirectional errors. For a "given code word", if the only errors that have occurred are that some (or all) bits with value 1 have changed to value 0, then this transformation will be detected by the Berger code implementation. To understand why, consider that there are three such cases:
# Some 1s bits in the information part of the code word have changed to 0s.
# Some 1s bits in the check (or "redundant") portion of the code word have changed to 0s.
# Some 1s bits in both the information and check portions have changed to 0s.

For case 1, the number of 0-valued bits in the information section will, by definition of the error, increase. Therefore, our berger check code will be lower than the actual 0-bit-count for the data, and so the check will fail.

For case 2, the number of 0-valued bits in the information section have stayed the same, but the value of the check data has changed. Since we know some 1s turned into 0s, but no 0s have turned into 1s (that's how we defined the error model in this case), the encoded binary value of the check data will go down (e.g, from binary 1011 to 1010, or to 1001, or 0011). Since the information data has stayed the same, it has the same number of zeros it did before, and that will no longer match the mutated check value.

For case 3, where bits have changed in both the information and the check sections, notice that the number of zeros in the information section has "gone up", as described for case 1, and the binary value stored in the check portion has "gone down", as described for case 2. Therefore, there is no chance that the two will end up mutating in such a way as to become a different valid code word.

A similar analysis can be performed, and is perfectly valid, in the case where the only errors that occur are that some 0-valued bits change to 1. Therefore, if all the errors that occur on a specific codeword all occur in the same direction, these errors will be detected. For the next code word being transmitted (for instance), the errors can go in the opposite direction, and they will still be detected, as long as they all go in the same direction as each other.

Unidirectional errors are common in certain situations. For instance, in flash memory, bits can more easily be programmed to a 0 than can be reset to a 1.

References

* J. M. Berger, "A note on an error detection code for asymmetric channels", "Information and Control", vol 4, pp. 68-73, March 1961.
* Subhasish Mitra and Edward J. McCluskey, "Which concurrent error detection scheme to choose?", Center for Reliable Computing, Stanford University, 2000.
* [http://www.win.tue.nl/~wstomv/publications/di-codes.ps "Delay-Insensitive Codes -- An Overview"] by Tom Verhoeff


Wikimedia Foundation. 2010.

Игры ⚽ Нужен реферат?

Look at other dictionaries:

  • Berger — Berger, MO U.S. city in Missouri Population (2000): 206 Housing Units (2000): 100 Land area (2000): 0.299981 sq. miles (0.776947 sq. km) Water area (2000): 0.000000 sq. miles (0.000000 sq. km) Total area (2000): 0.299981 sq. miles (0.776947 sq.… …   StarDict's U.S. Gazetteer Places

  • Berger, MO — U.S. city in Missouri Population (2000): 206 Housing Units (2000): 100 Land area (2000): 0.299981 sq. miles (0.776947 sq. km) Water area (2000): 0.000000 sq. miles (0.000000 sq. km) Total area (2000): 0.299981 sq. miles (0.776947 sq. km) FIPS… …   StarDict's U.S. Gazetteer Places

  • Code De Déontologie Médicale (France) — Pour consulter des articles plus généraux, voir : Code de déontologie et Droit de la santé. Selon le dictionnaire Le Petit Robert : Déontologie n, f, (1839) Théorie des devoirs, en morale. Spécialit. Déontologie médicale : théorie… …   Wikipédia en Français

  • Code de deontologie medicale (France) — Code de déontologie médicale (France) Pour consulter des articles plus généraux, voir : Code de déontologie et Droit de la santé. Selon le dictionnaire Le Petit Robert : Déontologie n, f, (1839) Théorie des devoirs, en morale. Spécialit …   Wikipédia en Français

  • Code de déontologie médicale — (France) Pour consulter des articles plus généraux, voir : Code de déontologie et Droit de la santé. Selon le dictionnaire Le Petit Robert : Déontologie n, f, (1839) Théorie des devoirs, en morale. Spécialit. Déontologie médicale  …   Wikipédia en Français

  • Code de déontologie médicale (france) — Pour consulter des articles plus généraux, voir : Code de déontologie et Droit de la santé. Selon le dictionnaire Le Petit Robert : Déontologie n, f, (1839) Théorie des devoirs, en morale. Spécialit. Déontologie médicale : théorie… …   Wikipédia en Français

  • Code Name: Emerald — Theatrical release poster Directed by Jonathan Sanger Produced by Martin Starge …   Wikipedia

  • Berger, Missouri — Infobox Settlement official name = Berger, Missouri settlement type = City nickname = motto = imagesize = image caption = image imagesize = image caption = image mapsize = 250px map caption = Location of Berger, Missouri mapsize1 = map caption1 …   Wikipedia

  • Berger v. New York — Infobox SCOTUS case Litigants=Berger v. New York ArgueDate=April 13 ArgueYear=1967 DecideDate=June 12 DecideYear=1967 FullName=Ralph Berger v. State of New York USVol=388 USPage=41 Citation=87 S.Ct. 1873, 18 L.Ed.2d 1040 Prior=Certiorari to the… …   Wikipedia

  • Berger — Original name in latin Berger Name in other language Berger, Berger i Vestfold State code NO Continent/City Europe/Oslo longitude 59.54994 latitude 10.38641 altitude 59 Population 1108 Date 2013 03 17 …   Cities with a population over 1000 database

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”