Графические модели (курс лекций)/2013/Задание 2
Материал из MachineLearning.
(Различия между версиями)
(→Оформление задания) |
|||
Строка 15: | Строка 15: | ||
== Формулировка задания == | == Формулировка задания == | ||
+ | |||
+ | # Реализовать алгоритм построения по заданной проверочной матрице чётности H порождающей матрицы кода G для систематического кодирования; | ||
+ | # Реализовать алгоритм декодирования низкоплотностного кода на основе loopy BP, провести временные замеры реализованного алгоритма для различных значений входных параметров, время работы алгоритма не должно превышать XX секунд для ... | ||
+ | # Реализовать алгоритм оценки вероятности битовой и блоковой ошибки кода с помощью метода стат. испытаний; | ||
+ | # Провести эксперименты по оцениванию битовой и блоковой ошибки низкоплотностного кода для различных значений длины кодового слова N, скорости кода R, вероятности инвертирования бита при передаче по каналу связи q и среднего количества единиц в столбце проверочной матрицы j. В частности, необходимо проанализировать следующие ситуации: | ||
+ | #* Теорема Шеннона определяет пропускную способность канала как максимально допустимую скорость кода, при которой возможно осуществление надежной коммуникации. Требуется проверить, как меняются характеристики кода при изменении скорости R от минимального значения до пропускной способности канала. | ||
+ | #* Теорема Шеннона предполагает, что качество кода растет при увеличении длины кодового слова N. Требуется проверить это предположение. | ||
+ | #* Одно из следствий теоремы Шеннона утверждает, что хорошими кодами являются коды со случайной проверочной матрицей H. В частности, здесь предполагается, что качество кода должно расти при увеличении среднего количества единиц в столбце проверочной матрицы j. Требуется проверить это утверждение для низкоплотностных кодов. | ||
== Рекомендации по выполнению задания == | == Рекомендации по выполнению задания == | ||
Строка 24: | Строка 32: | ||
Присланный вариант задания должен содержать в себе: | Присланный вариант задания должен содержать в себе: | ||
- | * Текстовый файл в формате PDF с указанием ФИО, содержащий описание всех проведенных исследований. | + | * Текстовый файл в формате PDF с указанием ФИО, содержащий описание всех проведенных исследований. Данный файл должен, в частности, содержать необходимые графики зависимости битовой и блоковой ошибки кода в зависимости от различных значений параметров. |
* Все исходные коды с необходимыми комментариями. | * Все исходные коды с необходимыми комментариями. | ||
Строка 30: | Строка 38: | ||
!''Построение порождающей матрицы для систематического кодирования'' | !''Построение порождающей матрицы для систематического кодирования'' | ||
|- | |- | ||
- | |[G, ind] = ''' | + | |[G, ind] = '''ldpc_gen_matrix'''(H) |
|- | |- | ||
|ВХОД | |ВХОД | ||
Строка 54: | Строка 62: | ||
!''Алгоритм декодирования LDPC-кода в синдромном представлении'' | !''Алгоритм декодирования LDPC-кода в синдромном представлении'' | ||
|- | |- | ||
- | |[n, status] = ''' | + | |[n, status] = '''ldpc_decoding'''(z, H, q, param_name1, param_value1, ...) |
|- | |- | ||
|ВХОД | |ВХОД | ||
Строка 94: | Строка 102: | ||
!''Оценка характеристик LDPC-кода с помощью метода Монте Карло'' | !''Оценка характеристик LDPC-кода с помощью метода Монте Карло'' | ||
|- | |- | ||
- | |[err_bit, err_block, diver] = ''' | + | |[err_bit, err_block, diver] = '''ldpc_mc'''(H, G, g, num_points) |
|- | |- | ||
|ВХОД | |ВХОД |
Версия 14:01, 2 марта 2013
Формулировка задания находится в стадии разработки. Убедительная просьба не приступать к выполнению задания до тех пор, пока это предупреждение не будет удалено. |
Начало выполнения задания: 3 марта 2013 г.
Срок сдачи: 17 марта 2013 г., 23:59.
Среда для выполнения задания — MATLAB.
Низкоплотностные коды
Формулировка задания
- Реализовать алгоритм построения по заданной проверочной матрице чётности H порождающей матрицы кода G для систематического кодирования;
- Реализовать алгоритм декодирования низкоплотностного кода на основе loopy BP, провести временные замеры реализованного алгоритма для различных значений входных параметров, время работы алгоритма не должно превышать XX секунд для ...
- Реализовать алгоритм оценки вероятности битовой и блоковой ошибки кода с помощью метода стат. испытаний;
- Провести эксперименты по оцениванию битовой и блоковой ошибки низкоплотностного кода для различных значений длины кодового слова N, скорости кода R, вероятности инвертирования бита при передаче по каналу связи q и среднего количества единиц в столбце проверочной матрицы j. В частности, необходимо проанализировать следующие ситуации:
- Теорема Шеннона определяет пропускную способность канала как максимально допустимую скорость кода, при которой возможно осуществление надежной коммуникации. Требуется проверить, как меняются характеристики кода при изменении скорости R от минимального значения до пропускной способности канала.
- Теорема Шеннона предполагает, что качество кода растет при увеличении длины кодового слова N. Требуется проверить это предположение.
- Одно из следствий теоремы Шеннона утверждает, что хорошими кодами являются коды со случайной проверочной матрицей H. В частности, здесь предполагается, что качество кода должно расти при увеличении среднего количества единиц в столбце проверочной матрицы j. Требуется проверить это утверждение для низкоплотностных кодов.
Рекомендации по выполнению задания
Оформление задания
Выполненное задание следует отправить письмом по адресу bayesml@gmail.com с заголовком письма «[ГМ13] Задание 2 <ФИО>». Убедительная просьба присылать выполненное задание только один раз с окончательным вариантом. Также убедительная просьба строго придерживаться заданных ниже прототипов реализуемых функций.
Присланный вариант задания должен содержать в себе:
- Текстовый файл в формате PDF с указанием ФИО, содержащий описание всех проведенных исследований. Данный файл должен, в частности, содержать необходимые графики зависимости битовой и блоковой ошибки кода в зависимости от различных значений параметров.
- Все исходные коды с необходимыми комментариями.
Построение порождающей матрицы для систематического кодирования | ||
---|---|---|
[G, ind] = ldpc_gen_matrix(H) | ||
ВХОД | ||
| ||
ВЫХОД | ||
|
Алгоритм декодирования LDPC-кода в синдромном представлении | ||||||||
---|---|---|---|---|---|---|---|---|
[n, status] = ldpc_decoding(z, H, q, param_name1, param_value1, ...) | ||||||||
ВХОД | ||||||||
| ||||||||
ВЫХОД | ||||||||
|
Оценка характеристик LDPC-кода с помощью метода Монте Карло | ||||
---|---|---|---|---|
[err_bit, err_block, diver] = ldpc_mc(H, G, g, num_points) | ||||
ВХОД | ||||
| ||||
ВЫХОД | ||||
|