Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Коды для защиты от потери пакетов
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
mvb
Здравствуйте.
Решаем задачу: в udp пакетах передаём поток звуковых отсчетов, принимаем и воспроизводим с минимально возможной задержкой. На wifi наблюдаем потери пакетов (что естесственно). Хочется до какой-то степени защитится от этих потерь, при этом минимально увеличив задержку (latency) при воспроизведении.
Из описаных решений нашли следующие:
* xor группы из N пакетов и передача отдельно результата, позволяет восстановить один из N потеряных пакетов. Самая простая реализация.
* В лучших домах используют RaptorQ. Но он сильно нагружает процессор. И реализовать его достаточно трудоёмкая задача сама по себе. В открытом доступе есть только на матлабе и питоне. Ещё один персонаж на stackoverflow давно обещал выложить реализацию на Java в открытый доступ.

Наивный вопрос: может кто вдруг знает открытую реализацию RaptorQ? rolleyes.gif
Менее наивный: может кто подскажет альтернативное эффективное решение?
Fat Robot
HARQ в LTE

Цитата(mvb @ Apr 9 2014, 08:04) *

mvb
Спасибо, на первый взгляд то, что нужно. Есть какие-нибудь конкретные ссылки с хорошим обзором?
Fat Robot
Разумеется. Начните отсюда.

А если серьезно, то вот неплохая книга с описанием в том числе и harq
LTE–the UMTS long term evolution : from theory to practice / Stefania Sesia, Issam Toufik, Matthew Baker.- 2nd ed.

Цитата(mvb @ Apr 10 2014, 10:30) *
Спасибо, на первый взгляд то, что нужно. Есть какие-нибудь конкретные ссылки с хорошим обзором?
mvb
На openfec.org есть реализация application-layer fec на LDPC-staircase. И даже последняя новость говорит, что на 3GPP meeting of January 2013 выбирали новую "FEC scheme" между RaptorQ и вышеназванным и выбрали вышеназванный.
В этой статье есть проверка эффективности: http://csperkins.org/publications/2012/05/...-evaluation.pdf

За книгу спасибо, правда стоит она 70$, не подскажете где можно её достать?
Dr.Alex
Так и не понял, в чём смысл этих RaptorQ и HARQ..

Вопросы::

1) Идея в том чтобы передавать дополнительную проверочную инфу только если FEC нижнего уровня не смог исправить блок?
Или задумка сложнее?

2) Совершенно непонятно, почему тип FEC верхнего уровня является предметом дискуссии? Разве есть для этой цели что-то эффективнее RS, который в данном случае будет работать только по стираниям (выпавшие блоки известны) и таким образом достигнет вроде как теоретического максимума эффективности?
mvb
Цитата(Dr.Alex @ Apr 12 2014, 22:44) *
Так и не понял, в чём смысл этих RaptorQ и HARQ..

Вопросы::

1) Идея в том чтобы передавать дополнительную проверочную инфу только если FEC нижнего уровня не смог исправить блок?
Или задумка сложнее?

2) Совершенно непонятно, почему тип FEC верхнего уровня является предметом дискуссии? Разве есть для этой цели что-то эффективнее RS, который в данном случае будет работать только по стираниям (выпавшие блоки известны) и таким образом достигнет вроде как теоретического максимума эффективности?


1. Нет, передаются пакеты с данными и пакеты с проверочными символами последовательно, одним блоком. Речь о UDP/IP, на физическом уровне FEC может и не быть, например как в медном ethernet'е. Смысл в том, чтобы недошедшие пакеты не перепосылать -- т.е. не тратить на перепосылку время, экономя latency.

2. К сожалению не могу ответить на этот вопрос -- только начинаю разбираться в вопросе.
Dr.Alex
Цитата(mvb @ Apr 12 2014, 23:02) *
1. Нет, передаются пакеты с данными и пакеты с проверочными символами последовательно, одним блоком. Речь о UDP/IP, на физическом уровне FEC может и не быть, например как в медном ethernet'е. Смысл в том, чтобы недошедшие пакеты не перепосылать -- т.е. не тратить на перепосылку время, экономя latency.


Ну в таком случае можете не изучать HARQ - там перепосылка присутствует.

Осталось понять, чем этот раптор лучше РС.. Видимо он проще..
stealth-coder
1. Стандартный подход в мобильных системах связи - замена потерянных пакетов на комфортный шум (silence frame), нигде не видел использования схем перезапросов (для речи, конечно), даже при потере половины фреймов (не куском, конечно, а более-менее "размазанная" по времени) речь разборчива.
2. Простое использование помехоустойчивого кодирования не поможет, т.к. очевидно, что не справляется кодирование самого WiFi, НО если у вас есть возможность получать от модема ВСЕ пакеты, в т.ч. и битые, тогда это имеет смысл;
3. Пом. уст. кодирование может помочь при использовании перемежителя (на интервале нескольких пакетов), тогда потерянные блоки могут быть восстановлены декодером, естественно, за это придётся заплатить задержкой;
4. Не знаю тонкостей решаемой задачи, но если возможно, то использовать вокодер, который "сожмёт" поток и тогда:
1) Можно передать несколько одинаковых пакетов за то же время;
2) Уменьшить скорость передачи и за счёт этого повысить помехоустойчивость (WiFi это умеет).
При использовании вокодера задержка будет равна сумме длительности фрейма (обычно 20 мс) и времени кодирования/декодирования (в худшем случае, очевидно, не более длительности фрейма, иначе это перестанет быть системой реального времени).
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.