Мое задание - реализовать алгоритм Loopy Belief Propagation для кода проверки четности с низкой плотностью. Этот код использует матрицу проверки на четность H, которая довольно разрежена (например, бинарная матрица размером 750 на 1000, в среднем около 3 "единиц) на каждый столбец. Код для создания матрицы проверки на четность: taken from hereПоведение LDPC по плотности матрицы проверки на четность увеличивается
В любом случае одной из подзадач является проверка надежности кода LDPC при увеличении плотности матрицы H. Таким образом, я фиксирую канал на 0,5 емкости, фиксирую свою скорость кода на 0,35 и начинаю увеличивать плотность матрицы. Поскольку среднее число «единиц» в столбце идет от 3 до 7 с шагом 1, происходит катастрофа. С 3 или 4 код отлично справляется. С более высокой плотностью он начинает терпеть неудачу: он не всегда может сходиться, он часто сходится к неправильному кодовому слову и порождает ошибки.
Итак, мой вопрос: какой тип поведения ожидается от кода LDPC, поскольку его разреженная матрица контроля четности становится более плотной? Бонусный вопрос для опытных читателей разума: в моем случае (по мере ухудшения характеристик кода) это более вероятно, потому что у Loopy Belief Propagation algo нет гарантии конвергенции или из-за того, что я ошибся в его реализации?