реклама на сайте
подробности

 
 
> Самокорректирующийся код, Исправляющий две ошибки
MIX@
сообщение Feb 17 2009, 18:59
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 53
Регистрация: 21-01-09
Пользователь №: 43 756



Доброго времени суток!

Не знал куда поместить вопрос - решил, что здесь ему самое место.

Итак суть вопроса: потребовался самокорректирующийся код, который позволял бы исправлять две ошибки исходного сообщения и региструющий тройную, как бонус. Существующие реализации (например, код Хемминга) умеют исправлять только 1 ошибку и обнаруживать двойную.
Кодирование, естественно, двоичное.

Может кто решал такую задачу - посоветуйте.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 11)
scifi
сообщение Feb 17 2009, 20:27
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



В этой области давно всё изучено:
Forward Error Correction
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Feb 18 2009, 05:28
Сообщение #3


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(MIX@ @ Feb 17 2009, 21:59) *
Существующие реализации (например, код Хемминга) умеют исправлять только 1 ошибку и обнаруживать двойную.

Существующие реализации (например, БЧХ) позволяют исправить и обнаружить любое количество ошибок. Вопрос, готовы ли вы за это платить.
Чем больше мощность кода, тем больше избыточность.
Причём надо понимать, что 2 ошибки могут быть не только в вашем исходном байте, а во всём полученном кодовом слове.
То есть вы берёте байт, кодируете его, получаете кодовое слово (примерно в 2 раза большее), и вот эти 2-3 исправляемые ошибки будут "размазаны" по всему слову.
Лет так 10 назад я писал диплом по коду Голея, который исправляет любые 3 ошибки в 24р слове, причём информационных бит там ровно половина.


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
Gantz
сообщение Feb 18 2009, 12:25
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 21-01-09
Пользователь №: 43 725



Цитата(MIX@ @ Feb 17 2009, 21:59) *
Доброго времени суток!

Не знал куда поместить вопрос - решил, что здесь ему самое место.

Итак суть вопроса: потребовался самокорректирующийся код, который позволял бы исправлять две ошибки исходного сообщения и региструющий тройную, как бонус. Существующие реализации (например, код Хемминга) умеют исправлять только 1 ошибку и обнаруживать двойную.
Кодирование, естественно, двоичное.

Может кто решал такую задачу - посоветуйте.


код Хемминга достаточно эффективен. Также вы видели всего пример на основе одной ошибке. Если взять теорию, то можно составить любую вариацию исправлять две и более ошибок. Усложняется только матрица и увеличивается размер дополнительного кода.
Go to the top of the page
 
+Quote Post
777777
сообщение Feb 21 2009, 10:56
Сообщение #5


Профессионал
*****

Группа: Участник
Сообщений: 1 091
Регистрация: 25-07-07
Из: Саратов
Пользователь №: 29 357



Коды Рида-Соломона используются достаточно широко. Можно например поискать стандарт DVD ECMA-267, глава 18, но там описано весьма мутно. Лучше поискать более популярную литературу.
Go to the top of the page
 
+Quote Post
Valery_Vlad
сообщение Mar 7 2009, 09:48
Сообщение #6


Местный
***

Группа: Участник
Сообщений: 474
Регистрация: 3-11-05
Из: Москва
Пользователь №: 10 421



Цитата(MIX@ @ Feb 17 2009, 21:59) *
Итак суть вопроса: потребовался самокорректирующийся код, который позволял бы исправлять две ошибки исходного сообщения и региструющий тройную, как бонус. Существующие реализации (например, код Хемминга) умеют исправлять только 1 ошибку и обнаруживать двойную.
Кодирование, естественно, двоичное.

Если еще интересно, то задача решена, и решение описано в статье <Помехоустойчивое кодирование радиоканалов с частотной модуляцией.
Брауде-Золотарев Ю. М., Лаврентьев М. А.> журнал «РАДИОТЕХНИКА», № 6, 2004 г.
Go to the top of the page
 
+Quote Post
hlebn
сообщение Mar 7 2009, 16:13
Сообщение #7


Частый гость
**

Группа: Свой
Сообщений: 131
Регистрация: 22-10-04
Пользователь №: 963



блочное или поточное кодирование?
для последнего весьма эффективна и проста в реализации сверточное кодирование. при скорости кодирования 2/3 (на два информационных бита один контрольный) в легкую исправляет четыре ошибки. проверенно на 150МБит ной радиолинии.
Go to the top of the page
 
+Quote Post
Serg76
сообщение Mar 7 2009, 17:08
Сообщение #8


Профессионал
*****

Группа: Участник
Сообщений: 1 050
Регистрация: 4-04-07
Пользователь №: 26 775



Цитата(hlebn @ Mar 7 2009, 19:13) *
блочное или поточное кодирование?
для последнего весьма эффективна и проста в реализации сверточное кодирование. при скорости кодирования 2/3 (на два информационных бита один контрольный) в легкую исправляет четыре ошибки. проверенно на 150МБит ной радиолинии.

По-видимому вы имеете ввиду решетчатое (треллис) кодирование TCM2/3. Оно применяется с 8PSK видом модуляции. Кстати автор темы о этом ничего не сказал.

Цитата(Valery_Vlad @ Mar 7 2009, 12:48) *
Если еще интересно, то задача решена, и решение описано в статье <Помехоустойчивое кодирование радиоканалов с частотной модуляцией.
Брауде-Золотарев Ю. М., Лаврентьев М. А.> журнал «РАДИОТЕХНИКА», № 6, 2004 г.

Видимо вы имеете ввиду многопороговые декодеры?
Go to the top of the page
 
+Quote Post
hlebn
сообщение Mar 7 2009, 17:58
Сообщение #9


Частый гость
**

Группа: Свой
Сообщений: 131
Регистрация: 22-10-04
Пользователь №: 963



Цитата(Serg76 @ Mar 7 2009, 20:08) *
По-видимому вы имеете ввиду решетчатое (треллис) кодирование TCM2/3. Оно применяется с 8PSK видом модуляции. Кстати автор темы о этом ничего не сказал.

я имел ввиду именно сверточное кодирование с длинным ортогональным кодом. никакого отношения к виду модуляции оно не имело. в радиолинии использовалась QPSK модуляция. 8PSK при требуемом сигнал шум вряд ли работал.
для декодирования использовался могопороговый декодер.
Go to the top of the page
 
+Quote Post
Valery_Vlad
сообщение Mar 7 2009, 18:06
Сообщение #10


Местный
***

Группа: Участник
Сообщений: 474
Регистрация: 3-11-05
Из: Москва
Пользователь №: 10 421



Цитата(Serg76 @ Mar 7 2009, 20:08) *
Видимо вы имеете ввиду многопороговые декодеры?

Это блочный код 16,8. Восстанавливает все одиночные и все двойные ошибки. В информационном слове все тройные ошибки если они находятся три подряд в любом месте слова. И некоторые тройные распределенные в информационном слове и в проверочном.
Go to the top of the page
 
+Quote Post
Serg76
сообщение Mar 7 2009, 20:02
Сообщение #11


Профессионал
*****

Группа: Участник
Сообщений: 1 050
Регистрация: 4-04-07
Пользователь №: 26 775



Цитата(hlebn @ Mar 7 2009, 20:58) *
я имел ввиду именно сверточное кодирование с длинным ортогональным кодом. никакого отношения к виду модуляции оно не имело. в радиолинии использовалась QPSK модуляция. 8PSK при требуемом сигнал шум вряд ли работал.
для декодирования использовался могопороговый декодер.

спасибо, понятно, самоортогональными кодами плотно занимался как раз Золотарев может Valery_Vlad именно этого автора имел ввиду. А TCM 2/3+8PSK для Intelsat тоже представляет собой сверточный код на базе полинома (133,171).
Цитата(Valery_Vlad @ Mar 7 2009, 20:58) *
Это блочный код 16,8. Восстанавливает все одиночные и все двойные ошибки. В информационном слове все тройные ошибки если они находятся три подряд в любом месте слова. И некоторые тройные распределенные в информационном слове и в проверочном.

Попробую еще раз угадать. Может CRC?
Go to the top of the page
 
+Quote Post
Valery_Vlad
сообщение Mar 7 2009, 21:11
Сообщение #12


Местный
***

Группа: Участник
Сообщений: 474
Регистрация: 3-11-05
Из: Москва
Пользователь №: 10 421



Цитата(Serg76 @ Mar 7 2009, 23:02) *
спасибо, понятно, самоортогональными кодами плотно занимался как раз Золотарев может Valery_Vlad именно этого автора имел ввиду.
Попробую еще раз угадать. Может CRC?

Это другой Золотарев, Брауде-Золотарев Юрий Михайлович. Почитайте статью сами, я не большой спец по кодам.
По моему разумению взяли код Хемминга 255,247 и укоротили его до 16,8. И вместо синдромного исправления ошибок, сделали так, что синдром указывал на адрес в таблице где находится корректирующее слово. А изюминка сама была в выборе полиномов.

Сообщение отредактировал Valery_Vlad - Mar 7 2009, 21:12
Прикрепленные файлы
Прикрепленный файл  ___________________________.PDF ( 261.62 килобайт ) Кол-во скачиваний: 632
 
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th June 2025 - 22:24
Рейтинг@Mail.ru


Страница сгенерированна за 0.02662 секунд с 7
ELECTRONIX ©2004-2016