Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Рекордсмен среди коротких турбокодов?
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
Dr.Alex
Никто не интересовался, какой из стандартизованных турбокодов работает ближе всего к шеннону?
Интересуют только коды длиной менее килобита. Лучше даже ближе к 512 битам.
Понятно что от декодера тоже зависит, но будем считать что декодер оптимален.
Serg76
Могу ошибиться, но наиболее эффективными кодами будут коды с меньшей избыточностью, т.е. кодовые конструкции, где в качестве компонентных будут выступать коды с проверкой на четность, Хемминг будет менее эффективным. Вопрос в другом: хватит ли при этом помехоустойчивости? И, во-вторых, при такой малой длине фрейма может оказаться, что выгоднее использовать Витерби, эффективных LDPC при таких коротких фреймах я не встречал пока.
des00
сейчас изучаю стандарт 802.16. для коротких турбокодов там используются коды с проверкой на четность и коды хэминга. Причем в более навороченном варианте (OFDMA) предпочтение отдано кодам Хэминга. Помимо этого в таблице LDPC кодов (OFDMA) указаны коды с длинной от 576 бит. Может быть порыть в той степи ?
Serg76
Цитата(des00 @ Jan 8 2014, 17:16) *
Причем в более навороченном варианте (OFDMA) предпочтение отдано кодам Хэминга.

По-видимому, там нужна более высокая помехоустойчивость

Цитата(des00 @ Jan 8 2014, 17:16) *
Помимо этого в таблице LDPC кодов (OFDMA) указаны коды с длинной от 576 бит. Может быть порыть в той степи ?

Ага, вспомнил, где это я мог видеть )))
Dr.Alex
Цитата(Serg76 @ Jan 8 2014, 17:55) *
Могу ошибиться, но наиболее эффективными кодами будут коды с меньшей избыточностью


Смотря что под этим подразумевать. На примере LDPC знаю, что чем меньше избыточность (выше R), тем код может быть ближе к пределу Шеннона для BIAWGN. Но штука в том, что чем выше R, тем сам предел BIAWGN дальше от "предела Шеннона вообще".
Чтобы не быть голословным:
- при R = 1/4 предел BIAWGN всего на 0.05 дБ выше предела "вообще"
- при R = 1/2 предел BIAWGN на 0.188 дБ выше предела "вообще"
- при R = 9/10 предел BIAWGN почти на 2 дБ выше предела "вообще"
- при дальнейшем приближении R к единице разница быстро уходит на бесконечность

Поэтому с точки зрения приближения к Шеннону коды с рэйтом более 1/2 невыгодны.


Цитата(Serg76 @ Jan 8 2014, 17:55) *
при такой малой длине фрейма может оказаться, что выгоднее использовать Витерби, эффективных LDPC при таких коротких фреймах я не встречал пока.


Ну эффективность всё-таки сначала нужно как-то задефайнить.
Существует код LDPC длины 512 (1/2), работающий на расстоянии ~2.5 дБ от Шеннона. Сомневаюсь, что старый Витерби+RS может его побить, иначе его бы и не прекращали использовать.
Но мне казалось, что турбосвёрточные всё-таки получше должны работать при таких длинах. (У меня с ними практического опыта нет, в отличие от LDPC, поэтому вот пытаюсь разобраться.) А на короткие LDPC сейчас огромные усилия исследователей направлены в основном из-за того, что они свободны, в отличие от турбо, требующих лицензирования, роялти и всё такое, так думалось мне.
Но пока почему-то не вижу стандартизованных турбо, которые бы обошли вышеупомянутый LDPC, от чего испытываю когнитивный диссонанс.
Serg76
Цитата(Dr.Alex @ Jan 8 2014, 19:00) *
Смотря что под этим подразумевать. На примере LDPC знаю, что чем меньше избыточность (выше R), тем код может быть ближе к пределу Шеннона для BIAWGN.

так я о том же самом и говорил

Цитата(Dr.Alex @ Jan 8 2014, 19:00) *
Но штука в том, что чем выше R, тем сам предел BIAWGN дальше от "предела Шеннона вообще".
...
Поэтому с точки зрения приближения к Шеннону коды с рэйтом более 1/2 невыгодны.

честно говоря, не совсем понятно, что имеется ввиду

