18
Московский государственный университет приборостроения и информатики Дипломный проект на тему: «Разработка программных средств для помехоустойчивого кодирования и декодирования на основе низкоплотностных кодов» Выполнила Никольская Ольга Александровна Руководитель Мельников Алексей Олегович Москва 2007

2007 Никольская "Разработка программных средств для помехоустойчивого кодирования и декодирования

  • Upload
    rf-lab

  • View
    43

  • Download
    9

Embed Size (px)

Citation preview

Page 1: 2007 Никольская "Разработка программных средств для помехоустойчивого кодирования и декодирования

Московский государственный университет приборостроения и информатики

Дипломный проект на тему:«Разработка программных средств для

помехоустойчивого кодирования и декодирования на основе

низкоплотностных кодов»

Выполнила Никольская Ольга АлександровнаРуководительМельников Алексей Олегович

Москва 2007

Page 2: 2007 Никольская "Разработка программных средств для помехоустойчивого кодирования и декодирования

Структурная схема цифровой Структурная схема цифровой передачи данныхпередачи данных

2

Кодер Модуляция

Канал с шумом

ДемодуляцияДекодерПриёмник информации

Помехоустойчивое кодирование

Источник информации

Page 3: 2007 Никольская "Разработка программных средств для помехоустойчивого кодирования и декодирования

Постановка задачиПостановка задачи1. Создание блока кодирования на основе

разреженной матрицы

2. Реализация алгоритма итерационного декодирования

3. Создание модуля для сравнения полученных результатов

3

Page 4: 2007 Никольская "Разработка программных средств для помехоустойчивого кодирования и декодирования

Виды ошибок при передаче данныхВиды ошибок при передаче данных

4

Ошибки зашумления

Ошибки искаженияИсточник информации

Приёмник информации

Канал с шумом

шум

Page 5: 2007 Никольская "Разработка программных средств для помехоустойчивого кодирования и декодирования

Методы повышения надёжности Методы повышения надёжности передачипередачи

5

На основе повторной передачи (ARQ)

На основе прямого исправления ошибок (FEC)

Источник (добавление

контрольных битов)

Приёмник (исправление

ошибок)

узел А

узел А

узел А узел Б

узел Б

узел Б5 4 3 2 1

NAK 2

2 повторная передача Сохраняем

кадры 3 4 5

повторная передача 5 4 3 2

занятость канала

Нет сохраняемых кадров

Page 6: 2007 Никольская "Разработка программных средств для помехоустойчивого кодирования и декодирования

Классификация помехоустойчивых (Классификация помехоустойчивых (FECFEC) ) кодовкодов

6

Помехоустойчивые коды

Непрерывные (рекуррентные)

кодыБлочные коды Свёрточные коды

Неравномерные кодыРавномерные коды

Разделимые коды Неразделимые коды

Систематические коды, линейные

Несистематические коды, нелинейные

Коды с поэлементным формированием

проверочной группы

Коды с формированием проверочной группы в

«целом»

Циклические коды БЧХ коды

Коды с проверкой на чётность

Код Морзе

Равновесные коды

Итеративные коды

Комбинационные коды

Коды Хемминга

Page 7: 2007 Никольская "Разработка программных средств для помехоустойчивого кодирования и декодирования

Свёрточное кодированиеСвёрточное кодированиеU1 - Первый

кодовый символ

U2 - Второй кодовый символ

Выходное кодовое слово

Входной битm

7

Сдвиговый регистр свёрточного кодера

2 1 1 1 1

0 1 1 1 1

1

2

1 1

2

2

020

002

a = 00

b = 10

c = 01

d = 01

Метрика ветви

t1 t2 t3 t4 t5 t6

1 1 1

0 2 0

02

11 01 01 10 01

11 01 01 00 01

1 1 0 1 1Входная информационная

последовательностьПереданные кодовые

слова Принятая

последовательность

m:

u:

z:

Состояние

Декодирование ВитербиДекодирование Витерби

Page 8: 2007 Никольская "Разработка программных средств для помехоустойчивого кодирования и декодирования

Свойства линейных блочных кодовСвойства линейных блочных кодов

8

( , )( ) 0Ti n kv x H 1)

2) /( , )( ) ( )T

i n k iv x H S x

3)

mindМинимальное кодовое расстояние

( , ) ( , ) 0Tn k n kG H

( , ) ,,n k k k mG I R ,( , ) ,k m

Tn k mH R I

(5,3)

1 0 0 0 10 1 0 110 0 11 0

G

(5,3)

0 111 011 0 0 1

H

Порождающая матрица

Проверочная матрица

Page 9: 2007 Никольская "Разработка программных средств для помехоустойчивого кодирования и декодирования

111111 11 111 11 11

1 11111 111n

H

m

1 111 11

1 111 11

1 1 1n

H

m

( ),1/ 2

O T m nгде T

(1/ 2 5 10) (25)O O

