Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Задачка логическая..
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Математика и Физика
DASM
Вот есть такая штука
Имеется некая матрица элементов, часть из них (M) может быть потеряна. Пакеты FEC представляют собой XOR элементов по строкам и столбцам. На рисунке справа показан процесс восстановления потерянных пакетов. Теперь рассмотрим вот такую матрицу Очевидно , что ее всю можно восстановить, но понадобится много проходов. Итак вопросец, какое максимальное кол-во проходов для матрицы 10*10, и есть ли какие-то оптимальные способы прохода ?
des333
А почему в Оффтопе? smile.gif
DASM
а где еще ?
des333
Я думаю, логика ближе к математике, чем к оффтопу smile.gif
http://electronix.ru/forum/index.php?showforum=85
DASM
тогда просьба модераторам перенести тему
Oldring
Цитата(DASM @ May 14 2010, 10:33) *
Очевидно , что ее всю можно восстановить, но понадобится много проходов. Итак вопросец, какое максимальное кол-во проходов для матрицы 10*10, и есть ли какие-то оптимальные способы прохода ?


Это блоки со стираниями? Положения всех стираний известны?

Мне очевидно, что в матрице NxN исправимые таким кодом конфигурации содержат максимум 2N-1 стираний, при этом некоторые конфигурации с 4 стираниями уже не устранимы. Оптимальный алгоритм коррекции тривиален. Если есть ряд или столбец в котором ровно одно стирание и есть нестертый FEC - исправить его. Таким образом, каждый элемент внутри матрицы считывается+записывается не более двух раз.
DASM
да, это отсутсвующие блоки. Положение их известно. Да, кажется так.. Блин, на 100 мбит Ethernet пол-Альтеры на такю муть займу, и то не факт что успею =(
Oldring
Цитата(DASM @ May 14 2010, 11:37) *
на 100 мбит Ethernet пол-Альтеры на такю муть займу


А что, Альтеры такие маленькие? Переходи на Ксайлинкс laughing.gif
Мне очевидно, что на 100 мегабитах более чем реально скорректировать одну матрицу за время приема следующей при достаточно простом управлении.
petrov
Код плохой, лучше БЧХ с исправлением стираний использовать.
Oldring
Кстати, тут есть еще одна интересная проверка. XOR всех FEC блоков равен нулю. Это позволяет исправить еще одну ошибку, то есть максимамальная корректируемая конфигурация содержит 2N стираний. Ну и нужно не забыть корректировать также стирания также FEC блоков..

Цитата(petrov @ May 14 2010, 13:18) *
Код плохой, лучше БЧХ с исправлением стираний использовать.


Да, побайтовый Рид-Соломон по всем 120 блокам может гарантированно скорректировать любую конфигурацию стираний из 20 стертых блоков. За счет большей сложности декодера. Но скорее всего DASM не разработчик протокола.
DASM
я не разработчик, это стандартный для IPTV. Ориентирован на пакетное восстановление, ибо в сетях всеж пакеты теряются, а не биты-байты
DASM
Цитата(Oldring @ May 14 2010, 12:01) *
А что, Альтеры такие маленькие? Переходи на Ксайлинкс laughing.gif
Мне очевидно, что на 100 мегабитах более чем реально скорректировать одну матрицу за время приема следующей при достаточно простом управлении.

Ну 70000 гейтов.. нормальная вполне Альтера.. Просто логика какая-то.. последовательностая больно. Кроме того операции с SDRAM - хоро что хоть я их 4 заложил, а внутри одной куча времени на открытие-закрытие row уходило б
Oldring
Цитата(DASM @ May 14 2010, 18:34) *
Просто логика какая-то.. последовательностая больно.


Последовательная? biggrin.gif Какой размер пакета?

Чтобы вычислить отсутствующий пакет нужно проксорить все известные пакеты в ряду побайтно. Эта операция паралеллится ну очень круто. Кроме того, можно сначала проксорить все известные пакеты во всех рядах и столбцах чтобы получить ошибки, после чего исправление одного стирания сводится к копированию пакета (или изменению одного указателя) и ксорингу восстановленного пакета с ошибкой в ортогональном ряду. laughing.gif
rezident
Модератор.
Тему перенес.
DASM
1316 байтов пакет. 100 пакетов. Во внутрянку плохо лезет. НА SDRAM сделаю, но конвеер надо - ибо плохо они непоследовательно работают, медленно
Oldring
Цитата(DASM @ May 25 2010, 07:07) *
1316 байтов пакет. 100 пакетов. Во внутрянку плохо лезет. НА SDRAM сделаю, но конвеер надо - ибо плохо они непоследовательно работают, медленно


Внутри нужно иметь только один пакет - аккумулятор. За один цикл считываются 9-20 пакетов и записывается потом наружу один.
DASM
плохо догоняю, как потом восстановить возможные пакеты
Oldring
Цитата(DASM @ May 25 2010, 17:45) *
плохо догоняю, как потом восстановить возможные пакеты


Хранится матрица, разумеется, снаружи. Чтобы восстановить потерянный пакет, нужно проксорить побайтово остальные имеющиеся пакеты в строке или столбце. Так?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.