Почему низкосложные коды LDPC имеют значение для IoT

Коды с низкой плотностью проверки паритета (LDPC) стали краеугольным камнем современных цифровых коммуникаций, появляющихся в стандартах, начиная от DVB-S2 и Wi-Fi до 5G NR. Их почти ограниченная производительность делает их очень привлекательными для приложений, где целостность данных имеет решающее значение. Однако Интернет вещей (IoT) вводит отдельный набор ограничений: устройства часто работают от батареи, ограничены памятью и требуют обработки в режиме реального времени или почти в реальном времени. Традиционные реализации LDPC, которые могут требовать значительных вычислительных ресурсов и пропускной способности памяти, не могут напрямую передаваться на эти встроенные платформы. Таким образом, проектирование кодов LDPC с низкой сложностью, адаптированных для устройств IoT, поэтому является не просто проблемой оптимизации - это фундаментальное требование для обеспечения широкомасштабного, надежного и энергоэффективного подключения.

Основная проблема заключается в сохранении силы кодов LDPC, корректирующих ошибки, при одновременном устранении вычислительных накладных расходов, которые приемлемы в высокопроизводительных приемопередатчиках, но непомерно высоки в датчике температуры или носимом патче здоровья. В этой статье рассматриваются конкретные трудности, исследуются проверенные стратегии для снижения сложности и подчеркивается, как такие коды расширяют возможности развертывания реального IoT.

Понимание ландшафта ошибок IoT

Связи связи IoT часто характеризуются низкими бюджетами мощности, прерывистой передачей и шумными средами (промышленное оборудование, городские помехи или внутренние препятствия). В отличие от мобильных телефонов или базовых станций, узлы IoT не могут полагаться на сложную обработку для преодоления нарушений канала. Они требуют кодов коррекции ошибок, которые являются легкими как в вычислениях, так и в памяти [FLT: 1], но все же обеспечивают достаточный коэффициент кодирования для удовлетворения целевых частот ошибок пакетов. Коды LDPC, естественно, предлагают гибкий компромисс, потому что их производительность может быть настроена с помощью скорости кода, длины блока и распределения степени. Но стандартный декодер распространения убеждений (BP) - в то время как мощный - включает в себя множество умножений, тригонометрических функций и хранения сообщений на каждом краю графа Таннера, что делает его непригодным для многих микроконтроллеров IoT.

Проекты LDPC с низкой сложностью направлены на преодоление этого разрыва. Они либо изменяют алгоритм декодера, либо ограничивают структуру кода, чтобы обеспечить более простой, часто итеративный процесс декодирования, который потребляет меньше циклов процессора и меньше энергии. Конечная цель состоит в том, чтобы достичь прироста кодирования, сопоставимого с полным декодером LDPC, но с отпечатком, который вписывается в несколько килобайт оперативной памяти и несколько сотен микроватт мощности.

Основные проблемы в низкокомплексном дизайне кода LDPC

Разработка таких кодов предполагает навигацию по нескольким конкурирующим требованиям. В контексте IoT особенно остро стоят следующие проблемы:

  • Балансировка способности коррекции ошибок и вычислительной простоты: чрезвычайно разреженный код может быть легко декодировать, но также может демонстрировать высокую погрешность или плохую производительность водопада.
  • Снижение задержки декодирования для работы в режиме реального времени: В таких приложениях, как промышленный контроль или автономные сенсорные сети, декодирование должно выполняться в пределах фиксированного временного окна. Многие алгоритмы с низкой сложностью выводят количество итераций из числа латентных, но разработчик должен обеспечить, чтобы количество итераций оставалось небольшим.
  • Минимизация энергопотребления при декодировании: Каждый доступ к памяти и арифметическая операция потребляют энергию. Одна итерация распространения убеждений может включать в себя сотни умножений с плавающей или фиксированной точками. Для устройств с батарейным питанием, которые, как ожидается, будут работать в течение многих лет на ячейке монеты, эти накладные расходы неприемлемы.
  • Обеспечение масштабируемости в гетерогенных приложениях IoT: Код, который хорошо работает для 128-битной полезной нагрузки в интеллектуальном измерителе, может быть неоптимальным для 1024-битного пакета в датчике окружающей среды. Коды LDPC должны быть адаптируемы по длине блока и скорости без изменения аппаратного декодера.
  • Ограничения на размер памяти: Хранение матриц проверки четности и промежуточных сообщений может быстро исчерпать оперативную память типичного процессора Cortex-M0. Проекты с низкой сложностью часто используют симметрию или структурированные матрицы для снижения требований к хранению.

Основные стратегии для низкосложного дизайна LDPC

Несколько проверенных методов проектирования непосредственно решают вышеперечисленные проблемы. Эти стратегии не являются взаимоисключающими и часто объединяются для достижения наилучших компромиссов для данного сценария IoT.

Спарз Графические структуры

