Upload
rf-lab
View
43
Download
9
Embed Size (px)
Citation preview
Московский государственный университет приборостроения и информатики
Дипломный проект на тему:«Разработка программных средств для
помехоустойчивого кодирования и декодирования на основе
низкоплотностных кодов»
Выполнила Никольская Ольга АлександровнаРуководительМельников Алексей Олегович
Москва 2007
Структурная схема цифровой Структурная схема цифровой передачи данныхпередачи данных
2
Кодер Модуляция
Канал с шумом
ДемодуляцияДекодерПриёмник информации
Помехоустойчивое кодирование
Источник информации
Постановка задачиПостановка задачи1. Создание блока кодирования на основе
разреженной матрицы
2. Реализация алгоритма итерационного декодирования
3. Создание модуля для сравнения полученных результатов
3
Виды ошибок при передаче данныхВиды ошибок при передаче данных
4
Ошибки зашумления
Ошибки искаженияИсточник информации
Приёмник информации
Канал с шумом
шум
Методы повышения надёжности Методы повышения надёжности передачипередачи
5
На основе повторной передачи (ARQ)
На основе прямого исправления ошибок (FEC)
Источник (добавление
контрольных битов)
Приёмник (исправление
ошибок)
узел А
узел А
узел А узел Б
узел Б
узел Б5 4 3 2 1
NAK 2
2 повторная передача Сохраняем
кадры 3 4 5
повторная передача 5 4 3 2
занятость канала
Нет сохраняемых кадров
Классификация помехоустойчивых (Классификация помехоустойчивых (FECFEC) ) кодовкодов
6
Помехоустойчивые коды
Непрерывные (рекуррентные)
кодыБлочные коды Свёрточные коды
Неравномерные кодыРавномерные коды
Разделимые коды Неразделимые коды
Систематические коды, линейные
Несистематические коды, нелинейные
Коды с поэлементным формированием
проверочной группы
Коды с формированием проверочной группы в
«целом»
Циклические коды БЧХ коды
Коды с проверкой на чётность
Код Морзе
Равновесные коды
Итеративные коды
Комбинационные коды
Коды Хемминга
Свёрточное кодированиеСвёрточное кодирование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:
Состояние
Декодирование ВитербиДекодирование Витерби
Свойства линейных блочных кодовСвойства линейных блочных кодов
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
Порождающая матрица
Проверочная матрица
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
Представление проверочной матрицыПредставление проверочной матрицы
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
Х
Формирование проверочной матрицыФормирование проверочной матрицы
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}
Процедура кодированияПроцедура кодирования 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
Процедура итерационного Процедура итерационного декодированиядекодирования
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
Блок кодера
Установка начальных значений
Начало
Создание проверочной
матрицы
Получение тестовой информационной
последовательности бит
1
1
Имитация передачи данных через
беспроводной канал связи
Разбиение информационной последовательности на
сообщения
Вычисление проверочных бит
Объединение сообщения и проверочных бит в кодовое слово
Блок декодера
Конец
Сравнение с исходной информационной
последовательностью
Вывод результатов
моделирования
Передача результата обработки сообщения от v-узлов к с-узлам.
Передача результата обработки сообщения от с-узлов к v-узлам.
Для каждогосообщения
Алгоритм программных средств
14
Результаты моделирования
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 кодсвёрточный код без кодирования
Ленточный график разработки ПС
Смета затрат на разработку ПС
Основные технико-экономические показатели проекта
Структура затрат на разработку ПС
Организационно-экономический раздел
16
Результаты и выводы Реализован модуль помехоустойчивого кодирования и декодирования с использованием разреженной матрицы В частности реализован алгоритм передачи сообщений для декодирования в вероятностном домене Реализован алгоритм передачи сообщений для декодирования в логарифмическом домене и проведено сравнение Исследования проводились для моделей каналов с релеевским и райсовским распределениями, при этом результаты моделирования показали, что для рассматриваемого круга моделей каналов эффективность логарифмического LDPC декодера оказалась всюду выше используемого в современных системах декодера Витерби в диапозоне сигнал/шум от 1 до 20 dB
17