|
|
  |
Декодирование блоковых турбокодов, Помехоустойчивое кодирование |
|
|
|
Apr 20 2011, 09:39
|
Знающий
   
Группа: Свой
Сообщений: 812
Регистрация: 22-01-05
Из: SPb
Пользователь №: 2 119

|
Цитата(petrov @ Apr 20 2011, 13:09)  Я так понимаю что такой код будет хуже обычного БЧХ с аналогичным размером блока и скоростью, т. к. БЧХ любые комбинации ошибок может исправлять в пределах корректирующей способности, а жёсткий TPC на некоторых комбинациях с малым числом ошибок спотыкаться будет. Он будет хуже БЧХ. У него будет меньше мин. расстояние. Реализовать это расстояние не составляет труда, т.к. это обычный итеративный код с известным (небольшим) мин. расстоянием. Алгоритмы декодирования всех ошибок до половины минимального расстояния для итеративных кодов известны давно. Изюминка турбо кодов в том, что они исправляют много ошибок веса намного больше их минимального расстояния Хемминга (или эвклидова расстояния, если речь о полунепрерывных каналах). Для известных методов декодирования (в двоичном канале) итеративных кодов такой эффект тоже имеет место, но совсем не в таком впечатляющем масштабе, как в канале с непрерывным выходом и с алгоритмами многократного декодирования.
|
|
|
|
|
Apr 20 2011, 10:58
|
Группа: Новичок
Сообщений: 8
Регистрация: 19-04-11
Пользователь №: 64 469

|
дело в том , что я не создаю оборудование и соответственно у меня нет цели, как бы канал упростить , но в тоже время все здорово работало. И вся мощь турбокодов мне нужна:-) Мне просто надо в той мере, какой это возможно (чем чище, тем лучше) декодировать принятый и демодулированный (т.к. это отдельное устройство с жестким решением на выходе ) сигнал. Остро вопрос быстродействия декодера тоже не стоит.
как выше правильно писал Вадим, считайте что просто LLR с высоким значением для каждого бита, и как я написал выше в случаях сверточных турбокодов с LLR классно работало.
|
|
|
|
|
Apr 20 2011, 11:13
|
Гуру
     
Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937

|
Цитата(valera1234 @ Apr 20 2011, 14:58)  дело в том , что я не создаю оборудование и соответственно у меня нет цели, как бы канал упростить , но в тоже время все здорово работало. И вся мощь турбокодов мне нужна:-) Мне просто надо в той мере, какой это возможно (чем чище, тем лучше) декодировать принятый и демодулированный (т.к. это отдельное устройство с жестким решением на выходе ) сигнал. Остро вопрос быстродействия декодера тоже не стоит.
как выше правильно писал Вадим, считайте что просто LLR с высоким значением для каждого бита, и как я написал выше в случаях сверточных турбокодов с LLR классно работало. Практического смысла мало в этом, энергетический выигрыш от жёстких кодов не стоит того.
|
|
|
|
|
Apr 20 2011, 11:28
|
Группа: Новичок
Сообщений: 8
Регистрация: 19-04-11
Пользователь №: 64 469

|
Простите за опечатку : И вся мощь турбокодов мне НЕ нужна:-)
Простите Serg76, а что значит синдромный, я так понимаю что как я и выше писал только назвав это табличным, т.е. кодовое слово каждой строки делим на полином, получаем синдром, и по нему уже знаем в каком месте ошибка и инвертируем там бит, потом отдельно идем по столбцам, потом опять по строкам ну итд. Но в этом случае выползала такая проблема что при коде 127,120 допустим одну ошибку можно исправить, но если у нас две ошибки то принимает за другую кодовую комбинацию и фактически вносит третью, и при неблагоприятном стечении ошибок, он будет бесконечно там менять и от правильной комбинации очень сильно отдалится. Или вы под синдромным что-то другое имели в виду?
|
|
|
|
|
Apr 20 2011, 12:04
|
Профессионал
    
Группа: Участник
Сообщений: 1 050
Регистрация: 4-04-07
Пользователь №: 26 775

|
Цитата(valera1234 @ Apr 20 2011, 14:28)  Простите за опечатку : И вся мощь турбокодов мне НЕ нужна:-)
Простите Serg76, а что значит синдромный, я так понимаю что как я и выше писал только назвав это табличным, т.е. кодовое слово каждой строки делим на полином, получаем синдром, и по нему уже знаем в каком месте ошибка и инвертируем там бит, потом отдельно идем по столбцам, потом опять по строкам ну итд. Но в этом случае выползала такая проблема что при коде 127,120 допустим одну ошибку можно исправить, но если у нас две ошибки то принимает за другую кодовую комбинацию и фактически вносит третью, и при неблагоприятном стечении ошибок, он будет бесконечно там менять и от правильной комбинации очень сильно отдалится. Или вы под синдромным что-то другое имели в виду? Синдромный алгоритм это тоже самое, что и алгоритм табличного поиска. Ту ситуацию, которую Вы описали, исправить невозможно, ибо каждый код характеризуется своей корректирующей способностью в зависимости от используемого алгоритма декодирования, выше головы не прыгнешь. Либо обеспечьте необходимую энергетику на входе, либо используйте более помехоустойчивый алгоритм.
|
|
|
|
|
Apr 20 2011, 12:10
|
Группа: Новичок
Сообщений: 8
Регистрация: 19-04-11
Пользователь №: 64 469

|
вот и весь вопрос, какой более помехоустройчивый алгоритм?
|
|
|
|
|
Apr 20 2011, 13:07
|
Знающий
   
Группа: Свой
Сообщений: 812
Регистрация: 22-01-05
Из: SPb
Пользователь №: 2 119

|
Цитата(valera1234 @ Apr 20 2011, 15:28)  Но в этом случае выползала такая проблема что при коде 127,120 допустим одну ошибку можно исправить, но если у нас две ошибки то принимает за другую кодовую комбинацию и фактически вносит третью, и при неблагоприятном стечении ошибок, он будет бесконечно там менять и от правильной комбинации очень сильно отдалится. Нет, одна ошибка ничего не испортит. И 7 ошибок тоже не страшны  У вас код итеративный. Вы сначала его декодируете по строкам. По результатам декодирования выставляете надежности каждому символу кода. Затем декодируете по столбцам с учетом этих надежностей. Для реализации минимального расстояния (у вас оно равно 16, т.е. должны исправляться все ошибки веса до 7 включительно), достаточно сделать одну попытку декодирования (со стираниями) для каждого столбца. Смотрите в и-нете декодирование итеративных кодов и декодирования каскадных кодов, декодирование блоковых кодов по МОР (алгоритм Форни).
|
|
|
|
|
Apr 20 2011, 13:22
|
Группа: Новичок
Сообщений: 8
Регистрация: 19-04-11
Пользователь №: 64 469

|
нет, мне кажется вы что-то путаете, 127,120 код Хэмминга, Dmin=3
|
|
|
|
|
Apr 20 2011, 13:30
|
Знающий
   
Группа: Свой
Сообщений: 812
Регистрация: 22-01-05
Из: SPb
Пользователь №: 2 119

|
Цитата(valera1234 @ Apr 20 2011, 17:22)  нет, мне кажется вы что-то путаете, 127,120 код Хэмминга, Dmin=3 А это не вы писали сегодня? Цитата(valera1234 @ Apr 20 2011, 11:19)  Пробовал табличным методом (т.е. каждую строку и каждый столбец декодирую незавизимо), но для скоростей 7/8 например блоков (128,120)х(128,120) очень неэффективно работает. Тут явно видно, что итерируются два расширенных кода Хемминга. У каждого мин. расст. 4, а у произведения 4*4=16. Разве нет?
|
|
|
|
|
Apr 20 2011, 13:37
|
Группа: Новичок
Сообщений: 8
Регистрация: 19-04-11
Пользователь №: 64 469

|
писал я, ааа, этого я не знал:-) всмысле таких формул. я почитаю обязательно алгоритмы, которые вы советуете в них есть ответ на вопрос каким образом выставлять надежность каждому биту по декодировании КС, и как потом декодировать столбцы с учетом этих надежностей, и что значит со стираниями для каждого столбца?
|
|
|
|
|
Apr 20 2011, 13:38
|
Профессионал
    
Группа: Участник
Сообщений: 1 050
Регистрация: 4-04-07
Пользователь №: 26 775

|
Цитата(SKov @ Apr 20 2011, 16:07)  Нет, одна ошибка ничего не испортит. И 7 ошибок тоже не страшны  У вас код итеративный. Вы сначала его декодируете по строкам. По результатам декодирования выставляете надежности каждому символу кода. Затем декодируете по столбцам с учетом этих надежностей. Для реализации минимального расстояния (у вас оно равно 16, т.е. должны исправляться все ошибки веса до 7 включительно), достаточно сделать одну попытку декодирования (со стираниями) для каждого столбца. Смотрите в и-нете декодирование итеративных кодов и декодирования каскадных кодов, декодирование блоковых кодов по МОР (алгоритм Форни). Если 7 ошибок в одной строке, то их исправить можно будет соответствующим декодированием по столбцам, но если представить себе мнимый прямоугольник, в вершинах которого ошибочные биты, то эти ошибки уже не исправить жестким декодером
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|