Архив рубрики ~Лента новостей~

Итеративное декодирование LDPC/турбо, полярные коды — разбираем на C++ и сравниваем с MATLAB

Итеративное декодирование LDPC/турбо, полярные коды — разбираем на C++ и сравниваем с MATLAB

NOVOSTI

Когда моделируешь помехоустойчивые коды, декодер обычно остаётся чёрным ящиком: пишешь ldpcDecode(llr, cfg, 30), comm.TurboDecoder или dvbs2ldpc(1/2) — и получаешь красивый «водопад» BER, не заглядывая внутрь. А самое интересное в современных кодах именно там: не в том, как закодировать, а в том, как декодер из зашумлённого сигнала достаёт правильные биты.

Первая часть заканчивалась предложением: «если интересно разобрать итеративное декодирование LDPC/турбо в деталях или полярные коды с последовательным отменением — пишите в комментариях». Написали — так что эта статья и есть ответ на запрос из комментариев. Читать первую часть необязательно: там мы прошли эволюцию кодов в сотовой связи от GSM до 5G по BER‑кривым в MATLAB, а всё нужное я напомню по ходу. Здесь — вскрываем сами декодеры.

Эта часть открывает ящик. Разберём три декодера, на которых держится всё современное кодирование:

belief propagation — итеративный обмен сообщениями по графу, ядро LDPC и всего 5G eMBB;

BCJR + итеративный обмен мнениями — то, что сделало турбо‑коды возможными;

successive cancellation — последовательное отменение в полярных кодах.

Чтобы видеть каждую строчку, MATLAB‑тулбокс не годится — он прячет алгоритм. Поэтому весь разбор идёт по коду небольшой библиотеки, которую я написал специально для этого — fec‑cpp: header‑only C++17, без единой внешней зависимости, только STL. Её можно прочитать целиком за вечер, и каждый декодер в ней — полсотни строк, которые делают ровно то, что написано в учебнике. Рядом с каждым разбором будет и MATLAB‑эквивалент — чтобы видеть контраст: одна строка тулбокса против явного алгоритма. А в конце — большое сравнение: прогоним обе реализации по одинаковым кодам и наложим их BER‑кривые на одни графики.

>>

Источник: habr.com

Оцените материал:

Поделиться
Понравилась статья? Расскажите другим
ВКонтакте
Читайте также
Новости робототехники [Перевод] В Корее произошла первая в мире забастовка против использования гуманоидных роботов на производстве Новости робототехники Украинские беспилотники доставляют роботов непосредственно в зону боевых действий по морю и воздуху. Новости робототехники AMD представила модуль Kria для управления в кратчайшие сроки и унифицированную память для роботов. Архив рубрики ~Коротко из Telegram~ Создатель Twitter Джек Дорси выпустил аналог Discord и Slack —… Новости робототехники Роботакси Tesla движутся в обратном направлении. Архив рубрики ~Обо всем~ Вы умеете читать чужие мысли. Но наука уже 50 лет не может понять как Архив рубрики ~Обо всем~ Ложечка кваркового супа. Об истинных и возможных свойствах кварк-глюонной плазмы Архив рубрики ~Коротко из Telegram~ сегодня в интернетах все ждут подключение GPT-5.6 к cerebras со… Архив рубрики ~Коротко из Telegram~ Учёные нашли математический способ отличать настоящее искусство от изображений,… Архив рубрики ~Коротко из Telegram~ Samsung законтрил будущий iPhone Ultra — корейцы представили аж… Архив рубрики ~Коротко из Telegram~ ИИ-агентам выдали бесконечную память — вышел Obsidian Mind, который создаёт… Архив рубрики ~Коротко из Telegram~ OpenAI обновила свой сборник юзкейсов для Codex — теперь… Архив рубрики ~Коротко из Telegram~ Anthropic запустила самую мощную и дешевую в мире команду… Архив рубрики ~Коротко из Telegram~ С 28 июля Apple запускает в США сервис продажи своих… Новости робототехники [Перевод] В Корее произошла первая в мире забастовка против использования гуманоидных роботов на производстве Новости робототехники Украинские беспилотники доставляют роботов непосредственно в зону боевых действий по морю и воздуху. Новости робототехники AMD представила модуль Kria для управления в кратчайшие сроки и унифицированную память для роботов. Архив рубрики ~Коротко из Telegram~ Создатель Twitter Джек Дорси выпустил аналог Discord и Slack —… Новости робототехники Роботакси Tesla движутся в обратном направлении. Архив рубрики ~Обо всем~ Вы умеете читать чужие мысли. Но наука уже 50 лет не может понять как Архив рубрики ~Обо всем~ Ложечка кваркового супа. Об истинных и возможных свойствах кварк-глюонной плазмы Архив рубрики ~Коротко из Telegram~ сегодня в интернетах все ждут подключение GPT-5.6 к cerebras со… Архив рубрики ~Коротко из Telegram~ Учёные нашли математический способ отличать настоящее искусство от изображений,… Архив рубрики ~Коротко из Telegram~ Samsung законтрил будущий iPhone Ultra — корейцы представили аж… Архив рубрики ~Коротко из Telegram~ ИИ-агентам выдали бесконечную память — вышел Obsidian Mind, который создаёт… Архив рубрики ~Коротко из Telegram~ OpenAI обновила свой сборник юзкейсов для Codex — теперь… Архив рубрики ~Коротко из Telegram~ Anthropic запустила самую мощную и дешевую в мире команду… Архив рубрики ~Коротко из Telegram~ С 28 июля Apple запускает в США сервис продажи своих…

Оставить комментарий