|
|
  |
Коды для защиты от потери пакетов, Альтернатива RaptorQ (RFC6330) |
|
|
|
Apr 9 2014, 07:04
|
Участник

Группа: Участник
Сообщений: 72
Регистрация: 7-06-08
Пользователь №: 38 128

|
Здравствуйте. Решаем задачу: в udp пакетах передаём поток звуковых отсчетов, принимаем и воспроизводим с минимально возможной задержкой. На wifi наблюдаем потери пакетов (что естесственно). Хочется до какой-то степени защитится от этих потерь, при этом минимально увеличив задержку (latency) при воспроизведении. Из описаных решений нашли следующие: * xor группы из N пакетов и передача отдельно результата, позволяет восстановить один из N потеряных пакетов. Самая простая реализация. * В лучших домах используют RaptorQ. Но он сильно нагружает процессор. И реализовать его достаточно трудоёмкая задача сама по себе. В открытом доступе есть только на матлабе и питоне. Ещё один персонаж на stackoverflow давно обещал выложить реализацию на Java в открытый доступ. Наивный вопрос: может кто вдруг знает открытую реализацию RaptorQ? Менее наивный: может кто подскажет альтернативное эффективное решение?
|
|
|
|
|
Apr 10 2014, 09:30
|
Участник

Группа: Участник
Сообщений: 72
Регистрация: 7-06-08
Пользователь №: 38 128

|
Спасибо, на первый взгляд то, что нужно. Есть какие-нибудь конкретные ссылки с хорошим обзором?
|
|
|
|
|
Apr 11 2014, 06:38
|
ʕʘ̅͜ʘ̅ʔ
    
Группа: Свой
Сообщений: 1 008
Регистрация: 3-05-05
Пользователь №: 4 691

|
Разумеется. Начните отсюда. А если серьезно, то вот неплохая книга с описанием в том числе и 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)  Спасибо, на первый взгляд то, что нужно. Есть какие-нибудь конкретные ссылки с хорошим обзором?
|
|
|
|
|
Apr 12 2014, 17:44
|
Участник

Группа: Участник
Сообщений: 72
Регистрация: 7-06-08
Пользователь №: 38 128

|
На openfec.org есть реализация application-layer fec на LDPC-staircase. И даже последняя новость говорит, что на 3GPP meeting of January 2013 выбирали новую "FEC scheme" между RaptorQ и вышеназванным и выбрали вышеназванный. В этой статье есть проверка эффективности: http://csperkins.org/publications/2012/05/...-evaluation.pdfЗа книгу спасибо, правда стоит она 70$, не подскажете где можно её достать?
|
|
|
|
|
Apr 12 2014, 19:02
|
Участник

Группа: Участник
Сообщений: 72
Регистрация: 7-06-08
Пользователь №: 38 128

|
Цитата(Dr.Alex @ Apr 12 2014, 22:44)  Так и не понял, в чём смысл этих RaptorQ и HARQ..
Вопросы::
1) Идея в том чтобы передавать дополнительную проверочную инфу только если FEC нижнего уровня не смог исправить блок? Или задумка сложнее?
2) Совершенно непонятно, почему тип FEC верхнего уровня является предметом дискуссии? Разве есть для этой цели что-то эффективнее RS, который в данном случае будет работать только по стираниям (выпавшие блоки известны) и таким образом достигнет вроде как теоретического максимума эффективности? 1. Нет, передаются пакеты с данными и пакеты с проверочными символами последовательно, одним блоком. Речь о UDP/IP, на физическом уровне FEC может и не быть, например как в медном ethernet'е. Смысл в том, чтобы недошедшие пакеты не перепосылать -- т.е. не тратить на перепосылку время, экономя latency. 2. К сожалению не могу ответить на этот вопрос -- только начинаю разбираться в вопросе.
|
|
|
|
|
Apr 12 2014, 19:29
|
Профессионал
    
Группа: Свой
Сообщений: 1 386
Регистрация: 5-04-05
Из: моська, RF
Пользователь №: 3 863

|
Цитата(mvb @ Apr 12 2014, 23:02)  1. Нет, передаются пакеты с данными и пакеты с проверочными символами последовательно, одним блоком. Речь о UDP/IP, на физическом уровне FEC может и не быть, например как в медном ethernet'е. Смысл в том, чтобы недошедшие пакеты не перепосылать -- т.е. не тратить на перепосылку время, экономя latency. Ну в таком случае можете не изучать HARQ - там перепосылка присутствует. Осталось понять, чем этот раптор лучше РС.. Видимо он проще..
|
|
|
|
|
Apr 13 2014, 06:13
|
Частый гость
 
Группа: Участник
Сообщений: 112
Регистрация: 27-12-08
Пользователь №: 42 786

|
1. Стандартный подход в мобильных системах связи - замена потерянных пакетов на комфортный шум (silence frame), нигде не видел использования схем перезапросов (для речи, конечно), даже при потере половины фреймов (не куском, конечно, а более-менее "размазанная" по времени) речь разборчива. 2. Простое использование помехоустойчивого кодирования не поможет, т.к. очевидно, что не справляется кодирование самого WiFi, НО если у вас есть возможность получать от модема ВСЕ пакеты, в т.ч. и битые, тогда это имеет смысл; 3. Пом. уст. кодирование может помочь при использовании перемежителя (на интервале нескольких пакетов), тогда потерянные блоки могут быть восстановлены декодером, естественно, за это придётся заплатить задержкой; 4. Не знаю тонкостей решаемой задачи, но если возможно, то использовать вокодер, который "сожмёт" поток и тогда: 1) Можно передать несколько одинаковых пакетов за то же время; 2) Уменьшить скорость передачи и за счёт этого повысить помехоустойчивость (WiFi это умеет). При использовании вокодера задержка будет равна сумме длительности фрейма (обычно 20 мс) и времени кодирования/декодирования (в худшем случае, очевидно, не более длительности фрейма, иначе это перестанет быть системой реального времени).
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|