Форум программистов, компьютерный форум, киберфорум
Цифровая обработка сигналов
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/16: Рейтинг темы: голосов - 16, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 23.11.2012
Сообщений: 103
1

Декодер контроля схемы Хэмминга

26.05.2013, 22:57. Просмотров 3022. Ответов 6
Метки нет (Все метки)

На вход декодера схемы контроля Хэмминга поступила кодовая комбинация 0101001.Какая кодовая комбинация будет на выходе?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.05.2013, 22:57
Ответы с готовыми решениями:

Схемы контроля логических преобразований
Есть только задание "схемы контроля логический преобразований" ) Знаю, что такое логические...

Декодер Хэмминга
Пишу кодер и декодер Хэмминга (15,11). В начале это была одна программа и использовались одни и...

Декодер кода Хэмминга (7,4)
Добрый день. Есть вопрос: коды Хэмминга, по умолчанию, задаются в систематической форме или не...

Код Хэмминга кодер-декодер
Требуется создать кодер-декодер по коду Хэмминга. Почитал, вроде ничего сложного. Теперь надо...

6
0 / 0 / 0
Регистрация: 23.11.2012
Сообщений: 103
26.05.2013, 22:57  [ТС] 2
На вход декодера схемы контроля Хэмминга поступила кодовая комбинация 0101001.Какая кодовая комбинация будет на выходе?

 Комментарий модератора 
Правила форума:

5.5 Запрещено размещать тему в нескольких разделах одновременно (кросспостинг), а также дублировать тему в одном разделе.
0
Модератор
7469 / 3830 / 2721
Регистрация: 17.08.2012
Сообщений: 12,241
27.05.2013, 03:06 3
11vmk, код Хэмминга, по сути, очень прост. Вот понятное его описание: http://habrahabr.ru/post/140611/. А вот подробное из Википедии. Обязательно прочитайте статью по первой ссылке, особенно про вычисление контрольных битов. Далее будет всё просто:

Очевидно, в Вашем случае используется классический код Хемминга (7, 4).
Его структура:

Номер разряда1234567
Символr1r2i1r3i2i3i4
Ваша кодовая комбинация0101001

, где r - проверочные символы, i - информационные символы.

Вычисляем последовательность синдромов для Вашей кодовой комбинации:

https://www.cyberforum.ru/cgi-bin/latex.cgi?S1=r1 \oplus i1 \oplus i2 \oplus i4 = 0 \oplus 0 \oplus 0 \oplus 1 = 1

https://www.cyberforum.ru/cgi-bin/latex.cgi?S2=r2 \oplus i1 \oplus i3 \oplus i4 = 1 \oplus 0 \oplus 0 \oplus 1 = 0

https://www.cyberforum.ru/cgi-bin/latex.cgi?S3=r3 \oplus i2 \oplus i3 \oplus i4 = 1 \oplus 0 \oplus 0 \oplus 1 = 0

Получили синдром S=(S3, S2, S1)=(0, 0, 1) - не равен (0, 0, 0), значит, кодовая комбинация содержит ошибку.

Определяем местонахождения ошибки. 0012=110 - ошибка в разряде 1. Корректируем кодовую комбинацию, инвертируя бит 1 (хотя, в данном случае, этого и не требуется, так как ошибка в контрольном символе):

Принятая кодовая комбинация = 0101001, исправленная кодовая комбинация = 1101001.

Теперь просто выбрасываем из полученной кодовой комбинации контрольные символы, то есть разряды номер 1, 2 и 4, что осталось, записываем:

i1i2i3i4
0001

Ответ: на выходе будет кодовая комбинация 0001.

Успехов.
2
10205 / 6587 / 493
Регистрация: 28.12.2010
Сообщений: 21,165
Записей в блоге: 1
27.05.2013, 07:48 4
Уважаемый 11vmk, довожу до вашего сведения, что на форуме действуют правила. Вы повторно создаете клон-темы в разных ветках одного раздела.
0
Voland_
27.05.2013, 12:25
  #5

Не по теме:

Cyborg Drone, давно юзаю Хемминга в проектах, и никогд не заострял внимания как именно ЭТО работает :) а так оказалось очень все просто). Поблагодарил за расклад на пальцах.

0
Модератор
7469 / 3830 / 2721
Регистрация: 17.08.2012
Сообщений: 12,241
27.05.2013, 17:16 6
Voland_, дополнение к пальцам:

На практике очень часто используется код Хемминга с перестановкой символов. Делается это для увеличения скорости декодирования.

Обычно все проверочные символы размещаются в старшей части слова. В этом случае не требуется носиться по всему слову и выковыривать (или заковыривать) информационные и проверочные символы, в случае декодирования достаточно просто наложить пару масок (или применить операции деления по модулю и вычисления остатка от деления), в случае кодирования - домножить проверочные разряды на 2Количество информационных разрядов (ну или сдвинуть влево на сколько надо) и сложить это дело с информационными разрядами.

Реже, но встречается, когда проверочные символы размещаются в младшей части слова. Например, при последовательном приёме укороченного кода Хемминга с перестановкой символов (12, 8) аппаратно удобнее может быть сначала принять информационне разряды (1 байт), а затем проверочные (получим байт, содержащий в старшем ниббле проверочные разряды).

О других издевательствах над кодом Хемминга писать не стану - много их, но они куда реже встречаются.

В любом случае, при вычислении проверочных разрядов и последовательности синдромов разряды используются так, как будто они не переставлялись, проще говоря, в формулах подразумеваются не номера разрядов, а имена символов, куда бы они не были перемещены.

Успехов и всего Вам доброго.
1
1775 / 1106 / 108
Регистрация: 04.01.2010
Сообщений: 3,875
27.05.2013, 18:18 7
Cyborg Drone, в той что у меня реализации используется Хемминг 8.4 (готовый), с возможностью восст. до двух ошибок. Но вся реализация висит на двух таблицах, с пом.которых выполняется весь алго в максимально возможной скоростью. Просто по таблицам не поймешь суть вопроса ) Еще раз спасибо!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.05.2013, 18:18

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

кодер-декодер
Ребят, такая проблема: надо написать программу кодер(или шифратор, как вам удобнее) программу...

Кодер-декодер.
Я недавно начал писать на бейсике и захотелось написать программу которая бы переводила русский...

Декодер Витерби
Доброе время суток! Интересует реализация алгоритма декодирования Витерби на Java. Нужно для...

Md5 декодер
Всем привет. Помогите пожалуйста. Завтра сдача экзамена декану. Знаю что нужно написать программу...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.