Nano Hash - криптовалюты, майнинг, программирование

Как рассчитать расстояние Хэмминга кода CRC

Мой профессор для моего курса магистратуры дал нам задачу рассчитать расстояние Хэмминга метода CRC, которое он продемонстрировал на слайде.

Он показал нам, как протокол CRC может обнаруживать все одиночные, двойные, нечетные ошибки в битах, пакетные ошибки 2 ‹= k ‹= n, пакетные ошибки n+1, где остаток равен 0, а сообщение ошибочно воспринимается как 1. / 2 ^ (n-1), поскольку первый и последний биты всегда фиксируются на 1, и, наконец, пакеты ошибок больше n + 1 с вероятностью того, что остаток равен 0 с 1/2 ^ n

Вот мой ответ на его два вопроса:

Вопрос 5

а) Рассмотрим протокол битов четности с битами p, q и дополнительным битом r. Каково расстояние Хэмминга этого протокола? Кратко объясните, почему

Мы знаем, что Хамм (код) >= x + 1. Использование протокола битов четности с p, q и r дает нам 3-битную мощность обнаружения ошибок. Следовательно, x = 3. Это означает, что расстояние Хэмминга этого протокола >= x + 1 = 3 + 1 = 4.

б) Предположим, у нас есть протокол CRC, который удовлетворяет всем желаемым свойствам, которые мы описали на слайдах. Каково расстояние Хэмминга этого протокола? Кратко объясните, почему.

Как указано выше, расстояние Хемминга кода равно x + 1, где x — мощность обнаружения битовой ошибки x. Если у нас есть протокол CRC, который удовлетворяет всем желаемым свойствам, которые мы обсуждали на слайде, а именно: 1) Все однобитовые ошибки 2) Все двойные битовые ошибки 3) Все ошибки с нечетным числом битов 4) Пакеты ошибок из k битов , 2 ‹= k ‹= n

если мы используем эти факторы, мы можем видеть, что протокол CRC удовлетворяет всем пакетам ошибок до включая 2 ‹= k ‹= n пакетов. Это означает, что Hamm(Code) >= x+1 = (n-2) + 1 = n-1.

c) Как для а), так и для б) могут ли эти протоколы использоваться для исправления ошибок, и если да, то сколько битов они могут исправить? (т. е. могут ли они выполнять х-битную коррекцию, и если да, то что такое х?) Объясните, как вы достигли этого значения.

для a) поскольку мы знаем, что обсуждаемый протокол битов четности может обнаруживать все 3 или менее битовых ошибок, x = 3. Мы также знаем, что для выполнения x-битной коррекции: Hamm(code) >= 2x + 1 = 2( 3) + 1 = 7,


. Я не уверен, что это правильно

Но для части б) я запутался в исправлении ошибок протокола CRC. Мой ответ для поправки Хэмминга: Hamm(code) >= 2x+1 ‹= 2(n-1)+1 = 2n - 2 + 1 = 2n - 1 Я даже не уверен, правильно ли это вообще и как я мог определить количество битов, которые он может исправить.


  • Очень поздний комментарий. Максимальное количество битовых ошибок в зависимости от размера сообщения (в битах) в зависимости от полинома CRC, которое гарантированно будет обнаружено или исправлено, требует поиска ошибочного шаблона методом грубой силы. Так были созданы таблицы расстояний Хэмминга в CRC Zoo. Обратите внимание, что даже имея доступ к суперкомпьютеру, там всего 5 записей для 64-битной CRC из-за времени, необходимого для перебора методом перебора. 06.02.2021

Ответы:


1

На самом деле я обнаружил, что по большей части мне не хватало знаний, но я все еще не уверен, правильно ли я ответил на вопросы а) и б). Может ли кто-нибудь сказать мне, если я на правильном пути? Я не ищу «это ответ». Если я прав, было бы приятно услышать «да», но если нет, то простое руководство было бы очень, очень признательно.

для a) поскольку мы знаем, что обсуждаемый протокол битов четности может обнаруживать все 3 или менее битовых ошибок, x = 3, поскольку Hamm(code) >= 4. Мы также знаем, что для выполнения x-битной коррекции: Hamm(code) >= 2x + 1. Следовательно, мы можем обнаружить только одиночные ошибки, потому что 2(1) + 1 = 3. Все, что больше, будет больше 4.

для б) мы знаем, что протокол CRC имеет Hamm(code) >= n+2, где x = n+1. Чтобы Хэмм (код) >= 2x+1, x ‹= пол (n/2). Затем этот протокол может использовать исправление ошибок.

24.02.2016
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..