Перейти к содержанию

    

LDPC с выкалыванием

Доброго времени суток.

Есть необходимость разобраться в вопросе декодирования LDPC кодов.

Для случая, когда кодируем порождающий матрицей G со скоростью R, а потом выкалываем выходной поток до требуемой скорости.

На мой взгляд, декодирование классическим алгоритмом BP не имеет смысла из-за большого количества нулевых метрик, после вкалывания.

В литературе встретил алгоритм Layered BP Decoding for Rate-Compatible Punctured LDPC Codes. (см. прикрепленный файл)

Вопрос в том является ли он оптимальным и верно ли направление движения....

Может кто подскажет литературу по данному вопросу?

А может это вообще тупиковая ветвь и в реальности такое не используется?

Всем спасибо.

Layered_BP_Decoding_for_Rate_Compatible_Punctured_LDPC_Codes.pdf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Доброго времени суток.

Есть необходимость разобраться в вопросе декодирования LDPC кодов.

Для случая, когда кодируем порождающий матрицей G со скоростью R, а потом выкалываем выходной поток до требуемой скорости.

На мой взгляд, декодирование классическим алгоритмом BP не имеет смысла из-за большого количества нулевых метрик, после вкалывания.

В литературе встретил алгоритм Layered BP Decoding for Rate-Compatible Punctured LDPC Codes. (см. прикрепленный файл)

Вопрос в том является ли он оптимальным и верно ли направление движения....

Может кто подскажет литературу по данному вопросу?

А может это вообще тупиковая ветвь и в реальности такое не используется?

Всем спасибо.

Стандартным способом не получается? Алгоритм min sum

ссылка

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Стандартным способом не получается? Алгоритм min sum

ссылка

Если к проверочному узлу идет два и более нуля, то там всегда будет ноль min(abs(0))=0.

В DVBS2 при R=1/2 к каждой проверочному узлу идет 7 переменных узлов. Если хотим получить из этого код 3/4, то надо отбросить 16200 переменных узлов и вероятность у проверочного узла будет два и более нуля ПМСМ будет очень велика....

Может быть тут надо как-то хитро выкалывать, чтобы нулевые переменные узлы собирались в некотором множестве проверочных узлов, а в другие не попадали.

В общем нужен совет опытных в этом деле...

PS В матлабе реализовал выкалывание, вкалывание и пока не заработало. Может криво реализовал.

PPS Даже при наличие трех выколотых бит error_vector([2 4 6]) = [0] выходной сигнал содержит ошибки.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Если к проверочному узлу идет два и более нуля, то там всегда будет ноль min(abs(0))=0.

В DVBS2 при R=1/2 к каждой проверочному узлу идет 7 переменных узлов. Если хотим получить из этого код 3/4, то надо отбросить 16200 переменных узлов и вероятность у проверочного узла будет два и более нуля ПМСМ будет очень велика....

Может быть тут надо как-то хитро выкалывать, чтобы нулевые переменные узлы собирались в некотором множестве проверочных узлов, а в другие не попадали.

В общем нужен совет опытных в этом деле...

PS В матлабе реализовал выкалывание, вкалывание и пока не заработало. Может криво реализовал.

PPS Даже при наличие трех выколотых бит error_vector([2 4 6]) = [0] выходной сигнал содержит ошибки.

Вы пробовали применить мой скрипт для матлаба?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Вы пробовали применить мой скрипт для матлаба?

 

я error_vector([2 4 6]) = [0] и нашел в нем.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация