Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
CRC
Отправлено
Oldring
29 января 2009 г. 22:27
В ответ на:
Подскажите код для поиска и исправления ошибок. Требования: Исправляет 1 бит, обнаруживает 2 искаженных. На входе - 4 байта, на выходе не более 12 байт. Минимальные затраты процессорного времени на формирование и проверку.
отправлено пользователем
vmp
29 января 2009 г. 21:54
с порождающим полиномом 0x19b. Всего 1 проверочный байт. Исправлять 1 бит вычерпыванием. Если исправить не удалось - двойная или большая ошибка.
Составить ответ
|
Вернуться на конференцию.
Ответы
Да, похоже с CRC-8 идея хорошая. Только с полиномом не понял - 0x19B - это уже 9 бит?
-
vmp
(29.01.2009 23:38:31
77.232.15.245
, 578 байт)
хуже, чем "искать ошибку побитовым подбором" идею выдумать сложно
-
koyodza
(29.01.2009 23:50:50
77.123.64.94
,
пустое
)
Какая идея хуже? Считать программно номер ошибки вычисляя ксоры отдельных битиков синдрома.
-
Oldring
(30.01.2009 00:08:38
91.77.241.41
,
пустое
)
Для 32 бит данных? И только в случае ошибки?
-
vmp
(29.01.2009 23:55:18
77.232.15.245
,
пустое
)
Ответ:
-
koyodza
(30.01.2009 00:04:1
77.123.64.94
, 558 байт)
Если потребуется добавить два байта - счетчик будет считать не до 40, а до 56.
-
Oldring
(30.01.2009 00:20:21
91.77.241.41
,
пустое
)
Когда количество небольшое - оно как раз имеет значение.
-
vmp
(30.01.2009 00:13:51
77.232.15.245
, 652 байт)
Остаток от деления на него - 8 бит.
-
Oldring
(29.01.2009 23:41:19
91.77.241.41
,
пустое
)
а "Исправлять 1 бит вычерпыванием" - это как?
-
koyodza
(29.01.2009 23:12:56
77.123.64.94
,
пустое
)
Перебирая возможные позиции ошибки, в общем. Некорректно выразился.
-
Oldring
(29.01.2009 23:19:10
91.77.241.41
, 220 байт)
да уж...
-
koyodza
(29.01.2009 23:27:18
77.123.64.94
, 57 байт)
что-то не так?
-
Oldring
(29.01.2009 23:29:53
91.77.241.41
,
пустое
)
нет, всё ок, за исключением идеи пересчитывать CRC столько раз, сколько бит в блоке, в случае более чем одной ошибки
-
koyodza
(29.01.2009 23:53:23
77.123.64.94
,
пустое
)
и невозможности восстановить одиночную ошибку в самой CRC
-
koyodza
(30.01.2009 00:04:53
77.123.64.94
,
пустое
)
Возможно. Как - догадайтесь ;)
-
Oldring
(30.01.2009 00:10:44
91.77.241.41
,
пустое
)
нет и никогда не было такой идеи ;)
-
Oldring
(30.01.2009 00:04:38
91.77.241.41
, 386 байт)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
сколько миллиампер в одном ампере ?:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru