Материал из MachineLearning.
| Формулировка задания находится в стадии разработки. Убедительная просьба не приступать к выполнению задания до тех пор, пока это предупреждение не будет удалено.
|
-
Начало выполнения задания: 3 марта 2013 г.
Срок сдачи: 17 марта 2013 г., 23:59.
Среда для выполнения задания — MATLAB.
Низкоплотностные коды
Формулировка задания
Рекомендации по выполнению задания
Оформление задания
Выполненное задание следует отправить письмом по адресу bayesml@gmail.com с заголовком письма «[ГМ13] Задание 2 <ФИО>». Убедительная просьба присылать выполненное задание только один раз с окончательным вариантом. Также убедительная просьба строго придерживаться заданных ниже прототипов реализуемых функций.
Присланный вариант задания должен содержать в себе:
- Текстовый файл в формате PDF с указанием ФИО, содержащий описание всех проведенных исследований.
- Все исходные коды с необходимыми комментариями.
Построение порождающей матрицы для систематического кодирования
|
[G, ind] = LDPC_gen_matrix(H)
|
ВХОД
|
H — проверочная матрица чётности, бинарная матрица размера MxN;
|
|
ВЫХОД
|
G — порождающая матрица кода, бинарная матрица размера Nx(N-M);
|
ind — номера позиций кодового слова, в которые копируются биты исходного сообщения, т.е. G(ind, :) является единичной матрицей.
|
|
Алгоритм декодирования LDPC-кода в синдромном представлении
|
[n, status] = LDPC_decoding(z, H, q, param_name1, param_value1, ...)
|
ВХОД
|
z — наблюдаемый синдром, бинарный вектор-столбец длины M;
|
H — проверочная матрица чётности, бинарная матрица размера MxN;
|
q — вероятность инверсии бита при передаче по каналу связи, число от 0 до 0.5;
|
(param_name, param_value) — набор необязательных параметров алгоритма, следующие имена и значения возможны:
|
'max_iter' — максимальное число итераций алгоритма декодирования, число, по умолчанию = 200;
|
'eps' — порог стабилизации для сообщений, число, по умолчанию = 1e-4;
|
'display' — режим отображения, true или false, если true, то отображается промежуточная информация на итерациях, например, номер итерации, текущее число ошибок декодирования, невязка для сообщений и т.д.
|
|
|
ВЫХОД
|
n — восстановленный вектор ошибок, бинарный вектор-столбец длины N;
|
status — результат декодирования, равен 0, если вектор n восстановлен без ошибок, равен -1, если произошел выход по максимальному числу итераций или стабилизации значений сообщений.
|
|
Оценка характеристик LDPC-кода с помощью метода Монте Карло
|
[err_bit, err_block, diver] = LDPC_MC(H, G, g, num_points)
|
ВХОД
|
H — проверочная матрица чётности, бинарная матрица размера MxN;
|
G — порождающая матрица кода, бинарная матрица размера Nx(N-M);
|
q — вероятность инверсии бита при передаче по каналу связи, число от 0 до 0.5;
|
num_points — общее количество экспериментов, число;
|
|
ВЫХОД
|
err_bit — вероятность битовой ошибки декодирования (относительно N бит кодового слова), число от 0 до 1;
|
err_block — вероятность блоковой ошибки декодирования, число от 0 до 1;
|
diver — доля ситуаций расходимости алгоритма декодирования, число от 0 до 1.
|
|