- •Помехоустойчивое кодирование в современных системах передачи данных.Реализация кодера и декодера ldpc (low-density parity-check)
- •Введение
- •1 Практическая часть
- •2 Преимущества ldpc-кодов, их применение и перспективы развития
- •3 Исследование принципов реализации ldpc кодека на плис
- •3.1 Описание кодера и декодера
- •3.2 Структурная схема кодера на плис
- •3.2 Структурная схема декодера
- •3.4 Зависимость от количества итераций декодирования
- •3.5 Зависимость от наличия дискретизатора на входе декодера
- •3.3 Моделирование
- •3.6 Зависимость от типа используемого декодера
- •Заключение
- •Список литературы
3.3 Моделирование
Рассмотрим процесс и результаты моделирования кодека в среде MATLAB. Исследовалось 3 типа зависимости вероятности ошибки на выходе декодера
(вероятность ошибки на бит и вероятность ошибки на блок длины k):
• Зависимость от количества итераций декодирования.
• Зависимость от наличия дискретизатора на входе декодера.
• Зависимость от типа декодера (sum-product или min-sum)
Для каждого вида ошибки приведена соответствующая вероятность ошибки для канала без кодека.
Кодек применялся в гауссовом канале (AWGN – Additive White Gaussian Noise).
Из случайного симметричного двоичного сигнала, сгенерированного встроенной функцией “randi” пакета MATLAB, формируются информационные пакеты длины 1024 бит, далее эти пакеты кодируются для получения кодовых слов длины 2048 бит. Модель модема – передатчик и приёмник ФМн-2 (“modem.pskmod” и “modem.pskdemod” из Communications System Toolbox), выход демодулятора – approximate llr (приближенное значение логарифмического коэффициента правдоподобия), шум добавляется функцией “awgn” из Communications System Toolbox (с заданным шагом Eb/N0 в дБ). Далее демодулированный пакет из 2048 символов подаётся на вход декодера в неизменном виде или с использованием квантования для имитации ограниченной разрядности данных реального приёмника. Пакет на выходе декодера сравнивается с переданным и вычисляется количество битовых ошибок. Величины битовых и пакетных ошибок и количество обработанных блоков для каждого значения отношения сигнал-шум Eb/N0 заносятся в файл для последующего анализа.
Значения BER рассматриваются как отношение ошибочно декодированных битов, к общему числу декодированных в тесте битов для данного значения отношения Eb/N0, WER – количество ошибочно декодированных блоков к общему числу обработанных блоков. Переменной величиной отложенной по оси абсцисс для каждого теста выбиралось отношение Eb/N0 (отношение энергии сигнала на бит к спектральной плотности мощности шума) в децибелах. Шаг переменных, количество обработанных информационных блоков отличается для разных тестов. гауссовым шумом без кодирования и после кодека с различным количеством итераций декодирования.
Для тестирования использовался код с длиной информационных блоков k=1024 и кодовой скоростью r=1/2, количество итераций I = 1-20. Декодер min-sum.
3.4 Зависимость от количества итераций декодирования
Рисунок 3.3 - Зависимость BER от количества итераций в декодере.
При увеличении числа итераций, как видно из графика, значительно улучшается исправляющая. При разработке декодера возможно использование фиксированного числа итераций, либо декодера с критерием остановки итераций, основанным на сравнении контрольных сумм, который может остановить итерации при условии исправления всех ошибок в блоке.
3.5 Зависимость от наличия дискретизатора на входе декодера
На графике, на Рис. 3.4 изображена зависимость вероятности ошибки в канале с гауссовым шумом без кодирования и после кодека с наличием дискретизатора и ограничителя сигнала на входе декодера и без них.
Для тестирования использовался код с длиной информационных блоков k=1024 и кодовой скоростью r=1/2, количество итераций I = 1, 5, 10 и 20. Декодер min-sum. 3 варианта сигнала на входе декодера:
• неограниченный llr
• llr, усечённый до целого
• жёсткое решение на входе
Исправляющая способность от наличия дискретизатора и ограничителя на входе декодера, как видно из графика на Рис. 5, ухудшается примерно на 2дБ при использовании жесткого решения на входе декодера, отсечение дробной части значений llr на входе почти не сказывается на качестве декодирования. Декодер min-sum не чувствителен к масштабированию входной информации поэтому роль играет только суммарное количество бит дискретизатора. Так как min-sum декодер использует только операции сложения и минимума дополнительные искажения могут возникнуть только из-заограниченной разрядности регистров, хранящих значения метрик. По результатам моделирования для 20 итераций и 8-битного входа достаточно 16-битных регистров, блоки RAM ПЛИС фирмы Xilinx имеют 8 и 16 битную разрядность, следовательно использование 16-битных метрик оптимально для использования в ПЛИС.
Рисунок 3.4 -Зависимость BER от наличия ограничителя и дискретизатора на входе декодера
