0 / 0 / 0
Регистрация: 15.05.2013
Сообщений: 15
|
|
1 | |
Корректирующие коды при побайтовой передаче15.05.2013, 15:42. Показов 4359. Ответов 51
Метки нет (Все метки)
Здравствуйте, меня зовут Дмитрий. Я студент, учусь на инженера связи, 2 курс.
Тема моей курсовой работы - Устройство обнаружения и коррекции ошибок в канале связи. Побайтовая передача, базовые элементы и-не, R-S триггер, модель Мили. Препод сказал мне сравнить несколько помехоустойчивых кодов, выбрать оптимальный. Какие методы можете мне предложить ? Желательно не сложные.. Буду очень благодарен, если Вы протянете мне руку помощи..))
0
|
15.05.2013, 15:42 | |
Ответы с готовыми решениями:
51
Корректирующие коды Коды символов при передаче Преобразовать текст после побайтовой загрузки Восстановление CRC32, корректирующие байты. |
131 / 67 / 10
Регистрация: 13.05.2013
Сообщений: 437
|
|
17.05.2013, 23:29 | 21 |
Код Хемминга вполне может корректировать одиночную ошибку, уложившись при этом в байт.
1
|
Эксперт быдлокодинга
2091 / 525 / 69
Регистрация: 04.11.2010
Сообщений: 1,310
|
|
18.05.2013, 00:50 | 22 |
Пока что поверхностно пробежался (википедия) правильно ли я понимаю, что байт с коррекцией это полубайт чистой инфы?
0
|
Ушел с форума
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
|
Ушел с форума
16279 / 7604 / 1065
Регистрация: 11.11.2010
Сообщений: 13,617
|
|
19.05.2013, 11:01 | 25 |
Полный 30h,
а откуда ему взяться? И решение этой проблема уже не для написания на ассемблере, то есть программном, а уровнем ниже -- аппаратном, и "железно" встроена в модемы, схемы управления винчестером, CD-ROM'ом и сетевые карты
1
|
131 / 67 / 10
Регистрация: 13.05.2013
Сообщений: 437
|
|||||
19.05.2013, 15:24 | 26 | ||||
Полный 30h, там все элементарно (для одной ошибки)
1. Формируются множества по определенным правилам. Вообще они стандартные, так что с этим можно даже не парится. Проще всего проделать это самому, если расписать двоичные числа в столбик с младшего разряда:
Далее формируем множества выписывая номера столбцов, где в соответствующей строке 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
|
Ушел с форума
16279 / 7604 / 1065
Регистрация: 11.11.2010
Сообщений: 13,617
|
|
20.05.2013, 10:33 | 28 |
Полный 30h,
скачай Тице, Шенк "Полупроводниковая схемотехника" страницы 435-438 23.2.2. Код Хемминга. Очень хорошо всё объяснено, минимум теории, электронная схема, таблицы:
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 |
Автомат Мили
Добавлено через 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
|
Ушел с форума
16279 / 7604 / 1065
Регистрация: 11.11.2010
Сообщений: 13,617
|
|
22.05.2013, 04:26 | 35 |
TheFox,
ну вот, что и требовалось доказать.
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 |
Мда...
Кто вообще сказал, что тут нужен ассемблер? В задании у тебя про RS-триггер и автомат Мили, из чего следует вывод, что тебе нужно синтезировать структурный автомат Мили под твою задачу. Поэтому тебе в соответствующую ветку и раздел этого форума и к соответствующей литературе. Никак тут тебе без автоматов, так как это тема твоего курсовика. А следующую ссылку посмотреть? Статистика моего вуза показывает, что до конца обучения доходит примерно половина поступивших. Это и есть те, кто способен за неделю впитать теорию, скомпилировать половину курсовика из курсовиков одногруппников, а вторую написать самому. Остальные вылетают. Как вариант, курсовики есть у тех, кто не пожалел пару тысяч рублей и заказал. Но они это делают более-менее заранее, дабы было дешевле и гарантированно успеть.
1
|
Ушел с форума
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 |
Ну не знаю, в лени нет ничего страшного по-моему... Мне вот тоже надо к середине июня два драйвера написать, один для ДОС, другой для XP, а я тоже еще не брался. Просто надо понимать, что потом придется работать в круглосуточном режиме, чтобы все успеть, и все-таки я знаю, что я их напишу, не сейчас, так в сентябре. Вредным я считаю только сочетание лени и безграничной любви к халяве.
0
|
Ушел с форума
16279 / 7604 / 1065
Регистрация: 11.11.2010
Сообщений: 13,617
|
|
22.05.2013, 12:07 | 40 |
TheFox,
о любви к Халяве читать здесь
0
|
22.05.2013, 12:07 | |
22.05.2013, 12:07 | |
Помогаю со студенческими работами здесь
40
Ошибка при отладке ActiveX.DLL при передаче объекта форма При передачи указателя на обьект ошибка,а при передаче ссылки на указатель нет. Почему? Клиент-сервер: При передаче одного кадра все хорошо, но при отсылке потоком возникает ряд ошибок при передаче параметра Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |