|
Самокорректирующийся код, Исправляющий две ошибки |
|
|
|
Feb 17 2009, 18:59
|
Участник

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

|
Доброго времени суток!
Не знал куда поместить вопрос - решил, что здесь ему самое место.
Итак суть вопроса: потребовался самокорректирующийся код, который позволял бы исправлять две ошибки исходного сообщения и региструющий тройную, как бонус. Существующие реализации (например, код Хемминга) умеют исправлять только 1 ошибку и обнаруживать двойную. Кодирование, естественно, двоичное.
Может кто решал такую задачу - посоветуйте.
|
|
|
|
|
 |
Ответов
(1 - 11)
|
Feb 18 2009, 05:28
|

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

|
Цитата(MIX@ @ Feb 17 2009, 21:59)  Существующие реализации (например, код Хемминга) умеют исправлять только 1 ошибку и обнаруживать двойную. Существующие реализации (например, БЧХ) позволяют исправить и обнаружить любое количество ошибок. Вопрос, готовы ли вы за это платить. Чем больше мощность кода, тем больше избыточность. Причём надо понимать, что 2 ошибки могут быть не только в вашем исходном байте, а во всём полученном кодовом слове. То есть вы берёте байт, кодируете его, получаете кодовое слово (примерно в 2 раза большее), и вот эти 2-3 исправляемые ошибки будут "размазаны" по всему слову. Лет так 10 назад я писал диплом по коду Голея, который исправляет любые 3 ошибки в 24р слове, причём информационных бит там ровно половина.
--------------------
Программирование делится на системное и бессистемное. ©Моё :) — а для кого-то БГ — это Bill Gilbert =)
|
|
|
|
|
Feb 18 2009, 12:25
|
Участник

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

|
Цитата(MIX@ @ Feb 17 2009, 21:59)  Доброго времени суток!
Не знал куда поместить вопрос - решил, что здесь ему самое место.
Итак суть вопроса: потребовался самокорректирующийся код, который позволял бы исправлять две ошибки исходного сообщения и региструющий тройную, как бонус. Существующие реализации (например, код Хемминга) умеют исправлять только 1 ошибку и обнаруживать двойную. Кодирование, естественно, двоичное.
Может кто решал такую задачу - посоветуйте. код Хемминга достаточно эффективен. Также вы видели всего пример на основе одной ошибке. Если взять теорию, то можно составить любую вариацию исправлять две и более ошибок. Усложняется только матрица и увеличивается размер дополнительного кода.
|
|
|
|
|
Mar 7 2009, 09:48
|
Местный
  
Группа: Участник
Сообщений: 474
Регистрация: 3-11-05
Из: Москва
Пользователь №: 10 421

|
Цитата(MIX@ @ Feb 17 2009, 21:59)  Итак суть вопроса: потребовался самокорректирующийся код, который позволял бы исправлять две ошибки исходного сообщения и региструющий тройную, как бонус. Существующие реализации (например, код Хемминга) умеют исправлять только 1 ошибку и обнаруживать двойную. Кодирование, естественно, двоичное. Если еще интересно, то задача решена, и решение описано в статье <Помехоустойчивое кодирование радиоканалов с частотной модуляцией. Брауде-Золотарев Ю. М., Лаврентьев М. А.> журнал «РАДИОТЕХНИКА», № 6, 2004 г.
|
|
|
|
|
Mar 7 2009, 17:08
|
Профессионал
    
Группа: Участник
Сообщений: 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 г. Видимо вы имеете ввиду многопороговые декодеры?
|
|
|
|
|
Mar 7 2009, 17:58
|
Частый гость
 
Группа: Свой
Сообщений: 131
Регистрация: 22-10-04
Пользователь №: 963

|
Цитата(Serg76 @ Mar 7 2009, 20:08)  По-видимому вы имеете ввиду решетчатое (треллис) кодирование TCM2/3. Оно применяется с 8PSK видом модуляции. Кстати автор темы о этом ничего не сказал. я имел ввиду именно сверточное кодирование с длинным ортогональным кодом. никакого отношения к виду модуляции оно не имело. в радиолинии использовалась QPSK модуляция. 8PSK при требуемом сигнал шум вряд ли работал. для декодирования использовался могопороговый декодер.
|
|
|
|
|
Mar 7 2009, 18:06
|
Местный
  
Группа: Участник
Сообщений: 474
Регистрация: 3-11-05
Из: Москва
Пользователь №: 10 421

|
Цитата(Serg76 @ Mar 7 2009, 20:08)  Видимо вы имеете ввиду многопороговые декодеры? Это блочный код 16,8. Восстанавливает все одиночные и все двойные ошибки. В информационном слове все тройные ошибки если они находятся три подряд в любом месте слова. И некоторые тройные распределенные в информационном слове и в проверочном.
|
|
|
|
|
Mar 7 2009, 20:02
|
Профессионал
    
Группа: Участник
Сообщений: 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?
|
|
|
|
|
Mar 7 2009, 21:11
|
Местный
  
Группа: Участник
Сообщений: 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
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|