Создание низкопроизводительных кодов Ldpc для сенсорных сетей и носимых устройств
Table of Contents
В быстро расширяющемся Интернете вещей (IoT) сенсорные сети и носимые устройства составляют основу бесчисленных приложений, от мониторинга окружающей среды до непрерывного отслеживания состояния здоровья. Эти системы работают при жестких энергетических бюджетах, часто питаемых небольшими батареями или сбором энергии. Надежная передача данных имеет решающее значение, но традиционные коды коррекции ошибок могут потреблять значительную мощность, снижая долговечность устройства. Коды с низкой плотностью паритета (LDPC) предлагают убедительное решение: они обеспечивают производительность коррекции ошибок с близкой емкостью, обеспечивая при этом декодирование с низкой сложностью. В этой статье исследуется проектирование и реализация кодов LDPC, специально оптимизированных для стесненных по мощности сред сенсорных сетей и носимых устройств.
Понимание кодов LDPC
Коды LDPC были впервые обнаружены Робертом Галлагером в 1963 году, но их практическое значение появилось десятилетия спустя с достижениями в вычислительной мощности и алгоритмах итеративного декодирования. Эти коды определяются скудной матрицей проверки четности H, где число ненулевых записей мало относительно размеров матрицы. Эта редкость является ключом к эффективному итеративному декодированию с использованием распространения убеждений (также известный как алгоритм сум-продукта).
Процесс декодирования работает на двухстороннем графе (граф Таннера), состоящем из переменных узлов (представляющих закодированные биты) и контрольных узлов (представляющих уравнения четности). Сообщения обмениваются по краям, итеративно уточняя оценки каждого бита. Поскольку граф редок, каждый узел связан только с несколькими другими, сохраняя вычислительную сложность на низком уровне. Это делает коды LDPC особенно привлекательными для аппаратных средств с ограниченными возможностями обработки, таких как микроконтроллеры в беспроводных датчиках или процессоры приложений в носимых устройствах.
По сравнению с другими кодами, исправляющими ошибки, такими как коды Turbo, коды LDPC могут достигать сопоставимой или превосходной производительности с более низкой задержкой декодирования и энергией на бит. Они широко приняты в современных стандартах, таких как Wi-Fi (802.11n / ac /ax), DVB-S2 и 5G NR, но эти реализации оптимизированы для высокой пропускной способности, не обязательно для сверхнизкой мощности. Для сенсорных сетей и носимых устройств требуется индивидуальный подход для минимизации потребления энергии при сохранении надежности.
Основные преимущества низкоэнергетических систем
- Эффективность итеративного декодирования: Декодирование может прекратиться после фиксированного количества итераций или при обнаружении конвергенции, что позволяет приспособить энергию к работе.
- Параллелизация: Структура разреженного графа позволяет параллельно обрабатывать, уменьшая задержку и позволяя конструировать схемы с низким напряжением.
- Гибкие скорости кода: Коды LDPC могут быть разработаны с произвольными скоростями, соответствующими условиям канала и ограничениям энергии приложения.
Принципы проектирования низкопроизводительных кодов LDPC
Проектирование кодов LDPC для устройств с ограниченными энергоресурсами включает в себя балансировку возможностей коррекции ошибок, сложность декодирования и требования к памяти. Следующие принципы определяют создание семейств кодов LDPC с низким энергопотреблением.
Разрозненные матрицы и дизайн низкой плотности
Фундаментальный принцип заключается в том, чтобы сохранить матрицу проверки четности как можно более разреженной. Меньшее количество ненулевых записей уменьшает количество операций на декодировку. Для сенсорных сетей, где пакеты короткие (например, 100-500 бит), размеры матрицы скромные, но редкость все еще имеет значение. Оптимизация плотности (фракция ненулевых записей) до минимально возможного значения при сохранении производительности кода является основной целью. Структурированные шаблоны редкости, такие как в квазициклических кодах LDPC (QC-LDPC), упрощают аппаратную реализацию, позволяя схемы на основе сдвига регистра вместо общих доступов к памяти.
Оптимизированные распределения степеней
Распределение степеней описывает, сколько соединений имеет каждый переменный узел и контрольный узел в графе Таннера. Для декодирования с малой мощностью хорошо настроенное распределение степеней сводит к минимуму количество итераций, необходимых для достижения целевой скорости ошибки. Как правило, переменные узлы с немного более высокими степенями (например, 3 или 4) улучшают производительность водопада, в то время как контрольные узлы с более низкими степенями снижают вычисления. Нерегулярные коды LDPC, где степени различаются, часто превосходят обычные коды, но требуют тщательной оптимизации, чтобы избежать свалок раннего терминации, которые тратят энергию. Моделирование с использованием эволюции плотности или диаграмм EXIT может идентифицировать профили степеней, которые быстро сходятся - часто в пределах 10-20 итераций вместо 50 +.
Структурированные коды для эффективности аппаратного обеспечения
Реализация в маломощных микроконтроллерах, FPGA или пользовательских ASICs выигрывает от регулярности. Доминируют два структурированных семейства кодов LDPC:
- Основанные на прототипах коды: Небольшой базовый граф (протограф) копируется и расширяется с использованием подъемного фактора. Это создает большие коды с предсказуемой структурой, что позволяет параллельно обрабатывать и уменьшать объем памяти. Протографы могут быть разработаны для коротких длин блоков (например, 128 бит), типичных для сенсорных сетей.
- Квазициклические LDPC (QC-LDPC) Коды: Матрица проверки четности состоит из циркулирующих субматриц (циклических сдвигов матриц идентичности). Это позволяет декодировать с помощью простых сдвиговых регистров, которые потребляют гораздо меньше энергии, чем полное умножение матриц. Коды QC-LDPC являются основой для многих практических стандартов и идеально подходят для аппаратно-ограниченных устройств.
Адаптивное кодирование и совместимость с тарифами
Условия канала устройства изменяются с мобильностью, помехами и расстоянием. Адаптивное кодирование динамически регулирует скорость кода и длину для поддержания надежности при сохранении энергии. Коды LDPC, совместимые с частотой, расширяют материнский код путем прокола или сокращения битов. Например, материнский код с частотой 1/2 может быть проколот до скорости 2/3, когда качество канала улучшается, уменьшая накладные расходы и усилия по декодированию. Альтернативно, когда канал ухудшается, декодер может быть проинструктирован для запуска дополнительных итераций. Эта адаптивность предотвращает потерю мощности на избыточной защите. Гибридный ARQ (HARQ) с постепенной избыточностью также может быть интегрирован, где приемник запрашивает дополнительные биты четности только при необходимости, уменьшая среднюю мощность передачи.
Стратегии внедрения энергосберегающих устройств
Переход от теоретического проектирования к практическому развертыванию требует тщательного внимания к реализации аппаратного и программного обеспечения. Следующие стратегии помогают достичь маломощного кодирования LDPC в реальных системах.
Аппаратная оптимизация для Decoders
ASIC и пользовательский цифровой дизайн
Для носимых устройств большого объема, таких как умные часы или фитнес-трекеры, специализированная интегральная схема (ASIC), адаптированная к декодированию LDPC, может достигать наименьшей энергии на бит.
- Минно-суммовый алгоритм:Приближение уравнений обновления распространения убеждений к более простым операциям с мин-суммой снижает вычислительную сложность и устраняет необходимость в таблицах поиска.При правильной нормализации мин-сумма выполняется близко к идеальному.
- Усложненное декодирование: Последовательное обновление строк обработки (проверка узлов) и верований переменных узлов сразу же уменьшает доступ к памяти и скорость сходимости. Усложненное декодирование может сократить количество итераций на 30-50% по сравнению с графиком затопления.
- Заряженные блоки блокировки и питания: Выключайте неиспользуемые блоки декодера в периоды покоя. Для прерывистых передач (обычные в сенсорных сетях) декодер спит между пакетами.
- Низковольтная работа: Схемы декодера могут быть синтезированы для почти порогового напряжения (0,4-0,6 В) для резкого снижения динамической мощности. Разреженность кодов LDPC делает их терпимыми к случайным ошибкам синхронизации, открывая возможности для агрессивного масштабирования напряжения.
FPGA и программно-определяемые реализации
Для прототипирования или продуктов среднего объема FPGA предлагают гибкость. Современные маломощные FPGA (например, Lattice iCE40, Microchip PolarFire) могут реализовать декодер с несколькими тысячами LUT. Программно-определяемые декодеры, работающие на основном микроконтроллере (например, ARM Cortex-M4 с расширениями DSP), также жизнеспособны для низких скоростей передачи данных (например, 1-100 кбит/с). Они потребляют <1 mW when using fixed-point arithmetic and early stopping. The LDPC страница Википедии, обеспечивает хорошую отправную точку для деталей алгоритма.
Протоколы связи, учитывающие энергетические аспекты
Кодирование LDPC должно быть интегрировано со слоем управления доступом к среде (MAC) и цикликой, чтобы максимизировать время автономной работы.
- Обязательное вращение с кодированием: Приемопередатчик и декодер работают только во время приема пакетов. Например, в 1 %-ном рабочем цикле декодер может быть активным в течение 10 мс каждую секунду, потребляя около 1/100-й мощности непрерывной работы.
- Оптимизация размера пакета: Более короткие пакеты сокращают время декодирования, но могут ухудшать усиление кодирования. Использование длины блока, соответствующей длине пакета, позволяет избежать набивки, которая тратит энергию. Квазициклические коды длиной 200-400 бит типичны для приложений датчиков.
- Оценка канала для адаптивного кодирования: Приемник может оценить отношение сигнал/шум (SNR) и запросить соответствующую скорость кода. Использование низкоскоростного кода (например, 1/2) в плохих условиях и переключение на 2/3 в хороших условиях экономит в среднем 33% энергии декодирования.
Выбор длины кода
Более длинные коды LDPC обычно обеспечивают лучшую коррекцию ошибок, но они также увеличивают задержку, требования к памяти и энергию декодирования. Для сенсорных сетей, где размеры пакетов малы (например, 200-500 бит), коды с длиной блока n = 200-1000 бит предлагают хороший компромисс. Более короткие коды n < 200) suffer from finite-length effects and reduced coding gain. However, with careful design of the protograph, even codes of length 128 can achieve 1–2 dB coding gain over uncoded transmission, which is sufficient for many IoT applications. A study in IEEE Транзакции на схемах и системах демонстрируют декодер QC-LDPC с напряжением 0,9 В 160 бит, потребляющий 12 pJ/бит.
Моделирование и методологии тестирования
Перед развертыванием комплексное моделирование должно проверять производительность кода в реалистичных моделях каналов (например, затухание Рэлея для носимых устройств, движущихся вблизи тела, или лог-нормальное затенение для внутренних датчиков). Ключевые показатели включают:
- Частота ошибок кадра (FER) против SNR
- Среднее число декодирующих итераций
- Энергия на успешно передаваемый бит
Такие инструменты, как MATLAB (Communications Toolbox) или фреймворк с открытым исходным кодом AFF3CT, позволяют быстро создавать прототипы. Тестирование оборудования в петле с эмулируемыми каналами помогает уточнить оценки мощности на уровне затвора. Крайне важно моделировать угловые случаи, такие как очень низкий SNR, где декодер может продолжать итерацию без конвергенции — адаптивные механизмы ранней остановки должны быть проверены, чтобы избежать потерь энергии.
Приложения в сенсорных сетях и носимых устройствах
Коды LDPC с низким энергопотреблением обеспечивают надежную связь в различных сценариях, где энергия является ограничивающим фактором.
Медицинские носимые
Непрерывные глюкозомониторы, ЭКГ-патчи и интеллектуальные слуховые аппараты требуют бесперебойной передачи данных в концентратор (например, смартфон). Потерянный пакет может пропустить критическое событие. Коды LDPC с длиной блока 256 и скоростью 2/3 могут достигать скорости ошибок пакетов ниже 10-5 при 0,5 дБ SNR, при этом потребляя менее 50 мкВт в декодере. Это увеличивает срок службы батареи от дней до недель. Для сетей области тела (BAN) с использованием стандарта IEEE 802.15.6 коды LDPC рекомендуются для медицинских диапазонов.
Экологическое ощущение
Беспроводные сенсорные сети для отслеживания влажности почвы, качества воздуха или дикой природы часто используют приемопередатчики с частотой ниже ГГц (например, LoRa, 802.15.4). Они работают с очень низкой скоростью передачи данных (0,3-50 кбит/с), где энергия декодирования может доминировать при приеме энергии. Специальный декодер LDPC, реализованный в чипе базовой полосы, может уменьшить энергию декодирования в 10 раз по сравнению с программным декодированием на основной MCU, как показано в исследованиях из Университета Лидса . Адаптивное кодирование приспосабливается к изменяющимся погодным условиям, обеспечивая целостность данных во время выцветания дождя без потери мощности в ясных условиях.
Промышленный IoT и структурный мониторинг
На заводах или мостах датчики часто работают на монетных батареях годами. Здесь надежность имеет первостепенное значение для того, чтобы избежать дорогостоящих ложных тревог или пропущенных предупреждений. Коды LDPC с итеративным декодированием могут исправлять ошибки разрыва, вызванные электромагнитными помехами от машин. Структурированные коды QC-LDPC позволяют реализовать декодер в небольшом FPGA, который сидит рядом с датчиком, потребляя менее 1 мВт в активном режиме. Возможность спать между передачами делает общую среднюю мощность незначительной.
Умные домашние устройства
Детекторы движения, датчики двери / окна и интеллектуальные замки обычно передают короткие всплески. Коды LDPC с низким энергопотреблением позволяют этим устройствам использовать одно и то же радио для обычных и критических сообщений, не требуя схемы коррекции ошибок с более высокой мощностью. Например, дверной замок может отправлять отчет о состоянии каждый час с коротким 128-битным кодом, но предупреждение о вторжении использует более длинный 512-битный код с большей избыточностью - оба декодируются тем же оборудованием с низким энергопотреблением.
Проблемы и будущие направления
Несмотря на преимущества, развертывание кодов LDPC в устройствах с ультранизким энергопотреблением сталкивается с несколькими препятствиями.
Сложность декодера и память
Даже редкие декодеры LDPC требуют хранения мягкой информации (соотношение лог-подобия) для каждого переменного узла. Для кода длиной 200, использующего 5-битное квантование, это требует 1000 бит оперативной памяти - управляемые накладные расходы. Однако более длинные коды или более высокая точность могут напрягать ограниченную SRAM в недорогих микроконтроллерах. Такие методы, как мини-сумма со смещением и 3-битное квантование, могут уменьшить память на 40% при сохранении потери 0,1 дБ.
Ранняя остановка и конвергенция
Определение того, когда прекратить расшифровку, имеет решающее значение. Фиксированные итерации (например, 10) могут тратить энергию, если сближение происходит раньше, или не удается, если это необходимо больше. Динамические схемы, основанные на удовлетворении четности-проверки (проверка CRC или вес синдрома), могут рано остановиться. Но эти добавляют логику. Перспективный подход заключается в использовании предиктора машинного обучения, обученного на канале SNR и состоянии декодера для оценки оптимального количества итерации, торгуя небольшим количеством вычислений для значительной экономии энергии.
Интеграция с энергосбережением
Устройства, которые собирают энергию из солнечных, тепловых или вибрационных источников, имеют непредсказуемую доступность мощности. Коды LDPC могут быть разработаны для масштабирования энергии: когда энергии мало, декодер запускает меньше итераций (снижая производительность), но когда избыточная энергия доступна, она работает больше для повышения надежности. Исследования «упругих» декодеров LDPC, которые корректируют параллелизм и количество итераций в реальном времени, являются активной областью.
Эволюционные стандарты
Новые стандарты, такие как Bluetooth 5.2 и Thread, рассматривают возможность улучшенной коррекции ошибок. Введение LDPC в 5G New Radio для связи с низкой задержкой (например, URLLC) может просочиться в потребительские носимые устройства. Перекрестное опыление полярными кодами, которые также являются низкосложными, может привести к гибридным декодерам, которые выбирают лучший код на основе состояния. Недавняя работа IEEE исследует такие гибридные архитектуры.
Заключение
Проектирование кодов LDPC для сенсорных сетей и носимых устройств требует целостного подхода, который охватывает теорию информации, контурное проектирование и управление энергией на уровне системы. Подчеркивая редкость, структурированные матрицы и адаптивные схемы, инженеры могут достичь надежной связи с незначительными затратами энергии. Ключ заключается в выборе правильной архитектуры кода с минимальной мощностью и декодером для конкретного случая использования - будь то потоковые данные о патче здоровья при 10 кбит/с или датчик температуры, просыпающийся один раз в час. По мере продвижения технологий сбора энергии и сверхнизких ИС коды LDPC останутся краеугольным камнем надежных, долгосрочных развертываний IoT. Путь вперед включает в себя постоянные инновации в масштабируемых топологиях декодера и кросс-слойной оптимизации, гарантируя, что даже самые ограниченные устройства могут общаться с уверенностью.