![]() |
|
сделать стартовой | добавить в избранное |
![]() |
Корректирующие коды |
Курс: Теория информации и кодирования Тема: КОРРЕКТИРУЮЩИЕ КОДЫ Содержание КОРРЕКТИРУЮЩИЕ КОДЫ. ОСНОВНЫЕ ПОНЯТИЯ ЛИНЕЙНЫЕ ГРУППОВЫЕ КОДЫ КОД ХЭММИНГА Список Литературы 1. КОРРЕКТИРУЮЩИЕ КОДЫ. ОСНОВНЫЕ ПОНЯТИЯВ соответствии с теоремой Шеннона для дискретного канала с помехами, вероятность ошибки при передаче данных по каналу связи может быть сколь угодно малой при выборе соответствующего метода кодирования сигнала, т. е. помеха не накладывает существенных ограничений на точность передачи информации (данных). Достоверность передаваемой информации может быть обеспечена применением корректирующих кодов. Помехоустойчивыми или корректирующими кодами называются коды, позволяющие обнаружить и устранить ошибки при передаче информации из-за воздействия помех. Наиболее распространенным является класс кодов с коррекцией одиночных и обнаружением двойных ошибок (КО-ОД). Самым известных среди этих кодов является код Хэмминга, имеющий простой и удобный для технической реализации алгоритм обнаружения и исправления одиночной ошибки. В ЭВМ эти коды используются для повышения надежности оперативной памяти (ОП) и магнитных дисков. Число ошибок в ЭВМ зависит от типа неисправностей элементов схем (например, неисправность одного элемента интегральной схемы (ИС) вызывает одиночную ошибку, а всей ИС ОП - кратную). Для обнаружения кратных ошибок используется код КО-ОД-ООГ (коррекция одиночной, обнаружение двойной и обнаружение кратной ошибки в одноименной группе битов). Среди корректирующих кодов широко используются циклические коды, в ЭВМ эти коды применяются при последовательной передаче данных между ЭВМ и внешними устройствами, а также при передаче данных по каналам связи. Для исправления двух и более ошибок (d0 і 5) используются циклические коды БЧХ (Боуза - Чоудхури - Хоквингема), а также Рида-Соломона, которые широко используются в устройствах цифровой записи звука на магнитную ленту или оптические компакт-диски и позволяющие осуществлять коррекцию групповых ошибок. Способность кода обнаруживать и исправлять ошибки достигается за счет введений избыточности в кодовые комбинации, т. е. кодовым комбинациям из к двоичных информационных символов, поступающих на вход кодирующего устройства, соответствует на выходе последовательность из двоичных символов (такой код называется ( , k) - кодом). Если 0 = 2 - общее число кодовых комбинаций, а = 2k - число разрешенных, то число запрещенных кодовых комбинаций равно 0- = 2 -2k. При этом число ошибок, которое приводит к запрещенной кодовой комбинации равно: , (1) где S - кратность ошибки, т. е. количество искаженных символов в кодовой комбинации S = 0, 1, 2, . C i - сочетания из элементов по i, вычисляемое по формуле: , (2) для S = 0 ; S = 1 ; S = 2 ; S = 3 ; и т. д. Для исправления S ошибок количество комбинаций кодового слова, составленного из m проверочных разрядов = 2m, должно быть больше возможного числа ошибок (2), при этом количество обнаруживаемых ошибок в два раза больше, чем исправляемых (3) 2m і откуда . Для одиночной ошибки, как наиболее вероятной . В зависимости от исходных данных кода ( или k) можно использовать формулы .
(4) При этом, m = , где ква-дратные скобки обозначают округление до большего целого. В таблице 1 приведены соотношения между длиной кодовой комбинации и количеством информационных и контрольных разрядов для кода исправляющего одиночную ошибку, а также эффективность использования канала связи. Для исправления двукратной ошибки или . (5) Введение избыточности в кодовые комбинации при использовании корректирующих кодов существенно снижает скорость передачи информации и эффективность использования канала связи. Например, для кода (31, 26) скорость передачи информации равна , т. е. скорость передачи уменьшается на 16%. Таблица 1 7 10 15 31 63 127 255 k 4 6 11 26 57 120 247 m 3 4 4 5 6 7 8 0,57 0,6 0,75 0,84 0,9 0,95 0,97 Как видно из таблицы 1, чем больше , тем эффективнее используется канал. Пример 1. Определить количество проверочных разрядов для систематического кода исправляющего одиночную ошибку и состоящего из 20 информационных разрядов. Решение: Общая длина кодовой комбинации равна = k m, где k- количество информационных разрядов, а m- проверочных разрядов. Для обнаружения двойной и исправления одиночной ошибки зависимости для разрядов имеют вид , при этом m = ==5, т. е. получим (25, 20)-код. 2. ЛИНЕЙНЫЕ ГРУППОВЫЕ КОДЫ Линейным называется код, в котором проверочные символы представляют собой линейные комбинации информационных. Групповым называется код, который образует алгебраическую группу по отношению операции сложения по модулю два. Свойство линейного кода: сумма (разность) кодовых векторов линей-ного кода дает вектор, принадлежащий этому коду. Свойство группового кода: минимальное кодовое расстояние между кодовыми векторами равно минимальному весу ненулевых векторов. Вес кодового вектора равен числу единиц в кодовой комбинации. Групповые коды удобно задавать при помощи матриц, размерность которых определяется параметрами k и . Число строк равно k, а число столбцов равно = k m. . (6) Коды, порождаемые этими матрицами, называются ( , k)-кодами, а соответствующие им матрицы порождающими (образующими, производящими). Порождающая матрица G состоит из информационной Ikk и проверочной Rkm матриц. Она является сжатым описанием линейного кода и может быть представлена в канонической (типовой) форме . (7) В качестве информационной матрицы удобно использовать единичную матрицу, ранг которой определяется количеством информационных разрядов . (8)Строки единичной матрицы представляют собой линейно-незави-симые комбинации (базисные вектора), т. е. их по парное суммирование по модулю два не приводит к нулевой строке. Строки порождающей матрицы представляют собой первые k комбинаций корректирующего кода, а остальные кодовые комбинации могут быть получены в результате суммирования по модулю два всевозможных сочетаний этих строк. Столбцы добавочной матрицы Rkm определяют правила формирования проверок. Число единиц в каждой строке добавочной матрицы должно удовлетворять условию r1 і d0-1, но число единиц определяет число сумматоров по модулю 2 в шифраторе и дешифраторе, и чем их больше, тем сложнее аппаратура. Производящая матрица кода G(7,4) может иметь вид и т.д
. Процесс кодирования состоит во взаимно - однозначном соответствии k-разрядных информационных слов - I и -разрядных кодовых слов - с c=IG. (9) Например: информационному слову I = соответствует следующее кодовое слово . (10)При этом, информационная часть остается без изменений, а корректирующие разряды определяются путем суммирования по модулю два тех строк проверочной матрицы, номера которых совпадают с номерами разрядов, содержащих единицу в информационной части кода. Процесс декодирования состоит в определении соответствия принятого кодового слова, переданному информационному. Это осуществляется с помощью проверочной матрицы H( , k). , (11) где Rmk -транспонированная проверочная матрица (поменять строки на столбцы); Imm - единичная матрица. Для (7, 4)- кода проверочная матрица имеет вид . (12) Между G( ,k) и H( , k) существует однозначная связь, т. к. они определяются в соответствии с правилами проверки, при этом для любого кодового слова должно выполняться равенство cH = 0. Строки проверочной матрицы определяют правила формирования проверок. Для (7, 4)-кода p1Е a1Е a2Еa4 = S1 ; p2Е a1Е a2Еa3 = S2 ; (13) p3Е a1Е a3Еa4 = S3 . Полученный синдром сравниваем со столбцами матрицы и определяем разряд, в котором произошла ошибка, номер столбца равен номеру ошибочного разряда. Для исправления ошибки ошибочный бит необходимо проинвертировать. Пример 1. Построить групповой код способный передавать 16 символов первичного алфавита с исправлением одиночной ошибки. Показать процесс кодирования, декодирования и исправления ошибки для передаваемого информационного слова 1001. Решение: Построим производящую матрицу G( , k). Если объем кода = 2k = 16, то количество информационных разрядов к = 4. Минимальное кодовое расстояние для исправления одиночной ошибки d0=2s 1=3. По заданной длине информационного слова, используя соотношения: = k m, 2 і ( 1)2k и 2m і 1 вычислим основные параметры кода и m. m===3. Откуда = 7, т. е. необходимо построить (7, 4)-код. В качестве информационной матрицы Ik(7, 4) - выбираем единичную матрицу (4ґ4), а в качестве проверочной матрицы Rkm(7 ,4) - выбираем матрицу (4ґ3), каждая строка которой содержит число единиц больше или равно двум (r1 Ј d0-1). Таким образом, в качестве производящей можно принять матрицу . 2. Определим комбинации корректирующего кода. Для заданного числа информационных разрядов k = 4,число кодовых комбинаций равно = 2k = 24 = 16. 1) 0000 5) 0010 9) 0001 13) 0011 2) 1000 6) 1010 10) 1001 14) 1011 3) 0100 7) 0110 11) 0101 15) 0111 4) 1100 8) 1110 12) 1101 16) 1111 Старшинство разрядов принимаем слева на право, в соответствии с их поступлением на вход декодера. Находим корректирующие разряды для каждого информационного слова, как результат суммирования по модулю два строк проверочной матрицы номера, которых совпадают с номерами единиц в информационных разрядах кода. Например, для информационного слова I= кодовое слово имеет вид . Передаваемые в канал кодовые комбинации имеют вид: 1) 0000 000 5) 0010 110 9) 0001 101 13) 0011 011 2) 1000 111 6) 1010 001 10) 1001 010 14) 1011 100 3) 0100 011 7) 0110 101 11) 0101 110 15) 0111 000 4) 1100 100 8) 1110 010 12) 1101 101 16) 1111 111 Процесс декодирования состоит в определении соответствия принятого кодового слова, переданному информационному и осуществляется с помощью проверочной матрицы H(7, 4).
Создатели проекта быстро поняли, что возможность совместного использования фотографий была куда более значимой, чем сама игра (которая в конце концов оказалась на полке). Учитесь признавать свои ошибки и менять курс. Будьте серфером. Наблюдайте за океаном. Смотрите, где образуются большие волны, и соответственно корректируйте курс. Заключение Заводите моторы Готово! Ну хорошо, вы это сделали! Надеемся, вы с нетерпением ждете момента, чтобы начать применять Getting Real в своих программах. Сейчас самое лучшее время, чтобы создавать отличные программы, используя минимум ресурсов. При наличии хорошей идеи, страсти, времени и навыков выше только небо. Несколько мыслей в заключение: Воплощение Каждый может прочесть книгу. Каждый может придумать идею. У каждого есть родственник, работающий веб-дизайнером. Каждый может завести блог. Каждый может нанять кого-то еще, чтобы вместе наваять какой-то код. Разница между вами и всеми остальными в том, как хорошо вы воплощаете. Успех достигается именно безупречным воплощением
3. Расчет корректирующих цепей широкополосных усилительных каскадов на полевых транзисторах
4. Расчет корректирующих цепей широкополосных усилительных каскадов на полевых транзисторах
5. Классификация помехоустойчивых кодов. Особенности практического кодирования
9. Кодирующее устройство для кода Файера
10. Культурные коды послания "К вельможе" А. С. Пушкина и их связь с философской проблематикой текста
11. Наследственность, представления о генетическом коде, гены индивидуальности
12. Система музыкального воспитания Золтана Кодая
13. Штрих-код на страховом полисе
14. О возможности универсального кода внутреннего представления программы
15. Программирование в двоичных кодах
16. Кодовые комбинации на основе циклических кодов
17. Обзор методов оптимизации кода для процессоров с поддержкой параллелизма на уровне команд
18. Стресс-код
19. Відкриття та характеристика генетичного коду
20. Кодирование информации. Код Рида-Малера
25. Расчет оптимального кода по методике Шеннона-Фано
26. Умножение и деление целых неотрицательных чисел в двоичном коде
27. Деление двоичных чисел в прямом, обратном и дополнительном кодах
29. Преобразователь двоичного кода от 0 до 255 в двоично-десятичный код
30. Циклические коды. Коды БЧХ
31. Дешифратор и преобразователи кодов
32. Роль культурных кодов в литературе постмодернизма
33. Штриховые коды – новый предмет библиотечной технологии
34. Проектирование приспособления для сверления отверстий в детали с конструкторским кодом 406542
36. Особенности внутреннего строения, размножение и классификация моллюсков
37. Классификация коллективных средств защиты и правила поведения людей в убежищах
41. Виды договоров и их классификация в гражданском праве
43. Классификация государственных служащих
44. Классификация страхования ответственности и сегментация страхового рынка
45. Классификация политических режимов
46. Структура правоотношения. Классификация правоотношений: критерии и виды
49. Классификация модемных протоколов
50. Классификация компьютерных вирусов.
51. Экспертные системы. Классификация экспертных систем. Разработка простейшей экспертной системы
53. Классификация программного обеспечения ЭВМ
57. Понятие и классификация доказательств
59. Классификация методов обучения
60. Сущность и классификация политических режимов
61. Классификация и маркировка сталей, чугунов и различных сплавов
62. Классификация и производство отливок из хладостойкой стали. Отливки из магниевых сплавов
63. Механическая вентиляция и классификация её систем
64. Виды дугогосящих устройств, классификация их по способу воздействия на дугу
65. Классификация и ассортимент ковровых изделий. Особенности производства ковровых изделий
66. Газораспределительный механизм автомобиля ГАЗ 24-10 "Волга"
67. Устройство газораспределительного механизма ГАЗ 24
68. Деловое общение: формы, культура, имидж, презентации
69. Особенности и классификация систем подвижной радиосвязи (СПРС)
73. Классификация международного Олимпийскрго движения
74. Сущность и классификация прогнозов
75. Классификация счетов бухгалтерского учета
76. Презентация издательства "Дорлинг Киндерсли"
78. Презентация: смысл, назначение, содержание
79. Классификация управленческих решений
80. Сущность и виды классификации услуг
81. Риски в деятельности организации: понятие, классификация
82. Понятие и классификация собственности
84. Экономические ресурсы, их классификация и характеристики
85. Классификации мировых конституций
90. Искусство Аккада (24 - 23 вв. до н.э.)
91. О классификации способов взаимодействия русской литературы ХХ в. с фольклором
93. Классификация и клиническая оценка увеитов
94. Гипертонические кризы: классификация, неотложная помощь
95. Международная классификация болезней, 10-й пересмотр, неврология (методичка)
96. Международная классификация болезней, 10-й пересмотр, неврология (методичка)
97. Типология (классификация) управленческих решений