Графические модели (курс лекций)/2013/Задание 2

Материал из MachineLearning.

(Различия между версиями)
Перейти к: навигация, поиск
(Оформление задания)
(Оформление задания)
Строка 26: Строка 26:
* Текстовый файл в формате PDF с указанием ФИО, содержащий описание всех проведенных исследований.
* Текстовый файл в формате PDF с указанием ФИО, содержащий описание всех проведенных исследований.
* Все исходные коды с необходимыми комментариями.
* Все исходные коды с необходимыми комментариями.
-
 
{|class="standard"
{|class="standard"
Строка 46: Строка 45:
|G — порождающая матрица кода, бинарная матрица размера Nx(N-M);
|G — порождающая матрица кода, бинарная матрица размера Nx(N-M);
|-
|-
-
|ind — номера позиций кодового слова, в которые копируются биты исходного сообщения, т.е. G(ind, :) является единичной матрицей;
+
|ind — номера позиций кодового слова, в которые копируются биты исходного сообщения, т.е. G(ind, :) является единичной матрицей.
|}
|}
|}
|}
Строка 65: Строка 64:
|H — проверочная матрица чётности, бинарная матрица размера MxN;
|H — проверочная матрица чётности, бинарная матрица размера MxN;
|-
|-
-
|q — вероятность битовой ошибки для канала передачи информации, число;
+
|q — вероятность инверсии бита при передаче по каналу связи, число от 0 до 0.5;
|-
|-
|(param_name, param_value) — набор необязательных параметров алгоритма, следующие имена и значения возможны:
|(param_name, param_value) — набор необязательных параметров алгоритма, следующие имена и значения возможны:
Строка 87: Строка 86:
|-
|-
|status — результат декодирования, равен 0, если вектор n восстановлен без ошибок, равен -1, если произошел выход по максимальному числу итераций или стабилизации значений сообщений.
|status — результат декодирования, равен 0, если вектор n восстановлен без ошибок, равен -1, если произошел выход по максимальному числу итераций или стабилизации значений сообщений.
 +
|}
 +
|}
 +
 +
 
 +
 +
{|class="standard"
 +
!''Оценка характеристик LDPC-кода с помощью метода Монте Карло''
 +
|-
 +
|[err_bit, err_block, diver] = '''LDPC_MC'''(H, G, g, num_points)
 +
|-
 +
|ВХОД
 +
|-
 +
|
 +
{|border="0"
 +
|H — проверочная матрица чётности, бинарная матрица размера MxN;
 +
|-
 +
|G — порождающая матрица кода, бинарная матрица размера Nx(N-M);
 +
|-
 +
|q — вероятность инверсии бита при передаче по каналу связи, число от 0 до 0.5;
 +
|-
 +
|num_points — общее количество экспериментов, число;
 +
|}
 +
|-
 +
|ВЫХОД
 +
|-
 +
|
 +
{|
 +
|err_bit — вероятность битовой ошибки декодирования (относительно N бит кодового слова), число от 0 до 1;
 +
|-
 +
|err_block — вероятность блоковой ошибки декодирования, число от 0 до 1;
 +
|-
 +
|diver — доля ситуаций расходимости алгоритма декодирования, число от 0 до 1.
|}
|}
|}
|}

Версия 13:14, 2 марта 2013

Формулировка задания находится в стадии разработки. Убедительная просьба не приступать к выполнению задания до тех пор, пока это предупреждение не будет удалено.



Начало выполнения задания: 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.
Личные инструменты