Цитата(Dr.Alex @ Jan 8 2014, 19:00) *
Ну эффективность всё-таки сначала нужно как-то задефайнить.
Существует код LDPC длины 512 (1/2), работающий на расстоянии ~2.5 дБ от Шеннона. Сомневаюсь, что старый Витерби+RS может его побить, иначе его бы и не прекращали использовать.

не буду что-то конкретно утверждать, надо "покопаться" в источниках, но по-моему Витерби еще рано хоронить, если не изменяет память, то в каких-то несовсем еще древних стандартах он до сих пор используется, тоже надо будет "пошуршать".

Цитата(Dr.Alex @ Jan 8 2014, 19:00) *
Но мне казалось, что турбосвёрточные всё-таки получше должны работать при таких длинах. (У меня с ними практического опыта нет, в отличие от LDPC, поэтому вот пытаюсь разобраться.)

да, кстати, сверточные турбокоды (циркулярные) как бинарные, так и небинарные используются в современных стандартах и как раз на таких коротких фреймах (можете глянуть DVB-RCS (2)).
Dr.Alex
Цитата(Serg76 @ Jan 8 2014, 20:34) *
честно говоря, не совсем понятно, что имеется ввиду


То что я назвал "предел Шеннона вообще" - это предел без ограничения на тип модуляции, и он задаётся известной всем нам с детства формулой C=W*log2(1+S/N).
Но если у нас скажем QPSK, то предел уже другой (BIAWGN), и он выше (хуже) предела "вообще".
При R стремящемся к 0 пределы сливаются, при R стремящемся к 1 (что соответствует отсутствию кодирования) разница становится бесконечной. (Физический смысл очевиден: QPSK без кодирования может обеспечить сколь угодно малую вероятность ошибки только если шума вообще нет.)

Другими словами::
Если к примеру S/N > 0 дБ, то мы можем передавать 1 бит/c/Гц без ошибок, это и есть предел "вообще".
Но если у нас BIAWGN, то это возможно только при S/N > 0.188 дБ.
И с увеличением спектральной эффективности свыше 1 бит/c/Гц эта поправка быстро растёт и стремится к бесконечности.

Цитата(des00 @ Jan 8 2014, 18:16) *
сейчас изучаю стандарт 802.16


Мда, первая же найденная статья удивила.

Если ей верить, то их LDPC и CTC одинаковой длины 576 (1/2) и работают одинаково (те же упомянутые мной ~2.5 дБ до Шеннона, что забавно), и не понятно, зачем они оба нужны? :-/
Serg76
Dr.Alex а не проще рассматривать всю эту совокупность параметров в зависимости от Eb/No, как это и принято делать?
Dr.Alex
Цитата(Serg76 @ Jan 8 2014, 21:38) *
Dr.Alex а не проще рассматривать всю эту совокупность параметров в зависимости от Eb/No, как это и принято делать?


Не понял, вы не согласны только с использованием S/N?
Действительно мне S/N гораздо привычнее Eb/No. Я бы взялся объяснить неудобность и даже нелепость Eb/No (с моей точки зрения), но это на самом деле не имеет значения.
Кстати, при R=1/2 Eb/No и S/N численно совпадают.
Serg76
Цитата(Dr.Alex @ Jan 8 2014, 20:44) *
Не понял, вы не согласны только с использованием S/N?

Я не согласен с тем, что в том контексте, в котором вы задали вопрос, модуляции здесь вообще касаться незачем, мы рассматриваем пока вопросы кодирования, а не системы в целом, поэтому и предел Шеннона может быть только один для конкретно выбранного типа модуляции

Цитата(Dr.Alex @ Jan 8 2014, 20:44) *
Я бы взялся объяснить неудобность и даже нелепость Eb/No (с моей точки зрения), но это на самом деле не имеет значения.

интересно было бы почитать, иначе почему везде пользуются именно Eb/No

Цитата(Dr.Alex @ Jan 8 2014, 20:44) *
Кстати, при R=1/2 Eb/No и S/N численно совпадают.

