реклама на сайте
подробности

 
 
11 страниц V  « < 6 7 8 9 10 > »   
Reply to this topicStart new topic
> Коды БЧХ, Вопросы по алгоритмам декодирования
des00
сообщение Jun 4 2012, 18:39
Сообщение #106


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(SKov @ Jun 4 2012, 12:16) *
Лучше ныряйте в LDPC.

не не не, я этим для себя занимаюсь. решил идти последовательно : коды хэминга, бчх, рс, витерби, турбо и только потом LDPC. потому и сорцы все отдаю, т.к. работа опыта ради sm.gif

и для одного проекта мне нужен декодер для короткого блока (200-400 бит), насколько я читал про LDPC, смысла его ставить на такие блоки нет никакого. А вот какой нить турбокод на основе кодов хэмминга почему бы и нет.

Еще хотелось бы порыть арифметическое декодирование кодов РС, из обзора я понял что занятная вещь, посмотрим будет ли время


--------------------
Go to the top of the page
 
+Quote Post
Serg76
сообщение Jun 4 2012, 19:01
Сообщение #107


Профессионал
*****

Группа: Участник
Сообщений: 1 050
Регистрация: 4-04-07
Пользователь №: 26 775



Цитата(des00 @ Jun 4 2012, 21:39) *
декодер для короткого блока (200-400 бит), насколько я читал про LDPC, смысла его ставить на такие блоки нет никакого.

где-то встречал, что есть уже такие короткие LDPC, но сейчас уже не вспомню где именно
Go to the top of the page
 
+Quote Post
SKov
сообщение Jun 4 2012, 19:09
Сообщение #108


Знающий
****

Группа: Свой
Сообщений: 812
Регистрация: 22-01-05
Из: SPb
Пользователь №: 2 119



Цитата(des00 @ Jun 4 2012, 22:39) *
и для одного проекта мне нужен декодер для короткого блока (200-400 бит), насколько я читал про LDPC, смысла его ставить на такие блоки нет никакого. А вот какой нить турбокод на основе кодов хэмминга почему бы и нет.

Блоковый турбокод - это обычный итеративный код. Что вы собрались итерировать? 16*16 ? Будет слабый код.
32*32 ? Это будет уже длинный слабый код. Трехмерный 32*32*32 или 16*16*16 будет неплохо, но сложно и длинно.
Некоторые тупиковые ветви теории кодирования надо знать, но не надо использовать wink.gif
Go to the top of the page
 
+Quote Post
des00
сообщение Jun 4 2012, 19:24
Сообщение #109


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(SKov @ Jun 4 2012, 14:09) *
Блоковый турбокод - это обычный итеративный код. Что вы собрались итерировать? 16*16 ? Будет слабый код.
32*32 ? Это будет уже длинный слабый код. Трехмерный 32*32*32 или 16*16*16 будет неплохо, но сложно и длинно.
Некоторые тупиковые ветви теории кодирования надо знать, но не надо использовать wink.gif

чтобы знание было обоснованным нужно прочувствовать это на себе, в книгах умные вещи пишут, спортить с ними глупо, но владеть аппаратом считаю нужно %)

petrov в свое время упоминал неплохой турбокод, где то у меня в запасниках записано, как раз для коротких блоков.

Цитата(Serg76 @ Jun 4 2012, 14:01) *
где-то встречал, что есть уже такие короткие LDPC, но сейчас уже не вспомню где именно

я видел короткие LDPC коды на ~4000-5000 бит, на 200-400 не встречал пока %) если такие существуют то рано или поздно доберусь и до них


--------------------
Go to the top of the page
 
+Quote Post
Denisnovel
сообщение Jul 13 2012, 00:03
Сообщение #110


Частый гость
**

Группа: Свой
Сообщений: 108
Регистрация: 31-12-07
Из: Фрязино М.О.
Пользователь №: 33 753



Чем LDPC лучше БЧХ при той же избыточности?
Go to the top of the page
 
+Quote Post
des00
сообщение Jul 13 2012, 06:41
Сообщение #111


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Denisnovel @ Jul 12 2012, 18:03) *
Чем LDPC лучше БЧХ при той же избыточности?

в приличном обществе такой вопрос не задавайте, засмеют %)))) Хотя бы обзорную статью в википедии прочитайте.


--------------------
Go to the top of the page
 
+Quote Post
SKov
сообщение Jul 13 2012, 07:41
Сообщение #112


Знающий
****

Группа: Свой
Сообщений: 812
Регистрация: 22-01-05
Из: SPb
Пользователь №: 2 119



