|
0 / 0 / 0
Регистрация: 04.08.2020
Сообщений: 2
|
|
Нахождение ошибок в циклическом коде04.08.2020, 01:26. Показов 3898. Ответов 2
Метки нет (Все метки)
Приветствую! Не уверена, что правильно выбрала раздел для своего вопроса, но суть его в следующем:
Определить в каком разряде кодового вектора 1101011 циклического кода [7,4] имеется ошибка - так звучит задание. Я, само собой, пыталась самостоятельно разобраться, и у меня возникла загвоздка. Разобрала эту статью на хабре, посчитала для своего примера: https://habr.com/ru/post/140611/. Возник вопрос: что делать, если я не знаю, как выглядит правильно переданное сообщение? Я получила сообщение с контрольными битами из неправильного сообщения, но как понять, где ошибка? Вот 0110101011 до чего досчиталась. Я так понимаю это полученное сообщение с контрольными битами на позициях 1,2,4, но в каких из них ошибки, я не могу понять, как вычислить. Подскажите, пожалуйста, что делать дальше или может вообще я неправильно действую изначально? Заранее благодарю!
0
|
|
| 04.08.2020, 01:26 | |
|
Ответы с готовыми решениями:
2
нахождение ошибок в коде, наследование
|
|
Модератор
10451 / 5746 / 3409
Регистрация: 17.08.2012
Сообщений: 17,481
|
|||||||||||||||||
| 08.08.2020, 16:08 | |||||||||||||||||
Сообщение было отмечено aida1996 как решение
Решение
На хабре всё неплохо разжёвано, однако, основные термины считаются сами собой разумеющимися. Типа, "Это происходит вот так, а по какой причине именно так, Вам знать не обязательно".
[7, 4] означает, что в векторе всего 7 символов, 4 из которых информационные. Код Хэмминга может быть классическим и усечённым. Количество символов в классическом коде Хэмминга определяется количеством проверочных символов "r". Маркировка какого-либо кода Хэмминга определяется как [2r-1, 2r-1-r] Часто некоторое количество символов не используется, такие коды Хэмминга называются усечёнными. У Вас по заданию классический код Хэмминга с r=3, поэтому [23-1, 23-1-3] = [7, 4]. На Хабре в примере использован усечённый код Хэмминга [21, 16], который получается из классического кода Хэмминга [31, 26] отсечением десяти символов. На хабре не объясняется, по какому принципу определяется номер ошибочного символа: собственно, а почему "N через N начиная с N", а не как-то ещё? Не мудрено, что Вы запутались. Тем не менее, ещё раз перечитайте хабр. И забудьте о том, до чего Вы там досчитались. Вам по заданию нужно просто выяснить, символ с каким номером в полученном сообщении ошибочный. Приступим. Проверочные символы в коде Хэмминга располагаются на позициях, кратных степени числа 2, начиная с нулевой степени, то есть, на позициях 1, 2, 4, 8, 16, 32 и так далее. Остальные символы - информационные. В Вашем случае проверочные символы стоят в позициях 1, 2 и 4. Ваш вектор, проверочные символы обозначены красным цветом: 1101011. Посимвольно, в виде таблицы:
Вычислим синдромы (проверочные суммы по модулю 2): Синдромы удобнее нумеровать по степеням двойки (то есть, 1, 2, 4, 8, 16 и т.д., а не 1, 2, 3, 4 и т.д.), поскольку (если ошибка только одна) каждый из синдромов вычисляет один из двоичных разрядов номера ошибочного символа. Синдромы - это суммы по модулю 2, те же самые, которые применялись при вычислении проверочных символов, плюс по модулю 2 сами проверочные символы. Если ошибок нет, то, исходя из принципа вычисления проверочных символов, все синдромы будут равны 0. Для каждого синдрома суммируются те символы, у которых в двоичном представлении их номеров двоичный разряд с весом, равным номеру синдрома, установлен в 1 (это то самое "N через N начиная с N", но не в виде "закономерности", а какое оно есть на самом деле). Для Вашего случая: В синдром номер 1 попадают символы с номерами 1, 3, 5, 7, в двоичном представлении 001, 011, 101, 111. Обратите внимание, это все те, у которых 1 в первом (младшем) разряде (пометил синим). В синдром номер 2 попадают символы с номерами 2, 3, 6, 7, в двоичном представлении 010, 011, 110, 111. Обратите внимание, это все те, у которых 1 во втором разряде (пометил синим). В синдром номер 4 попадают символы с номерами 4, 5, 6, 7, в двоичном представлении 100, 101, 110, 111. Обратите внимание, это все те, у которых 1 в третьем разряде (пометил синим). Поэтому, если вектор содержит только одну ошибку, то двоичное число, составленное из синдромов, начиная со старшего (в данном случае S4S2S1=110(2)=6(10)), и будет номером ошибочного символа, поскольку распределение символов по суммам синдромов сделано по весам разрядов двоичной системы счисления. Можно (это то же самое, но в "скрытой" форме) сложить номера синдромов, в которых произошло нарушение чётности, и получить номер символа, в котором произошла ошибка: 2+4=6. Ответ: ошибка в шестом символе, для вычисления верного сообщения нужно инвертировать шестой символ. Исправленный вектор: 1101001.
2
|
|||||||||||||||||
|
0 / 0 / 0
Регистрация: 04.08.2020
Сообщений: 2
|
|
| 31.08.2020, 23:40 [ТС] | |
|
Большое спасибо за такой развёрнутый ответ!
0
|
|
| 31.08.2020, 23:40 | |
|
Помогаю со студенческими работами здесь
3
Нахождение ошибок Нахождение ошибок в текстуре
Исправление ошибок в коде
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2.
Задача: отобразить спецтехнику, которая на данный момент находится в ремонте.
Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
|
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
|
Запрет удаления строк ТЧ документа при определенном условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
|
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут
Суть:
- Группа наркоманов из 10 человек.
- Только один инфицирован ВИЧ.
- Колются одной иглой.
- Колются раз в день.
- Колются последовательно через. . .
|
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|