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

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

(Различия между версиями)
Перейти к: навигация, поиск
(Оформление задания)
Строка 29: Строка 29:
{|class="standard"
{|class="standard"
-
!''Построение порождающей матрицы для систематического кодирование''
+
!''Построение порождающей матрицы для систематического кодирования''
|-
|-
|[G, ind] = '''LDPC_gen_matrix'''(H)
|[G, ind] = '''LDPC_gen_matrix'''(H)
Строка 50: Строка 50:
|}
|}
-
Прототипы функций для других распределений выглядят аналогично. Если в распределении переменных до или после | несколько, то в названии функции они идут в алфавитном порядке. Функция для оценки распределения <tex>p(b|a,d_1,\dots,d_N)</tex> для модели 3 имеет название p3b_ad, а входной параметр <tex>d</tex> является одномерным массивом длины <tex>N</tex>.
+
&nbsp;
{|class="standard"
{|class="standard"
-
!''Генерация из распределения <tex>p(d_1,\dots,d_N|a,b)</tex> для модели 3''
+
!''Алгоритм декодирования LDPC-кода в синдромном представлении''
|-
|-
-
|d = '''m3_generate'''(N, a, b, params)
+
|[n, status] = '''LDPC_decoding'''(z, H, q, param_name1, param_value1, ...)
|-
|-
|ВХОД
|ВХОД
Строка 61: Строка 61:
|
|
{|border="0"
{|border="0"
-
|N количество лекций;
+
|z наблюдаемый синдром, бинарный вектор-столбец длины M;
|-
|-
-
|a значение параметра a;
+
|H проверочная матрица чётности, бинарная матрица размера MxN;
|-
|-
-
|b значение параметра b;
+
|q вероятность битовой ошибки для канала передачи информации, число;
|-
|-
-
|params — набор параметров вероятностной модели, структура с полями 'amin', 'amax', 'bmin', 'bmax', 'p1', 'p2', 'p3';
+
|(param_name, param_value) — набор необязательных параметров алгоритма, следующие имена и значения возможны:
 +
|-
 +
|
 +
{|border="0"
 +
|'max_iter' — максимальное число итераций алгоритма декодирования, число, по умолчанию = 200;
 +
|-
 +
|'eps' — порог стабилизации для сообщений, число, по умолчанию = 1e-4;
 +
|-
 +
|'display' — режим отображения, true или false, если true, то отображается промежуточная информация на итерациях, например, номер итерации, текущее число ошибок декодирования, невязка для сообщений и т.д.
 +
|}
|-
|-
|}
|}
Строка 75: Строка 84:
|
|
{|
{|
-
|d значения <tex>d_1,\dots,d_N</tex>, вектор-столбец длины N.
+
|n восстановленный вектор ошибок, бинарный вектор-столбец длины N;
 +
|-
 +
|status — результат декодирования, равен 0, если вектор n восстановлен без ошибок, равен -1, если произошел выход по максимальному числу итераций или стабилизации значений сообщений.
|}
|}
|}
|}

Версия 13:02, 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 — вероятность битовой ошибки для канала передачи информации, число;
(param_name, param_value) — набор необязательных параметров алгоритма, следующие имена и значения возможны:
'max_iter' — максимальное число итераций алгоритма декодирования, число, по умолчанию = 200;
'eps' — порог стабилизации для сообщений, число, по умолчанию = 1e-4;
'display' — режим отображения, true или false, если true, то отображается промежуточная информация на итерациях, например, номер итерации, текущее число ошибок декодирования, невязка для сообщений и т.д.
ВЫХОД
n — восстановленный вектор ошибок, бинарный вектор-столбец длины N;
status — результат декодирования, равен 0, если вектор n восстановлен без ошибок, равен -1, если произошел выход по максимальному числу итераций или стабилизации значений сообщений.