Цитата(Denisnovel @ Jul 13 2012, 04:03) *
Чем LDPC лучше БЧХ при той же избыточности?

При какой избыточности?
Если при ОЧЕНЬ большой, т.е. асимптотически большой, то у БЧХ кодов d|n стремится к нулю с ростом n при ненулевой скорости. У случайных LDPC d|n НЕ стремится к нулю, хоть и лежит ниже границы ВГ. И, что самое приятное, существует очень простой алгоритм декодирования (со сложностью n*log_n), который реализует асимптотически ненулевую часть этого ресурса.
Если говорить о конечных длинах, то на малых длинах (ну, скажем, до 100) БЧХ ничем не хуже.
Если говорить о средних и больших длинах, то тут ситуация такая. БЧХ коды имеют хорошее d|n для длин
до десятков тысяч и алгоритм декодирования дискретных ошибок с приемлемой сложностью даже для больших длин.
Конкретные LDPC имеют, обычно, неизвестное d или существенно хуже, чем у БЧХ, но зато они имеют алгоритм декодирования, позволяющий очень хорошо работать в канале с непрерывным выходом, чего не умеют БЧХ.
На больших длинах плохое мин.расст. не явяется определяющим, пока выходная вероятность декодирования
не станет достаточно маленькой (известный эффект "error floor").
Поэтому на длинах > 1000 в канале с непрерывным выходом принято использовать LDPC,
и тут их сравнивать с БЧХ нет смысла, т.к. БЧХ не имеют хорошего алгоритма декодирования,
заточеного под непрерывный выход.
Если сравнивать длинные БЧХ с длинными LDPC в канале с двоичным выходом,
то по моим наблюдениям, LDPC начинаю проигрывать БЧХ при выходных вероятностях порядка 10E-5.. 10E-7.
И чтобы окончательно затуманить все картину wink.gif
надо сказать, что сложность декодера LDPC может в десятки раз превышать сложность декодера БЧХ
(если считать в каких-нибудь гейтах).
А по сложности кодера разница может составлять тысячи раз.
Так что ответить однозначно на ваш вопрос трудно, т.к. очень много дополнительных нюансов.
В Википедии можете не смотреть про LDPC - там ничего нет, кроме исторических справок
и корявого описания BP-алгоритма для декодирования LDPC.
Go to the top of the page
 
+Quote Post
des00
сообщение Jul 13 2012, 09:06
Сообщение #113


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(SKov @ Jul 13 2012, 01:41) *
В Википедии можете не смотреть про LDPC - там ничего нет, кроме исторических справок
и корявого описания BP-алгоритма для декодирования LDPC.

хмм, свое первое знакомство с LDPC кодами я начал с External Links в википедии, достаточно вменяемые документы


--------------------
Go to the top of the page
 
+Quote Post
Denisnovel
сообщение Jul 13 2012, 09:29
Сообщение #114


Частый гость
**

Группа: Свой
Сообщений: 108
Регистрация: 31-12-07
Из: Фрязино М.О.
Пользователь №: 33 753



На сколько увеличивается размер декодера, если использовать мягкое решение (3-4 бита)? Применительно к ПЛИС. Кто-нибудь делал?
Go to the top of the page
 
+Quote Post
ilya79
сообщение Jul 13 2012, 10:20
Сообщение #115


Частый гость
**

Группа: Свой
Сообщений: 179
Регистрация: 26-08-04
Пользователь №: 549



des00-"на 200-400 не встречал пока %) если такие существуют то рано или поздно доберусь и до них "
Посмотрите NASA.uplinkOrange.pdf http://www.google.ru/url?sa=t&rct=j&am...pPrbLm5c_MbkiNA . И блоковые турбо-коды (TPC) себя при таких размерах тоже прилично ведут. Если "пол ошибки" на уровне 10^-6...10^-7 не смущает, то PCCC при R<2/3 лучше всего при коротких блоках.
Go to the top of the page
 
+Quote Post
SKov
сообщение Jul 13 2012, 10:27
Сообщение #116


Знающий
****

Группа: Свой
Сообщений: 812
Регистрация: 22-01-05
Из: SPb
Пользователь №: 2 119



Цитата(des00 @ Jul 13 2012, 13:06) *
хмм, свое первое знакомство с LDPC кодами я начал с External Links в википедии, достаточно вменяемые документы

Нет, ну если еще посмотреть список литературы внутри этих "External Links", то вообще картина будет исчерпывающая wink.gif

Цитата(Denisnovel @ Jul 13 2012, 13:29) *
На сколько увеличивается размер декодера, если использовать мягкое решение (3-4 бита)? Применительно к ПЛИС. Кто-нибудь делал?