как частный случай для QPSK
Dr.Alex
Цитата(Serg76 @ Jan 8 2014, 22:13) *
Я не согласен с тем, что в том контексте, в котором вы задали вопрос, модуляции здесь вообще касаться незачем, мы рассматриваем пока вопросы кодирования, а не системы в целом, поэтому и предел Шеннона может быть только один для конкретно выбранного типа модуляции


Я и не касаюсь модуляции, это был только пример. Просто вы почему-то хотите рассматривать код только относительно предела BIAWGN, а я считаю это совершенно бесполезным, и сравниваю всё c Channel Capacity имени Шеннона.


Цитата(Serg76 @ Jan 8 2014, 22:13) *
интересно было бы почитать, иначе почему везде пользуются именно Eb/No


Ну во-первых не везде. Никто не объявлял бойкота S/N, и во многих статьях оно используется.
Вообще, нелепость Eb/No многогранна, и на ночь глядя всё не описать.
Пока предлагаю решить элементарную задачку::

Инженер использует в своей системе связи код с R=1/4. Напоминаю, что предел Eb/No для него равен минус 0.8 дБ.
В какой-то момент выясняется, что скорость передачи данных недостаточна, и он решает просто увеличить R до 1/2 (предел Eb/No = 0.2 дБ).
На сколько дБ нужно увеличить мощность передатчика, чтобы сохранить энергетический запас (бюджет) канала неизменным?
Serg76
Цитата(Dr.Alex @ Jan 8 2014, 22:47) *
Я и не касаюсь модуляции, это был только пример. Просто вы почему-то хотите рассматривать код только относительно предела BIAWGN, а я считаю это совершенно бесполезным, и сравниваю всё c Channel Capacity имени Шеннона.

тогда и надо говорить о пропускной способности системы в целом

Цитата(Dr.Alex @ Jan 8 2014, 22:47) *
Пока предлагаю решить элементарную задачку::

Инженер использует в своей системе связи код с R=1/4. Напоминаю, что предел Eb/No для него равен минус 0.8 дБ.
В какой-то момент выясняется, что скорость передачи данных недостаточна, и он решает просто увеличить R до 1/2 (предел Eb/No = 0.2 дБ).
На сколько дБ нужно увеличить мощность передатчика, чтобы сохранить энергетический запас (бюджет) канала неизменным?

при фиксированном значении спектральной эффективности R/W и для обеспечения той же самой вероятности битовой ошибки Pb, очевидно, что надо увеличить Eb/No на 1 дБ, только к чему это все?
Dr.Alex
Цитата(Serg76 @ Jan 8 2014, 23:18) *
при фиксированном значении спектральной эффективности R/W и для обеспечения той же самой вероятности битовой ошибки Pb, очевидно, что надо увеличить Eb/No на 1 дБ, только к чему это все?


А кто сказал "при фиксированном значении спектральной эффективности"?
По условию изменилось только R кода, значит и спектральная эффективность изменилась.
des00
Цитата(Dr.Alex @ Jan 8 2014, 11:33) *
Мда, первая же найденная статья удивила.

Если ей верить, то их LDPC и CTC одинаковой длины 576 (1/2) и работают одинаково (те же упомянутые мной ~2.5 дБ до Шеннона, что забавно), и не понятно, зачем они оба нужны? :-/

в конце указано что при прочих равных LDPC декодируются проще. И еще у CTC там 8 итераций, а у LDPC 100. И мне показалось странным что они не рассматривали BTC коды.
andyp
Кину свои несколько копеек - BTC предлагались как альтернатива для высоких (R здорово больше чем 1/2) скоростей кодирования. На сколько помню, у них проблемы когда нужна гибкость (несколько поддерживаемых одной схемой скоростей кодирования и более-менее плавное изменение размеров блока). Как по этим параметрам обстоят дела у совеременных LDPC просто не знаю.
Serg76
Цитата(andyp @ Jan 8 2014, 23:06) *
Кину свои несколько копеек - BTC предлагались как альтернатива для высоких (R здорово больше чем 1/2) скоростей кодирования. На сколько помню, у них проблемы когда нужна гибкость (несколько поддерживаемых одной схемой скоростей кодирования и более-менее плавное изменение размеров блока). Как по этим параметрам обстоят дела у совеременных LDPC просто не знаю.

