Код Хэмминга (815678), страница 2
Текст из файла (страница 2)
Кодирование поХэммингу завершено. Полученное кодовое слово — 10110010001011110001.123456789 10 11 12 13 1415 16 17181920r0 r1 x1 r2 x2 x3 x4 r3 x5 x6 x7 x8 x9 x10 x11 r4 x12 x13 x14 x151011001000101111000110101010101010101010r0 101100110011001100110r1 000011110000111100001r2 100000001111111100000r3 000000000000000011111r4 1Алгоритм декодированияАлгоритм декодирования по Хэммингу абсолютно идентичен алгоритму кодирования. Матрицапреобразования соответствующей размерности умножается на матрицу-столбец кодового слова и каждыйэлемент полученной матрицы-столбца берётся по модулю 2.
Полученная матрица-столбец получила название«матрица синдромов». Легко проверить, что кодовое слово, сформированное в соответствии с алгоритмом,описанным в предыдущем разделе, всегда даёт нулевую матрицу синдромов.Матрица синдромов становится ненулевой, если в результате ошибки (например, при передаче слова по линиисвязи с шумами) один из битов исходного слова изменил своё значение. Предположим для примера, что вкодовом слове, полученном в предыдущем разделе, шестой бит изменил своё значение с нуля на единицу (нарисунке обозначено красным цветом). Тогда получим следующую матрицу синдромов.123456789 10 11 12 13 1415 16 17181920r0 r1 x1 r2 x2 x3 x4 r3 x5 x6 x7 x8 x9 x10 x11 r4 x12 x13 x14 x151011011000101111000110101010101010101010s0 001100110011001100110s1 100011110000111100001s2 100000001111111100000s3 000000000000000011111s4 0Заметим, что при однократной ошибке матрица синдромов всегда представляет собой двоичную запись(младший разряд в верхней стоке) номера позиции, в которой произошла ошибка.
В приведённом примерематрица синдромов (01100) соответствует двоичному числу 00110 или десятичному 6, откуда следует, чтоошибка произошла в шестом бите.Код ХэммингаЛитература• Питерсон У., Уэлдон Э. Коды, исправляющие ошибки: Пер. с англ. М.: Мир, 1976, 600 c.• Пенин П.Е.,Филиппов Л.Н. Радиотехнические системы передачи информации.
М.: Радио и Связь, 1984, 256с.• Блейхут Р. Теория и практика кодов, контролирующих ошибки. Пер. с англ. М.: Мир, 1986, 576 с.ПрименениеКод Хэмминга используется в некоторых прикладных программах в области хранения данных, особенно вRAID 2; кроме того, метод Хэмминга давно применяется в памяти типа ECC и позволяет «на лету» исправлятьоднократные и обнаруживать двукратные ошибки.8Источники и основные авторыИсточники и основные авторыКод Хэмминга Источник: http://ru.wikipedia.org/w/index.php?oldid=62054989 Редакторы: A5b, Aats1988, AdmiralHood, Alik Kirillovich, AntonR, CommonsDelinker, Cot-Pilot,Cthulhu92, Devgru, Euku, Gvozdik, Holop, Inc ru, Insolor, IntKecsk, KAVA, Kochergin v.i., Les, MaxBioHazard, Mcherenkov, Mir76, Panther, RaMaXa, Sergeisemenoff, Sergey Zhuravlev,SolitaryDreamer, Splux, TranvanKhanh, Unomano, Vald, Vanuan, Vlsergey, Vodkadrinker, Volkov, Winterheart, Xber9, ZOGmeister, Zymedo, Ботильда, Голем, ПоЧитатель, СержТихомиров, Чръный человек, 101 анонимных правокИсточники, лицензии и редакторыизображенийФайл:My hemcode.png Источник: http://ru.wikipedia.org/w/index.php?title=Файл:My_hemcode.png Лицензия: Creative Commons Zero Редакторы: яФайл:HemDecode.PNG Источник: http://ru.wikipedia.org/w/index.php?title=Файл:HemDecode.PNG Лицензия: Creative Commons Zero Редакторы: VodkadrinkerЛицензияCreative Commons Attribution-Share Alike 3.0//creativecommons.org/licenses/by-sa/3.0/9.