Сложность декодера LDPC прямо пропорциональна количеству краев в графе Таннера (т.е. количеству ненулевых записей в матрице проверки четности). При проектировании графов с очень низкой плотностью края — например, переменных узлов степени 3 или 4 и контрольных узлов степени 4-6 — количество сообщений, обмениваемых на итерацию, минимизируется. Коды с разницей также снижают требования к памяти, потому что только положения тех, которые необходимо хранить (например, через компактное представление строки или столбца). Однако чрезмерно разреженные графы могут привести к плохому обхвату и более высоким уровням ошибок. Тщательная оптимизация распределения степени с использованием методов эволюции плотности обеспечивает хорошую производительность кода, оставаясь чрезвычайно разреженным.

Квазициклические (QC) коды LDPC

Коды QC-LDPC определяются матрицей проверки четности, состоящей из циркулирующих подматриц. Эта структура позволяет удивительно эффективно реализовать: как кодирование, так и декодирование могут выполняться с использованием регистров сдвига и циклических сдвигов вместо произвольных поисков памяти. Квазициклическое свойство также упрощает архитектуру декодера - сообщения для одного и того же циркулятора могут обрабатываться параллельно или конвейерно, уменьшая задержку. Поскольку вся матрица может быть описана небольшим набором значений сдвига, объем памяти на порядки меньше, чем у случайного кода. Многие стандарты IoT, такие как IEEE 802.11ax и 3GPP 5G NR , используют коды QC-LDPC для их превосходного соотношения производительности к сложности.

Упрощенные алгоритмы декодирования

Полный декодер распространения убеждений (BP) использует алгоритм сумма-продукт, который включает повторные оценки гиперболических касательной и логарифмических функций. Для устройств IoT алгоритм min-sum (MS) обеспечивает радикальное упрощение, заменяя нелинейные функции простой операцией минимального поиска. Существует несколько вариантов:

  • Отклонение от минимальной суммы : вычитает постоянное смещение от величины сообщений контрольного узла, чтобы компенсировать переоценку.
  • Нормализованная мини-сумма: Умножает выход чек-узла на масштабирующий коэффициент (обычно 0,5-0,9) для повышения точности без добавления значительной сложности.
  • Самокорректированная мини-сумма: изменяет правила обновления для улучшения скорости конвергенции, уменьшая количество требуемых итераций.

Эти алгоритмы могут быть реализованы с использованием арифметики с фиксированной точкой всего 4-6 бит, полностью исключая блоки с плавающей точкой и сокращая потребление энергии на порядок по сравнению с полным декодером BP.

Адаптивное и раннее расшифровывание

Вместо того, чтобы всегда выполнять фиксированное количество итераций, адаптивные декодеры контролируют синдром или сходимость оценок битов и останавливаются рано, когда найдено действительное кодовое слово. Это «раннее прекращение» может уменьшить среднее количество итераций на 30-70% в зависимости от состояния канала, непосредственно экономя энергию. В сочетании с алгоритмом min-sum адаптивная остановка дает декодер, который является простым и интеллектуальным.

Оптимизация кода для конкретных каналов IoT

Не все каналы IoT одинаковы. Носимая сеть в области тела испытывает затухание и потерю пути, в то время как интеллектуальный счетчик, обменивающийся по фиксированной беспроводной линии связи, сталкивается с аддитивным белым гауссовским шумом (AWGN). Адаптация распределения степени и скорости кода к ожидаемым условиям канала позволяет дополнительно снизить сложность. Например, коды, предназначенные для режимов короткого блока (например, 128-512 бит), могут быть оптимизированы с использованием протографного дизайна, который дает отличную производительность с очень маленькой базовой матрицей. Такие инструменты, как протограф LDPC коды , позволяют систематически строить конечную производительность с минимальной сложностью.

Практическое применение в IoT

Умный дом и автоматизация зданий

Беспроводные датчики температуры, влажности и заполняемости часто работают на Zigbee, Thread или Bluetooth Low Energy (BLE). Эти протоколы имеют высокие требования к надежности, но их скорости передачи данных низкие, а пакеты короткие. Коды LDPC с низкой сложностью со скоростью 1/2 или 2/3, с использованием декодирования с минимальной суммой с 5-битными сообщениями и ранним завершением, могут быть реализованы на ядре Cortex-M0 с низким энергопотреблением с менее чем 4 КБ ОЗУ. Получающийся прирост кодирования улучшает чувствительность приемника на 2-3 дБ, расширяя диапазон или уменьшая мощность передачи для того же бюджета канала связи.

Носимые мониторы здоровья

Непрерывные глюкозомониторы, ЭКГ-патчи и импульсные оксиметры должны передавать жизненно важные данные с чрезвычайно низкой вероятностью ошибки - одна битовая ошибка может привести к ложной тревоге или пропущенному критическому событию. LDPC-коды с сильными возможностями обнаружения ошибок (например, сцепленный CRC) могут быть применены, но декодер должен работать на микроконтроллере, который также обрабатывает обработку сигналов и связь Bluetooth. QC-LDPC-коды со смещенной мин-суммой были продемонстрированы в носимых устройствах с использованием менее 0,5 мДж на декодированный пакет, сохраняя срок службы батареи в течение нескольких недель непрерывной работы.

Промышленный IoT и умное сельское хозяйство

В промышленных условиях жесткие электромагнитные помехи и большие расстояния (например, на заводе или в разных полях) требуют надежного кодирования. Декодеры с низкой сложностью LDPC, которые адаптируют количество итераций на основе качества канала, могут поддерживать целевую пропускную способность даже при переменном шуме. Например, сеть датчиков влажности почвы с использованием LoRaWAN может извлечь выгоду из кода LDPC со скоростью 0,8 с простым декодером твердого решения, который полностью избегает мягкой информации, снижая потребление энергии на 90% по сравнению с полным декодером мягкого решения.

Подводная и экстремальная среда

Хотя и менее распространенные, IoT-устройства, развернутые под водой или в подземных шахтах, сталкиваются с чрезвычайно сложными каналами. Коды LDPC с низкой сложностью в сочетании с итеративным выравниванием могут быть реализованы на программируемых воротных массивах (FPGA) или выделенных ASIC для энергоэффективной, высоконадежной связи. Принципы проектирования остаются прежними: сохраняйте матрицу с разреженной четностью, используйте квазициклические семейства и реализуйте декодирование на основе мин-суммы в арифметике с фиксированной точкой.

Торговые компромиссы и практические соображения

Хотя стратегии, описанные выше, эффективны, они имеют врожденные компромиссы, которые системные архитекторы должны признать:

  • Ошибочный пол против сложности: Очень редкие коды могут демонстрировать полом ошибки при высоком SNR. Для приложений, требующих ультра-низкого BER (например, медицинских имплантатов), это может быть неприемлемым. Добавление нескольких переменных узлов высокой степени или использование конкатенированной схемы может исправить пол, но увеличивает сложность декодера.
  • Короткие длины блоков: При очень коротких длинах блоков (например, 100-200 бит) разрыв с пропускной способностью Шеннона расширяется. Упрощенные декодеры (например, мини-сумма) могут потерять дополнительные 0,5-1 дБ в этом режиме. Дизайн кода должен компенсироваться оптимизацией структуры кода специально для длины блока, часто с помощью протографа или систематического поиска.
  • Гибкость по сравнению с выделенным оборудованием : Полностью программный декодер LDPC на MCU общего назначения является гибким, но потребляет больше энергии, чем проводной декодер в ASIC. Для продуктов с большим объемом IoT выделенный аппаратный ускоритель, который реализует фиксированный код QC-LDPC с декодированием с минимальной суммой, часто является лучшим путем, предлагая мощность субмилливатта и детерминированную задержку.
  • Выбор скорости кода: Более низкие скорости обеспечивают большую защиту, но увеличивают накладные расходы. Для многих приложений IoT размер пакета фиксируется, поэтому снижение скорости кода означает перенос меньшего количества бит полезной нагрузки на пакет. Дизайнер должен сбалансировать требуемую надежность со спектральной эффективностью.

Будущие направления

Исследования продолжают расширять границы низкосложного кодирования LDPC для IoT.

  • Машинное обучение с помощью декодеров : Оффлайн обучение нейронных сетей может заменить части декодера с минимальной суммой, улучшая производительность, сохраняя вывод достаточно простым для процессора с низким энергопотреблением.
  • Аналоговое и смешанное расшифровывание сигналов : Для сценариев с экстремальной малой мощностью разрабатываются аналоговые декодеры LDPC, которые обрабатывают сигналы в области тока или напряжения, хотя это все еще годы от коммерческого развертывания.
  • Совместное кодирование исходных каналов : Объединение кодов LDPC с алгоритмами сжатия может дополнительно снизить общую энергию на передаваемый бит.
  • Сверхнизкосложные полярные подкоды: Полярные коды, теперь являющиеся частью 5G, предлагают еще один вариант для короткоблочного IoT. Некоторые исследователи изучают гибридные схемы, которые сочетают преимущества LDPC и полярных декодеров.

Заключение

Проектирование кодов LDPC с низкой сложностью для устройств IoT требует тщательного баланса между исправляющей ошибки производительностью и серьезными ограничениями мощности, памяти и обработки. Благодаря использованию разреженных графиков Таннера, квазициклических структур, упрощенных алгоритмов декодирования, таких как офсетная мини-сумма, и раннему завершению, можно реализовать надежную коррекцию ошибок на самых маленьких микроконтроллерах. Эти конструкции доказали свою ценность в датчиках умного дома, носимых устройствах здравоохранения, промышленных сетях и за их пределами. Поскольку IoT продолжает расширяться в новые области - от спутниковых сенсорных сетей до имплантируемых медицинских устройств - спрос на коды LDPC с низкой сложностью будет только расти, стимулируя дальнейшие инновации, которые делают надежное подключение доступным везде.