для "гибкости" LDPC придумали так называемые F-LDPC (flexible LDPC) коды, например, смотрим стандарт 802.11n
andyp
Цитата(Serg76 @ Jan 9 2014, 00:32) *
для "гибкости" LDPC придумали так называемые F-LDPC (flexible LDPC) коды, например, смотрим стандарт 802.11n

спасибо, посмотрю.
Serg76
Цитата(andyp @ Jan 8 2014, 23:37) *
спасибо, посмотрю.

добавлю еще, что переход с классической каскадной схемы RSV на TPC в 90-ые состоялся из-за более "мощных" характеристик помехоустойчивости последних, да к тому же и необходимую скорость кодирования на них получить не представляется никакого труда (2D/3D, hyperaxis, добавление компонентных кодов четности, выкалывание и др.). кроме того вычислительная сложность субоптимальных алгоритмов декодирования TPC невелика, чего не скажешь об LDPC (которые были известны еще до появления TPC), особенно, с длинным фреймом (как, например, DVB-S2), для которых только недавно (последнее десятилетие, наверное) стало возможным реализовать алгоритмы декодирования с помощью современных СБИС.
andyp
почитал это про F-LDPC. Выглядит впечатляюще. Очень интересно для систем с ARQ.
des00
Цитата(Serg76 @ Jan 8 2014, 15:54) *
кроме того вычислительная сложность субоптимальных алгоритмов декодирования TPC невелика, чего не скажешь об LDPC

а можете поделиться материалами или ссылками на материалы по этим алгоритмам ? Спасибо
Maverick
Цитата(des00 @ Jan 9 2014, 04:55) *
а можете поделиться материалами или ссылками на материалы по этим алгоритмам ? Спасибо

вот то что я "нарыл" (некоторыми материалами поделился andyp)
Serg76
Цитата(des00 @ Jan 9 2014, 05:55) *
а можете поделиться материалами или ссылками на материалы по этим алгоритмам ? Спасибо

в принципе тема не нова и неоднократно здесь обсуждалась. в основном в качестве алгоритма декодирования используются различного рода вариации алгоритма Чейза (метод 2), дает довольно неплохие результаты, баловался также лет 6-7 назад различными аппроксимациями MAP, но это довольно тяжелый алгоритм, можно попробовать также мажоритарное декодирование, должно получиться быстро, но я не пробовал ))). а сам декодер по Чейзу я делал по книге Кларка "Кодирование с исправлением ошибок в системах цифровой связи", мне кажется одна из лучших книг по кодированию во все времена. все, что нашел по декодированию TPC кинул Вам в личку, может что полезное найдете.
Maverick
Цитата(Serg76 @ Jan 9 2014, 19:27) *
в принципе тема не нова и неоднократно здесь обсуждалась. в основном в качестве алгоритма декодирования используются различного рода вариации алгоритма Чейза (метод 2), дает довольно неплохие результаты, баловался также лет 6-7 назад различными аппроксимациями MAP, но это довольно тяжелый алгоритм, можно попробовать также мажоритарное декодирование, должно получиться быстро, но я не пробовал ))). а сам декодер по Чейзу я делал по книге Кларка "Кодирование с исправлением ошибок в системах цифровой связи", мне кажется одна из лучших книг по кодированию во все времена. все, что нашел по декодированию TPC кинул Вам в личку, может что полезное найдете.

а со мной поделиться можете?
Serg76
Maverick да, конечно, ссылка в личке. Кое-что выкладывал здесь, тема неоднократно подымалась, посмотрите
Tpeck
Цитата(Dr.Alex @ Jan 8 2014, 21:47) *
Инженер использует в своей системе связи код с R=1/4. Напоминаю, что предел Eb/No для него равен минус 0.8 дБ.
В какой-то момент выясняется, что скорость передачи данных недостаточна, и он решает просто увеличить R до 1/2 (предел Eb/No = 0.2 дБ).
На сколько дБ нужно увеличить мощность передатчика, чтобы сохранить энергетический запас (бюджет) канала неизменным?


4 дБ. При условии, что бодовая скорость останется прежней. А в чем подвох?

Цитата(Dr.Alex @ Jan 8 2014, 21:47) *
Вообще, нелепость Eb/No многогранна, и на ночь глядя всё не описать.

Может попробуете, если свою точку зрения за года не поменяли? sm.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.