|
|
  |
2D Block Turbo Code ? [решено], (проверочные от проверочных) |
|
|
|
Jan 27 2013, 15:44
|
Профессионал
    
Группа: Участник
Сообщений: 1 050
Регистрация: 4-04-07
Пользователь №: 26 775

|
Цитата(a9d @ Jan 27 2013, 17:35)  У меня мысль появилась. Ведь в 2D матрице легко вычислить координаты ошибки. И если уж после нескольких итераций ошибки уже не исправляются, то подставить парочку раз рандомное число. Так хоть все перебирать не придется.
А еще лучше из массива наиболее вероятных чисел. Который будет подгоняться под каждую конкретную реализацию. Обычно в методах итерационного декодирования используется критерий "ранней" остановки, т.е. после каждой итерации проверяем наличие оставшихся ошибок (по синдрому, например) и в случае их отсутствия отказ от дальнейшего декодирования.
|
|
|
|
|
Jan 27 2013, 17:46
|
Профессионал
    
Группа: Участник
Сообщений: 1 050
Регистрация: 4-04-07
Пользователь №: 26 775

|
Цитата(a9d @ Jan 27 2013, 19:48)  Но если ошибки перестали исправляться. Т.е. пакет сильно поврежден. все равно остается еще некоторая вероятность того, что некоторые конфигурации ошибок могут быть исправлены на последующих итерациях, поэтому использование всех итераций более надежно, но неэффективно вычислительно.
|
|
|
|
|
Jan 27 2013, 21:02
|
Местный
  
Группа: Участник
Сообщений: 312
Регистрация: 9-04-10
Пользователь №: 56 532

|
Результат. Проверял в VS2012
BTC.zip ( 658.45 килобайт )
Кол-во скачиваний: 73Цитата все равно остается еще некоторая вероятность того, что некоторые конфигурации ошибок могут быть исправлены на последующих итерациях, поэтому использование всех итераций более надежно, но неэффективно вычислительно. Провел испытания с рандомной генерацией пакета и ошибок. Отловил такие случаи когда количество ошибок не уменьшается, но после парочки итераций пакет восстанавливается. Надо сказать случаи не такие уж и редкие. На 300-400 пакетов 1 случай.
Сообщение отредактировал a9d - Jan 27 2013, 22:25
|
|
|
|
|
Jan 28 2013, 10:40
|
Профессионал
    
Группа: Участник
Сообщений: 1 050
Регистрация: 4-04-07
Пользователь №: 26 775

|
Цитата(a9d @ Jan 28 2013, 12:49)  В итоге устройство будет быстро восстанавливать данные на близких и медленно на дальних. так в том то и дело, что во всех случаях должен быть обеспечен реалтайм, т.е. Вы должны гарантировать скорость работы вашего декодера при разном качестве канала. кроме того, я не знаю какое у Вас исполнение? если это софтовое решение, то это одно, но если Вы планируете реалиовать это все в "железе", то тогда это точно не вариант - держать два декодера на борту. но все равно, решать Вам, как говорится  Цитата(a9d @ Jan 28 2013, 12:49)  Если представить данные в виде квадратной матрицы, то мягкие решения имеют смысл когда ошибка сосредоточена в центре или располагается по углам. Была мысль определять примерное расположение ошибки и на основе этого решать по какой схеме производить декодирование, но решил не заморачиваться и попробовать каскад. это в каком канале (системе) рассматривается? для АБГШ все символы априори равновероятны, а мягкое декодирование (поправлюсь: мягкие решения) как раз и дает ответ на то, какой из символов наиболее достоверен.
Сообщение отредактировал Serg76 - Jan 28 2013, 10:53
|
|
|
|
|
Jan 28 2013, 15:10
|
Местный
  
Группа: Участник
Сообщений: 312
Регистрация: 9-04-10
Пользователь №: 56 532

|
Чето сомневаться начал в необходимости жестких решений. Смысла в таком каскаде особо нет((. Цитата это в каком канале (системе) рассматривается? для АБГШ все символы априори равновероятны, а мягкое декодирование (поправлюсь: мягкие решения) как раз и дает ответ на то, какой из символов наиболее достоверен. Я говорил чисто теоретически, в реальности наверное такого и не будет.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|