( ),3...10

O R mгдеR

(3 5) (15)O O

Линейные блочные коды

Низкоплотностные коды

Проверочная матрица

Сложностьалгоритмов

В общем случае

Для данной матрицы [5x10]

Низкоплотностные коды (Низкоплотностные коды (LDPCLDPC))

9

Page 10: 2007 Никольская "Разработка программных средств для помехоустойчивого кодирования и декодирования

Представление проверочной матрицыПредставление проверочной матрицы

1 2 3 4 5 6 7v v v v v v v

Граф Таннера

10

111010001110101101001

H

v-узлы

с-узлы

1 0 1 0 0 1 1v

0Tv H

1c 2c 3c

Х

Page 11: 2007 Никольская "Разработка программных средств для помехоустойчивого кодирования и декодирования

Формирование проверочной матрицыФормирование проверочной матрицы

0H

1 0( )H

2 0( )H

H

1) на основе случайной последовательности Матрица, построенная по алгоритму Галлагера.

2) Детерминированные методы построения проверочной матрицы

Матрица, построенная по алгоритму наложения Маккея.

0 1 0 2 0

1 2

( ) ( ){9,8,4,1,7,2,6,5,3}; {5,4,6,8,2,9,1,3,7}.H H H H

1 0 1 1 00 0 1 1 1 0 0 1 1

1 1 1 0 1 1 1

11n

m

mn m

1 {1,5,9,10,11,2,6,3,7,12,4,8}

2 {1,5,9,6,7,10,2,3,11,4,8,12}

Page 12: 2007 Никольская "Разработка программных средств для помехоустойчивого кодирования и декодирования

Процедура кодированияПроцедура кодирования LDPC LDPC

12

Кодирование с использованием нижнетреугольной формы проверочной матрицы

1

, ,1 1

n m i

i i j j i j n m jj j

p H s H p

( , )C s p

10000110000100001100001000011000010000111000100001

H

Page 13: 2007 Никольская "Разработка программных средств для помехоустойчивого кодирования и декодирования

Процедура итерационного Процедура итерационного декодированиядекодирования

Pr{ 1 }( ) log

Pr{ 0 }i

ii

c yL c

c y

13

Декодирование в вероятностном домене MPA-алгоритмPr( 1 )ic y

с-узлы

v-узлы

с-узлы

v-узлы

0c 0c1c 2c

0v0v

0y1v 2v

Подграф графа Таннера, состоящий из столбца матрицы (11100…0)Т.

Подграф графа Таннера, состоящий из строки матрицы (11100…0).

Критерий завершения декодированияДекодирование в логарифмическом домене SPA-

алгоритмЛогарифмическое отношение правдоподобия (LLR)

( , )( ) 0Ti n kv x H

Page 14: 2007 Никольская "Разработка программных средств для помехоустойчивого кодирования и декодирования

Блок кодера

Установка начальных значений

Начало

Создание проверочной

матрицы

Получение тестовой информационной

последовательности бит

1

1

Имитация передачи данных через

беспроводной канал связи

Разбиение информационной последовательности на

сообщения

Вычисление проверочных бит

Объединение сообщения и проверочных бит в кодовое слово

Блок декодера

Конец

Сравнение с исходной информационной

последовательностью

Вывод результатов

моделирования

Передача результата обработки сообщения от v-узлов к с-узлам.

Передача результата обработки сообщения от с-узлов к v-узлам.

Для каждогосообщения

Алгоритм программных средств

14

Page 15: 2007 Никольская "Разработка программных средств для помехоустойчивого кодирования и декодирования

Результаты моделирования

0 2 4 6 8 10 12 14 16 18 2010

-6

10-5

10-4

10-3

10-2

10-1

100

SNR

BE

R

15

010

110

210

410

510

LDPC кодсвёрточный код без кодирования

Page 16: 2007 Никольская "Разработка программных средств для помехоустойчивого кодирования и декодирования

Ленточный график разработки ПС

Смета затрат на разработку ПС

Основные технико-экономические показатели проекта

Структура затрат на разработку ПС

Организационно-экономический раздел

16

Page 17: 2007 Никольская "Разработка программных средств для помехоустойчивого кодирования и декодирования

Результаты и выводы Реализован модуль помехоустойчивого кодирования и декодирования с использованием разреженной матрицы В частности реализован алгоритм передачи сообщений для декодирования в вероятностном домене Реализован алгоритм передачи сообщений для декодирования в логарифмическом домене и проведено сравнение Исследования проводились для моделей каналов с релеевским и райсовским распределениями, при этом результаты моделирования показали, что для рассматриваемого круга моделей каналов эффективность логарифмического LDPC декодера оказалась всюду выше используемого в современных системах декодера Витерби в диапозоне сигнал/шум от 1 до 20 dB

17

Page 18: 2007 Никольская "Разработка программных средств для помехоустойчивого кодирования и декодирования