Вопрос поставлен некорректно.
Есть разрядность входных данных. И есть разрядность данных внутри декодера, которая даже для двоичного входа уже не двоичная. Так что увеличение разрядности входа очевидно повлечет пропорциональное увеличение
размера входного буфера. А как уж там внутри декодера вы организовали вычисления, и на сколько нужно поднять разрядность этих вычислений - тут можно только гадать. Вообще, есть довольно много статей по реализации LDPC на FPGA.
Поищите в и-нете. Но не в Википедии wink.gif
Go to the top of the page
 
+Quote Post
des00
сообщение Jul 13 2012, 12:31
Сообщение #117


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(ilya79 @ Jul 13 2012, 05:20) *
Посмотрите NASA.uplinkOrange.pdf http://www.google.ru/url?sa=t&rct=j&am...pPrbLm5c_MbkiNA .

Спасибо за наводку, поставлю себе в TODO %)
Цитата
И блоковые турбо-коды (TPC) себя при таких размерах тоже прилично ведут. Если "пол ошибки" на уровне 10^-6...10^-7 не смущает, то PCCC при R<2/3 лучше всего при коротких блоках.

Если не сложно объясните термины что такое "пол ошибки" и РССС ? sm.gif

Цитата(Denisnovel @ Jul 13 2012, 04:29) *
На сколько увеличивается размер декодера, если использовать мягкое решение (3-4 бита)? Применительно к ПЛИС. Кто-нибудь делал?

Насколько я знаю для БЧХ мягкое решение это только алгоритм чейза, ему как таковое увеличение по боку. А вот для LDPC, коллега сделал декодер на 5000-10000 бит. весит порядка 5 тысяч логики (сыклон 3) для 8/9, мягкое решение +3 бита, BPSK - QAM256.


--------------------
Go to the top of the page
 
+Quote Post
ilya79
сообщение Jul 13 2012, 12:53
Сообщение #118


Частый гость
**

Группа: Свой
Сообщений: 179
Регистрация: 26-08-04
Пользователь №: 549



"Если не сложно объясните термины что такое "пол ошибки" и РССС ? sm.gif "

PCCC- parallel concatenated convolutional codes. Можно посмотреть стандарты CCSDS, UMTS. Есть разновидность PCCC - DUO-BINARY (стандарт DVB-RCS, Wimax тоже кажеться). У PCCC присутствуют кодовые слова с "очень" малыми весами Хэмминга, их немного и при больших вероятностях ошибки они не сказываются, со снижением вероятности ошибки скорость спада кривой Pb(Eb/N0) меняет свой наклон и спадает очень медленно (со скоростью определяемой словами с малыми весами) это называют error floor (пол ошибки). Т.е. кривая Pb(Eb/N0) вместо "водопадной" становиться похожа на кочергу biggrin.gif
Go to the top of the page
 
+Quote Post
des00
сообщение Jul 13 2012, 16:53
Сообщение #119


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(ilya79 @ Jul 13 2012, 07:53) *
PCCC- parallel concatenated convolutional codes. Можно посмотреть стандарты CCSDS, UMTS. Есть разновидность PCCC - DUO-BINARY (стандарт DVB-RCS, Wimax тоже кажеться). У PCCC присутствуют кодовые слова с "очень" малыми весами Хэмминга, их немного и при больших вероятностях ошибки они не сказываются, со снижением вероятности ошибки скорость спада кривой Pb(Eb/N0) меняет свой наклон и спадает очень медленно (со скоростью определяемой словами с малыми весами) это называют error floor (пол ошибки). Т.е. кривая Pb(Eb/N0) вместо "водопадной" становиться похожа на кочергу biggrin.gif

Сыплю голову пеплом, почему то всегда считал что error floor это размножение ошибки, хотя явный перевод с английского говорил о другом. большое спасибо за раскрытие глаз %)



--------------------
Go to the top of the page
 
+Quote Post
Tano
сообщение Jul 23 2012, 05:38
Сообщение #120


Местный
***

Группа: Свой
Сообщений: 286
Регистрация: 19-05-06
Пользователь №: 17 257



Немного не в строчку...
BCH + LDPC => http://dvb-t2-csp.sourceforge.net


--------------------
С уважением Tano
Go to the top of the page
 
+Quote Post

11 страниц V  « < 6 7 8 9 10 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 05:47
Рейтинг@Mail.ru


Страница сгенерированна за 0.01636 секунд с 7
ELECTRONIX ©2004-2016