Форум программистов, компьютерный форум, киберфорум
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.50/22: Рейтинг темы: голосов - 22, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 15.05.2013
Сообщений: 15
1

Корректирующие коды при побайтовой передаче

15.05.2013, 15:42. Показов 4359. Ответов 51
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, меня зовут Дмитрий. Я студент, учусь на инженера связи, 2 курс.

Тема моей курсовой работы - Устройство обнаружения и коррекции ошибок в канале связи. Побайтовая передача, базовые элементы и-не, R-S триггер, модель Мили.

Препод сказал мне сравнить несколько помехоустойчивых кодов, выбрать оптимальный.
Какие методы можете мне предложить ? Желательно не сложные..

Буду очень благодарен, если Вы протянете мне руку помощи..))
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.05.2013, 15:42
Ответы с готовыми решениями:

Корректирующие коды
а). преобразовать заданное информационное слово 10101101011 из 11 двоичных цифр в двоичное слово...

Коды символов при передаче
Подскажите пожалуйста, при вводе в Hyper Terminal числа , например 12( в десятичной системе...

Преобразовать текст после побайтовой загрузки
procedure TForm1.Button2Click(Sender: TObject); const ShortFileName = 'data.dat'; var F ...

Восстановление CRC32, корректирующие байты.
Всем привет! Прошу помощи в решении задачи. Задача: На вход приходит бинарный файл. Необходимо:...

51
131 / 67 / 10
Регистрация: 13.05.2013
Сообщений: 437
17.05.2013, 23:29 21
Author24 — интернет-сервис помощи студентам
Цитата Сообщение от Полный 30h Посмотреть сообщение
Я не уверен что такая вообще существует.
Код Хемминга вполне может корректировать одиночную ошибку, уложившись при этом в байт.
1
Эксперт быдлокодинга
2091 / 525 / 69
Регистрация: 04.11.2010
Сообщений: 1,310
18.05.2013, 00:50 22
Цитата Сообщение от TheFox Посмотреть сообщение
Код Хемминга вполне может корректировать одиночную ошибку, уложившись при этом в байт.
Пока что поверхностно пробежался (википедия) правильно ли я понимаю, что байт с коррекцией это полубайт чистой инфы?
0
Ушел с форума
Автор FAQ
16279 / 7604 / 1065
Регистрация: 11.11.2010
Сообщений: 13,617
18.05.2013, 13:39 23
Полный 30h,
коррекция основанная на дополнении до четного 8 бит информации + 1 корректирующий, коррекция на основе кода Хэмминга 4 бита корректирующих + 8 бит информации, но если передается 16 бит информации, то для такого блока достаточно 5 бит корректирующего кода, для 32 бит + 6 бит и т.п.
0
Эксперт быдлокодинга
2091 / 525 / 69
Регистрация: 04.11.2010
Сообщений: 1,310
18.05.2013, 19:56 24
Mikl___, почитал вчера на эту тему, для себя сделал вывод что код с коррекцией ошибки вообще встречается редко. Тот же бит чётности всего лишь выявляет сбойный байт, но не восстанавливает. А вообще тема достаточно интересная, с Хэммингом буду знакомится ближе, пока весьма приблизительно понимаю.
0
Ушел с форума
Автор FAQ
16279 / 7604 / 1065
Регистрация: 11.11.2010
Сообщений: 13,617
19.05.2013, 11:01 25
Цитата Сообщение от Полный 30h Посмотреть сообщение
для себя сделал вывод что код с коррекцией ошибки вообще встречается редко
Полный 30h,
а откуда ему взяться? И решение этой проблема уже не для написания на ассемблере, то есть программном, а уровнем ниже -- аппаратном, и "железно" встроена в модемы, схемы управления винчестером, CD-ROM'ом и сетевые карты
1
131 / 67 / 10
Регистрация: 13.05.2013
Сообщений: 437
19.05.2013, 15:24 26
Полный 30h, там все элементарно (для одной ошибки)
1. Формируются множества по определенным правилам. Вообще они стандартные, так что с этим можно даже не парится. Проще всего проделать это самому, если расписать двоичные числа в столбик с младшего разряда:

1010
0110
0001
0000
и т.д.
Далее формируем множества выписывая номера столбцов, где в соответствующей строке 1. То есть, множество L0= {1 3 5 7 ...}, L1 = {2 3 6 7 ...}, L2 = {4 5 6 7...}, L3 = {8 9 10 11...}

Далее собственно кодирования. Контрольные биты расположены по степеням двойки: 1, 2, 4, 8 и т.д.
Значение контрольных битов рассчитывается, как сумма по модулю 2 остальных битов соответствующего ряда:
b1 по ряду L0, b2 по ряду L1, b4 по ряду L2 b8 по ряду L3

Для того, чтобы обнаружить ошибочный бит, нужно сделать то же самое: просуммировать по рядам. Если везде 0 то все ОК, если где-то единица, то где-то ошибка, номер ошибочного бита определяется тем, при суммировании по каким рядам появилась единица. Допустим, суммы получились такими: L0=1 L1=1 L2=0 L3=1, тогда ошибка в бите 1011, то есть в 11 бите.
1
Эксперт быдлокодинга
2091 / 525 / 69
Регистрация: 04.11.2010
Сообщений: 1,310
20.05.2013, 10:16 27
В принципе разобрался, спасибо что помогли. Полностью соглашусь с Mikl это не программная задача, а аппаратная. Упомянутые топикстартером логические элементы на это как бы и намекают. Можно конечно программно, но это уже мазохизм чистой воды.
0
Ушел с форума
Автор FAQ
16279 / 7604 / 1065
Регистрация: 11.11.2010
Сообщений: 13,617
20.05.2013, 10:33 28
Полный 30h,
скачай Тице, Шенк "Полупроводниковая схемотехника" страницы 435-438 23.2.2. Код Хемминга. Очень хорошо всё объяснено, минимум теории, электронная схема, таблицы:
  • Пример образования контрольных разрядов для 16-разрядного слова
  • Образования кода ошибки
  • Коды ошибок и их декодирование
1
Эксперт быдлокодинга
2091 / 525 / 69
Регистрация: 04.11.2010
Сообщений: 1,310
20.05.2013, 12:06 29
Mikl___, скачал, видимо другая версия (у меня 12 издание) название главы можешь подсказать? У меня 23я глава Оптоэлектроника.
0
131 / 67 / 10
Регистрация: 13.05.2013
Сообщений: 437
20.05.2013, 13:13 30
Полный 30h, 10. Полупроводниковые запоминающие устройства. Конкретно 10.2.4
1
0 / 0 / 0
Регистрация: 15.05.2013
Сообщений: 15
21.05.2013, 16:43  [ТС] 31
TheFox, ты написал что код Хемминга вполне может корректировать одиночную ошибку, уложившись при этом в байт. Этот метод мне подходит, но есть такой вопрос... Что такое метод Мили?
0
131 / 67 / 10
Регистрация: 13.05.2013
Сообщений: 437
21.05.2013, 17:00 32
Цитата Сообщение от Dmitrik45 Посмотреть сообщение
метод Мили
Автомат Мили

Добавлено через 6 минут
Пример реализации на триггерах

Добавлено через 7 минут
Короче, тебе не в этот раздел, а в теорию автоматов.
0
2014 / 1286 / 61
Регистрация: 05.06.2010
Сообщений: 2,213
21.05.2013, 17:57 33
чтобы правильно выбрать код, в первую очередь необходимо исследовать канал. То есть определить, с чем будем бороться. Это двоичный канал или гаусов, есть ли в нем стирания, или замирания, или многолучевость, или доплер. Ошибки в основном единичные, или группируются. Теория кодов корректирующих ошибки - достаточно большой раздел науки, и выбор правильного кода - обычно нетривиальная задача. В настоящее время самыми лучшими (в плане приблишения к верхней границе Шеннона) если не ошибаюсь являются турбо коды и ldpc, но не сложными их точно не назовешь)
Я не так довно реализовывал сверточный кодер и декодер витерби с мягким решением для одной системы связи, работал неплохо на модельных данных(до боевой реализации дело не дошло)
Из литературы могу посоветовать в первую очередь Р. Блейхут "Теория и практика кодов контролирующих ошибки", Р. Морелос-Сарагоса "Искусство помехоустойчивого кодирования" Дж. Кларк Дж. Кейн "Кодирование с исправлением ошибок в системах цифровой связи". На мой взгляд книга Морелос-Сарагоса самая простая для новичка, хотя большинство рекомендуют Блейхута...
0
0 / 0 / 0
Регистрация: 15.05.2013
Сообщений: 15
22.05.2013, 03:00  [ТС] 34
vital792, спасибо
Однако мне нужно всего лишь набросать курсач, без самостоятельного изучения гор разной информации.. Оно то интересно, но времени пока нет.
Кто может помочь реализовать метод хемминга для побайтовой передачи в ассемблере ? Пожалуйста, ребят.. Выручайте(
0
Ушел с форума
Автор FAQ
16279 / 7604 / 1065
Регистрация: 11.11.2010
Сообщений: 13,617
22.05.2013, 04:26 35
Цитата Сообщение от Dmitrik45 Посмотреть сообщение
Однако мне нужно всего лишь набросать курсач, без самостоятельного изучения гор разной информации.. Оно то интересно, но времени пока нет.
TheFox,
ну вот, что и требовалось доказать.
  • литературу подобрали
  • про автомат Мили написали
  • ассемблерную реализацию клиент "заглотил" не разбираясь
  • осталось набросать ТСу курсач, прочитать ему вслух книжки и объяснить "на пальцах" теорию
Вот такие у нас будут инженеры связи, а Вы говорите, что Полный 30h не прав...
0
0 / 0 / 0
Регистрация: 15.05.2013
Сообщений: 15
22.05.2013, 05:52  [ТС] 36
Mikl___, Ты же прекрасно меня понимаешь..
Я как и все студенты делаю все в последний момент, а так же с великой ленью.
Нет времени разбирать теорию автоматов и язык ассемблера(у меня были лабораторки, мы вбивали в дебаг коды, что-то там получали, сдавали это, однако нихрена нам никто не объяснял сути.)
Я не тупой, просто понятия не имею о языке ассемблера! Что вот мне еще делать, как ни просить помощи у людей что в этом шарят..
Спасибо большое за теорию! Реально благодарен вам что помогли.
Остался мне код, а я ж хз как его сделать.. И как следствие - понятия не имею сложное это задание для вас или нет..
Полный 30h написал мне какой-то код. Но я же в душе не ... что он там написал. Это же не сложно для него было, в двух - трех словах под каждой строчкой подписать что она означает! Я не знаю подходит ли он для побайтовой передачи.

Добавлено через 3 минуты
Я попросил рассказать мне что такое метод мили, ты кидаешь мне ссылку с википедии..
0
131 / 67 / 10
Регистрация: 13.05.2013
Сообщений: 437
22.05.2013, 10:49 37
Цитата Сообщение от Mikl___ Посмотреть сообщение
а Вы говорите, что
Мда...

Цитата Сообщение от Dmitrik45 Посмотреть сообщение
Нет времени разбирать теорию автоматов и язык ассемблера
Кто вообще сказал, что тут нужен ассемблер? В задании у тебя про RS-триггер и автомат Мили, из чего следует вывод, что тебе нужно синтезировать структурный автомат Мили под твою задачу. Поэтому тебе в соответствующую ветку и раздел этого форума и к соответствующей литературе. Никак тут тебе без автоматов, так как это тема твоего курсовика.

Цитата Сообщение от Dmitrik45 Посмотреть сообщение
Я попросил рассказать мне что такое метод мили, ты кидаешь мне ссылку с википедии..
А следующую ссылку посмотреть?


Цитата Сообщение от Dmitrik45 Посмотреть сообщение
Я как и все студенты делаю все в последний момент, а так же с великой ленью.
Статистика моего вуза показывает, что до конца обучения доходит примерно половина поступивших. Это и есть те, кто способен за неделю впитать теорию, скомпилировать половину курсовика из курсовиков одногруппников, а вторую написать самому. Остальные вылетают. Как вариант, курсовики есть у тех, кто не пожалел пару тысяч рублей и заказал. Но они это делают более-менее заранее, дабы было дешевле и гарантированно успеть.
1
Ушел с форума
Автор FAQ
16279 / 7604 / 1065
Регистрация: 11.11.2010
Сообщений: 13,617
22.05.2013, 11:08 38
TheFox,
"лень и жадность" -- девиз большинства студентов
0
131 / 67 / 10
Регистрация: 13.05.2013
Сообщений: 437
22.05.2013, 11:29 39
Цитата Сообщение от Mikl___ Посмотреть сообщение
лень и жадность
Ну не знаю, в лени нет ничего страшного по-моему... Мне вот тоже надо к середине июня два драйвера написать, один для ДОС, другой для XP, а я тоже еще не брался. Просто надо понимать, что потом придется работать в круглосуточном режиме, чтобы все успеть, и все-таки я знаю, что я их напишу, не сейчас, так в сентябре. Вредным я считаю только сочетание лени и безграничной любви к халяве.
0
Ушел с форума
Автор FAQ
16279 / 7604 / 1065
Регистрация: 11.11.2010
Сообщений: 13,617
22.05.2013, 12:07 40
TheFox,
о любви к Халяве читать здесь
0
22.05.2013, 12:07
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.05.2013, 12:07
Помогаю со студенческими работами здесь

Ошибка при отладке ActiveX.DLL при передаче объекта форма
в вызывающем модуле Функция(Me) в ActiveX Sub Функция(frm as Object) typeof frm is form -...

При передачи указателя на обьект ошибка,а при передаче ссылки на указатель нет. Почему?
Hi All! class SomeObj { public: int x; }

Клиент-сервер: При передаче одного кадра все хорошо, но при отсылке потоком возникает ряд ошибок
Добрый день, коллеги. Пишу клиент-серверное приложение для передачи потокового видео. Сервер на...

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


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru