142
Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего образования «Ульяновский государственный технический университет» На правах рукописи Тамразян Георгий Михайлович ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА ДЕКОДИРОВАНИЯ КАСКАДНЫХ КОДОВ НА БАЗЕ КОДОВ РИДА – СОЛОМОНА В АДАПТИВНЫХ СИСТЕМАХ ОБМЕНА ДАННЫМИ Специальность 05.12.13 – Системы, сети и устройства телекоммуникаций Диссертация на соискание ученой степени кандидата технических наук Научный руководитель – д.т.н., доцент А.А. Гладких Ульяновск 2017

ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

  • Upload
    others

  • View
    12

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

Министерство образования и науки Российской Федерации

Федеральное государственное бюджетное образовательное учреждение

высшего образования

«Ульяновский государственный технический университет»

На правах рукописи

Тамразян Георгий Михайлович

ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ

ОПТИМАЛЬНОГО АЛГОРИТМА ДЕКОДИРОВАНИЯ

КАСКАДНЫХ КОДОВ НА БАЗЕ КОДОВ РИДА – СОЛОМОНА В

АДАПТИВНЫХ СИСТЕМАХ ОБМЕНА ДАННЫМИ

Специальность 05.12.13 – Системы, сети и устройства телекоммуникаций

Диссертация на соискание ученой степени

кандидата технических наук

Научный руководитель –

д.т.н., доцент А.А. Гладких

Ульяновск 2017

Page 2: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

2

СОДЕРЖАНИЕ

СОДЕРЖАНИЕ .................................................................................................... 2

СПИСОК СОКРАЩЕНИЙ ......................................................................................... 5

ВВЕДЕНИЕ .................................................................................................... 7

Актуальность темы исследования ........................................................................... 7

Степень разработанности темы ............................................................................... 8

Цели и задачи исследования .................................................................................... 8

Методы исследования ............................................................................................... 9

Объект и предмет исследования ............................................................................ 10

Соответствие рассматриваемой специальности .................................................. 10

Научная новизна ...................................................................................................... 10

Практическая ценность работы ............................................................................. 11

Основные положения, выносимые на защиту ...................................................... 11

Обоснованность и достоверность результатов работы ....................................... 12

Апробация работы ................................................................................................... 12

Реализация результатов работы ............................................................................. 13

Личный вклад автора .............................................................................................. 13

Структура и объем работы ..................................................................................... 13

ГЛАВА 1. НЕОБХОДИМОСТЬ ИСПОЛЬЗОВАНИЯ

ПОМЕХОУСТОЙЧИВОГО КОДИРОВАНИЯ В

ИНФОКОММУНИКАЦИОННЫХ СИСТЕМАХ ................................................ 14

1.1. Современные методы помехоустойчивого кодирования ......................... 14

1.1.1. Блоковые коды .................................................................................. 14

1.1.2. Непрерывные (сверточные) коды ................................................... 17

1.1.3. Укороченные циклические коды ..................................................... 20

1.1.4. Адаптивные системы передачи данных ......................................... 22

1.2. Декодирование кодов Рида – Соломона ..................................................... 26

1.2.1. Алгоритм Форни ............................................................................... 28

1.2.2. Алгоритм Берлекэмпа – Месси ....................................................... 31

1.2.3. Алгоритм Евклида ............................................................................ 35

1.2.4. Алгоритм Гурусвами – Судана ........................................................ 36

Page 3: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

3

1.3. Декодирование сверточных кодов. Алгоритм Витерби. ........................... 39

1.4. Каскадные коды ............................................................................................ 42

1.4.1. Коды Рида – Соломона как внешняя ступень каскадного

кода ............................................................................................................. 44

1.4.2. Сверточные коды как внутренняя ступень каскадного кода ....... 45

1.5. Способы детектирования сигнала на входе приемника ............................ 47

1.5.1. Жесткие методы ................................................................................ 48

1.5.2. Методы стирающего канала связи .................................................. 50

1.5.3. Мягкие методы .................................................................................. 52

1.6. Выводы по главе............................................................................................ 56

ГЛАВА 2. ПРОЕКТИРОВАНИЕ КАСКАДНОГО КОДЕКА, ПОСТРОЕНИЕ

ЕГО МАТЕМАТИЧЕСКОЙ МОДЕЛИ .................................................................. 59

2.1. Постановка задачи ........................................................................................ 59

2.2. Коды РС в стирающем канале связи ........................................................... 59

2.3. Двукратная выдача кодового блока ............................................................ 60

2.4. Произведение кодов РС и БЧХ .................................................................... 61

2.5. Мягкие подходы к декодированию кодов РС ............................................ 62

2.5.1. Формирование мягких решений символов при фазовой

модуляции ...................................................................................................... 63

2.5.2. Формирование мягких решений символов при

квадратурной амплитудной модуляции ...................................................... 65

2.5.3. Использование мягких оценок для определения стираний .......... 68

2.6. Обобщенный каскадный код на базе кодов РС и сверточных кодов ...... 69

2.7. Выводы по главе............................................................................................ 71

ГЛАВА 3. ПРОГРАММНО – АППАРАТНАЯ РЕАЛИЗАЦИЯ

АДАПТИВНОГО КАСКАДНОГО КОДЕКА, ОПТИМИЗИРОВАННОГО

ПОД АРХИТЕКТУРУ ПЛИС ................................................................................... 72

3.1. Аппаратная реализация алгоритма Витерби .............................................. 72

3.1.1. Аппаратное описание структуры треллис-диаграммы ................. 74

3.1.2. Аппаратная реализация блока BMU ............................................... 77

3.1.3. Аппаратная реализация блока ACS ................................................ 78

3.1.4. Блоки SMS и SPM ............................................................................. 78

3.1.5. Обратный проход решетки. Модуль TBU ...................................... 79

Page 4: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

4

3.2. Аппаратная реализация оптимального алгоритма декодирования кода

Рида – Соломона ...................................................................................................... 80

3.2.1. Оптимальная реализация SC-блока ................................................ 81

3.2.2. Оптимальная реализация KES-блока .............................................. 82

3.2.3. Оптимальная реализация CSEE-блока ........................................... 90

3.2.4. Разработка оптимального АЛУ для реализации

арифметических операций в полях Галуа .................................................. 93

3.3. Разработка системы адаптации кодека ....................................................... 95

3.4. Выводы по главе.......................................................................................... 101

ГЛАВА 4. ПРОВЕДЕНИЕ ИСПЫТАНИЙ РАЗРАБОТАННОЙ СИСТЕМЫ

ПОМЕХОУСТОЙЧИВОГО КОДИРОВАНИЯ ................................................... 103

4.1. Выбор элементной базы и технических средств ..................................... 103

4.2. Результаты лабораторных испытаний ...................................................... 106

4.2.1. Описание эксперимента ................................................................. 106

4.2.2. Результаты испытаний, проводимых при BPSK модуляции ..... 106

4.2.3. Результаты испытаний, проводимых при QPSK модуляции ..... 107

4.2.4. Результаты испытаний, проводимых при 8PSK модуляции ...... 109

4.2.5. Обобщенные результаты испытаний для всей АСК ................... 110

4.3. Результаты натурных испытаний .............................................................. 111

4.4. Выводы по главе.......................................................................................... 113

ЗАКЛЮЧЕНИЕ ................................................................................................ 115

Основные выводы по проделанной работе......................................................... 115

Направление дальнейших исследований ............................................................ 116

СПИСОК ЛИТЕРАТУРЫ ....................................................................................... 117

ПРИЛОЖЕНИЕ А. Исходные коды моделей, использованных в работе ... 129

ПРИЛОЖЕНИЕ Б. сходные коды программ, использованные при

аппаратной реализации кодека РС ........................................................................ 129

ПРИЛОЖЕНИЕ В. Описание изобретения «Мягкий декодер

последовательного турбокода» ............................................................................... 130

Page 5: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

5

СПИСОК СОКРАЩЕНИЙ

ACS – модуль сложения, сравнения и выбора метрик путей

BER – вероятность ошибки на бит

BMU – модуль расчета метрик ребер треллиса

BPSK – двоичная фазовая модуляция

CSEE – блок, выполняющий перебор Ченя и расчет значений ошибок

DC – блок расчета невязок

ELU – блок корректировки полинома локаторов ошибок

iBM – безынверсионный алгоритм Берлекэмпа – Месси

KES – блок решения ключевого уравнения

miBM – модифицированный алгоритм iBM

OFDM – мультиплексирование с ортогональным частотным разделением

PSK – фазовая модуляция

QAM – квадратурная амплитудная модуляция

QPSK – четырехпозиционная квадратурная фазовая модуляция

ROM – постоянно запоминающее устройство

SC – блок расчета синдромного многочлена

SMS – регистр хранения метрик узлов

SNR – соотношение сигнал-шум

SPM – регистр хранения траектории выживших путей

TBU – модуль обратного прохода треллиса

АБГШ – аддитивный белый гауссовский шум

АЛУ – арифметико-логическое устройство

АПД – аппаратура передачи данных

АСК – адаптивная система кодирования

АЦП – аналого-цифровой преобразователь

БМА – алгоритм Берлекэмпа – Месси

БЧХ – Боуза – Чоудхури – Хоквингема код

Page 6: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

6

ГСА – алгоритм Гурусвами – Судана

ДСК – двоичный симметричный канал

ДСКС – двоичный симметричный канал со стираниями

ИИА – итеративный интерполяционный алгоритм

МРС – мягкое решение символа

НИР – научно-исследовательская работа

НОД – наибольший общий делитель

ОКР – опытно-конструкторская работа

ПЛИС – программируемая логическая интегральная схема

ПРВ – плотность распределения вероятностей

РС – Рида – Соломона код

СВЧ – сверхвысокочастотный (диапазон)

СПД – система передачи данных

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

ЦАП – цифро-аналоговый преобразователь

ШПС – шумоподобный сигнал

ЭВК – энергетический выигрыш кодирования

Page 7: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

7

ВВЕДЕНИЕ

Помехоустойчивое кодирование является неотъемлемой частью

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

информации, используемой в цикле управления, обеспечивается за счет

коррекции ошибок, которые объективно возникают в каналах связи. При этом

главной тенденцией многих важных систем управления является сокращение

временных интервалов обмена данными [123]. В этой связи поиск оптимальных в

смысле минимизации временных и вычислительных ресурсов кодеков является

неотъемлемой потребностью перспективных управляющих комплексов.

Актуальность темы исследования

Применение тех или иных методов кодирования способно в значительной

степени повысить достоверность принимаемой информации и обеспечить

энергетический выигрыш кода (ЭВК) в канале связи до 10 дБ, приблизившись

вплотную к порогу Шеннона, например, при использовании турбокодов или

кодов с малой плотностью проверок на четность [7, 22, 37, 45, 46, 54].

Недостатком таких мощных кодов является большая избыточность, вносимая в

передаваемое сообщение, применение итеративных преобразований, что

приводит к существенному увеличению цикла управления на этапе обработки

данных [1, 9, 96, 119, 126].

В связи с широким развитием мобильных средств связи, каналы которых

подвергаются большому количеству деструктивных факторов, в том числе

создаваемых преднамеренно [25, 68], важно учитывать возможность

использования адаптивных алгоритмов защиты данных, которые способны гибко

реагировать на изменения условий передачи и обработки управляющей

информации.

Для учета нестабильности передающей среды разрабатываются адаптивные

системы кодирования (АСК), способные динамически подстраивать уровень

вносимой избыточности в зависимости от текущего состояния канала связи.

Page 8: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

8

Существуют различные подходы к реализации АСК, наиболее простым из

которых является предварительная подготовка набора кодеков с динамическим

переключением между ними. Такой метод не всегда является оптимальным, так

как при переходе с одного кода на другой изменять зачастую необходимо лишь

некоторые параметры кода [97]. Гораздо более эффективным методом реализации

АСК является динамическая перестройка только тех параметров кода, которые

отвечают за его избыточность [120]. В этой связи исследования, направленные на

разработку гибких адаптивных алгоритмов применения помехоустойчивых кодов,

и их реализация на современной (перспективной) элементной базе, несомненно,

являются актуальными.

Степень разработанности темы

Концептуальные принципы развития цифровых систем связи заложены в

основополагающих работах В.А. Котельникова, К.Е. Шеннона, Р.М. Фано и

П. Элайеса. Значительный вклад в разработку теории повышения спектральной и

энергетической эффективности систем обмена данными внесли такие зарубежные

авторы как E.R. Berlekamp, R.C. Bose, R.W. Hamming, R.E. Blahut, J. Massey,

I.S. Reed, G. Solomon, M. Sudan, G.D. Forney, R.G. Gallager, A.J. Viterbi, а также

ряд отечественных ученых: В.И. Коржик, Э.Л. Блох, В.В. Зяблов,

К.Ш. Зигангиров, В.В. Золотарев, Г.В. Овечкин, Л.Е. Варакин, в работах которых

раскрываются теоретические основы построения различных классов избыточных

кодов. Вместе с этим, применение помехоустойчивых кодов в адаптивных

системах связи в указанных работах рассматривается в самых общих чертах и

основывается на дискретной элементной базе, не отвечающей современным

требованиям.

Цели и задачи исследования

Целью работы является разработка и исследование адаптивных алгоритмов

мягкого декодирования каскадных кодов на основе кодов Рида - Соломона (РС) и

Page 9: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

9

выработка рекомендаций по их реализации на программируемых логических

интегральных схемах (ПЛИС).

Для достижения указанной цели в диссертационной работе были

поставлены следующие задачи:

1. Анализ существующих методов защиты цифровых данных с

использованием избыточных кодов в процедуре обмена информацией и

выявление характерных недостатков таких решений применительно к

организации циклов управления систем реального времени.

2. Исследование методов формирования мягких решений в системах со

сложными видами модуляции применительно к задачам каскадных кодеков на

основе кодов РС при обосновании конкретных решений для достижения

требуемых значений ЭВК.

3. Разработка и реализация программно-аппаратным методом алгоритмов

адаптивных кодеков каскадных кодов с учетом возможностей современной

элементной базы, в том числе ПЛИС.

4. Разработка конструктивных решений программно-аппаратной

реализации адаптивных кодеков каскадных кодов на ПЛИС и получение оценки

их эффективности на основе методов компьютерного моделирования с

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

5. Разработка макета адаптивного кодека и выполнение лабораторных и

натурных испытаний разработанного оборудования, обработка и обобщение

полученных данных.

Методы исследования

Для решения поставленных задач и достижения намеченной цели

использованы методы системного анализа, математического моделирования,

теории вероятности, теории информационных систем, численные методы, а также

методы программирования. Математическое моделирование производилось с

использованием пакетов прикладных программ, таких как Mathcad, MATLAB,

Page 10: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

10

Simulink. Разработка и отладка программно-аппаратных средств велась с

применением программ Quartus II 13.1 и Modelsim SE 10.2.

Объект и предмет исследования

Объектом исследования данной диссертационной работы является система

защиты данных от ошибок при передаче управляющей информации между

морскими мобильными объектами с использованием радиосвязи СВЧ-диапазона в

режиме реального времени с заданным уровнем достоверности. Предметом

исследования являются алгоритмы адаптивной мягкой обработки каскадных

кодов и их реализация на ПЛИС.

Соответствие рассматриваемой специальности

Содержание диссертационной работы соответствует следующим пунктам

паспорта специальности 05.12.13 – Системы, сети и устройства

телекоммуникаций:

п.п. 2 – исследование процессов генерации, представления, передачи,

хранения и отображения аналоговой, цифровой, видео-, аудио- и мультимедиа-

информации; разработка рекомендаций по совершенствованию и созданию новых

соответствующих алгоритмов и процедур;

п.п. 3 – разработка эффективных путей развития и совершенствования

архитектуры сетей и систем телекоммуникаций и входящих в них устройств;

п.п. 8 – исследование и разработка новых сигналов, модемов, кодеков,

мультиплексоров и селекторов, обеспечивающих высокую надежность

обмена информацией в условиях воздействия внешних и внутренних помех.

Научная новизна

1. Предложена и разработана новая методика формирования мягких

решений символов недвоичных кодов в системах обмена данными со сложными

видами модуляции, позволившая повысить долю надежных оценок символов с

Page 11: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

11

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

сигнальных созвездий. Исследованы статистические свойства таких оценок.

2. Разработана имитационная модель формирования целочисленных

мягких решений недвоичных символов, и исследованы статистические свойства

таких оценок для наиболее значимых сигнально-кодовых конструкций.

3. С учетом специфики архитектуры ПЛИС впервые предложен алгоритм

поиска полинома локаторов ошибок в комбинациях недвоичного кода на базе

сдвигового регистра с обратными связями, позволивший сократить длину

критического пути декодера, как минимум, в два раза.

4. Разработан, реализован и исследован новый алгоритм адаптивного

декодирования кодов РС, сложность которого не зависит от количества ступеней

адаптации, позволивший сократить требуемый объем вычислительных ресурсов

на ПЛИС относительно известных алгоритмов от 2 до 5 раз.

Практическая ценность работы

Разработанные алгоритмы декодирования недвоичных кодов РС имеют

улучшенные характеристики по скорости их работы и занимаемой площади на

кристалле ПЛИС по сравнению с классическими алгоритмами. Их

универсальность позволяет применять предложенный подход во всех

существующих адаптивных системах связи, использующих коды РС в качестве

канального кода.

Основные положения, выносимые на защиту

1. Предложенная методика формирования мягких решений символов с

учетом открытых областей в системе сигнально-кодовых конструкций позволила

повысить помехоустойчивость приема дискретных сообщений за счет увеличения

доли верных решений.

2. Новый алгоритм вычисления полинома локаторов ошибок на базе

модифицированного сдвигового регистра с обратными связями ориентированный

Page 12: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

12

на архитектуру ПЛИС позволил сократить объем требуемых вычислительных

ресурсов необходимых при реализации декодера недвоичного кода.

3. Метод параметрической адаптации системы обмена данными с

каскадным кодированием, основанный на свободном конструктивном выборе

числа ступеней промежуточных режимов относительно минимальной скорости

кода РС.

4. Архитектура арифметических вычислителей в поле Галуа, позволившая

реализовать их на вентильном уровне, что обеспечило минимальные аппаратные

затраты при реализации кодеков РС на ПЛИС.

Обоснованность и достоверность результатов работы

Результаты работы базируются на использовании научных положений и

методов исследования, апробации созданного программно-аппаратного комплекса

и подтверждаются соответствием результатов теоретических и

экспериментальных исследований.

Апробация работы

Основные результаты диссертационной работы докладывались на

Международной конференции «Радиоэлектронные устройства и системы для

инфокоммуникационных технологий» REDS, (г. Москва, 2013г., 2015г.),

ХX Международной научно-технической конференции «Радиолокация.

Навигация. Связь», (г. Воронеж, 2014г.), 17-ой Международной конференции

«Цифровая обработка сигналов и еѐ применение» DSPA (г. Москва, 2015г.),

Международной научно-технической конференции «RLNC» (г. Воронеж, 2015г.,

2016г.).

Результаты работы опубликованы в 17 печатных трудах, в числе которых 4

статьи в журналах, входящих в перечень ВАК, 1 патент РФ на изобретение, 12

трудов и тезисов докладов на Международных и Всероссийских

научно-технических и научно-практических конференциях.

Page 13: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

13

Реализация результатов работы

Материалы диссертации были использованы:

1. При выполнении ОКР «Каскад 1» (2010-2011 гг.) и НИР «Каскад 2»

(2012-2013 гг.). Результаты работы используются в разработках ФНПЦ АО «НПО

«Марс» для создания широкополосного помехоустойчивого канала связи в

изделиях проекта «Трасса-22350».

2. При внедрении в учебный процесс в Ульяновском государственном

техническом университете по направлению 11.03.02 в курсах «Общая теория

связи 2» и «Теория кодирования и защиты информации».

Личный вклад автора

Автору работы принадлежат разработка и программно-аппаратная

реализация алгоритма поиска полинома локаторов ошибок для адаптивных

декодеров кодов РС. Диссертант участвовал в проведении лабораторных и

натурных испытаний разработанной АСК. В совместных работах автор

участвовал в рассуждениях, выводе аналитических соотношений, проведении

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

испытаний с ними.

Структура и объем работы

Диссертация состоит из введения, четырех глав, заключения, списка

литературы и приложений, содержит 139 страниц машинописного текста, в том

числе 68 иллюстраций и 8 таблиц. Список литературы включает в себя 127

наименований. В приложениях к диссертации представлены листинги программ

имитационных моделей рассматриваемых систем передачи данных (СПД),

листинги аппаратной реализации модулей, входящие в состав кодека, описание

изобретения, а также акты внедрения результатов работы.

Page 14: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

14

ГЛАВА 1.

ПРИМЕНЕНИЕ СРЕДСТВ ПОМЕХОУСТОЙЧИВОГО КОДИРОВАНИЯ В

ИНФОКОММУНИКАЦИОННЫХ СИСТЕМАХ

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

Современные методы помехоустойчивого кодирования складываются из

трех основных направлений: блоковые коды, непрерывные или сверточные коды,

полярные коды, а также их различные комбинации [93, 94, 103, 108].

Рассматриваемая классификация избыточных кодов в соответствии с их

конструктивными свойствами представлена на рисунке 1.1.

Классификация избыточных кодов по принципу построения

БлоковыеНепрерывные(сверточные)

Полярные

Последовательные турбокоды (каскадные)

Параллельные турбокоды

Рисунок 1.1 – Классификация основных направлений развития систем избыточного

кодирования

1.1.1. Блоковые коды

Блоковые коды – это класс помехоустойчивых кодов, которые можно

описать парой чисел (n, k). В процессе кодирования блок из k символов

сообщения преобразуется в больший блок из n символов кодового слова,

образованного с использованием элементов данного алфавита. Если алфавит

состоит только из двух элементов (0 и 1), код является двоичным и включает

только двоичные разряды. В таком коде всегда можно указать начало и конец

кодовой комбинации [85, 86]. Это свойство полезно в системе с переспросами и

Page 15: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

15

при пороговом декодировании [104, 109, 111]. Данные коды в наибольшей

степени приспособлены для адаптивных систем [36].

Наиболее простым способом преобразования k информационных символов

в n-мерный кодовый блок является обращение к таблице соответствий, в которой

каждому набору информационных слов соответствует единственный набор из n

кодовых слов. Однако при построении кодов с длинными блоками, например,

кода (127, 92), построение таблицы соответствия становится слишком трудоемкой

процедурой, а ее хранение в памяти кодека требует существенных аппаратных

затрат. В этом случае, более эффективным методом кодирования является

использование так называемой порождающей матрицы G [38].

,

21

22221

11211

1

2

1

knkk

n

n

k vvv

vvv

vvv

V

V

V

G

(1.1)

где Vi – вектор кодового пространства, vij – компоненты этого вектора.

В матричном виде генерация кодового слова примет вид:

,GmU (1.2)

где m – информационный вектор.

Таким образом, порождающая матрица G полностью определяет кодовый

вектор, при этом кодеру необходимо хранить только ее компоненты, что

существенно экономит объем памяти устройства.

При декодировании принятого кодового вектора, как правило, используют

проверочную матрицу H. Для каждой порождающей матрицы (k × n) существует

матрица H размером (n – k) × n, такая, что строки матрицы G ортогональны к

строкам матрицы H [115]. Иными словами, G∙HT = 0. Представим порождающую

матрицу в систематическом виде:

,kIPG (1.3)

где P – массив четности, входящий в состав порождающей матрицы, Ik –

единичная матрица, размерностью (k × k).

Page 16: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

16

Чтобы матрица H удовлетворяла требованиям ортогональности

систематического кода, ее компоненты записываются в следующем виде:

.T

kn PIH (1.4)

Поскольку проверочная матрица H создана так, чтобы удовлетворять

условиям ортогональности, она позволяет проверять принятые векторы на

предмет их принадлежности заданному набору кодовых слов [115]. U будет

кодовым словом, генерируемым матрицей G, тогда и только тогда, когда

выполняется равенство:

.0 THU (1.5)

Для определения характера ошибки в принятом векторе R необходимо

вычислить синдром S. Предположим, что из канала связи поступил вектор R,

содержащий ошибки:

,eUR (1.6)

где e – вектор ошибки, внесенной каналом связи. Тогда синдром принятого

сигнала будет определяться следующим образом:

.THRS (1.7)

При отсутствии ошибок в принятом векторе, то есть при e = 0 R = U,

синдром равен нулю. В противном случае, если S ≠ 0, переданный вектор был

искажен в канале связи, а значение синдрома S позволит установить характер

этого искажения. Зная характер ошибки, декодер пытается ее локализовать и

исправить, либо, если его мощности недостаточно для этого, он посылает запрос

на перевыдачу этого сообщения [32, 89]. Используя уравнения (1.6) и (1.7), можно

представить синдром S в следующем виде [24]:

.TTT HeHUHeUS (1.8)

Согласно выражению (1.5) произведение кодового вектора и проверочной

матрицы равно нулю, получим выражение:

Page 17: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

17

.THeS (1.9)

Уравнение (1.9) дает взаимно однозначное соответствие между синдромным

вектором S и вектором ошибки e. Зная значение вектора ошибки e, достаточно

вычесть (эквивалентно сложению для двоичных символов) его из принятого

вектора R, таким образом, ошибка будет исправлена [55].

Рассмотренный синдромный подход к декодированию блоковых кодов

является обобщенным способом, и для декодирования некоторых кодов

описанных действий будет недостаточно [112]. Так при декодировании

недвоичных кодов, таких как, например, кодов Рида – Соломона, синдром

позволит только локализовать ошибку, а для ее исправления потребуется

вовлечение дополнительного математического аппарата [12, 113, 122].

1.1.2. Непрерывные (сверточные) коды

Непрерывные или сверточные коды, в отличие от блоковых кодов,

используют последовательную обработку информации короткими фрагментами.

Такие коды обладают памятью, то есть символы на выходе такого кодера зависят

не только от очередного символа на входе, но и от ранее поступивших символов,

хранящихся в памяти устройства [110].

Сверточный код образуется множеством всех двоичных

последовательностей, порождаемых сверточным кодером. Теоретически эти

последовательности бесконечны, однако, на практике, состояние сверточного

кодера периодически устанавливается в некоторое заранее известное состояние и,

следовательно, порождаемый код приобретает характер блокового кода [110].

Работу кодера можно описать с помощью конечного автомата. Состояния

такого автомата, на примере кода (7, 5), показаны на рисунке 1.2.

Page 18: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

18

ST00

ST11

ST10 ST01

11 11

00

01 01

10

00

10

На входе 1

На входе 0

Рисунок 1.2 – Диаграмма состояний сверточного кодера (7, 5)

Сам кодер представляет собой сдвиговый регистр, входы которого

объединены между собой определенным образом. Физические связи кодера

определяются выбранными порождающими полиномами. Для рассматриваемого

примера эти полиномы равны g0 = 7 ( 1 1

1 ), g1 = 5 ( 1

0

1 ). Схема кодера

представлена на рисунке 1.3. В общем случае, сверточный кодер скорости k/n

использует k регистров сдвига, по одному на каждый вводимый в кодер

информационный символ, и n логических элементов, выполняющих операцию

исключающего ИЛИ над содержимым регистров и символами на входе кодера. На

практике, обычно рассматриваются только двоичные сверточные коды, то есть

коды скоростью 1/n. Их параметры записывают в виде n порождающих

полиномов, записанных в восьмеричном виде ( g0 , … , g1 ).

Z-1 Z-1Вход

Выход 0

Выход 1

Рисунок 1.3 – Структурная схема сверточного кодера (7, 5)

Page 19: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

19

Общая длина регистров сдвигов m называется памятью кода. Кодовое

ограничение определяется как число информационных символов на входе кодера,

которые влияют на кодовые символы на его выходе. Для кодеров скорости 1/2 оно

равно K = m + 1.

Сверточный кодер является линейной постоянной во времени системой,

импульсной отклик которой задан порождающими полиномами. С помощью этих

полиномов можно записать выходную последовательность кодера в следующем

виде [56]:

lgliuiv j

m

l

j 0

(1.10)

где 0 ≤ j < n. Выходные последовательности v (j)

равны дискретной свертке

входной последовательности u с порождающими полиномами g0 , … , gn-1.

Динамическая структура сверточного кодера позволяет развернуть во

времени его диаграмму состояний и построить решетчатую диаграмму (треллис).

Треллис строится следующим образом: в соответствии с диаграммой состояний

кодера (рисунок 1.2) на каждом временном интервале соединяются ребрами

состояния на i-ом и (i+1)-ом тактах. При этом, если на i-ом такте кодеру на вход

поступает 1, то такое ребро на треллисе будет показано пунктирной линией, а при

поступлении 0 – сплошной. Таким образом, при сверточном кодировании на

решетчатой диаграмме формируется некий путь, по которому однозначно

определяется кодовая комбинация.

Построение треллис-диаграммы удобнее всего проиллюстрировать на

конкретном примере. Положим, что на вход рассматриваемого сверточного

кодера (7, 5) поступают символы u = ( 110100 ). Треллис данного кодера

представлен на рисунке 1.4. В нижней части рисунка показана входная

информационная последовательность, а в верхней – сформированный код.

Кодовая комбинация строится в виде непрерывного пути, который выделен на

этой диаграмме жирными линиями. Из рисунка видно, что кодер сформировал на

решетке выходную последовательность v = ( 111010000111 ). Воспользовавшись

Page 20: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

20

формулой (1.10), нетрудно убедиться, в том, что полученная при помощи этой

решетки комбинация верна.

00

01

10

11

00

01

10

11

00

11

00

01

10

10

01

00

01

10

11

00

01

10

11

00

01

10

11

00

01

10

11

00

01

10

11

11 10 10 00 01 11

11

1 1 0 1 0 0

Рисунок 1.4 – Треллис-диаграмма сверточного кодера (7, 5)

Решетка сверточного кода имеет регулярную структуру. Повторяемость ее

секций может быть эффективно использована при построении декодера. Наиболее

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

Витерби. Он применяется также для решения таких эквивалентных по сложности

задач, как восстановление последовательностей по максимуму правдоподобия или

прием сигналов в каналах с частичным откликом.

1.1.3. Укороченные циклические коды

Циклические коды составляют класс кодов, исправляющих ошибки,

кодирование и декодирование которых основано на полиноминальном

представлении. Простая реализация этих кодов использует регистры сдвига и

логические схемы. Их свойства делают их удобными в аппаратной реализации.

Одним из распространенных циклических кодов является код РС [42Ошибка!

Источник ссылки не найден.].

Page 21: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

21

Обозначим как C некий двоичный циклический код (n, k), u –

информационное сообщение, v – соответствующее ему кодовое слово.

Представить кодовый вектор v можно в полиноминальном виде:

....,...,, 1

110110

n

nn xvxvvxvvvvv

(1.11)

Переменная x служит индикатором относительного положения элемента vi в

кодовом слове в виде монома vixi полинома v(x). Линейный код C является

циклическим, если циклический сдвиг любого слова из кодового пространства C

дает слово из этого же кодового пространства. В полиноминальном виде

циклический сдвиг на одну позицию, обозначенный v (1)

(x), соответствует

умножению на x по модулю (xn – 1),

.1mod1 CxxxvxvCxv n (1.12)

Существует множество практических задач, в которых требуются коды,

исправляющие ошибки, с простыми процедурами кодирования и декодирования.

Однако существующие конструкции не всегда имеют нужную длину, размерность

и минимальное расстояние. Например, требуется спроектировать кодек на основе

циклического, длина которого не является числом вида 2m – 1. Одним из

возможных подходов является укорочение существующего циклического кода до

нужного размера.

Укорочение сводится к отбрасыванию информационных позиций исходного

кода. Пусть S – число неиспользуемых отброшенных символов, которое называют

глубиной укорочения, C – исходный циклический (n, k, d) код. Укороченное

сообщение получается за счет фиксированной установки нулевых значений в

некоторых информационных позициях. Остальные k - s позиций могут принимать

произвольные значения. Без потери сущности, можно считать, что старшие

позиции сообщения устанавливаются в нулевые состояния. Тогда

информационная последовательность sk

sk xuxuuxu

1

110 ... преобразуется в

кодовую комбинацию вида:

,mod xgxuxxuxxv knkn (1.13)

Page 22: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

22

степень которого не превышает n – s – 1. Таким образом, укороченный код Cs

является линейным (n – s, k – s, ds) кодом с кодовым расстоянием ds ≥ d. В общем

случае укороченный код не является циклическим кодом.

Фундаментальное свойство укороченных циклических кодов Cs состоит в

том, что для их обработки могут быть использованы те же самые кодеры и

декодеры. Для компьютерного моделирования гораздо проще дополнять слова

нулями на старших позициях и использовать те же самые алгоритмы кодирования

и декодирования, рассмотренные в этой главе. Этот способ широко используется

в аппаратной реализации кодов РС. Очевидно, что нули на старших позициях

сообщения не должны включаться в кодовое слово. Кроме того, декодер

модифицируется таким образом, что принятое слово r(x) умножается на xn-k+s

вместо умножения на xn-k

по модулю g(x) в обычном декодере. Укороченные

конструкции также прекрасно подходят для реализации адаптивных кодеков.

1.1.4. Адаптивные системы передачи данных

Проблема повышения эффективности функционирования сложных систем,

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

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

условиях воздействия дестабилизирующих факторов, преднамеренных и

непреднамеренных помех.

На этапе разработки систем передачи данных бывает сложно предсказать

параметры помехоустойчивых кодов, сложно предусмотреть все возможные

режимы работы системы, так как роль мешающих факторов может изменяться от

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

данных может быть достигнут только на основе адаптивного подхода. Именно

этим объясняется внедрение в современные мобильные системы связи

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

Данные технологии призваны увеличить пиковую скорость передачи

трафика, среднюю скорость передачи данных и пропускную способность канала

связи в широкополосных беспроводных сетях, прежде всего, в тех условиях

Page 23: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

23

работы, для которых не обеспечивается прямая видимость между абонентами.

При этом АСК, в которых изменению подлежат значения определенных

параметров кодека, называют самонастраивающимися, а АСК, в которых

изменяются алгоритмы работы кодеков, называют самоорганизующимися. Под

адаптивностью системы следует понимать такой уровень ее организации, который

характеризуется наличием не только обратных связей, но и устройств

наблюдения, измерения и анализа, идентификации и управления,

обеспечивающих возможность принимать решения на основании аналитических

построений [120Ошибка! Источник ссылки не найден.]. С технической точки

зрения, адаптация – это высшая степень автоматизации процесса управления. С

математической точки зрения, адаптивные системы должны иметь возможность

осуществлять прогноз качества функционирования и поддерживать его на

заданном уровне в течение определенного временного интервала.

Адаптация является частным случаем управления и заключается в

изменении управляемого фактора U таким образом, чтобы поддерживать некие

заданные функционалы объекта в требуемом состоянии независимо от действия

всякого рода внешних и внутренних воздействий. При этом специфика объекта

накладывает на управление требование:

,SU (1.14)

где S – множество допустимых управлений. Структура этого множества

определяется двумя факторами – целевыми ограничениями Zʹ и самим объектом.

В данном случае нас будет интересовать специфика объекта, так как именно она

через структуру множества определяет тип адаптации. Исходя из этого, можно

классифицировать различные типы адаптации.

Если объект таков, что его изменение в процессе адаптации удобно

осуществлять с помощью параметров u1 , … , un , т. е.

,,...,1 nuuU (1.15)

то такую адаптацию называют параметрической. В этом случае каждый параметр

iu может принимать бесконечное или конечное число значений. В первом случае

Page 24: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

24

U S Rq т. е. множество S является континуумом, во втором – U S = D, где

D – дискретное множество значений управления U.

Однако очень часто адаптацию объекта удобно осуществлять не путем

изменения его параметров, а модификацией его структуры, то есть, вводя

структурную адаптацию. Для этого фактор управления U представляется в виде

пары:

,,CWU

(1.16)

где W – структурные факторы, с помощью которых можно изменять структуру

объекта адаптации, a C = ( c1 , … , ck ) – адаптируемые параметры объекта

(параметры (1.15), с помощью которых реализуется параметрическая адаптация).

Целенаправленная вариация структурных факторов дает возможность

адаптировать структуру объекта. Такая декомпозиция управления U на

структурные W и параметрические C факторы позволяет более эффективно

решать задачи адаптации сложных объектов, для которых параметрическая

адаптация малоэффективна [102, 120].

Задачу адаптации можно записать в следующем виде:

WEWCWQ

min),( ,,min w

ECCW

CW

(1.17)

где EW – множество допустимых структур W; ECW – множество допустимых

параметров C, соответствующих структуре, определяемой W; Wʹ– оптимальная

структура; wC – оптимальные параметры этой структуры. Так как W однозначно

определяет структуру объекта, то W можно условно называть структурой.

Очевидно, что:

,CWW EES (1.18)

то есть множество S допустимых управлений при адаптации образуется как

произведение множеств допустимых структур EW и параметров ECW этих

структур. Блок-схема решения задачи (1.17) показана на рисунке 1.5, из которого

хорошо виден иерархический характер адаптации.

Page 25: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

25

Объект КритерииСтохастическая

среда

WEWmin

CWECmin

CWE

C W

x y

2

1

Рисунок 1.5 – Двухконтурная схема структурной адаптации

На верхнем уровне производится адаптация структуры W, а на нижнем –

параметров C этой структуры. Очевидно, что эти два контура адаптации работают

в разных временных режимах: темп параметрической адаптации (контур 2 на

рисунке 1.5) значительно выше темпа структурной (контур 1). Действительно, на

каждый шаг структурных изменений объекта должен приходиться весь цикл

параметрической адаптации, иначе не выявится полностью эффективность

реализованной структуры.

Очевидно, что методы решения задач структурной и параметрической

адаптации различны, что и заставляет обращаться к такой дифференциации. На

рисунке 1.6 показана схема классификации различных типов адаптации.

Адаптация

Параметрическая Параметризация Структурная

Альтернативная ЭволюционнаяDSqRS

Рисунок 1.6 – Классификация типов адаптации

Page 26: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

26

Прежде всего, структурную адаптацию удобно подразделить на

альтернативную и эволюционную. Альтернативная адаптация отличается тем, что

множество допустимых структур EW невелико и содержит 2-5 альтернативных

структур. Эволюционная адаптация моделирует процесс биологической

эволюции. Этот алгоритм отличается введением незначительных вариаций

структуры δW, моделирующих случайные мутации, которые также незначительно

изменяют эффективность Q адаптируемого объекта. «Мутации» структуры δW и

правило отбора, позволяющее выявлять ее благоприятные вариации, и образуют

механизм эволюции, с помощью которого строится последовательность

улучшающихся структур:

,...... 110 nn WWWW (1.19)

обладающих свойством 1nn WW (n = 1, 2, …), где знак предпочтения имеет

смысл:

.)()( 1 nn WQWQ (1.20)

Заметим, что иногда допустимы нарушения соотношения (1.20), например,

в случае, когда вариацией структуры Wi не удается получить лучшую, чем Wi , по

критерию (1.20). Тогда выбирают лучшую из «мутированных» структур, что

нарушает (1.20), но обеспечивает процедуре эволюции глобальные свойства,

очень ценные в задачах структурной адаптации.

Очевидно, что такой новый тип адаптации, как структурная, требует

разработки новых подходов к решению задач. Однако не следует забывать, что

существует мощный аппарат параметрической адаптации, который можно

использовать и для решения задач структурной. Для этого достаточно

параметризовать структуру адаптируемого объекта.

1.2. Декодирование кодов Рида – Соломона

Коды РС были открыты в 1960 году американскими учеными Ридом и

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

Боуза - Чоудхури - Хоквингема (БЧХ). В настоящее время коды РС являются

Page 27: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

27

одним из наиболее востребованных видов помехоустойчивого кодирования.

Связано это с тем, что коды РС эффективно справляются с исправлением

группирующихся ошибок, которые возникают при воздействии на канал связи

импульсной помехи.

Способы декодирования кодов РС достаточно хорошо проработаны в

теоретическом и реализационном плане, но, тем не менее, представляют собой

довольно сложную задачу [17]. Типовая схема декодирования, получившая

название авторегрессионого спектрального метода декодирования, состоит из

следующих шагов [4, 19, 31]:

вычисления синдрома ошибки (синдромный декодер);

построения полинома локаторов ошибок, осуществляемого либо

посредством высокоэффективного, но сложно реализуемого алгоритма

Берлекэмпа – Месси (БМА), либо посредством простого, но

медленного алгоритма Евклида;

нахождения корней данного полинома, обычно решающегося полным

перебором всех возможных значений (алгоритм Ченя);

определения характера ошибки, сводящегося к построению битовой

маски, вычисляемой на основе обращения алгоритма Форни или

любого другого алгоритма обращения матрицы;

исправления ошибочных символов путем наложения битовой маски на

информационное слово и последовательного инвертирования всех

искаженных бит с помощью операции XOR.

Схема быстрого декодирования кодов РС приведена на рисунке 1.7. Здесь

особого внимания и более детального рассмотрения заслуживают алгоритм по

поиску локаторов искажений, а также алгоритм определения характера ошибок,

предложенный Форни [23].

Page 28: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

28

Вычисление полинома локаторов ошибок (стираний) Λ(х) с помощью алгоритма

Берлекэмпа-Месси

Локаторы искажений

Нахождение корней полинома Λ(х) по алгоритму Ченя

X𝑙 = 𝑙 = 1, … , 𝑣

Вычисление компонентов синдрома

𝑆𝑗 = 𝐶 𝛼𝑗 𝑗 = 1, … , 2𝑡

Приёмник𝐶 𝑥 = 𝑢 𝑥 + 𝑒 𝑥

Корректировка полученных данных

𝑢 𝑥 = 𝐶 𝑥 xor e 𝑥

Искаженные данные

2t синдром

Определение характера ошибки на основе алгоритма Форни

Ω 𝑥 = 𝑆 𝑥 ∙ Λ 𝑥 ∙ 𝑚𝑜𝑑 𝑥2𝑡

Λ 𝑥 = 𝑗 ∙ Λ𝑗 ∙ 𝑥 𝑗−1

𝑣

𝑗=1

𝑌𝑙 =Ω 𝑋𝑙

−1

Λ 𝑋𝑙−1

e𝑙 = 𝑌𝑙 ∙ 𝑋𝑙

Рисунок 1.7 – Схема быстрого декодирования кодов Рида – Соломона

1.2.1. Алгоритм Форни

Предположим, что в приемник аппаратуры передачи данных (АПД)

поступила кодовая комбинация кода РС с замешанным в нее шумом:

,xexuxC (1.21)

где u(x) – переданная передатчиком АПД кодовая комбинация, в которой в

процессе передачи по каналу связи произошло v ошибок, отображаемых

Page 29: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

29

многочленом e(x) степени v. Каждый ненулевой компонент e(x) описывается

парой элементов: Yi – величина ошибок и Xi – номер позиции ошибки (локатор

ошибки). Yi , Xi – элементы GF(q), при этом элемент Xi = αi , α

i GF(q).

Для описания ошибок используются:

Многочлен локаторов ошибок:

,1 01

1

1

1

xxxXxx v

v

v

v

v

i

i

(1.22)

имеющий корни Xi-1

, i = 1, …, v, взаимные к локаторам ошибок, то есть Xi ∙αi = 1.

Многочлен значений ошибок x :

,mod 2txxxSx (1.23)

где S(x) – синдромный многочлен бесконечной степени, для которого известны

только 2t коэффициентов для поступившей комбинации РС-кода. Синдром

рассчитывается согласно формуле (1.24):

.2

1 1

2

1

t

j

v

i

jj

ii

t

j

j

j xXYxSxS

(1.24)

Здесь jv

i

j

iij eXYS 1

– элемент синдрома, α j – корень порождающего

многочлена РС-кода. Значения jj eS задаются проверками:

,jjjj

j eeuCS (1.25)

где 1200 tmjm при 10 m .

Равенство (1.23) определяет множество из (2t – v) уравнений и называется

ключевым уравнением, так как оно представляется «ключом» решения задачи

декодирования. Это становится понятным, если учесть, что степень Ω(x) не

превышает (v – 1), и поэтому справедливо:

,012 t

vxSx (1.26)

где n

n

m

m

m

m

n

m xxxx

...1

1 .

Page 30: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

30

Из равенства (1.23) необходимо получить v уравнений для v неизвестных

коэффициентов Λ(x). Эти уравнения являются линейными. Они могут быть

решены обычными методами, либо с помощью итерационных процедур. После

нахождения многочлена Λ(x) ключевое уравнение позволяет найти неизвестные

компоненты вектора e(x) и по ним – выходной вектор декодера

xexuxC

[26].

Простейшим путем нахождения корней многочлена Λ(x) является метод

полного перебора всех возможных значений заданного поля, известный как

процедура Ченя. Эта процедура состоит в последовательном вычислении Λ(α j

)

для каждого j и сравнении полученных значений с нулем. Если величина Λ(α-k

)

равна нулю, то αk является взаимной к корню многочлена локаторов ошибок, и

k-й элемент кодовой комбинации содержит ошибку. Наиболее простым способом

вычисления значения Λ(x) в точке β является схема Горнера:

....... 0321 vvvv (1.27)

Для вычисления Λ(β) по схеме Горнера требуется только v умножений и v

сложений, где v – степень Λ(x).

После определения локаторов ошибок с помощью ключевого уравнения

рассчитываются значения ошибок. Для этого, используя значения сомножителей,

входящих в равенство для Ω(x), ключевое уравнение переписывается следующим

образом:

.mod11

mod1

1

22

1

1

2

1

2

1 1

1

v

i il

t

l

t

j

j

iiii

tv

i

i

t

j

v

i

jj

ii

xxXxXxXXY

xxXxXYx

(1.28)

После сворачивания выражения в квадратных скобках, получим:

.mod111

222

v

i il

t

l

tt

iii xxXxXXYx

(1.29)

Приводя выражение (1.29) по модулю tx2, получим:

Page 31: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

31

.11

v

i il

lii xXXYx

(1.30)

После чего вычисляется многочлен значений ошибок на позиции .: 1 lXxl

,1 11

lj

ljil XXXYX

(1.31)

откуда

.1 1

11

lj

lj

lll

XX

XXY

(1.32)

Далее рассчитывается производная x от многочлена локаторов ошибок:

.11

lj

j

v

i

i XxXx

(1.33)

Для l-й позиции получим:

.1 11

lj

ljll XXXX

(1.34)

С учетом выражения (1.32) lY значение ошибки на позиции l примет вид:

.1

1

l

ll

X

XY

(1.35)

Данный способ позволяет найти значения ошибок через ключевое

уравнение (1.23) и многочлен локаторов ошибок (1.27), однако решение самого

уравнения и нахождение многочлена локаторов ошибок является также сложной и

трудоемкой процедурой. Наиболее распространенной из них является алгоритм

Берлекэмпа – Месси.

1.2.2. Алгоритм Берлекэмпа – Месси

Нахождение решения ключевого уравнения (1.23), имеющего минимальную

степень, эквивалентно построению регистра сдвига минимальной длины с

обратными связями, отображающими Λ(x), порождающими первые 2t членов S(x).

Основное содержание БМА формулируется следующим образом. Вначале

находят самый короткий регистр сдвига, генерирующий S1. Далее проверяют,

Page 32: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

32

порождает ли этот регистр также S1. Если порождает, то данный регистр

по-прежнему остается наилучшим решением, и нужно проверить, порождает ли

он следующие символы синдромного многочлена. На определенном шаге

очередной символ уже не будет генерироваться. В этот момент нужно изменить

регистр таким образом, чтобы он:

правильно предсказывал следующий символ,

не менял предсказание предыдущих символов,

увеличивал длину регистра на минимально возможную величину.

Процесс вычисления продолжается до тех пор, пока не будут порождены

первые 2t символов синдрома [5, 6].

Алгоритм строится на основе итеративной процедуры. При каждой

итерации должны сохраняться как многочлен связей Λ(x), так и добавка B(x). Для

каждого нового члена S(x) предусматривается проверка правильности

предсказания этого символа текущим многочленом связи. Если предсказание

правильно, то многочлен связей не меняется, а добавка умножается на x. Если

предсказание неправильно (невязка Δr ≠ 0), то изменяют текущий многочлен

связей, прибавляя к нему добавку. После этого проверяют, увеличилась ли длина

регистра. Если она не увеличилась, то текущую добавку оставляют без

изменений. Если длина регистра возрастает, то лучшей добавкой считают

предыдущий многочлен связей. Для недвоичных полей добавку нормируют,

чтобы невязка стала равной 1. Далее при каждом исправлении эту

нормализованную добавку умножают на значение текущей невязки [87].

Блок-схема БМА приведена на рисунке 1.8.

Алгоритм выполняется за 2t = n – k итераций.

При этом многочлен значений ошибок находится непосредственным

умножением по формуле ключевого уравнения (1.23).

Page 33: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

33

Начальные значения

r = 0, Λ(x) = 1, L = 0, B(x) = 1, Ω(x) = 0, A(x) = 1

r ← r + 1

Вычисление ошибки в следующем компоненте синдрома

Δ𝑟 = Λ𝑗 ∙ 𝑆𝑟−𝑗

𝐿

𝑗=0

Δr = 0

Нет, отводы обратной

связи необходимо изменить

Да, отводы обратной связи

остаются без изменений

Вычисление нового многочлена связей, для которого

Δr = 0

𝑀 𝑥 = Λ 𝑥 + Δ𝑟 ∙ 𝑥 ∙ 𝐵 𝑥

2L ≤ r - 1Нет

Λ 𝑥 ← 𝑀 𝑥

𝐵 𝑥 ← Δ𝑟−1 ∙ 𝐵 𝑥

Сохранение прежнего регистра после нормализации

Λ 𝑥 ← 𝑀 𝑥 Модификация регистра сдвига

𝐿 ← 𝑟 − 𝐿 Изменение длины регистра

Да

𝐵 𝑥 ← 𝑥 ∙ 𝐵 𝑥

Lr – Lr-1 = 0 Ar(x) ←x∙Ar-1(x)Да

Нет

Вычисление новой добавки для Ω(x) :

A𝑟 𝑥 ← Δ𝑟−1 ∙ 𝑥 ∙ Ω𝑟−1 𝑥

r = 2t Нет

deg Λ(x ) = L

Да

К следующему этапу

декодирования

ДаСтоп

Нет

Многочлен значений ошибок, соответствующий Λr (x) :

Ω𝑟 𝑥 ← Ω𝑟−1 𝑥 + Δ𝑟 ∙ 𝐴𝑟−1 𝑥

Генерирует ли

существующий

регистр сдвига

следующий

компонент

синдрома?

Надо ли

увеличивать длину

регистра?

В принятой

комбинации более t

ошибок

Рисунок 1.8 – Алгоритм Берлекэмпа – Месси

Page 34: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

34

Принятые обозначения на рисунке 1.8:

r – номер итерации, r = 0, 1, 2, … , n – k = 2t;

Sr – компонент синдрома;

r – ошибка в вычислении Sr (r-я невязка);

(x) – многочлен локаторов ошибок, в соответствии с компонентами

которого строится регистр сдвига минимальной длины;

L – длина регистра сдвига, L deg (x);

B(x) – нормирующая добавка;

(x) – многочлен значений ошибок.

В [107] приводится дополнение к БМА, позволяющее в ходе решения

ключевого уравнения одновременно с нахождением значения многочлена

локаторов ошибок Λ(x) степени меньшей или равной t находить многочлен

значений ошибок Ω(x) степени меньшей или равной t – 1

Это дополнение на рисунке 1.8 представлено отдельными блоками.

Поскольку Ω(x) находится умножением Λ(x) на S(x), можно задать

последовательность многочленов Ωr (x), удовлетворяющих тем же рекуррентным

соотношениям, что и многочлены Λr (x). Чтобы избежать путаницы, обозначим

добавку при нахождении Ω(x) через Ar (x). Тогда, положив Ω0 (x) = 0 и A0 (x) = 1,

получим [13]:

.,

,

,

1

1

11

1

rr

rr

r

r

r

rrr

LLесли

LLесли

rxx

xAxxA

xArxx

(1.36)

Как видно из (1.36), решение ключевого уравнения с помощью БМА

требует запуска итеративной процедуры. На практике для реализации алгоритма

необходимо проектировать специальный сдвиговый регистр с обратными связями

[74].

Page 35: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

35

1.2.3. Алгоритм Евклида

В основе этого алгоритма лежит известная процедура нахождения

наибольшего общего делителя (НОД) двух полиномов. Задача декодирования

кодов РС в данном случае может быть переформулирована как задача

определения многочлена (x), удовлетворяющего ключевому уравнению (1.23).

Решение может быть найдено применением расширенного алгоритма Евклида к

многочленам r0(x) = xd и r1(x) = S(x), где d = 2t + 1 – кодовое расстояние, а S(x) –

синдромный многочлен. Если на j-ом шаге алгоритма получено решение:

)()()()( xSxbxxaxr j

d

jj

(1.37)

такое, что deg( rj(x) ) ≤ t, то (x) = rj(x) и Λ(x) = bj(x). В данном случае полином

αj (x) не представляет интереса, так как решение уравнения (1.23) ищется по

модулю xd [110].

Расширенный алгоритм Евклида, вычисляющий НОД ( r0(x), r1(x) ) , состоит

из следующих этапов:

устанавливаются начальные условия: a0(x) = 1, a1(x) = 0, b0(x) = 0,

b1(x) = 1;

на вход арифметико-логического устройства (АЛУ) согласно (1.37)

подаются значения r0(x) и r1(x), при этом deg( r0(x) ) ≥ deg( r1(x) );

на шаге j ( j ≥ 2 ) применяется длинное деление к многочленам rj-2(x) и

rj-1(x), результат деления представляется в виде:

,)(deg)(deg0

,)()()()(

1

12

xrxr

xrxrxqxr

jj

jjjj

(1.38)

где qj (x) – неполное частное, а rj (x) – остаток от деления на j-ом шаге;

вычисляется множитель bj (x):

;)()()()( 12 xbxqxbxb jjjj

(1.39)

проверяется степень полученного многочлена rj (x), если deg( rj(x) ) ≤ t ,

то выполнение алгоритма заканчивается, в противном случае алгоритм

переходит на следующий шаг, и процедура повторяется;

Page 36: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

36

на выходе АЛУ возвращает рассчитанные значения многочлена

значений ошибок (x) = rj(x) и многочлена локаторов ошибо

Λ(x) = bj(x) [110].

Блок-схема вычисления полинома локаторов ошибок и решения ключевого

уравнения согласно алгоритму Евклида представлена на рисунке 1.9

Начало

Инициализация

;1,0

),(

,

10

1

0

bb

xSr

xr d

Деление многочленов

xr

xr

j

j

1

2

xrxrxqxr jjj 12

Обновление множителей

,12 xaxqxaxa jjjj

.12 xbxqxbxb jjjj

txr j deg 1 jj

xrx j

xbx j

К следующему этапу

декодирования

да

нет

Рисунок 1.9 – Алгоритм Евклида

1.2.4. Алгоритм Гурусвами – Судана

Алгоритм списочного декодирования Гурусвами – Судана (ГСА)

обобщенных кодов РС состоит из двух основных этапов [28]:

Page 37: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

37

интерполяции;

факторизации.

На первом этапе по полученному из канала связи кодовому слову строится

полином двух переменных специального вида Q(x, y), такого что:

,),(wdeg ,1 lyxQk (1.40)

где (1, k) – взвешенная степень wdeg(1, k) Q(x, y) многочлена Q(x, y), равная

максимуму (1, k)-взвешенных степеней его ненулевых членов. При этом точки

(xi , yi ) являются корнями этого многочлена кратности r:

.,...,1,,0),( 21

, 21 nirjjyxQ ii

jj (1.41)

На втором этапе полином Q(x, y) разлагается на сомножители, по которым

строится список. Для этого ищутся все многочлены f (j)

(x), удовлетворяющие

условиям (1.42). Далее строятся соответствующие им кодовые слова и

выбираются те из них, которые отличаются от принятого вектора менее чем в τ

позициях.

.0,,deg xfxQkxf jj

(1.42)

Доказательство справедливости приведенного выше алгоритма, а также

выражения, связывающие параметры l, r, τ, k, n, в рамках этой работы

приводиться не будут. Их можно найти в [28].

В настоящее время существуют эффективные алгоритмы построения

многочлена Q(x, y). Наиболее распространен среди них итеративный

интерполяционный алгоритм (ИИА) [121]. Он состоит в том, что вместо

построения одного многочлена, удовлетворяющего вышеперечисленным

условиям, строятся ρ + 1 интерполяционных многочленов, при этом их степени по

y не превышают ρ. Величина ρ выбирается таким образом, чтобы искомый

многочлен, удовлетворяющий условиям (1.40), гарантированно присутствовал

среди этих многочленов. Для лучшего понимания алгоритма представим вектор

многочленов

Page 38: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

38

,...,0,,0

jyxqyxQi

i

ijj

(1.43)

в виде произведения Y∙Q(x, y), где Q(x) – некоторый матричный многочлен

,xqxQ ij

(1.44)

а – Y вектор вида Y = ( y0 , y

1 , … , y

ρ ).

На начальном этапе полагается Q(x) = I. Последовательно обрабатывая

интерполяционные точки (xi , yi ) и соответствующие им уравнения (1.41), на

каждом шаге необходимо домножать Q(x) справа на матрицу вида:

,

1000

0010

0001

000

2110

,,

j

i

jj

jji

xx

(1.45)

где ii

jj

jj yxQ ,21, , ),(minarg

0:0 yxQj j

j j , причем минимальный многочлен

определяется на основе градуированного лексикографического порядка. Элемент

x – xi располагается в столбце j0 и строке j0. Умножение на данную матрицу

приводит к тому, что производные Хассе порядка [ j1, j2 ] всех многочленов

Q(x, y) в точке (xi , yi ) обращаются в ноль. После обработки всех

интерполяционных точек многочлены Q j (x, y) будут удовлетворять уравнениям

(1.41), а их старшие члены будут иметь вид ,...,0,, LT j jyxyxQ ji j

, причем

показатели степеней ij будут минимально возможными. После чего среди этих

многочленов выбирается многочлен с наименьшей взвешенной степенью,

который и является решением задачи интерполяции [121].

На этапе факторизации ГСА требуется нахождение всех f (j)

(x) полученного

многочлена Q(x, y) , таких что:

Page 39: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

39

.deg

,0,

kxf

xfxQ

j

j

(1.46)

Наиболее эффективным способом решения данной задачи является

алгоритм Рота – Рукенштейна [121]. Данный алгоритм позволяет найти

коэффициенты многочленов i

i

ji

j xfxf )( в порядке возрастания i

одновременно для всех j. Для нахождения коэффициентов всех f j,0 необходимо

поделить Q(x, y) на максимально возможную степень x. Тогда из (1.46) следует,

что:

.00,0,0 0, j

j fQfQ

(1.47)

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

переменной из уравнения (1.47), можно найти все значения f j,0. Тогда:

.,,,0 0, xfxQxfxfxQxfxQ jjj

j

j

(1.48)

Оставшиеся коэффициенты )(xf j

, обозначенные в (1.48) как )(xf j

,

могут быть найдены из (1.49) аналогичным образом:

.,, 0, xyfxQyxQ j

j (1.49)

Таким образом, ГСА позволяет произвести списочное декодирование кодов

РС за полиноминальное время, которое может оказаться чрезмерно большим для

практического применения. При этом наиболее трудоемким шагом является

построение интерполяционного многочлена от двух переменных, проходящего с

некоторой кратностью точки, соответствующие принятым символам [121].

1.3. Декодирование сверточных кодов. Алгоритм Витерби.

Как для блоковых, так и для сверточны кодов наименьшую вероятность

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

правдоподобия. Алгоритм максимума правдоподобия для сверточного декодера

заключается в поиске такого пути на решетчатой диаграмме (рисунок 1.4), чтобы

его кодовое слово отличалось от принятого в наименьшем числе позиций.

Другими словами, необходимо выбрать кратчайший (наименьшего веса) путь на

Page 40: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

40

треллисе. Для двоичного симметричного канала (ДСК) декодер, работающий по

алгоритму минимума расстояния, вычисляет расстояние Хэмминга между

принятым кодовым словом и принимает решение в пользу того кодового слова,

которое окажется ближайшим к принятому. Реализация такого устройства связана

с существенными затратами. Однако реализацию декодера можно значительно

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

алгоритмов декодирования сверточных кодов алгоритм Витерби является

наиболее эффективным.

Суть алгоритма заключается в том, что на каждом этапе декодирования

сверточных кодов, сравнивается n0 путей, входящих в один узел решетчатой

диаграммы. При этом из них сохраняется только тот путь, вес которого

наименьший (кратчайшее Хэмминговое расстояние). Эти пути называются

выжившими, а остальные исключаются из рассмотрения. Для двоичных

сверточных кодов n0 = 2.

Продолжая пример, рассмотренный в параграфе 1.1.2, проследим процесс

восстановления кодовой комбинации сверточного кода по алгоритму Витереби на

приемной стороне. Предположим, что из канала связи была принята комбинация

110100111011r . Искажение комбинации произошло в шестом бите принятого

блока, то есть в третьем узле решетки. Условимся, что прием осуществлялся по

ДСК, тогда в качестве веса пути можно использовать Хэмминговое расстояние

между принятой последовательностью и кодовыми словами решетки. Поэтапный

процесс построения треллиса декодером показан на рисунках 1.10а-д. Десятичные

цифры на рисунке, представленные в соответствующих узлах решетки, указывают

расстояние Хэмминга, накопленное выжившим путем в этом узле.

На каждом этапе декодер Витерби делает предположение о том, какой

символ поступил из канала. В случае двоичного сверточного кода этим символом

может быть либо 0, либо 1. Из текущего узла решетки декодер строит два

возможных пути, при этом в каждый следующий узел приходят также два пути-

кандидата, из которых выживет только один, который и будет сохранен в памяти

декодера с накопленным им весом.

Page 41: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

41

00

01

10

11

а2

0

3

3

2

0

11 10

00

01

10

11

б2

0

3

0

2

3

1

1

11 10 11

2

00

01

10

11

в

0

0

2

1

1

11 10 11

2

00 2

1

2

2

00

01

10

11

г

0

0

2

1

1

11 10 11

2

00 2

1

2

3

3

1

2

01

00

01

10

11

д

0

0

2

1

1

11 10 11

2

00 2

1

2

3

3

1

2

01 1

3

3

3

11

Рисунок 1.10 – Траектория выживших путей и их веса

На первом этапе декодер начинает работу из состояния 00, поэтому

строятся только два возможных пути, ведущих в состояние 00, если

закодированный информационный символ был равен 0 и в состояние 10, если

закодированный символ был равен 1. Автомат, описывающий эти переходы, был

представлен на рисунке 1.2. Далее из этих узлов формируются новые пары путей

(рисунок 1.10а). На следующих этапах процедура повторяется, вес текущего пути

прибавляется к накопленному весу узла. На третьем этапе (рисунок 1.10б)

декодер проходит кодовое ограничение K = 3. Начиная с этого момента, в каждый

узел решетки приходит по два конкурирующих пути. Задача декодера

заключается в том, чтобы выбрать из них путь с наименьшим весом и сохранить

его для дальнейших этапов декодирования. На шестом такте (рисунок 1.10д) уже

можно выделить путь минимальной длины. Если декодирование завершить на

этом этапе и проследить весь этот путь от начала до конца, можно увидеть, что

декодированная последовательность имеет вид 001011u

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

ошибка в шестом разряде принятой комбинации была исправлена.

Предположим, что в рассмотренном примере прием продолжается. Декодер

безошибочно принимает нулевую комбинацию вида 000000r , тогда

декодирующая решетка примет вид:

Page 42: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

42

00

01

10

11

0

0

1

11 10 11 00

1

1

01 111 00 00 001 1

3

1

3

4

4

Рисунок 1.11 – Слияние выживших путей на треллис-диаграмме

Выжившие пути можно отличать друг от друга на протяжении многих

тактов. На рисунке 1.11 видно, что первые 7 тактов выживших путей совпадает,

произошло так называемое слияние путей. В этот момент времени алгоритм

Витерби принимает решение о переданных символах, так как выжившие пути

приходят из одной вершины. Количество тактов, за которое происходит такое

слияние, называется глубиной декодирования L. Глубина не может быть

вычислена заранее, так как зависит от количества ошибок в канале. Поэтому при

практической реализации необходимо устанавливать фиксированную глубину

декодирования. Как правило, она выбирается равной 4 или 5 длинам кодового

ограничения.

1.4. Каскадные коды

Наилучшие на сегодня коды получены не как представители того или иного

семейства кодов, а с помощью процедуры модификации и комбинирования.

Применение мощных кодов с высокой корректирующей способностью

ограничено высокой сложностью реализации оптимальных декодеров,

обеспечивающих минимальную вероятность ошибочного декодирования кодовых

блоков [88]. При выборе методов кодирования и главным образом методов

декодирования, руководствуются многими факторами, которые делятся на три

основные группы, взаимосвязь между которыми показана на рисунке 1.12.

Параллельные турбокоды не подходят для реализации адаптивных

алгоритмов кодирования в силу сложности реализации процедуры синхронизации

кодеков, поэтому при разработке адаптивных систем помехоустойчивого

кодирования (СПК) рассматриваться будут только каскадные конструкции [124].

Page 43: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

43

Корректирующая способность

Сложности реализации Пропускная способность

Рисунок 1.12 – Взаимосвязь между параметрами кодовых конструкций

Построение обобщенных каскадных кодов сводится к последовательному

подключению нескольких простых кодеков. Основные принципы

двухступенчатого каскадного кодирования показаны на рисунке 1.13.

Предположим для простоты, что рассматриваемый канал имеет двоичный вход.

Внешний кодер(n1, k1)

Внутреннийкодер(n2, k2)

Канал связиВнутренний

декодер(n2, k2)

Внешний декодер

(n1, k1)

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

К приёмникуинформации

Рисунок 1.13 – Схема построения канала связи с использованием каскадного кода

В качестве внешнего кода выбран недвоичный блоковый код,

использующий k2-битовые символы. Эти символы поступают в кодер внешнего

кода от источника информации. Внешний кодер формирует n1-символьные

кодовые блоки, причем k1 символов из них являются информационными. Далее

k2-битовые символы, выходящие из кодера внешнего кода, кодируются кодером

внутреннего кода. При этом добавляются (n2 – k2 ) проверочных двоичных

символов. Для осуществления двоичной передачи по каналу связи, полученные

внутренним кодером n2-битовые символы, переводятся в последовательный вид.

Процесс формирования кодового блока каскадного кода проиллюстрирован на

рисунке 1.14. Такой вид каскадного кодирования получил название произведения

блоковых кодов [98, 105].

Page 44: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

44

n2

k2

n1

k1

Рисунок 1.14 – Схема формирования кодового блока каскадного кода

На приемной стороне могут использоваться как жесткие, так и мягкие

решения. В любом случае результаты этих решений параллельно подаются на

декодер внутреннего кода. Этот декодер дает оценку каждого n2-битового

символа внешнего кода с относительно малой вероятностью ошибки ps. Затем

декодер внешнего кода исправляет максимально возможное количество

символьных ошибок, минимизируя окончательную вероятность битовой ошибки

Pb. При этом результирующие параметры каскадного кода будут рассчитывать

согласно выражениям (1.50) – 1.52).

21 nnN (1.50)

21 kkK (1.51)

21

2121

kn

nkrrR

(1.52)

Двухступенчатое каскадное кодирование формирует кодовые

последовательности длинной N, но при этом они обрабатываются двумя

устройствами, что существенно снижает сложность кодека по сравнению с

одноступенчатым кодированием.

1.4.1. Коды Рида – Соломона как внешняя ступень каскадного кода

Наиболее естественно в качестве внешней ступени каскадного кодирования

выбирать коды РС. Эти коды получили свое повсеместное распространение,

Page 45: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

45

поскольку являются кодами с максимальным расстоянием d = n – k + 1 среди

аналогичных блоковых кодов, что положительно сказывается на их

помехоустойчивости [60Ошибка! Источник ссылки не найден.].

Необходимость использования кодов РС в каскадной схеме кодирования

обуславливается также особенностями самих кодов РС. Эффективное

использование их в чистом виде возможно только при выборе кода с

относительной скоростью кодирования 7,0n

kR . Дальнейшее увеличение

избыточности кода не приводит к существенному выигрышу в

помехоустойчивости [67], что отражено на кривых BER (Bit Error Rate) на

рисунке 1.15. Поэтому для эффективной работы кодов РС при низких

соотношениях сигнал-шум их необходимо включать в каскадные схемы

кодирования.

Рисунок 1.15 – Кривые BER различных кодов РС

Коды РС хорошо противодействуют пакетам ошибок, которые возникают

при воздействии на канал импульсной помехи [78]. Но для эффективной работы

кодека в целом необходимо иметь в составе СПК механизм борьбы с одиночными

Page 46: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

46

ошибками. Поэтому в качестве внутренней ступени кодирования целесообразно

использовать сверточный код, который эффективен при воздействии одиночных

ошибок. Так при каскадном включении кодов РС и сверточных кодов,

энергетический выигрыш СПК повышается на 2-5 дБ по сравнению с

использованием кодов РС в чистом виде при той же скорости кодирования [73],

что отражено на рисунке Ошибка! Источник ссылки не найден..

Рисунок 1.16 – Сравнение кривых BER каскадных кодов и кодов РС

1.4.2. Сверточные коды как внутренняя ступень каскадного кода

В качестве внутренней ступени каскадного кода весьма эффективными на

практике показали себя сверточные коды. Поскольку сверточный код можно

применять при умеренно высоких вероятностях ошибки, наиболее перспективным

является использование кодов с малой длиной кодового ограничения и

алгоритмом декодирования Витерби.

При работе сверточного кодека необходимо соблюдать блоковую

синхронизацию, то есть совпадение начала блока внешнего кода и каждого его

символа. После декодирования алгоритмом Витерби обработанные данные вновь

Page 47: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

47

должны быть переведены в k2-битовые символы, поступающие на вход внешнего

декодера (декодера РС). Однако здесь возникает дополнительная проблема.

Ошибки на выходе декодера Витерби, как правило, группируются в пакеты, так

что искажения в последовательных символах кода РС будут

некоррелированными. Поскольку корреляция может вызвать ухудшение

параметров декодера Витерби, следует применять перемежение. Оно должно быть

таким, чтобы никакие два символа на выходе декодера Витерби, расстояние

между которыми меньше глубины декодирования, не принадлежали одному и

тому же кодовому слову кода РС.

Сочетание кодов РС и сверточных кодов в каскадных конструкциях, при

условии выполнения вышеоговоренных условий, обладает замечательными

характеристиками. Оно позволяет работать при отношениях сигнал-шум

5.2...0.20 NEb дБ и при относительно высоких скоростях поступления

данных, получая при разумной сложности аппаратуры вероятность битовой

ошибки 610bP [107].

1.5. Способы детектирования сигнала на входе приемника

Существуют различные аналитические модели построения декодеров,

отличающиеся друг от друга количеством дополнительных данных, получаемых

декодером от детектора, о качестве принятого сигнала. Выбранные детектором

методы принятия решения могут сделать процедуру декодирования более

эффективной, но при этом более трудоемкой, либо сократить сложность декодера,

но при этом несколько уменьшить его эффективность. В настоящее время

выделяют три метода принятия решения о переданном символе:

жесткие методы;

методы работы в стирающем канале связи;

мягкие методы.

Все эти методы активно применяются в современных СПК, и выбор того

или иного метода зависит от конкретной задачи [125].

Page 48: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

48

1.5.1. Жесткие методы

Вероятность появления ошибки для линейных блочных кодов зависит от

того, использует ли декодер мягкие или жесткие решения. При декодировании с

жестким решением каждый бит кодового слова при прохождении через

зашумленный канал связи и обработке в приемнике демодулируется как 0 или 1,

не зависимо от того насколько надежно этот символ был принят.

Для упрощения сложной процедуры моделирования непрерывных каналов

связи, часто прибегают к упрощениям. Одной из таких упрощенных моделей

является модель ДСК. Подобная модель является простейшим примером

взаимодействия двух источников без памяти. ДСК является дискретной двоичной

моделью передачи информации по каналу с аддитивным белым гауссовским

шумом (АБГШ) и описывается с помощью диаграммы переходов состояний,

представленной на рисунке 1.17.

Передано Принято

0

1

0

1

1 - p

p

p

1 - p

Рисунок 1.17 – Модель двоичного симметричного канала

На диаграмме представлены возможные переходы двоичных символов от

передатчика в двоичные символы приемника. Каждому переходу приписана

переходная вероятность. Ошибочные переходы выделены пунктиром. Их

вероятность равна p. Для ДСК все ошибочные переходы равновероятны, также

как и все верные переходы, а все переходы из одной точки передатчика образуют

полную вероятность. Таким образом, вероятность верного перехода равна 1 – p.

Для декодирования с жестким решением переходы возможны только в два

состояния 0 и 1, и никакая дополнительная информация о качестве приема от

детектора не учитывается [101].

Page 49: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

49

Рисунок 1.18 – Условные плотности распределения вероятностей для двух сигналов

Более полное понимание принципов формирования решений, принимаемых

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

вероятностей (ПРВ), представленных на рисунке 1.18. Положим, что на выходе

непрерывного канала связи сигнал принимает два противоположных значения z(t)

и -z(t). Если энергию передаваемого сигнала принять bE , то для системы с

амплитудной модуляцией сигналы примут вид: bEutz 0 и bEutz 1 .

Здесь u0 – значение сигнала, соответствующее передаче нуля, а u1 – передаче

единицы. В современных системах связи из-за наличия в них скремблеров,

шифраторов и перемежителей u0 и u1 можно считать равновероятными. При

передаче по гауссовскому каналу связи сигнал 0u , с выхода детектора поступает

смесь:

,1 tntutzi (1.53)

где zi(t) – принятый сигнал, n(t) – гауссовский шум со спектральной плотностью

мощности N0, имеющий нулевое среднее m0 = 0 и дисперсию 20

2 N , а i = 0, 1.

При этом ui(t) – также гауссовский процесс со спектральной полосой шириной W,

имеющий спектральную плотность мощности EW .

Согласно принципам работы детектора, принимающего только жесткие

решения, необходимо сравнить принятый сигнал zi(t) с нулевым порогом. Если

z > 0, то решение принимается в пользу u1(t), в противном случае, при z < 0 – в

Page 50: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

50

пользу сигнала u0(t). Условные плотности распределения вероятностей для z,

представленные на рисунке 1.18, находятся согласно формулам (1.54) и (1.55).

,1

| 0

2

0

1

NEz b

eN

uzp

(1.54)

.1

| 0

2

0

0

NEz b

eN

uzp

(1.55)

Вероятность ошибочного приема u0 при условии, что передан был сигнал u1

определяется вероятностью того, что z < 0, то есть:

0

11 .|| dzuzpuep

(1.56)

При жесткой форме декодирования не предполагается использование

информации, полученной при демодуляции, которая может применяться

канальным декодером. Расстояние от bE до bE для принимаемого бита

может использоваться в канальном декодере для принятия лучших решений о

передаваемом символе. Декодер, в котором эти расстояния учитываются,

называют мягким. Декодирование с мягким решением, как правило, не

используется в блочных кодах из-за его сложности.

1.5.2. Методы стирающего канала связи

Для минимизации вероятности ошибочного декодирования необходимо

принимать от детектора не только значение переданного символа, но и степень

надежности его приема. Так ненадежно принятые элементы кодовой конструкции

помечаются специальным символом, так называемым стиранием. Такой подход

представляет собой простейшую форму мягкого декодирования. По статистике,

наибольшее количество ошибок происходит именно на стертых позициях

кодового слова. Знание этих позиций может во многом облегчить процедуру

поиска локаторов ошибок и тем самым повысить корректирующую способность

кода, поэтому процедура оптимального выбора стертых элементов является

важной и актуальной задачей.

Page 51: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

51

При создании модели канала со стираниями выбирается симметричный

интервал относительно ρ нулевого порога, тогда вероятность того, что принятый

элемент будет стерт, равна пслсs ppp , где лсp – вероятность ложного

стирания, а псp – вероятность правильного стирания. При этом вероятность

ложного стирания лсp в условиях гауссовских шумов всегда будет выше

вероятности правильного стирания псp .

0

1

0

1 || dzuzpdzuzp

(1.57)

Условные плотности распределения вероятностей для двух сигналов,

принимаемых по каналу со стираниями, примут вид, как на рисунке 1.19.

Расстояние между значениями bE и bE определяет различимость между

сигналами u0 и u1 и зависит только от соотношения сигнал-шум в канале.

Рисунок 1.19 – Условные плотности распределения вероятностей для двух сигналов с

симметричным интервалом стирания

Изменит вид также граф переходных состояний для двоичного

симметричного канала со стираниями (ДСКС). Схема переходных вероятностей

ДСКС представлена на рисунке 1.20, где состояние S характеризует стертую

позицию.

Page 52: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

52

Передано Принято

0

1

0

1

1 – p – pS

p

p

S

1 – p – pS

pS

pS

Рисунок 1.20 – Граф переходных состояний в стирающем канале связи

Рассматриваема модель стирающего канала связи, в котором стирания

разделяют на правильные и ложные, можно представить в виде графа,

изображенного на рисунке 1.21.

Передано Принято

0

1

0

1

1 – p – pлс – pпс

p

Sлсpпс

pлс

Sпс

Рисунок 1.21 – Граф переходных состояний с разделением на ложные и правильные

стирания

1.5.3. Мягкие методы

Как уже было описано ранее, для улучшения помехоустойчивости системы

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

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

выигрыш системы, так как для передачи сообщения с той же вероятностью

правильного декодирования, что и при жестком приеме, потребуется меньшая

мощность передатчика. При этом декодеру придется обрабатывать значения

символов и их метрики надежности, что существенно осложняет приемную

аппаратуру, однако увеличивает помехозащищенность системы, не снижая

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

Page 53: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

53

название мягких методов и в настоящее время широко используются на практике.

Графики зависимости вероятности ошибки на бит от соотношения сигнал-шум в

канале для мягкого и жесткого декодеров, представлены на рисунке 1.22. Эти

кривые принято называть BER, по ним определяют энергетический выигрыш

системы, а, следовательно, и ее эффективность. Так для сверточного кода

(171, 133) при вероятности ошибки на бит 10-6

энергетический выигрыш от

использования мягких решений составляет порядка 2.5 дБ [50].

При использовании жесткого декодирования оптимальной является

процедура, при которой выбирается кодовое слово, отличающееся от принятого

слова в наименьшем числе символов. Таким образом, выбирается кодовое слово,

которое минимизирует расстояние между ним и принятой последовательностью.

Такой декодер называют декодером максимального правдоподобия, и он легко

обобщается на случай мягкого решения. Суть метода состоит в том, чтобы ввести

расстояние, пригодное для мягких решений.

Рисунок 1.22 – BER сверточных декодеров с мягким и жестким решением

В мягких схемах приема детектор передает декодеру последовательность из

n чисел, являющихся отсчетами напряжения на выходе согласованного фильтра.

Page 54: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

54

Если z – фактически принятая последовательность, а u – переданная по

гауссовскому каналу последовательность, то p(u | z) – условная вероятность того,

что передано было слово u, при условии, что принято было слово z, вычисляется

согласно формуле (1.58):

,11

| 1 0

2

0

2

01 0

n

i

iiii

N

uzn

N

uzn

i

eN

eN

uzp

(1.58)

где ui – компоненты переданного кодового вектора u, равные bE , а zi – метрики

фактически принятого вектора. Выражение (1.58) принимает максимальное

значение, когда расстояние d принимает максимальное значение.

.1

22

n

i

ii uzd

(1.59)

Расстояние d является евклидовым расстоянием между предположительно

переданной последовательностью и принятым сигналом.

В реальных системах связи точные значения выходного напряжения zi не

используются, так как это сильно усложняет декодер. Как правило, эти значения

квантуются и представляются некоторыми числами, указывающими тот уровень

квантования, которому соответствует данное напряжение. Эти числа называются

мягкими решениями символа (МРС). С практической точки зрения МРС

выбираются относительно грубо, что уменьшает стоимость аналого-цифрового

преобразователя (АЦП), а также число двоичных разрядов, необходимых для их

представления. Одной из наиболее востребованных схем является схема

квантования на восемь уровней [95, 101], предложенная Витерби. Согласно этой

схеме условные ПРВ сигналов, переданных с амплитудной модуляцией по каналу

с АБГШ, примут вид, представленный на рисунке 1.23, где более темным цветом

выделены наименее надежные символы.

Page 55: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

55

Рисунок 1.23 – Условные ПРВ сигналов, принятых с мягким решением, квантованном на 8

уровней по Витерби

Если по каналу была передана последовательность u из n символов, то

вероятность того, что принятая последовательность равна z, записывается как

произведение соответствующих переходных вероятностей, согласно выражению

(1.60):

.||1

n

i

ii uzpuzp

(1.60)

Логарифмируя обе части выражения (1.60), получаем выражение (1.61):

.|log|log1

n

i

ii uzpuzp

(1.61)

Руководствуясь формулой (1.61) можно определить символьную метрику с

помощью более удобной для вычислений функции. Тогда эта функция примет вид

(1.62):

,0|log jpBAm j (1.62)

где p( j | 0 ) – переходная вероятность при условии, что был передан символ 0.

Константы A и B выбирают таким образом, чтобы минимальное значение mj

равнялось 0, а все остальные значения mj лежали в некоторой удобной

положительной области. В случае канала с жестким решением A и B выбирают

так, чтобы расстояние принимало значения 0 и 1. Следовательно, метрика в

Page 56: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

56

точности отвечает числу ошибок и выбор кодового слова, содержащего

наименьшее число ошибок, является оптимальной стратегией.

Недостатком введенного метода расчета метрик состоит в том, что для их

вычисления необходимо знать переходные вероятности. Кроме того, при

построении оптимального декодера следует менять значение метрики при

изменении соотношения сигнал-шум. На практике решение этой задачи состоит в

выборе фиксированного множества значений метрики, которое легко задать и

которое дает наилучший компромисс для разных значений сигнал-шум. Наиболее

востребованной является схема, в которой mj = j. Если число уровней равно 8, то

метрика принимает целые значения от 0 до 7. Такой выбор является оптимальным

приближением во многих используемых на практике декодерах и приводит лишь

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

условий работы [107]. В Приложении В приведено описание изобретения

«Мягкий декодер последовательного турбокода», использующего целочисленные

решения для получения статистической оценки принимаемого сигнала.

1.6. Выводы по главе

1. В связи с бурным развитием инфокоммуникационный сферы в мире,

возрастают требования к скорости передачи информации. Это приводит к

развитию сложных методов цифровой модуляции, таких как PSK, QAM, OFDM,

обеспечивающих больший спектральный выигрыш. Как следствие

совершенствуются и методы помехоустойчивого кодирования. В частности,

широкое распространение получили недвоичные коды, которые в наибольшей

степени соответствуют этим сигналам по своей структуре. Коды Рида –

Соломона, как яркий пример таких кодов, в настоящее время используется

практически во всех современных системах передачи данных. Однако реализация

алгоритмов их декодирования является достаточно сложной задачей.

2. Существуют различные подходы к декодированию кодов РС. Выбор

того или иного алгоритма зависит от конкретных требований к СПК и ее

аппаратных возможностей. БМА имеет сложную ветвистую структуру, что при

Page 57: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

57

аппаратной реализации выливается в громоздкие схемы, требующие большого

количества вычислительных мощностей. Алгоритм Евклида гораздо проще в

реализации, но менее эффективен в силу медленной обработки данных. ГСА

эффективен только при низких соотношениях сигнал-шум. Так как

разрабатываемая СПК будет проектироваться на логике ПЛИС, то алгоритм

декодирования кодов РС должен быть оптимален в плане затрачиваемой на его

реализацию площади кристалла, энергопотребления и скорости работы. Кроме

того, алгоритм должен быть способным быстро обрабатывать высокоскоростные

потоки данных и не терять своей эффективности в зашумленных каналах связи.

3. В целях повышения скорости обработки данных имеет смысл

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

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

некорректно принятых сообщений. Перевыдача коротких блоков информации

позволяет значительно сократить проседание скорости передачи. Кроме того,

декодирование укороченных блоков требует существенно меньшие объемы

вычислений, что сокращает энергопотребление устройства и занимаемую

устройством площадь на кристалле ПЛИС.

4. Также снизить сложность декодера и увеличить его корректирующую

способность позволяет включение кодека РС в каскадные конструкции как

внешнюю ступень кодирования. Так как декодеры РС эффективны в борьбе с

группирующимися ошибками, больший выигрыш в корректирующей способности

всей системы дадут сверточные коды, задействованные на внутренней ступени

кодирования, так как они предназначены для устранения одиночных искажений.

5. Дополнительно повысить корректирующую способность СПК, не

снижая при этом скорости передачи информации, можно за счет использования

мягких методов декодирования. Принятие мягких решений приемником способно

обеспечить энергетический выигрыш до 3 дБ. Однако использование таких

методов усложняет процесс декодирования. Компромиссом в данной ситуации

может стать использование восьмиуровневого целочисленного квантования

принятого сигнала. При более жестких требованиях к сложности устройства

Page 58: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

58

необходимо отказаться от использования мягких решений в пользу стирающих

каналов.

6. Так как разрабатываемая СПК будет использоваться подвижными

абонентами, необходимо предусмотреть ряд условий при ее реализации. На

радиоканалы, в отличие от проводных, действуют дополнительные

дестабилизирующие факторы, такие как замирания, изменяющиеся

климатические условия, преднамеренные помехи. СПК необходимо реагировать

на подобные явления и иметь возможность адекватно перестраиваться под

изменяющиеся условия в канале связи, обеспечивая при этом максимальную

скорость передачи информации при заданном уровне ее достоверности. Для

решения этой проблемы подходят адаптивные кодеки, способные «на лету»

менять свои параметры, подбирая корректирующую способность кода,

соответствующую уровню помех в канале.

Page 59: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

59

ГЛАВА 2.

ПРОЕКТИРОВАНИЕ КАСКАДНОГО КОДЕКА, ПОСТРОЕНИЕ ЕГО

МАТЕМАТИЧЕСКОЙ МОДЕЛИ

2.1. Постановка задачи

При проектировании кодека, прежде всего, необходимо подобрать его

характеристики. Декодирование кодов РС является весьма сложной процедурой,

требующей существенных вычислительных издержек. С увеличением поля Галуа,

в котором осуществляются все арифметические операции при декодировании,

увеличивается эффективность кода, однако возрастает и сложность устройства,

поэтому выбор оптимальных параметров кодека является актуальной задачей.

При аппаратной реализации кодека РС в СПД, наиболее ресурсоемкой

процедурой является поиск локаторов ошибок, который выполняется по

алгоритму Берлекэмпа - Месси. Упразднение этой процедуры значительно

сократит объем вычислений, необходимый при декодировании кодов РС. В

данной главе будут рассмотрены следующие подходы, определяющие положение

ошибок в кодовом блоке, без применения БМА:

двукратная выдача кодового блока РС;

произведение блоковых кодов;

использование стирающего канала.

Эти подходы будут подробно рассмотрены в последующих параграфах на

примере внешнего кода РС (15, 9). Также будет проведен анализ эффективности

этих методов в сравнении с классическим.

2.2. Коды РС в стирающем канале связи

Все перечисленные выше подходы к упразднению процедуры поиска

локаторов ошибок сводятся к необходимости знать позиции ошибочных

символов, что аналогично работе декодера в стирающем канале связи.

Наличие стираний для кода, определенного над полем GF(q), означает, что

демодулятор имеет q обычных выходных символов и (q + 1)-й символ,

Page 60: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

60

соответствующий стиранию. Предполагается, что при появлении стирания нет

абсолютно никакой информации о том, какой символ был фактически передан

[107].

Для исправления стираний в кодах РС необходимо ввести многочлен

локаторов стираний, аналогичный многочлену локаторов ошибок:

,11

e

i

iXxx

(2.1)

где e – максимальное количество стираний, которое способен исправить код.

Зная позиции стираний, можно вычислить Г(x) и подставить на эти места

произвольные принятые символы, вычислив после этого S(x). Ключевое

уравнение для исправления стираний примет вид:

,mod exxxSx

(2.2)

Дальнейшее исправление стираний полностью соответствует классическому

алгоритму нахождения значений ошибок по алгоритму Форни.

2.3. Двукратная выдача кодового блока

Из предложенных методов этот наиболее прост в реализации. Суть его

заключается в повторной выдаче каждого кодового блока РС. Для минимизации

действия импульсной помехи все символы, поступающие в канал связи,

перемежаются. На приемной стороне после деперемежителя кодовая

последовательность восстанавливается, при этом символы, значения которых не

совпадают с повторно принятыми, считаются ошибочными. Номера позиций этих

символов поступают в декодер, где рассчитываются значения этих символов

согласно алгоритму Форни. Таким образом, благодаря использованию двукратной

выдачи кодового блока, удастся избежать процедуры вычисления позиций

искаженных символов. Такие символы можно считать стертыми, а декодер, как

известно, восстанавливает в два раза больше стираний, чем ошибок по

классическому алгоритму [110].

Для определения эффективности данного подхода к декодированию кодов

РС необходимо построить график BER предложенного кодека и сравнить кривые

Page 61: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

61

с классическим методом декодирования. Графики будут строиться

нормированными относительно энергии, приходящейся на каждый бит принятого

символа. Делается это для объективности оценки эффективности того или иного

метода помехоустойчивого кодирования. Рассматриваться графики будут на

примере СПД с QAM-16 модуляцией. Полученные графики представлены на

рисунке 2.1.

Рисунок 2.1 – Значения BER для кодов РС(15, 9) с двукратной выдачей кодового блока и с

классическим способом декодирования

Из рисунка 2.1 видно, что предложенный подход существенно уступает в

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

дальнейшем он рассматриваться не будет.

2.4. Произведение кодов РС и БЧХ

В качестве другого способа замещения процедуры расчета локаторов

ошибок рассмотрим произведение блоковых кодов, то есть систему кодирования,

при которой для каждого символа внешнего кода рассчитываются проверочные

символы внутренним кодом. При этом символы, для которых проверка четности

внутреннего кода не выполняется, будут стираться. Таким образом, для внешнего

кода будут известны ошибочные позиции, и необходимость использования БМА

отпадает.

Page 62: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

62

В качестве внутреннего кода был выбран укороченный на семь символов

код БЧХ (15, 11, 3). Укороченный код имеет такое же кодовое расстояние и

записывается в виде БЧХ (8, 4, 3). Он способен исправить одну ошибку в каждом

принятом символе внешнего кода и детектировать две ошибки [10].

Рисунок 2.2 – Значения BER для произведения кода РС(15, 9) и кода БЧХ(8, 4) в сравнении с

классическим способом декодирования

Для оценки эффективности этого подхода построим график BER и сравним

его с классическим методом декодирования. Графики представлены на

рисунке 2.2.

Как видно из рисунка 2.2, данный подход существенно уступает

классическому алгоритму декодирования и в дальнейшем рассматриваться также

не будет.

2.5. Мягкие подходы к декодированию кодов РС

Алгоритм декодирования кодов РС нельзя непосредственно обобщить

таким образом, чтобы использовать мягкие решения демодулятора. Существуют

лишь подходы, при которых нужно несколько раз производить декодирование с

жестким решением [107]. Однако в частном случае, соответствующем стираниям

в демодуляторе, можно применить алгебраическое декодирование [33].

Page 63: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

63

В работе предлагаются два способа квантования принятого сигнала для

двух типов сигналов: для PSK-модуляции и для QAM-модуляции. Для примера,

квантование сигнала будет осуществляться на восемь уровней. При этом более

высокое значение МРС будет соответствовать более надежно принятым символам

[100, 127].

2.5.1. Формирование мягких решений символов при фазовой модуляции

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

сигнала. В этом случае квантование целесообразно осуществлять только по углу

отклонения принятого сигнала от номинальной точки сигнального созвездия.

Такое созвездие представлено на рисунке 2.3 [90]. В качестве примера приведена

СПД с QPSK-модуляцией при соотношении сигнал-шум 10 дБ. Более светлые

области на сигнальном созвездии соответствуют наиболее надежным символам.

Рисунок 2.3 – Созвездие принимаемого сигнала при QPSK модуляции и SNR=10 дБ с

квантованием на 8 уровней

Гистограмма распределения индексов достоверности символов (МРС)

представлена на рисунке 2.4. На ней темным цветом показано распределение

МРС, которые были определенны неверно.

Page 64: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

64

Рисунок 2.4 – Гистограмма распределения МРС принятого сигнала при QPSK и SNR=10 дБ с

квантованием на 8 уровней

Графики BER для оценки эффективности работы декодера Витерби с

мягкими решениями по сравнению с жесткими решениями представлены на

рисунке 2.5.

Рисунок 2.5 – Значения BER для сверточного кода (171,133), работающего с жесткими и

мягкими решениями при QPSK-модуляции

Page 65: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

65

Из рисунка 2.5 видно, что использование мягких методов при

декодировании сверточного кода по алгоритму Витерби повышает ЭВК системы в

среднем на 1.5 - 2 дБ при фазовой модуляции.

2.5.2. Формирование мягких решений символов при квадратурной амплитудной

модуляции

При QAM-модуляции значение символа зависит не только от фазы, но и от

амплитуды принимаемого сигнала, поэтому квантование сигнала осуществляется

по прямоугольным зонам, площади всех зон при этом строятся равными [90, 114].

В работе также предложено оставлять открытыми границы зон, в которых с

увеличением амплитуды сигнала, конкурирующие точки будут отсутствовать.

Вид сигнального созвездия, иллюстрирующего данный подход, представлен на

рисунке 2.6.

Рисунок 2.6 – Созвездие принимаемого сигнала при QAM-16 модуляции и SNR=10 дБ с

квантованием на 8 уровней

В качестве примера рассматривается СПД с QAM-16 модуляцией и

квантованием каждого принимаемого символа на восемь уровней при

соотношении сигнал-шум в канале связи 10 дБ. Гистограмма распределения МРС

принятого сигнала представлена на рисунке 2.7.

Page 66: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

66

Рисунок 2.7 – Гистограмма распределения МРС принятого сигнала при QAM-16 и SNR=10

дБ с квантованием на 8 уровней

Для определения надежности оценок полученных описанным выше путем,

вводится логарифмический коэффициент правдоподобия оценки Н

МРСL :

ош

МРС

пр

МРСН

МРСP

PL 10log

(2.3)

где пр

МРСP – вероятность правильной оценки символа, ош

МРСP – вероятность

ошибочной оценки. Графики зависимости коэффициента надежности оценки

принятого символа от соотношения сигнал-шум в канале представлены на

рисунке 2.8.

Графики BER для оценки эффективности работы декодера Витерби с

мягкими решениями по сравнению с жесткими решениями при QAM-16

модуляции представлены на рисунке 2.9.

Из рисунка 2.9 видно, что при мягком декодировании сверточного кода по

алгоритму Витерби, ЭВК системы в среднем повышается на 1 – 1.5 дБ при

квадратурной амплитудной модуляции.

Page 67: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

67

Рисунок 2.8 – Графики зависимости коэффициента правдоподобия надежности символа от

отношения сигнал-шум в канале при QAM-16

Рисунок 2.9 – Значения BER для сверточного кода (171,133), работающего с жесткими и

мягкими решениями при QAM-16 модуляции

Page 68: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

68

2.5.3. Использование мягких оценок для определения стираний

Суть предлагаемого подхода заключается в том, чтобы для каждого

принятого из канала связи символа получать мягкие решения от детектора.

Сочетание описанного выше метода определения МРС с кодами РС позволяет

избежать выполнения процедуры БМА. Для этого стираются наименее надежные

символы, а дальнейшее декодирование сводится к поиску значений стертых

позиций.

Для оценки эффективности данного подхода при QPSK-модуляции в

сочетании с кодом РС (15, 9) сравним его график BER с графиком при

классическом способе декодирования. Графики представлены на рисунке 2.10.

Рисунок 2.10 – Значения BER для СПД с QPSK-модуляцией и кодом РС(15, 9) при мягком и

классическом декодировании

Графики BER для СПД с QAM-16 модуляцией и кодом РС (15, 9)

представлены на рисунке 2.11.

Как видно из рисунков 2.10 и 2.11, использование мягких подходов в

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

алгоритму поиска локаторов ошибок. Проигрыш составляет порядка 2 - 3 дБ, что

существенно для работы СПД по радиоканалу, поэтому использование такого

Page 69: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

69

подхода в разрабатываемой системе нецелесообразно. Однако для проводных

каналов связи, в которых соотношение сигнал-шум много выше, данный подход

может быть применен как альтернатива ресурсоемкой процедуре БМА с целью

экономии вычислительных мощностей.

Рисунок 2.11 – Значения BER для СПД с QAM-16 модуляцией и кодом РС(15, 9) при мягком и

классическом декодировании

Исходя из анализа всех рассмотренных методов замещения процедуры БМА

на получение стираний, можно прийти к выводу, что ни один из этих подходов не

обеспечивает в должной степени помехоустойчивость СПК и уступает

классическому методу декодирования РС. Поэтому в дальнейшем проектирование

каскадного кодека будет строиться с использованием БМА.

2.6. Обобщенный каскадный код на базе кодов РС и сверточных кодов

Для повышения помехозащищенности СПК эффективна система каскадного

кодирования с использованием кода РС на внешней ступени кодирования и

сверточного кода – на внутренней. В качестве внутреннего кода выбран

сверточный код памяти шесть с порождающими полиномами 11236 xxxx и

12356 xxxx , что соответствует записи в восьмеричной системе (171, 133).

Page 70: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

70

Этот код наиболее эффективен в борьбе с одиночными ошибками и

распространен во многих существующих стандартах цифровой связи [110].

При использовании сверточного декодера, работающего по алгоритму

Витерби, важно получать из канала символы с мягким решением. Это позволяет

повысить энергетический выигрыш от кодирования (ЭВК) на 2 - 3 дБ [98],

поэтому предложенная система формирования МРС остается актуальной.

На рисунке 2.12 представлены графики BER для описанного каскадного

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

СПД с BPSK-модуляцией.

Рисунок 2.12 – Значения BER для всех рассмотренных СПД на примере BPSK-модуляции

Как видно из рисунка 2.12, СПД с каскадным кодом является наиболее

эффективной в плане помехоустойчивости среди всех рассмотренных, поэтому

дальнейшая реализация кодека будет строиться по этому принципу.

Описание всех представленных в этой главе моделей, разработанных в

системах MATLAB, Simulink [92], можно найти, обратившись к Приложению А.

Page 71: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

71

2.7. Выводы по главе

1. В ходе выполнения работы были рассмотрены различные методы

упразднения процедуры поиска локаторов ошибок по алгоритму

Берлекэмпа - Месси. Все предложенные подходы сводятся к получению стираний

из канала связи и дальнейшему поиску их значений. Однако эти алгоритмы

оказались менее эффективными в помехоустойчивости по сравнению с

классическим алгоритмом декодирования кодов РС. Из этого следует, что

отказываться от процедуры БМА и полностью положиться на стирания, не

целесообразно. Необходимо искать пути оптимизации этой процедуры.

2. Также в работе предложены методы мягкого квантования принимаемого

сигнала для фазовой и квадратурной амплитудной видов модуляции. Эти подходы

доказали свою эффективность на примере декодирования сверточного кода по

алгоритму Витерби. При этом средний ЭВК составил 1.5 - 2 дБ при фазовой

модуляции и 1 - 1.5 дБ при квадратурной амплитудной модуляции.

3. В ходе математического моделирования различных СПК было доказано,

что наиболее эффективной из них является каскадная схема на основе кодов Рида

- Соломона в качестве внешней ступени кодирования и сверточного кода – на

внутренней ступени. При этом целесообразно использовать алгоритм Витерби с

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

помехозащищенности системы.

Page 72: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

72

ГЛАВА 3.

ПРОГРАММНО – АППАРАТНАЯ РЕАЛИЗАЦИЯ АДАПТИВНОГО

КАСКАДНОГО КОДЕКА, ОПТИМИЗИРОВАННОГО ПОД АРХИТЕКТУРУ

ПЛИС

Реализация СПК будет осуществляться на базе ПЛИС фирмы ALTERA, что

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

Устройство должно быть оптимальным с точки зрения затрачиваемых на его

реализацию аппаратных ресурсов, энергопотребления и скорости его работы

[57, 58, 59]. Кроме того, СПК должна иметь способность адаптироваться к

изменяющимся характеристикам канала связи. Таким образом, разработка

оптимального декодера каскадного кода требует решения трех основных задач:

аппаратной реализации алгоритма Витерби для декодирования

внутреннего сверточного кода;

аппаратной реализации оптимального алгоритма декодирования

внутреннего кода РС;

разработки процедуры адаптивной подстройки кодека под

изменяющиеся условия в канале связи.

3.1. Аппаратная реализация алгоритма Витерби

Существует несколько различных способов декодирования сверточных

кодов. Наиболее эффективным из них является алгоритм Витерби, так как он

является алгоритмом декодирования по максимуму правдоподобия. Однако он

также является относительно ресурсоемким алгоритмом, поэтому аппаратная

реализация оптимальной структуры декодера Витерби является актуальной

задачей.

Все дальнейшие операции декодера и его устройство будут рассматриваться

на примере сверточного кода (171, 133). Структурная схема такого кодера

представлена на рисунке 3.1.

Page 73: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

73

Z-1 Z-1Вход

Выход 0

Выход 1

Z-1 Z-1 Z-1 Z-1

Рисунок 3.1 – Структурная схема сверточного кодера (171, 133)

Декодер, работающий согласно алгоритму Витерби, можно условно

разделить на пять основных устройств:

BMU (Branch Metrics Unit), модуль расчета метрик ребер решетки;

ACS (Add-Compare-Select), модуль сложения, сравнения и выбора

метрик путей;

SMS (State Metric Storage), регистр хранения метрик узлов;

SPM (Survivor Path Memory), регистр хранения траектории, выживший

путей;

TBU (Traceback Unit), модуль обратного прохода.

Схема включения этих устройств представлена на рисунке 3.2. Подробное

описание работы каждого устройства приведено ниже [29].

BMU ACS SMS

SPM

TBU

Входные данные

Декодированные данные

Рисунок 3.2 – Схема декодера Витерби

Page 74: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

74

Структура работы аппаратного декодера Витерби приведена на блок-схеме

(рисунок 3.3).

Инициализация

Начало

Расчет метрик ветвей

Загрузка метрик путей

ACS

Сохранение выживших путей

Обработаны все состояния?

Обратный проход решетки

Выдача декодированных данных

Конец

Обработана вся решетка?

Да

Нет

Да

Нет

Рисунок 3.3 – Блок-схема работы аппаратного декодера Витерби

3.1.1. Аппаратное описание структуры треллис-диаграммы

Для работы декодера сверточных кодов ему необходимо хранить в своей

памяти решетку, описывающую разрешенные переходы из одного состояния в

Page 75: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

75

другое. Так как эта решетка статична, то ее можно хранить в ROM (Read Only

Memory). В аппаратном исполнении треллис-диаграмма будет представлена в

виде двух таблиц. В обеих таблицах в качестве адреса выступает узел решетки на

текущем этапе декодирования [62]. Каждому адресу ячейки (текущему узлу)

первой таблицы соответствует следующий узел решетки при условии, что по

каналу был передан ноль. Вторая таблица содержит состояния решетки при

условии, что передана была единица. В таблице 3.1 приведено состояние ROM

для сверточного кода (171, 133). Здесь каждому следующему состоянию

(младшие шесть бит ячейки) добавляются два бита с выхода кодера (старшие два

бита). Таким образом, для перехода в следующее состояние решетки необходимо

обратиться в ROM по адресу, равному текущему состоянию, при этом память

возвращает следующее состояние решетки, а также состояние кодера, что удобно

при расчете метрики ветви.

Таблица 3.1. Таблица переходов по состояниям решетки

Текущее

состояние

Следующее

состояние

(передан 0)

Следующее

состояние

(передана 1)

Текущее

состояние

Следующее

состояние

(передан 0)

Следующее

состояние

(передана 1)

000000 00000000 10000011 100000 01000010 11000001

000001 00000011 10000000 100001 01000001 11000010

000010 00000101 10000110 100010 01000111 11000100

000011 00000110 10000101 100011 01000100 11000111

000100 00001000 10001011 100100 01001010 11001001

000101 00001011 10001000 100101 01001001 11001010

000110 00001101 10001110 100110 01001111 11001100

000111 00001110 10001101 100111 01001100 11001111

001000 00010011 10010000 101000 01010001 11010010

001001 00010000 10010011 101001 01010010 11010001

001010 00010110 10010101 101010 01010100 11010111

001011 00010101 10010110 101011 01010111 11010100

Page 76: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

76

001100 00011011 10011000 101100 01011001 11011010

001101 00011000 10011011 101101 01011010 11011001

001110 00011110 10011101 101110 01011100 11011111

001111 00011101 10011110 101111 01011111 11011100

010000 00100011 10100000 110000 01100001 11100010

010001 00100000 10100011 110001 01100010 11100001

010010 00100110 10100101 110010 01100100 11100111

010011 00100101 10100110 110011 01100111 11100100

010100 00101011 10101000 110100 01101001 11101010

010101 00101000 10101011 110101 01101010 11101001

010110 00101110 10101101 110110 01101100 11101111

010111 00101101 10101110 110111 01101111 11101100

011000 00110000 10110011 111000 01110010 11110001

011001 00110011 10110000 111001 01110001 11110010

011010 00110101 10110110 111010 01110111 11110100

011011 00110110 10110101 111011 01110100 11110111

011100 00111000 10111011 111100 01111010 11111001

011101 00111011 10111000 111101 01111001 11111010

011110 00111101 10111110 111110 01111111 11111100

011111 00111110 10111101 111111 01111100 11111111

Для динамически перестраиваемых решеток (при разработке адаптивных

сверточных кодеков) инициализация памяти переходов состояний должна

осуществляться в начале каждого сеанса связи. Тогда схема работы такого блока

памяти примет следующий вид (рисунок 3.4) [43]:

Page 77: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

77

ROM состояний

0 1

Выходные данные

Входные данные

Разрешение записи

Адрес на чтение

Адрес на запись

Рисунок 3.4 – Аппаратная реализация блока памяти переходов состояний решетки

3.1.2. Аппаратная реализация блока BMU

Блок BMU рассчитывает метрику предполагаемой кодовой комбинации.

Для этого он генерирует все возможные ветви решетки для текущих узлов

решетки и сравнивает их с принятой из канала связи кодовой комбинацией. В

качестве метрики в данном случае выступает хэмминговое расстояние между

предполагаемой кодовой последовательностью и принятой, что в свою очередь

представляет собой количество отличающихся друг от друга разрядов в этих

комбинациях. Для выбранного кода из каждого текущего состояния могут

выходить две ветви. Одна формируется из предположения декодера о том, что

принятый символ был нулем, и вторая – из предположения о том, что

передавалась единица [77]. Схема BMU-блока представлена на рисунке 3.5. На

схеме сравнение производится с помощью поразрядной операции XOR, а расчет

метрики осуществляется подсчетом единиц в полученном векторе.

Счетчик

Принятая комбинация

Предполагаемая комбинация

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

Рисунок 3.5 – Схема BMU-блока

Page 78: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

78

3.1.3. Аппаратная реализация блока ACS

Как и следует из названия, блок ACS выполняет три основные функции:

прибавляет, сравнивает, выбирает. На вход ACS подаются все возможные

метрики ветвей решетки, сгенерированные блоком BMU. Два сумматора

складывают на каждом узле решетки полученную метрику ветви с метрикой пути,

накопленной в данном состоянии [80]. После обработки всех состояний на

текущем шаге решетки в каждое следующее состояние приходит по два

конкурирующих пути. Метрики этих путей сравниваются, и сохраняется только

путь с наилучшей метрикой [70]. Полученные метрики состояний записываются в

блок SMS, а траектория выживших путей – в блок SPM. Схема блока ACS

представлена на рисунке 3.6

+

+

Компаратор

к SPM-блоку

к SMS-блоку

метрика узла

метрика ветви

метрика узла

метрика ветви

Рисунок 3.6 – Схема блока ACS

3.1.4. Блоки SMS и SPM

Блок SMS представляет собой набор регистров, хранящих информацию о

метриках путей, выживших на текущем этапе декодирования. Эта информация

необходима блоку ACS для определения веса пути на следующем этапе и выбора

из двух конкурирующих путей того, чей вес меньше. Регистры SMS-блока

обновляются каждый такт с поступлением новых данных на декодер [81].

Блок SPM реализуется в виде набора сдвиговых регистров, хранящих в

памяти информацию о траектории выживших путей. На каждом такте

декодирования, после выбора выжившего пути, в память SPM-блока записывается

текущее состояние решетки, из которой этот (выживший) путь исходит. Так как в

Page 79: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

79

каждое последующее состояние приходит по два конкурирующих пути из разных

узлов, отличающихся друг от друга только младшим разрядом, то в SPM-блок за

один такт декодирования записывается только один бит информации. Зная

структуру решетки, по этим данным можно восстановить траекторию всего пути

от начала до конца, тем самым декодировав принятую информацию [64].

3.1.5. Обратный проход решетки. Модуль TBU

После того как треллис-диаграмма заполнена, то есть число тактов

декодирования достигло глубины декодирования, из всех выживших путей

выбирается единственный путь по правилу максимального правдоподобия, то

есть минимального веса. Из блока SPM извлекается траектория этого пути. Далее

необходимо совершить обратный проход решетки по выбранной траектории с

целью восстановления принятых данных.

На рисунке 3.7 приведен алгоритм обратного прохода решетки и выдачи

декодированных данных. При завершении прямого прохода решетки в регистр

блока TBU записывается выбранная траектория выжившего пути. На каждом

такте обратного прохода этот регистр сдвигается на один бит вправо. Младший

бит регистра участвует в восстановлении предыдущего состояния решетки.

Процедура повторяется вплоть до достижения начального состояния решетки.

Загрузка регистра траектории

Сдвиг регистра траектории

Восстановление предыдущего состояния

Конец решетки?

Нет

Да

От блока SPM

Выходные данные

Рисунок 3.7 – Алгоритм работы блока TBU

Page 80: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

80

Для формирования предыдущего состояния решетки необходимо текущее

состояние сдвинуть на один такт влево, а на место младшего разряда записать

младший бит регистра траектории пути. При этом старший бит регистра текущего

состояния решетки – есть декодированный бит принятой последовательности

(рисунок 3.8) [65].

... ...

Текущее состояние

Предыдущее состояние

Регистр траектории

Декодированные

данные

Рисунок 3.8 – Схема восстановления предыдущего состояния решетки

3.2. Аппаратная реализация оптимального алгоритма декодирования кода

Рида – Соломона

На заре создания первых декодеров кодов РС они строились на

многоразрядных сдвиговых регистрах, умножителях, сумматорах и большом

количестве других АЛУ. Развитие современной микроэлектроники позволяет

реализовать эти АЛУ на одном кристалле в корпусе микросхемы – ПЛИС.

Описание алгоритмов для ПЛИС требует соблюдения определенных правил, а

также накладывает некоторые ограничения по скорости работы устройства,

занимаемой им площади на кристалле ПЛИС и по энергопотреблению системы.

Под оптимизацией алгоритма для ПЛИС будет пониматься некоторое приемлемое

соотношение между этими тремя параметрами [3, 44].

В этом параграфе будут описаны существующие высокоскоростные

алгоритмы реализации кодеков РС, рассмотрены способы оптимизации этих

алгоритмов, а также будут предложены различные подходы к их аппаратной

реализации.

Реализация алгоритма быстрого декодирования кодов РС, описанного в

первой главе, на ПЛИС сводится, как правило, к разработке трех основных АЛУ:

Page 81: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

81

1. SC-block (Syndrome Computation block). Блок расчета синдромного

многочлена. Выполняет вычисления согласно формуле (3.1):

,i

i Rs

(3.1)

где R(z) – полином принятых кодовых слов, α – примитивный элемент поля Галуа.

2. KES-block (Key-Equation block). Блок, решающий ключевое уравнение:

,mod 2 tzzzSz (3.2)

где Λ(z) – полином локаторов ошибки, t – корректирующая способность кода.

3. CSEE-block (Chien Search and Error Evaluator block). Блок,

выполняющий процедуру Ченя по поиску корней полинома локаторов ошибок

путем последовательного перебора всех возможных значений и рассчитывающий

значение ошибки согласно алгоритму Форни:

,jj

zz

zY

(3.3)

где Y – значение ошибки, z – производная от полинома локаторов ошибки,

j – номер позиции в принятом векторе R, на которой произошла ошибка

[15, 18, 39].

Все три блока работают в конвейерном режиме, обрабатывая поступающую

информацию последовательно друг за другом [66, 69]. Оптимальная реализация

каждого из этих блоков будет подробно описана в этом параграфе. Также будет

рассмотрен алгоритм адаптивной подстройки декодера РС для динамически

изменяемых параметров канала связи [116, 117].

3.2.1. Оптимальная реализация SC-блока

Блок SC рассчитывает синдромный многочлен на основе поступающих в

декодер данных из канала связи. Этот многочлен имеет степень c = n – k, равную

количеству проверочных символов в блоке кода РС, следовательно, синдром

должен храниться в регистре памяти размером c ячеек [53]. Каждая i-я ячейка

вычисляется согласно (3.1). В аппаратном виде схема вычисления синдрома

примет вид:

Page 82: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

82

+

×

Z-1R

α i+1

siZ-1

1

0si-1

Рисунок 3.9 – Схема расчета компонентов синдромного многочлена

Блок SC состоит из набора таких элементов, их количество зависит от

вносимой кодом избыточности. Эти соединяются между собой по принципу

сдвигового регистра, благодаря чему через n тактов, когда декодер примет

полный кодовый блок, на выходе SC-блока будет сформирован синдромный

многочлен (рисунок 3.10) [76].

S0S1S2S3

Sc-1...S5S4

0

R

s0, s1, … , sc-1

Рисунок 3.10 – Схема SC-блока

3.2.2. Оптимальная реализация KES-блока

После того как расчет синдромного многочлена завершен, эти данные

поступают в KES-блок, задача которого определить два полинома: полином

локаторов ошибок и полином значений ошибок.

Наиболее проблемным местом в алгоритме декодирования кодов РС

является реализация KES-блока. Скорость работы этого блока непосредственно

влияет на пропускную способность всего декодера, в отличие от относительно

простых SC- и CSEE-блоков [40, 52], поэтому особое внимание будет уделено

именно оптимизации KES-блока.

Как было оговорено выше, существуют различные алгоритмы поиска

полинома локаторов ошибок, такие как алгоритм Евклида и алгоритм

Гурусвами - Судана. Однако они не подходят для аппаратной реализации

Page 83: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

83

высокоэффективного декодера кодов РС. Поэтому для разрабатываемой СПК был

выбран алгоритм Берлекэмпа – Месси [34, 35].

БМА – сложный алгоритм с множеством вложенных путей и условных

переходов. В явном виде он неприспособлен к архитектуре ПЛИС и требует

оптимизации и доработки [106]. Его удобнее всего рассматривать как

итеративный процесс построения линейного сдвигового регистра с обратной

связью [115]. Позднее этот алгоритм был доработан, что позволило сократить

длину сдвигового регистра до минимальной с сохранением требуемых свойств.

Реализация обновленного алгоритма была описана Р. Блейхутом в работе [87] и

получила название безынверсионного БМА (iBM) [11].

Данный алгоритм находит скалярные произведения z и z вместо

z и z , что требует ключевое уравнение (3.2). Однако при дальнейшем

прохождении процедуры Ченя, эти выражения дадут одинаковые результаты,

поэтому в дальнейшем описании алгоритма множитель β будет опускаться в

обозначениях. Описать работу алгоритма iBM можно с помощью следующего

псевдокода [2]:

.10.00.,...,2,1000,100 0 ktibb ii для 0

:цияИнициализа

end

begin

then

and if 3: Шаг

:2 Шаг

:1 Шаг

begin

do until step for

:Вход

11

1

,...,1,0,1

00

,...,1,0,1

1210

.12,...,1,0,

1

110

rkrk

rr

tirrb

rkrδ

tirλrrλrr

rλs...rλsrλsrδ

t-r

tis

ii

ii

ttrrr

i

Page 84: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

84

tλs...tλstλstω

t-i

rkrk

rr

tirbrb

iiii

ii

2222

110

11

1

,...,1,0,1

0110

1

:4 Шаг

do until step for

end

end

end

begin

else

. t...,,,i,t

. t...,,,i,t λ

i

i

1102

102

Выход:

В силу того, что шаги 1 и 4 схожи между собой, их можно реализовать в

одном устройстве. Таким образом, аппаратная реализация KES-блока сводится к

разработке двух АЛУ [72]:

блока расчета невязок (Discrepancy Computation, DC-block),

блока корректировки полинома локаторов ошибок (Error Locator

Update, ELU-block).

Архитектура АЛУ, реализующего iBM-алгоритм, представлена на

рисунке 3.11.

От SC-блока

К CSEE-

блоку

Λ(z)

DC-блок

ELU-блок

К CSEE-блоку

Ω(z) в цикле от 2t+1 до 3t

. . .λt(r) λt-1(r) λ1(r) λ0(r)

γ(r)

δ(r)

MC(r)

Рисунок 3.11 – Схема устройства, работающего согласно алгоритму iBM

Page 85: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

85

DC-блок рассчитывает невязку δ(r) в течение одного такта и отправляет ее

вместе с параметром γ(r) и контрольным сигналом MC(r) в блок ELU, который

обновляет полиномы в течение того же цикла. Схема DC-блока представлена на

рисунке 3.12, а внутреннее устройство блока CONTROL отображено на

рисунке 3.13 [63, 41].

DS1 ... DSt ... DS2t-1 DS0

CONTROL

...

+

×

×

+

...

S0S2t-1StS1

λ t(r) ... λ1(r) λ0(r) γ0(r)

... ...

δ(r) MC

Рисунок 3.12 – Схема DC-блока

Счетчикr

1 0

D

D 1 0

k(r)

1

msb

γ(r) δ(r) MC(r)

δ(r)

Рисунок 3.13 – Схема блока CONTROL

DC-блок содержит регистры, хранящие компоненты синдромного

многочлена, полученные от SC-блока. Каждый такт t + 1 умножителей

Page 86: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

86

рассчитывают произведение согласно первому шагу алгоритма. Эти произведения

складываются двоичными сумматорами для расчета невязки δ(r). Количество

таких сумматоров равно 1log2 t . Таким образом, общее время, затрачиваемое

на расчет невязки, составит addmult TtTT 1log2 , где Tmult и Tadd – время,

необходимое на выполнение операций умножения и сложения, соответственно.

Стоит отметить, что все арифметические операции рассчитываются в конечном

поле Галуа GF(2m). Подробное описание аппаратной реализации АЛУ,

работающего в конечном поле, будет дано в следующем параграфе.

При реализации какого-либо устройства на ПЛИС важным параметром

является длина критического пути [21, 27, 49], то есть суммарное время,

необходимое для выполнения всех требуемых операций в течение одного такта.

Чем длиннее критический путь, тем меньшую тактовую частоту можно

использовать для данного устройства. Суммарная задержка критического пути

DC-блока составляет:

,log1log1 22 andoraddmultDC TTmTtTT

(3.4)

где Tor и Tand – время, затрачиваемое на выполнения бинарных операций ИЛИ и И,

соответственно.

После расчета невязки δ(r) и параметра MC(r) в DC-блоке, коэффициенты

полиномов, обновленных на втором и третьем шагах алгоритма, одновременно

поступают в ELU блок. ELU-блок представляет собой сдвиговый регистр,

ячейками которого служат специальные вычислители PE0 (Processor Element).

Эти вычислители обновляют коэффициенты полиномов λ(z) и B(z). Схема

вычислителя представлена на рисунке 3.14.

Page 87: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

87

D

1

0D

MC(r)

δ(r)

γ(r) γ(r)

δ(r)

λi(r)

Bi-1(r)Bi(r)

PE0i

MC(r)

δ(r)

γ(r)

δ(r)

γ(r)

λi(r)

Bi-1(r)Bi(r)

Рисунок 3.14 – Схема вычислителя PE0

Архитектура ELU-блока представлена на рисунке 3.15. Из рисунка следует,

что сигналы δ(r), γ(r), MC(r) транслируются во все вычислители одновременно.

Кроме того, регистры каждого вычислителя, кроме PE00, инициализируются

нулями при старте. Элемент PE00 инициализируется значением 1 GF(2m) [63].

PE00

1

1

PE01

0

0

PE0t-1

0

0

PE0t

0

0

λt(r)

δ(r)

γ(r)

MC(r)

λt-1(r) λ1(r) λ0(r)

0

Рисунок 3.15 – Архитектура ELUiBM-блока

Длина критического пути ELU-блока составляет:

.addmultELU TTT

(3.5)

Суммарная длина критического пути алгоритма iBM составляет:

.21log12 2 addmultaddmultiBM TTTtTT

(3.6)

Алгоритм iBM позволил привести расчет полиномов локаторов ошибок и

значений ошибок к регулярному виду. Слабым местом алгоритма является

большая длина критического пути, что сокращает пропускную способность всего

Page 88: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

88

декодера. Далее будет предложен алгоритм, основанный на iBM, позволяющий

сократить длину критического пути более чем в два раза.

Для удобства назовем эту модификацию modificated iBM (miBM). Длина

критического пути для этого алгоритма составляет:

.addmultmiBM TTT

(3.7)

и выполняется он всего за 2t тактов. Расчет компонентов необходимых полиномов

происходит в модифицированных вычислительных блоках PE1. Архитектура

вычислителя PE1 представлена на рисунке 3.16. Построение сдвигового регистра

длиной 3t на PE1-блоках позволяет вычислить полином локаторов ошибок z и

полином значений ошибок z внутри одного АЛУ.

D

1

0D

MC(r)

δ(r)

γ(r) γ(r)

δ(r)

δ i(r)

δ i+1(r)δ i(r)

PE1i

MC(r)

δ(r)

γ(r)

δ(r)

γ(r)

δ i+1(r)δ i(r)

δ i(r)

Рисунок 3.16 – Схема вычислителя PE1

Архитектура ELU-блока, работающего согласно алгоритму miBM,

представлена на рисунке 3.17. На рисунке показано состояние регистров при

стартовой инициализации. Спустя 2t тактов работы регистра в памяти

вычислителей PE10-PE1t-1 будут содержаться коэффициенты полинома z , а в

вычислителях PE1t-PE12t - коэффициенты z . Их расчеты ведутся параллельно и

не накладываются друг на друга.

Page 89: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

89

PE13t

1

1

PE13t-1

0

0

PE12t+1

0

0

PE12t

0

0

λt(r)

PE12t-1

s2t-1

s2t-1

PE12t-2

s2t-2

s2t-2

PE11

s1

s1

PE10

s0

s0

λt-1(r)λt-2(r)ω1(r)ω0(r)

CONTROL

0

δ(r)

γ(r)

δ(r)

MC(r)

Рисунок 3.17 – Архитектура ELUmiBM-блока

Полное описание алгоритма miBM выглядит следующим образом:

.,k

.t,...,tt,iδ,δ it

0000

1312200103

для

:цияИнициализа

end

begin

then

and if :2 Шаг

:1 Шаг

begin

do until step for

для

:Вход

11

1

3,...,1,0,1

00

3,...,1,0,1

1210

121000

.12,...,1,0,

0

1

01

rkrk

rr

tirr

rkrδ

tirrrrδ

t-r

.t,...,,isδ

tis

ii

iiri

iii

i

Page 90: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

90

end

end

end

begin

else

11

1

3,...,1,0,1

rkrk

rr

tirr ii

. t...,,,i,tt

. t...,,,i,tt λ

ii

iti

11022

1022

:Выход

Предложенная архитектура значительно сокращает время, затрачиваемое на

решение ключевого уравнения, что в свою очередь ведет к увеличению

пропускной способности декодера. Кроме того, такая регулярная структура

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

для различных кодов РС с разными параметрами m и t. Это свойство будет лежать

в основе адаптивного декодера кодов РС [118, 120].

Сравнительная сложность аппаратной реализации различных алгоритмов

решения ключевого уравнения представлена в таблице 3.2.

Таблица 3.2. Сложность различных алгоритмов решения ключевого уравнения

Алгоритм Сумматоры Умножители Регистры Мульти-

плексоры

Число

тактов Критический путь

Евклида 12 t 12 t 510 t 714 t t12 muxaddmult TTT

iBM 12 t 33 t 24 t 1t t3 addmult TT 2

miBM 13 t 26 t 26 t 13 t t2 addmult TT

3.2.3. Оптимальная реализация CSEE-блока

Для дальнейшего декодирования принятого блока кода РС следует

определить позиции символов, на которых произошли ошибки, и значения этих

ошибок. Для определения позиций искаженных символов необходимо найти

корни многочлена локаторов ошибок x , рассчитанного в KES-блоке.

Реализовать это можно с помощью простой процедуры полного перебора всех

2m – 1 возможных значений, известной как алгоритм Ченя [82].

Page 91: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

91

Определение значения ошибки реализуется с помощью алгоритма Форни

согласно формуле (3.3). В целях экономии аппаратных ресурсов оба алгоритма

(Ченя и Форни) удобно реализовать в одном устройстве. При этом алгоритм Ченя

за 2m – 1 тактов перебирает все возможные элементы поля Галуа. На каждом такте

осуществляется проверка, обращает ли данное значение полином x в ноль, то

есть является ли оно его корнем. Если значение является корнем многочлена

локаторов ошибок, то согласно алгоритму Форни вычисляется значение ошибки и

ее корректировки. Алгоритм выглядит следующим образом [14, 16]:

end

end

then

if

begin

do until step for

i

i

i

ii

m

α

αΩR Y

i

mm

1212

0

1211

Вычисление ошибочных позиций и значения этих ошибок требует расчета

трех полиномов: i степени t, i степени t – 1 и i степени t – 1.

Представим полином x в виде суммы двух многочленов:

,xxx oddeven (3.8)

где xeven включает компоненты полинома с четными степенями, а

xxxodd включает только нечетные степени. Таким образом, сначала

рассчитываются многочлены xeven и xodd , затем x , а производная x

вычисляется автоматически [79, 83].

Элементарная ячейка, осуществляющая перебор Ченя, изображена на

рисунке 3.18а. Полная схема, реализующая алгоритм Ченя, состоящая из восьми

таких ячеек, представлена на рисунке 3.18б.

Page 92: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

92

1

0D

Cx

Ci

αi

D0

1

C2

D

D0

1D D D

D D

C4 C6 C1

C2 C4 C6 C8

λ1

λ0

λ3 λ5 λ7 1

λ2 λ4 λ6 λ8

λ(αi)

λʹ(αi)

а б

Рисунок 3.18 – Схема устройства, реализующего перебор Ченя

На рисунке 3.19 представлена схема устройства, исправляющего ошибки,

которое работает согласно алгоритму Форни.

C3 C5 C7

C2 C4 C6

ω3 ω5 ω7

ω2 ω4 ω6

C1

D0

1

ω0

D D D

ROM

D D D

D

D

FIFO

λ(αi)

λʹ(αi)

ω(αi)

ω1

R

Y

Рисунок 3.19 – Схема устройства, работающего согласно алгоритму Форни

Память ROM содержит таблицу обратных элементов поля Галуа ii m 12

,

необходимых для осуществления операции деления. Блок FIFO содержит

принятые из канала связи символы R. На этапе коррекции из этих символов R

вычитается значение ошибки Y, рассчитанное по алгоритму Форни, после чего

исправленные символы покидают декодер. Стоит отметить, что в конечном поле

арифметические операции сложения и вычитания идентичны, поэтому на этапе

коррекции используется сумматор.

Листинги программ, реализующих описанные выше устройства, иожно

найти, обратившись к Приложению Б.

Page 93: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

93

3.2.4. Разработка оптимального АЛУ для реализации арифметических операций в

полях Галуа

Важным этапом оптимизации всего кодека является оптимальная

реализация арифметических операций в конечных полях [48]. Все описанные

выше операции сложения, умножения происходят в поле Галуа. Для

разрабатываемой СПК поле имеет байтовую размерность, то есть GF(28).

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

операций в поле Галуа. Одним из таких подходов является предварительная

подготовка сверочных таблиц, хранящих результаты арифметических операций.

На каждую операцию потребуется по одной такой таблице, которые должны

храниться в памяти кодека. Такие таблицы на примере поля Галуа GF(23) имеют

следующий вид [8, 20, 47]:

Таблица 3.3. Сложение в поле 32GF

+ 0 1 2 3 4 5 6 7

0 0 1 2 3 4 5 6 7

1 1 0 3 2 5 4 7 6

2 2 3 0 1 6 7 4 5

3 3 2 1 0 7 6 5 4

4 4 5 6 7 0 1 2 3

5 5 4 7 6 1 0 3 2

6 6 7 4 5 2 3 0 1

7 7 6 5 4 3 2 1 0

Таблица 3.4. Умножение в поле 32GF

× 0 1 2 3 4 5 6 7

0 0 0 0 0 0 0 0 0

1 0 1 2 3 4 5 6 7

2 0 2 4 6 3 1 7 5

3 0 3 6 5 7 4 1 2

4 0 4 3 7 6 2 5 1

5 0 5 1 4 2 7 3 6

6 0 6 7 1 5 3 2 4

7 0 7 5 2 1 6 4 3

Для реализации операции сложения (вычитания) в поле Галуа заготовка

сверочных таблиц практического смысла не имеет, так как эта операция

замещается простым побитовым сложением по модулю 2 [30]. Для байтового

поля сумматор, вычисляющий выражение A + B = C, примет вид:

Page 94: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

94

a0b0a1b1a2b2a3b3a4b4a5b5a6b6a7b7

c7 c6 c5 c4 c3 c2 c1 c0

Рисунок 3.20 – Аппаратная реализация операции сложения в поле Галуа 82GF

Гораздо сложнее реализовать операцию умножение. Для байтовых полей

сверочная таблица операции умножения займет 256 256 байт. Так как в кодеке

произведения вычисляются одновременно сразу несколькими блоками, для

распараллеливания вычислений таких таблиц необходимо иметь большое

количество, что, учитывая размер каждой таблицы, оказывается весьма

расточительным. Поэтому оптимальным с точки зрения затрачиваемых ресурсов

решением будет реализация операции умножении на вентильном уровне [51].

Для реализации умножения на вентильном уровне необходимо представить

операнды в полиноминальной форме [61]. Так операнд A примет вид:

.... 01

2

2

1

1 aaaaA m

m

m

m

(3.9)

Тогда умножение операндов A и B будет выглядеть следующим образом:

,1

0

22

m

k

k

k

m

mk

k

k hdhdBAW

(3.10)

где

k

i

ikik bad0

. Так как mk GFh 2 , существует единственный 10 mig k

i

такой, что

1

0

m

i

ik

i

k hgh для всех 22 mkm . В этом случае выражение (3.10)

примет вид:

,1

0

m

k

k

k hW

(3.11)

где

22m

mj

j

kjkk gdd . Формула (3.11) представляет собой конечное выражение для

вычисления произведения двух чисел в поле Галуа. Операция состоит из двух

процедур: непосредственно умножения и деления по модулю. Данные внутри

каждой операции независимы, и их обработка может осуществляться

параллельно.

Page 95: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

95

В полиноминальном виде произведение (3.10) в конечном поле будет

выглядеть как xpxBxAxW mod . Это выражение можно привести к виду:

0167 ...0... bxAxbxAxbxAxbxAxW

(3.12)

В аппаратном виде выражение jbxA вычисляется с помощью бинарной

операции AND, а сложения в выражении (3.12) замещаются операцией XOR.

Аппаратный умножитель в поле Галуа GF(28) представлен на рисунке 3.21.

d14

...

...

...

d13 d12 d5 d4 d3 d2 d1 d0

W7 W4 W3 W2 W1 W0

Рисунок 3.21 – Аппаратный умножитель в поле Галуа 82GF

Устройство содержит 64 вентиля AND и 77 элементов XOR. Верхняя часть

схемы отвечает за умножение двух операндов, а нижняя осуществляет деление по

модулю.

3.3. Разработка системы адаптации кодека

Для поддержания высокой скорости обмена данными при заданном уровне

надежности принимаемой информации необходимо разработать систему

адаптации кодеков к изменяющимся параметрам в канале связи. При этом кодек

должен анализировать помеховую обстановку и выбирать тот уровень

корректирующей способности кода, который соответствовал бы текущему

уровню помех [118, 120].

Разрабатываемая СПК предназначена для внедрения в систему радиосвязи

между боевыми кораблями Военно-Морского Флота Российской Федерации.

Page 96: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

96

Проводимые испытания СПК показали, что при стоянке кораблей, их

маневрировании и плавном отдалении, растет количество группирующихся

ошибок, при этом количество одиночных ошибок практически не изменяется. В

связи с этим имеет смысл проводить адаптацию только по внутреннему коду РС.

Существует различные подходы к реализации механизма адаптации СПК.

Наиболее простым из них является предварительная заготовка набора кодеков и

динамическое переключение между ними в зависимости от уровня помех в канале

связи. Такой подход прост в реализации, однако требует нерациональных затрат

вычислительных ресурсов.

Подобный подход не всегда является оптимальным, так как при переходе с

одного кода на другой, изменять, зачастую, необходимо лишь некоторые

параметры кода, то гораздо более эффективным методом реализации АСК

является динамическая перестройка только тех параметров кода, которые

отвечают за его корректирующую способность. Способы поиска и оптимизации

таких алгоритмов различны для разных видов кодирования и требуют от

разработчика более глубокого понимания механизмов работы кодека.

Представленная выше архитектура miBM полностью оптимизирована под

динамическую смену режима кодирования. Для этого сдвиговый регистр

(рисунок 3.17) строится длиной 3tmax, где tmax – корректирующая способность

наиболее помехоустойчивого кода из набора кодеков АСК. Все промежуточные

коды с корректирующей способностью 1 ≤ t < tmax реализуются путем

переключения связей этого регистра блоком CONTROL. При этом структура

регистра не меняется, а значит, сложность адаптивного KES-блока равна

сложности наиболее помехоустойчивого KES-блока. По такому же принципу

строятся и остальные блоки декодера, что делает его сложность независимой от

количества промежуточных ступеней кодирования. Такой подход позволяет

максимально оптимизировать разрабатываемую АСК.

Система управления режимами кодирования реализовывается на базе

встраиваемого в ПЛИС процессора Nios-II. Также процессор решает задачи по

оценке помеховой обстановки в канале связи и принимает решение о выборе того

Page 97: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

97

или иного режима кодирования. Управление режимами кодека осуществляется с

помощью специального регистра управления, запись в который может

осуществлять только процессор. Кодек записывает статистику по каналу связи в

регистр состояния. Опираясь на эту статистику, процессор дает команду кодеку о

смене режима.

Рассматриваемая система передачи данных работает в полудуплексном

режиме связи, то есть прием и передача разнесены во времени. Каждый сеанс

связи начинается с процедуры синхронизации. Во время нее СПД1 отправляет

СПД2 режим кодирования (mode_1), в котором будет проходить обмен в течение

всего сеанса связи. Этот режим определяется на основе статистики (stat_1),

полученной СПД1 за предыдущие сеансы связи. После чего СПД1 переходит в

режим приема, а СПД2 – в режим передачи, и процедура повторяется. Схема

работы СПД представлена на рисунке 3.22.

CPU (Nios-II)

Регистр управления

Регистр состояния

Кодер Декодерmode_1 stat_1

Передатчик Приемник

СПД1

ДекодерРегистр

состоянияCPU

(Nios-II)Регистр

управленияКодер

stat_2 mode_2

СПД2

Приемник Передатчик

mode_1 mode_2

Рисунок 3.22 – Схема работы системы передачи данных

Передача режима кодирования по каналу связи осуществляется в наиболее

помехозащищенном режиме. В разрабатываемой АСК такому режиму

соответствует передача информации с помощью шумоподобных сигналов (ШПС).

Декодер ШПС способен восстанавливать сигнал при отношении сигнал-шум

-3дБм [91].

Для анализа помеховой обстановки в канале связи декодер кодов РС

собирает блочную статистику, то есть считает количество неверно

Page 98: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

98

декодированных блоков кода РС. Как правило, формализованные сообщения,

передаваемые по каналу связи, имеют размер, больший блока РС, следовательно,

такие сообщения состоят из нескольких блоков РС. Если хотя бы один блок был

декодирован с ошибкой, то такое сообщение полностью отбраковывается и

подлежит перевыдаче. Таким образом, блочная статистика отображает количество

непринятых сообщений (st_frame).

Одной блочной статистики недостаточно для определения режима

кодирования, необходимо иметь символьную статистику внутри блока. Каждый

сеанс связи декодер записывает в регистр состояния максимальное количество

искаженных байт в блоке РС (st_byte) .

Блок-схема алгоритма адаптации кодека представлена на рисунке 3.23.

Сначала процессор осуществляет сбор статистических данных st_frame и

st_byte, а также проверяет текущий режим работы кодеков mode (ШПС или РС)

и корректирующую способность кода t. Для сбора этих данных процессор

обращается в регистр состояния. Затем параметры st_frame и st_byte

усредняются за определенный промежуток времени для получения более точных

статистических данных (st_frame и st_byte , соответственно).

Если кодек работает в максимально помехозащищенном режиме

(mode == ШПС), и при этом все сообщения декодируются без ошибок

( 0st_frame ), то имеет смысл перейти в менее избыточный режим

кодирования (mode == РС) для увеличения скорости. Так как в режиме ШПС

символьная статистика недоступна, то определить необходимую избыточность

для кода РС невозможно, и кодек выбирает код с наибольшей корректирующей

способностью (t:=tmax). Если же ошибочные сообщения приходят в режиме ШПС

( 0! st_frame ), то смены режима не происходит, и процессор возвращается к

сбору статистических данных о канале связи.

Если кодек работает в режиме РС (mode != ШПС), то процессор оценивает

процент искаженных сообщений и сравнивает их с некоторым пороговым

значением Lim . Если порог превышен ( Lim st_frame ), то кодек переключается

Page 99: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

99

в более помехозащищенный режим. Если корректирующая способность кода РС

была максимальной (t==tmax), то выбирается режим ШПС (mode == ШПС), в

противном случае (t:=tmax) выбирается код РС с максимальной

избыточностью (t:=tmax).

Если процент утерянных сообщений не превысил порога

( Lim st_frame ), то процессор анализирует символьную статистику. При этом

выбирается интервал значений корректирующей способности

res_worsttst_byteres_bestt , при которой смены кода не осуществляется,

где res_best и res_worst – запасы корректирующей способности кода на

случай улучшения и ухудшения помеховой обстановки в канале связи,

соответственно. Иными словами, при приближении количества ошибочных

символов в блоке РС к корректирующей способности кода ближе, чем на

значение res_worst, корректирующую способность необходимо повысить. При

уменьшении количества ошибочных символов ниже порога t – res_best,

избыточность кода следует уменьшить. В обоих случаях смены режима,

корректирующая способность рассчитывается согласно выражению (3.13), где

st_byte – целая часть от st_byte.

.2st_byte:t (3.13)

Во всех других случаях корректирующая способность остается без

изменений. Значения параметров res_best и res_worst выбираются

эмпирически и не изменяются для текущего канала связи. Во избежание

зацикливания алгоритма, при котором процессор будет менять режим каждый

сеанс, важно выбирать эти параметры согласно условию:

.res_bestres_worst2 (3.14)

После каждой смены режима, процессор обнуляет статистику и начинает

накапливать ее заново. Если же смены режима не было, то статистика

обновляется, учитывая данные, полученные в последнем сеансе связи.

Page 100: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

100

Начало

0 st_frame

Усреднение статистики:

; st_byte

; st_frame

ШПСmode

maxtt

Смена режима:

; t : tmax

Смена режима:

; ШПС:mode

Смена режима:

; 2st_byte : t

Lim st_frame

Смена режима:

; t : t

; РС : mode

max

Да

Нет

Да

Нет

Нет

Да

Да

Нет

Да

Нет

Сбор данных:

t; ; mode

; st_byte

; st_frame

st_byte > t - res_worst

OR

st_byte < t - res_best

Рисунок 3.23 – Алгоритм смены режима кодирования

Page 101: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

101

3.4. Выводы по главе

1. В разрабатываемой СПК в качестве внутреннего кода целесообразно

выбрать сверточный код (171, 133), так как он подходит для работы в байтовом

поле, используемом на внешней ступени кодирования. Для декодирования

данного кода будет использоваться алгоритм Витерби с обратным проходом

решетки. Механизм обратного прохода оптимален для микросхемной реализации

декодера, так как не требует больших временных затрат на чтение и перезапись

регистров метрик и выживших путей. Такой подход позволяет значительно

сократить критический путь, и, как следствие, повысить тактовую частоту

устройства. Минусом алгоритма является увеличение латентности декодера, что

при непрерывной обработке сигналов особых негативных влияний на работу

декодера не оказывает.

2. В качестве внешнего кода выбран код РС, работающий в байтовом поле

GF(28) Узким местом в декодировании этого кода является алгоритм поиска

полинома локаторов ошибки и полинома значений ошибки. Предлагаемая

архитектура miBM для решения ключевого уравнения позволила привести

алгоритм к регулярному виду и определить необходимые коэффициенты обоих

полиномов (полином локаторов ошибок и полином значений ошибок) с помощью

специального сдвигового регистра. Данная архитектура позволила сократить

критический путь и время, затрачиваемое на всю процедуру декодирования, по

сравнению с классическим алгоритмом iBM.

3. Архитектура miBM оптимизирована под реализацию адаптивного

кодека РС. Для этого сдвиговый регистр KES-блока строится из расчета на

наиболее помехоустойчивый код из набора реализуемых кодеков. При

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

этого регистра, а его структура остается неизменной. Таким образом, сложность

адаптивного KES-блока равняется сложности наиболее помехоустойчивого

KES-блока вне зависимости от количества реализуемых промежуточных режимов

кодирования.

Page 102: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

102

4. Как известно, при декодировании кодов РС используется арифметика

конечных полей Галуа. Так как эти операции используются во всех блоках кодека,

их оптимизация под аппаратную реализацию имеет большое значение.

Предложенная архитектура вычислителей позволяет реализовать их на

вентильном уровне. При этом наибольшую сложность представляет реализация

аппаратного умножителя. Схема умножителя имеет относительно большую длину

критического пути, но при этом меньшую, чем при реализации табличного метода

умножения. Кроме того, предложенная схема умножителя позволяет

конвейеризировать вычисления, разбив их на несколько тактов. При этом

критический путь будет значительно минимизирован.

5. Предложенный алгоритм адаптации позволяет передавать данные на

максимальной скорости при заданном уровне достоверности информации.

Алгоритм подстройки кодеков полностью автоматизирован, однако имеет также

ручной режим переключения кодов. СПК работает в двух основных режимах:

ШПС и РС и набора подрежимов для кода РС. Количество подрежимов не

регламентировано и подбирается исходя из параметров канала связи. Режим

ШПС, как наиболее помехоустойчивый, используется для синхронизации

приемного и передающего оборудования и передачи режима. Кроме того, режим

ШПС необходим при воздействии на канал преднамеренной помехи, при

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

значительном удалении абонентов друг от друга. Для менее зашумленных

каналов связи используется режим РС с набором подрежимов. Этот режим

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

данных, не требующих гарантированной доставки, например, для видео- или

телефонной связи.

Page 103: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

103

ГЛАВА 4.

ПРОВЕДЕНИЕ ИСПЫТАНИЙ РАЗРАБОТАННОЙ СИСТЕМЫ

ПОМЕХОУСТОЙЧИВОГО КОДИРОВАНИЯ

4.1. Выбор элементной базы и технических средств

Перед началом испытаний разработанной СПК необходимо определиться с

элементной базой и техническими средствами, с помощью которых эти

испытания будут проводиться. Важнейшую роль в этом процессе занимает выбор

ПЛИС, а также процессора Nios-II, который будет ею управлять. ПЛИС –

центральный элемент всей системы, на котором будет реализована сама СПК

[75, 84]. Выбирать ПЛИС необходимо с запасом по логической емкости и по

допустимым частотам для проверки правильности функционирования

разработанных алгоритмов.

Конфигурация ПЛИС, содержащая весь проект, занимает 65342 логических

ячеек, 2376 бит памяти и 144 блока аппаратного умножения. Для проведения

лабораторных испытаний была выбрана макетная плата Stratix III 3SL150

Development Board (рисунок 4.1). Ключевой элемент платы – ПЛИС фирмы

ALTERA семейства Stratix III. ПЛИС содержит 142000 логических элемента, 5499

кбит памяти и 384 блока аппаратного умножения. Этих параметров более чем

достаточно для реализации проекта. Кроме того, макетная плата содержит

дополнительные элементы, такие как кварцевые генераторы тактового сигнала на

125 МГц и 50 МГц, внешнюю оперативную память DDR2 для работы процессора

общей емкостью 16 Мбайт, а также LCD-дисплеи наборы кнопок, переключателей

и другой периферии [71].

Для проведения лабораторных испытаний необходимо иметь две такие

платы, соединенные между собой высокочастотным кабелем. Для имитации

шумов в канале связи в одну из этих линий связи с помощью сумматора

замешивается паразитный сигнал с регулируемыми параметрами. В качестве

шумопостановщика выбран генератор сигналов Agilent E8267D PSG (рисунок 4.2).

Page 104: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

104

Рисунок 4.1 – Макетная плата Stratix III 3SL150 Development Board

Рисунок 4.2 – Генератор сигналов Agilent E8267D PSG

Page 105: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

105

В ходе лабораторных испытаний были подобраны оптимальные параметры

кодеков и режимы их работы. Это привело к уменьшению объема

вычислительных мощностей, необходимых для реализации СПК, а также к

сокращению критических путей в проекте. Благодаря этому, стали возможными

выбор менее дорогой ПЛИС для проведения натурных испытаний и разработка

конечной конфигурации модуля на ее основе.

В качестве такой ПЛИС была выбрана ПЛИС семейства Cyclone III,

входящая в состав макетной платы Cyclone III Development Board (рисунок 4.3).

Периферия платы аналогична периферии платы Stratix III 3SL150 Development

Board.

Рисунок 4.3 – Макетная плата Cyclone III Development Board

Page 106: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

106

4.2. Результаты лабораторных испытаний

4.2.1. Описание эксперимента

Для проведения лабораторных испытаний использовались две макетные

платы Stratix III 3SL150 Development Board, генератор сигналов Agilent E8267D

PSG, ЦАП, АЦП, а также два модулятора и два демодулятора. Схема

подключения устройств представлена на рисунке 4.4.

Stratix III 3SL150

Development BoardМодулятор

Демодулятор

ЦАП

АЦПStratix III 3SL150

Development BoardДемодулятор

Модулятор

Agilent E8267D PSG

ЦАП

АЦП

Рисунок 4.4 – Схема подключения лабораторной установки

В целях повышения достоверности получаемых в ходе эксперимента

данных, добавление шума осуществлялось на радиочастоте. При этом

замешивание помехи проводилось только в одном направлении канала связи,

поэтому все статистические данные снимались с того модуля, который принимал

зашумленные данные.

Суть испытаний заключалась в получении статистических значений BER

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

расчетами. Данный эксперимент позволил выбрать пороговые значения шумов в

канале, при которых необходимо проводить смену режима кодирования. При

проведении эксперимента в качестве основы СПК был выбран укороченный код

РС над полем GF(28) с длиной блока n = 31 и переменным значением

информационных символов в блоке k = 1 , … , 29. В качестве выбора

дополнительной ступени структурной адаптации, испытания проводились для

различных видов модуляции.

4.2.2. Результаты испытаний, проводимых при BPSK модуляции

Результаты испытаний СПК при двоичной фазовой модуляции (BPSK)

сведены в таблицу 4.1.

Page 107: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

107

Таблица 4.1. Результаты испытаний СПК, проводимых при BPSK-модуляции

k б/к 29 27 25 23 21 19 17 15 13 11 9 7 5 3 1

V 19,2 18,5 17 15,5 14,5 13 11,7 10,5 9,5 8 6,7 5,5 4,2 3 1,7 0,5

SNR \ BER

11 2,50E-08 5,00E-09

10 6,40E-07 8,00E-08

9 1,30E-05 1,60E-06 6,00E-09

8 8,70E-05 1,10E-05 1,80E-07 9,00E-09

7 5,50E-04 9,90E-05 8,50E-06 8,40E-07 5,00E-08 1,00E-09

6 1,90E-03 6,20E-04 1,30E-04 2,20E-05 2,70E-06 3,10E-07 3,50E-08 2,00E-09

5 6,50E-03 4,10E-03 1,80E-03 6,00E-04 1,60E-04 4,10E-05 9,60E-06 1,90E-06 3,50E-07 3,00E-08 3,00E-09

4 1,40E-02 1,24E-02 8,20E-03 4,40E-03 2,00E-03 7,90E-04 3,10E-04 9,50E-05 2,60E-05 6,40E-06 1,40E-06 3,00E-07 4,00E-08 3,00E-09

3 3,00E-02 3,10E-02 2,80E-02 2,30E-02 1,70E-02 1,10E-02 7,50E-03 4,00E-03 1,90E-03 8,10E-04 3,10E-04 1,10E-04 3,60E-05 9,50E-06 2,50E-06 7,00E-07

2 5,00E-02 5,10E-02 5,00E-02 4,80E-02 4,40E-02 3,80E-02 3,20E-02 2,30E-02 1,60E-02 9,80E-03 5,50E-03 2,80E-03 1,30E-03 5,60E-04 2,20E-04 7,50E-05

1 8,00E-02 8,40E-02 8,40E-02 8,40E-02 8,20E-02 8,17E-02 7,60E-02 6,80E-02 5,80E-02 4,70E-02 3,50E-02 2,40E-02 1,60E-02 9,70E-03 5,40E-03

0 1,10E-01 1,00E-01 9,40E-02 8,20E-02 6,70E-02 5,20E-02 3,90E-02

Графики BER при различных отношениях сигнал-шум в канале приведены

на рисунке 4.5.

Рисунок 4.5 – Графики BER для кодов РС с BPSK-модуляцией

4.2.3. Результаты испытаний, проводимых при QPSK модуляции

Результаты испытаний СПК при QPSK-модуляции сведены в таблицу 4.2.

Page 108: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

108

Таблица 4.2. Результаты испытаний СПК, проводимых при QPSK-модуляции

k б/к 29 27 25 23 21 19 17 15

V 35,0 32,0 30,3 28,1 26,2 23,3 20,9 19,1 17,0

SNR \ BER

15 6,00E-09

14 1,40E-07 4,70E-08

13 4,00E-06 1,40E-06 2,00E-09

12 3,00E-05 1,10E-05 5,00E-08 6,00E-09

11 2,60E-04 9,80E-05 3,40E-06 4,80E-07 1,60E-08

10 1,00E-03 4,30E-04 5,00E-05 8,70E-06 8,00E-07 1,00E-07 1,40E-08 1,00E-09

9 4,20E-03 2,40E-03 7,70E-04 2,20E-04 5,00E-05 1,20E-05 2,50E-06 2,00E-07 2,50E-08

8 1,00E-02 7,90E-03 4,20E-03 1,80E-03 6,90E-04 2,50E-04 8,70E-05 1,50E-05 3,00E-06

7 2,50E-02 2,50E-02 2,00E-02 1,40E-02 8,60E-03 5,00E-03 2,70E-03 8,60E-04 3,20E-04

6 4,60E-02 4,80E-02 4,60E-02 4,10E-02 3,30E-02 2,60E-02 2,00E-02 1,00E-02 5,40E-03

5 8,30E-02 8,60E-02 8,50E-02 8,20E-02 7,90E-02 7,40E-02 5,60E-02 4,30E-02

4 1,10E-01 1,20E-01 1,20E-01 1,20E-01 1,20E-01 1,00E-01

3 1,70E-01

2 2,10E-01

Графики BER для различных кодов РС при QPSK-модуляции приведены на

рисунке 4.6.

Рисунок 4.6 – Графики BER для кодов РС с QPSK-модуляцией

Page 109: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

109

4.2.4. Результаты испытаний, проводимых при 8PSK модуляции

Результаты испытаний СПК при 8PSK-модуляции сведены в таблицу 4.3.

Таблица 4.3. Результаты испытаний СПК, проводимых при 8PSK-модуляции

k б/к 29 27 25 23 21

V 46,5 44,1 40,8 38,2 35,0 32,1

SNR \ BER

15 1,50E-08 5,00E-09

14 1,80E-07 1,00E-07

13 2,50E-06 1,20E-06

12 1,10E-05 5,80E-06 9,00E-09 2,30E-09

11 1,00E-04 5,20E-05 6,80E-07 1,80E-07 6,00E-09

10 4,50E-04 2,30E-04 1,10E-05 3,40E-06 2,20E-07 5,00E-08

9 1,90E-03 1,10E-03 1,80E-04 6,80E-05 1,30E-05 3,60E-06

8 4,70E-03 3,10E-03 9,80E-04 4,40E-04 1,40E-04 5,00E-05

7 1,26E-02 1,00E-02 5,80E-03 3,60E-03 1,90E-03 9,10E-04

6 2,30E-02 2,10E-02 1,60E-02 1,20E-02 8,40E-03 5,00E-03

5 4,50E-02 4,50E-02 4,10E-02 3,80E-02 3,30E-02 2,60E-02

4 7,00E-02 7,00E-02 6,80E-02 6,80E-02 6,60E-02 6,00E-02

3 1,00E-01 1,00E-01 1,00E-01 1,10E-01 1,10E-01 1,10E-01

Графики BER для различных кодов РС при 8PSK-модуляции приведены на

рисунке 4.7.

Рисунок 4.7 – Графики BER для кодов РС с 8PSK-модуляцией

Page 110: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

110

4.2.5. Обобщенные результаты испытаний для всей АСК

По результатам испытаний некоторые режимы адаптации были исключены

из состава АСК, так как при сопоставимых скоростях имели меньшую

помехоустойчивость, чем режимы с другим сочетанием модуляции и кодов РС.

Таким образом, было выделено 25 режимов адаптации кодов РС при различных

типах модуляции с диапазоном скоростей от 1,7 Мбит/с до 44,1 Мбит/с,

работающих при соотношении сигнал-шум от 3 до 18 дБм, и один режим ШПС со

скоростью передачи данных 0,7 Мбит/с, действующий при соотношении сигнал-

шум от -3 до 3 дБм. Данные по режимам адаптации сведены в таблицу 4.4.

Таблица 4.4. Режимы адаптации АСК

Режим Скорость,

Мбит/с

Диапазон SNR,

дБм Модуляция Код

BPSK

ШПС 0,7 -3,0 – 3,0

РС (k=3) 1,7 3,0 – 3,3

РС (k=5) 3,0 3,3 – 3,6

РС (k=7) 4,2 3,6 – 3,9

РС (k=9) 5,5 3,9 – 4,2

РС (k=11) 6,7 4,2 – 4,4

РС (k=13) 8,0 4,4 – 4,8

РС (k=15) 9,5 4,8 – 5,1

РС (k=17) 10,5 5,1 – 5,4

РС (k=19) 11,7 5,4 – 5,8

РС (k=21) 13,0 5,8 – 6,2

РС (k=23) 14,5 6,2 – 7,0

РС (k=25) 15,5 7,0 – 7,5

РС (k=27) 16,8 7,5 – 8,2

QPSK

РС (k=15) 17,7 8,2 – 8,6

РС (k=17) 19,1 8,6 – 9,2

РС (k=19) 20,9 9,2 – 9,6

РС (k=21) 23,3 9,6 – 10,0

РС (k=23) 26,2 10,0 – 10,7

РС (k=25) 28,1 10,7 – 11,3

РС (k=27) 30,3 11,3 – 13,1

РС (k=29) 31,8 13,1 – 15,0

8PSK

РС (k=21) 32,5 15,0 – 15,7

РС (k=23) 35,0 15,7 – 16,4

РС (k=25) 38,2 16,4 – 17,1

РС (k=27) 40,8 17,1 – 19,0

РС (k=29) 44,1 от 19,0

Page 111: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

111

Графики BER разработанной АСК представлены на рисунке 4.8.

Рисунок 4.8 – Графики BER для АСК с различными типами модуляций

4.3. Результаты натурных испытаний

Натурные испытания проводились на открытой местности с

использованием приборов радиолинии, в состав которых вошла разработанная

АСК. Замерить уровень дестабилизирующих факторов, действующих в канале

связи, в реальных условиях не представляется возможным. В этом случае

опираться приходится только на статистику, собранную декодером.

Основным элементом боевого модуля, над которым проходились натурные

испытания, является ПЛИС Cyclone III EP3C120F780I7, которая имеет

значительно меньшую емкость и быстродействие, нежели ПЛИС Stratix III

EP3SL1501152, на которой проводились лабораторные испытания. В связи с этим,

в боевом режиме испытывались коды с автоматической адаптацией только в

режиме BPSK-модуляции, так как для обработки сигналов с другими типами

модуляции мощности указанной ПЛИС недостаточно.

Page 112: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

112

Испытания проводились на открытом пространстве с помощью двух

мобильных станций с установленным на них оборудованием СПК. Между двумя

станциями, находящимися друг от друга на расстоянии порядка 28 км, был

организован радиоканал. На карте (рисунок 4.9) обозначены места развертывания

радиостанций.

Рисунок 4.9 – Карта местности, на которой проводились испытания

Испытания показали, что для организации связи между двумя абонентами с

использованием разработанной АСК в режиме BPSK-модуляции, достаточно

использовать наименее избыточные коды РС с корректирующей способностью

t = 1 … 5. При этом средняя скорость передачи данных составила 13-17 Мбит/с.

Более подробные статистические данные можно извлечь из журнала работы

прибора (рисунок 4.10). Основные показатели кодека выделены подчеркиванием.

Рисунок 4.10 – Журнал работы прибора

Page 113: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

113

На рисунке 4.10 использованы следующие условные обозначения:

ff – количество неверно декодированных сообщений за сеанс связи;

sf – количество успешно принятых сообщений за сеанс связи;

sum – суммарное количество кодовых символов, принятых с ошибкой;

max – максимальное количество искаженных символов в блоке РС;

blk – количество кодовых блоков, принятых за сеанс связи;

cs – количество успешно принятых сообщений за время работы канала;

cf – количество сообщений, принятых с ошибкой за время работы

канала.

Также в журнале отражены скорость обмена данными и текущий режим

кодирования (цифра 3 означает, что текущий режим кодирования – код РС с

корректирующей способностью t = 3). Как видно из статистики, благодаря

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

(cf) за все время работы канала (более часа) составило всего 383, при том, что

успешно принятых было 146419 сообщений, то есть потери составили 0,36%. Все

неверно принятые сообщения были перевыданы в канал системой

гарантированной доставки в следующих сеансах связи. Из-за наличия таких

перевыдач, а также из-за вынужденной смены режима кодирования, вследствие

ухудшившейся помеховой обстановки в канале связи, скорость передачи данных

снизилась с 16,56 Мбит/с до 12,52 Мбит/с.

Стоит также отметить, что испытания проводились в условиях сильного

тумана (видимость менее 25 м), при этом расстояние между абонентами

составило порядка 28 км.

4.4. Выводы по главе

1. Благодаря проведенным лабораторным испытаниям, удалось выделить

26 режимов адаптации АСК, в которых подстройка проводилась не только за счет

выбора различных параметров кода РС, но и за счет изменения параметров

модуляции. Диапазон рабочих скоростей АСК составил от 0,7 Мбит/с до 44,1

Мбит/с при соотношениях сигнал-шум от -3 дБм до 19 дБм.

Page 114: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

114

2. Графики BER, полученные в ходе лабораторных испытаний,

соответствуют теоретически предсказанным и не вступают с ними в

противоречие.

3. Проведенные натурные испытания на открытой местности показали

эффективность разработанного алгоритма автоматической подстройки режима

кодирования. Благодаря алгоритму адаптации, кодек обеспечил уверенную связь

на расстоянии порядка 28 км в условиях сильного тумана. При этом процент

утерянных (перевыданных) сообщений составил всего 0,36%, а средняя скорость

передачи данных была равной 14,5 Мбит/с.

4. Проведенные испытания позволили определить перспективы развития

разработанной АСК, а именно, внедрение мягких методов декодирования в

каскадные конструкции кодов и использование перспективных методов цифровой

модуляции.

Page 115: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

115

ЗАКЛЮЧЕНИЕ

Основные выводы по проделанной работе

1. Проведен анализ существующих методов защиты информации. Выбрана

конфигурация каскадного кодека в виде кода Рида – Соломона на внешней

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

ступени.

2. Предложен способ формирования мягких решений, получаемых от

детектора, для сложных видов модуляции. Их эффективность доказана с

помощью компьютерного моделирования.

3. Предложенная архитектура решателя ключевого уравнения позволила

сократить критический путь и время, затрачиваемое на всю процедуру

декодирования, по сравнению с классическим подходом более чем в 2 раза.

4. Предложенный подход реализации декодера кодов РС оптимален для

построения адаптивного кодека. Это достигается за счет построения сдвигового

регистра KES-блока из расчета на наиболее помехоустойчивый код из набора

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

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

5. Предложенная архитектура арифметических вычислителей в поле Галуа

позволяет реализовать их на вентильном уровне, что требует минимальных

аппаратных затрат. Подобный подход также позволяет конвейеризировать

вычисления, что дает возможность повышения тактовой частоты устройства до

400 МГц.

6. Благодаря проведенным лабораторным испытаниям, удалось выделить

26 режимов адаптации АСК, в которых подстройка проводилась не только за счет

выбора различных параметров кода РС, но и за счет изменения параметров

модуляции. Диапазон рабочих скоростей АСК составил от 0,7 Мбит/с до

44,1 Мбит/с при соотношениях сигнал-шум от -3 дБ до 19 дБ.

Page 116: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

116

7. Проведенные натурные испытания на открытой местности показали

эффективность разработанного алгоритма автоматической подстройки режима

кодирования. Благодаря алгоритму адаптации, кодек обеспечил уверенную связь

на расстоянии порядка 28 км при неблагоприятных погодных условиях. При этом

процент утерянных (перевыданных) сообщений составил менее 0,36%, а средняя

скорость передачи данных была равной 14,5 Мбит/с.

Направление дальнейших исследований

В целях дальнейшей оптимизации ресурсов СПК и увеличения ее

эффективности в ближайшем будущем планируется проведение следующих

работ:

1. Разработка системы адаптации СПК по внутреннему коду.

2. Совершенствование методов формирования мягких решений,

получаемых от демодулятора.

3. Улучшение методов оценки состояния канала связи для

совершенствования алгоритмов адаптации корректирующей способности СПК.

Page 117: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

117

СПИСОК ЛИТЕРАТУРЫ

1. Ajaz, S. An efficient radix-4 Quasi-cyclic shift network for QC-LDPC decoders /

S. Ajaz, H. Lee // IEICE Electronics Express. 2014. – January. – vol. 11. – no. 2. – pp.

1-6.

2. Ashenden, P. J, The Designer’s Guide to VHDL / Second Edition, Morgan

Kaufmann Publishers. – 2004.

3. Bahl, L.R. Optimal decoding of linear codes for minimizing symbol error rate /

L.R. Bahl, J. Cocke, F. Jelinek, J Raviv // IEEE Transactions on Information Theory. –

1974. – March. – Vol. IT-20. – pp. 284 – 287.

4. Benedetto, S. Principles of Digital Transmission With Wireless Applications / S.

Benedetto, E. Biglieri // New York, USA: Kluwer Academic / Plenum Publisher. –

1999.

5. Berlekamp, E. R. Nonbinary BCH Decoding // International Symposium on

Information Theory. – 1967.

6. Berlekamp, E. R. The Application of Error Control to Communications / E. R.

Berlekamp, R. E. Peile, S. P. Pope // IEEE Communications Magazine. – 1987. – April.

– vol. 25. – no. 4. – pp. 44-57.

7. Berrou, C. Near Shannon limit error-correcting coding and decoding: Turbo

Codes / C. Berrou, A. Glavieux, P. Thitimajshima // in Proc. IEEE Int. Conf.

Communications (ICC’93). – 1993. – May. – pp. 1064–1070.

8. Bhaskar, R. Efficient Galois Field Arithmetic On SIMD Architectures / R.

Bhaskar, P. K. Dubey, V. Kumar, A. Rudra // ACM Symp. On Parallel Algorithms and

Architectures. – 2003. – pp. 256-257.

9. Blanksby, A. J. A 690-mW 1-Gb/s 1024-b, Rate ½ Low-Density Parity-Check

Code Decoder / A. J. Blanksby, C. J. Howland // IEEE J. Solid-State Circuits. – 2002. –

March. – vol. 37. – no. 3. – pp. 404–412.

10. Bose, R. C. Further Results on Error Correcting Binary Group Codes / R. C.

Page 118: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

118

Bose, D. K. Ray-Chaudhuri // Information and Control. – 1960. – September. – vol. 3. –

pp. 279-290.

11. Burton, H. O. Inversionless decoding of binary BCH codes / IEEE Trans. Inform.

Theory. – 1971. – September. – vol. IT-17. – pp. 464-466.

12. Carrasco, R. A. Non-binary error control coding for wireless communication and

data storage / R. A. Carrasco, M. Johnston; J. Wiley & Sons, Ltd, – 2008, p.–302.

13. Chang, H.-C. New serial architectures for the Berlekamp-Massey algorithm / H.-

C. Chang, C. B. Shung // IEEE Trans. Commun. – 1999. – April. – vol. 47. – pp. 481-

483.

14. Chen, Y. Small Area Parallel Chien Search Architectures for Long BCH Codes /

Yanni Chen, Keshab K. Parhi // IEEE transactions on very large scale integration

(VLSI) systems. – 2004. – May. – vol. 12. – no. 5. – pp. 545-549.

15. Chien, R. T. Decoding procedures for Bose-Chaudhuri-Hocquenghem codes /

IEEE Trans. – 1964, – IT-10, pp. 357–363.

16. Cho, J. Strength-Reduced Parallel Chien Search Architecture for Strong BCH

Codes / J. Cho, W. Sung // IEEE transactions on circuits and systems – II: express

briefs. – 2008. – May. – vol. 55. – no. 5. – pp. 427-431.

17. Cho, T. A High-Speed Low-Complexity Modified Radix-25 FFT Processor for

High-Rate WPAN Applications / T. Cho, H. Lee // IEEE Transactions on VLSI

Systems. – 2013. – January. – vol. 21. – no. 1. – pp. 187-191.

18. Choi, C.-S. High-Throughput Low-Complexity Four-Parallel Reed-Solomon

Decoder Architecture for High-Rate WPAN Systems / C.-S. Choi, H.-J. Ahn, H. Lee //

IEICE Transactions on Communications. – 2011. – May. – vol. E94-B. – no. 05. – pp.

1332-1338.

19. Clarke, C.K.P. Reed-Solomon error correction / BBC R&D White Paper, WHP

031. – 2002. – July.

20. Clevorn, T. Low-Complexity Belief Propagation Decoding by Approximations

with Lookup-Tables / T. Clevorn, P. Vary // in Proc. 5th Int. ITG Conference on Source

Page 119: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

119

and Channel Coding (SCC 2004), Erlangen, Germany. – 2004. – January.

21. Cyclone II Device Family Data Sheet / Altera Inc. – 2005. – July.

22. David Hayes. FPGA implementation of a Flexible LDPC decoder, A thesis

submitted in partial fulfilment of the requirements for the degree of Bachelor of

Engineering in Telecommunication Engineering at The University of Newcastle,

Australia. – 2008. – October 28.

23. Elharoussi, M. VHDL Design and FPGA Implementation of a Parallel Reed-

Solomon (15, K, D) Encoder/Decoder / M. Elharoussi, A. Hamyani, M. Belkasmi //

International Journal of Advanced Computer Science and Applications. – 2013. – vol. 4.

– no. 1.

24. Favalli, M. Optimization Of Error Detecting Codes For The Detection Of

Crosstalk Originated Errors / M. Favalli, C. Metra // Design Automation and Test in

Europe. – 2001. – March. – pp. 290-296.

25. Fettweis, G. The Tactile Internet: Applications and Challenges / IEEE Vehicular

Technology Magazine. – 2014. – vol. 9. – no. 1. – pp. 64–70.

26. Forney, G. D. On Decoding BCH Codes, // IEEE Transactions on Information

Theory. – 1965. – October. – vol. IT-11. – pp. 549-557.

27. FPGA Designer Quickstart Guide, whitepaper, / Altium Inc. – 2005. – July.

28. Guruswami, V. Improved decoding of Reed-Solomon and algebraic-geometric

codes / V. Guruswami, M. Sudan // IEEE Trans. Inf. Theory. 1999. – v.45. – pp.755-

764.

29. Hagenauer, J. Iterative Decoding of Binary Block and Convolutional Codes / J.

Hagenauer, E. Offer, L. Papke // IEEE Trans. Inform. Theory. – 1996. – March. – vol.

42. – no. 2. – pp. 429–445.

30. Han, T. Fast area-efficient VLSI adder / T. Han, D. A. Carlson // in Proc. 8th

Symp. on Comp. Arithmetic. – 1978. – May.

31. Hasan, M. A. Algorithms and architectures for a VLSI Reed-Solomon DRAFT /

Page 120: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

120

M. A. Hasan, V. K. Bhargava, T. Le-Ngoc // 2001. – February.

32. Hunt, A. Hyper-codes: High-performance low-complexity error-correcting codes

/ A. Hunt, S. Crozier, D. Falconer // Proceedings of the 19th Biennial Symposium on

Communications. – 1998. – May 31 to June 3. – pp. 263-267.

33. Jeong, B. Low-Complexity Non-Iterative Soft-Decision BCH Decoder

Architecture for WBAN Applications / Boseok Jeong, Hanho Lee // Journal of

Semiconductor and Science Technology. – 2015. – April 1.

34. Jung K. Low-Complexity Multi-Mode Memory-based FFT Processor for DVB-

T2 Applications / K. Jung, H. Lee // IEICE Transactions on Fundamentals of

Electronics, Communications, and Computer Sciences, Systems. – 2011. – November. –

vol. E94-A. – no. 11. – pp. 2376-2383.

35. Kaur, S. VHDL Implementation of Reed-Solomon code / Thesis, Thapar Institute

of Engg. – 2006.

36. Keller, T. A turbo-coded burst-by-burst adaptive wideband speech transceiver / T.

Keller, M. Münster, L. Hanzo // IEEE J. Select. Areas Commun. – 2000. – November. –

pp. 2363–2372.

37. Kim, S. A Reduced-Complexity Architecture for LDPC Layered Decoding

Schemes / S. Kim, G. E. Sobelman, H. Lee // IEEE Transactions on VLSI Systems. –

2011. – June. – vol. 19. – no. 6. – pp. 1099-1103.

38. Kung, L.-P. Introduction To Error Correcting Codes / NSDL Scout Report for

Math, Engineering, and Technology. – 2003.

39. Kwon, S. An area-efficient VLSI architecture of a Reed-Solomon

decoder/encoder for digital VCRs / S. Kwon, H. Shin // IEEE Trans. Consumer

Electronics. – 1997. – November. – pp. 1019-1027.

40. Lee, H. High-Speed VLSI Architecture for Parallel Reed–Solomon Decoder /

IEEE transactions on very large scale integration (VLSI) systems. – 2003. – April. –

vol. 11. – no. 2. – pp. 288-294.

41. Lee, K. A High-Speed Low-Complexity Concatenated BCH Decoder

Page 121: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

121

Architecture for 100Gb/s Optical Communications / K. Lee, H.-G. Kang, J.-I. Park, H.

Lee // Journal of Signal Processing Systems. – 2012. – January. – vol. 6. – no. 1. – pp.

43-55.

42. Leven, A. Status and recent advances on forward error correction technologies for

lightwave systems / A. Leven and L. Schmalen // J. Lightw. Technol. – 2014. – pp.

2735–2750.

43. Li, J. Realizing unequal error correction for nand flash memory at minimal read

latency overhead / J. Li, K. Zhao, J. Ma, T. Zhang // IEEE Trans. Circuits Syst. II, Exp.

Briefs. – 2014. – May. – vol. 61. – no. 5. – pp. 354–358.

44. Liu, K. J. R. Algorithm-based low-power and high-performance multimedia

signal processing / K. J. R. Liu, A.-Y. Wu, A. Raghupathy, J. Chen. // IEEE. – 1998. –

June. – vol. 86. – pp. 1155-1202.

45. MacKay, D. J. C. Near Shannon limit performance of low density parity check

codes / D. J. C. MacKay, R. M. Neal // Electron. Lett. – 1997. – vol. 33. – no. 6. – pp.

457–458.

46. Marchand, C. Hign-speed Conflict-free Layered LDPC Decoder for the DVB-S2,

-T2 and-C2 Standards / C. Marchand, L. Conde-Canencia, E. Boutillon // IEEE

Workshop on Signal Processing Systems. – 2013.

47. Mastrovito, E. D. VLSI Architectures for Computations in Galois Fields /

Linkoping University, Sweden. – 1991.

48. McEliece, R. J. Finite Fields for Computer Scientists and Engineers / Boston:

Kluwer Academic. – 1987.

49. Morris J. Reconfigurable Computing - FPGA structures, lecture notes, University

of Auckland, NZ

50. Nicolaidis, M. Design for Soft-Error Robustness to Rescue Deep Submicron

Scaling // White Paper, iRoC Technologies. – 2000.

51. Orlando, G. A Super-Serial Galois Fields Multiplier For FPGAs And Its

Application To Public-Key Algorithms / G. Orlando, C. Paar // Proc. of the 7th Annual

Page 122: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

122

IEEE Symposium on Field Programmable Computing Machines, FCCM’99, Napa

Valley, California. – 1999. – April. – pp. 232-239.

52. Parhi, K. K. Eliminating the fanout bottleneck in parallel long BCH encoders //

IEEE. Trans. Circuits Syst. I. – 2004. – March. – vol. 51. – no. 3. – pp. 512-516.

53. Park, J.-I. Area-Efficient Truncated Berlekamp-Massey Architecture for Reed-

Solomon Decoders / J.-I. Park, H. Lee // IET Electronics Letters. – 2011. – February. –

vol. 47. – no. 4. – pp. 241-243.

54. Park, Y. S. A fully parallel nonbinary LDPC decoder with fine-grained dynamic

clock gating / Y. S. Park, Y. Tao, Z. Zhang // IEEE J. Solid-State Circuits. – 2015. –

February. – vol. 50. – no. 2. – pp. 464-475.

55. Prange, E. Cyclic Error-Correcting Codes in Two Symbols, Air Force Cambridge

Research Center-TN-57-103. – 1957. – September.

56. Purser, M. Introduction to Error Correcting Codes / Artech House. Boston-

London. – 1995.

57. Quartus II Handbook Volume 1: Design and Synthesis. Altera Inc. – 2015. –

May.

58. Quartus II Handbook Volume 2: Design Implementation and Optimization. Altera

Inc. – 2015. – Juny.

59. Quartus II Handbook Volume 3: Verification. Altera Inc. – 2015. – May.

60. Reed, I. S. Polynomial Codes over Certain Finite Fields / I. S. Reed, G. Solomon

// SI AM Journal of Applied Mathematics. – 1960. – vol. 8. – pp. 300-304.

61. Reyhani-Masoleh, A. Low Complexity Bit Parallel Architectures for Polynomial

Basis Multiplication over GF(2m) / Arash Reyhani-Masoleh, M. Anwar Hasan // IEEE

transactions on computers. – 2004. – August. – vol. 53. – no. 8. – pp. 945-959.

62. Richardson, T. J. Design of Capacity-Approching Irregular Low-Density Parity-

Check Codes / T. J. Richardson, M. A. Shokrollahi, R. L. Urbanke // IEEE Trans.

Inform. Theory. 2001. – February. – vol. 47. – no. 2. – pp. 619–637.

Page 123: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

123

63. Sarwate, D.V. High-Speed Architectures for Reed-Solomon Decoders / D.V.

Sarwate, N.R. Shanbhag // IEEE transactions on VLSI Systems. – 2001.

64. Sauve, P.-P. International Symposium on Turbo Codes, Brest, France / P.-P.

Sauve, A. Hunt, S. Crozier, P. Guinand. – 2000. – September. – pp. 121-124.

65. Schmalen, L. Next generation error correcting codes for lightwave systems / L.

Schmalen, V. Aref, J. Cho, K. Mahdaviani // ECOC Th.1.3.3. – 2014.

66. Seth, K. Ultra folded high-speed architectures for Reed-Solomon decoders / K.

Seth, K. N. Viswajith, S. Srinivasan, V. Kamakoti // in Proc. Int. Conf. VLSI Design. –

2006. – January. – pp. 517-520.

67. Shah, S. S. Self-correcting codes conquer noise Part 2: Reed-Solomon codecs / S.

S. Shah, S. Yaqub, F. Suleman // Chameleon Logics. – 2001. – Part 1: Viterbi Codecs.

68. Shannon, C. E. A Mathematical Theory Of Communication // Bell System

Technology Journal. – 1948. – vol. 27. – pp. 379-423, 623-656.

69. Shao, H. M. A VLSI Design of a Pipeline Reed-Solomon Decoder / H.M. Shao,

T.K. Truong, L.J. Deutsch, J. Yuen, I.S. Reed // IEEE Trans. Comput. – 1985. – May. –

vol. C-34. – no. 5. – pp. 393-403.

70. Song, L. 10- and 40-Gb/s forward error correction devices for optical

communications / L. Song, M. Yu, M. S. Shaffer // IEEE Journal of Solid-State Circuits.

– 2002. – November. – vol. 37. – no. 11.

71. Stratix II Device Handbook / Altera Inc. – 2005. – July. – vol. 1.

72. Sugiyama, Y. A Method for Solving Key Equation for Goppa Codes / Y.

Sugiyama, Y. Kasahara, S. Hirasawa, T. Namekawa // Information and Control. – 1975.

– vol. 27. – pp. 87-99.

73. Sylvester, J. Reed Solomon Codes / Elektrobit. – 2001. – January.

74. Truon, T.K. The VLSI Design of a Reed-SoIomon Encoder Using Berlekamp's

Bit-Senal Multiplier Algorithm / T.K. Truong, L.J. Deutsch, I.S. Reed, I.S. Hsu, K.

Wang, C.S. Yeh // Third Caltech Conf. on VLSI. 1983. – pp. 303-329.

Page 124: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

124

75. VLSI lecture notes, ETF, University of Belgrade.

76. Wai, K. C. C. Field Programmable Gate Array Implementation of Reed-Solomon

Code RS (255, 239) / K. C. C. Wai, S. J. Yang // New York. – 2006.

77. Wicker, S. B. Error Control Systems for Digital Communication and Storage /

Englewood Cliffs, N.J.: Prentice-Hall. – 1994.

78. Wicker, S. B. Reed-Solomon Codes And Their Applications / S. B. Wicker, V. K.

Bhargava // New York, IEEE Press. – 1994.

79. Wilhelm, W. A new scalable VLSI architecture for Reed-Solomon decoders /

IEEE J. Solid-State Circuits. – 1999. – March. – vol. 34. – pp. 388-396.

80. Woodard, J. P. Comparative Study of Turbo Decoding Techniques: An Overview

/ J. P. Woodard, L. Hanzo // IEEE transactions on venicular technology. – 2000. –

November. – vol. 49. – no. 6. – pp. 2208-2233.

81. Yeo, E. High Throughput Low-Density Parity-Check Decoders Architectures / E.

Yeo, P. Pakzad, B. Nicolic, V. Anantharam // in Proc. IEEE Global

Telecommunications Conference, 2001. – 2001. – November. – vol. 5. – pp. 3019–

3024.

82. Yeon, J. Low-Complexity Triple-Error-Correcting Parallel BCH Decoder / J.

Yeon, S.-J. Yang, C. Kim, H. Lee // Journal of Semiconductor and Science Technology,

– 2013. – October, – vol.13. – no. 5. – pp.465-472.

83. Zhang, J. Optimized design for high-speed parallel BCH encoder / J. Zhang, Z.

Wang, Q. Hu, J. Xiao // in Proc. 2005 IEEE Int. Workshop on VLSI Design and Video

Technology. – 2005. – May. – pp. 97-100.

84. Zubairi J. A. FPGA: The chip that flip-flops, lecture notes. – 2004. – October.

85. Берлекэмп, Э.Р. Алгебраическая теория кодирования / Э.Р. Берлекэмп; пер.с

англ. / под ред. С.Д. Бермана. – М.: Мир, 1971. – 384 с.

86. Берлекэмп, Э.Р. Техника кодирования с исправлением ошибок / Э.Р.

Берлекэмп // ТИИЭР. – 1980. – Т. 68, 5, – С. 24–58.

Page 125: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

125

87. Блейхут, Р. Теория и практика кодов, контролирующих ошибки : пер. с

англ. / Под ред. Д.К. Зигангирова / Р. Блейхут. – М. : Мир 1986. – 576 с.

88. Блох, Э. Л. Обобщенные каскадные коды / Э.Л. Блох, В.В. Зяблов. – М. :

Связь, 1976. – 356 с. : ил.

89. Бородин, Л. Ф. Введение в теорию помехоустойчивого кодирования / Л. Ф.

Бородин. – М. : Советское радио, 1968. – 408 с.

90. Бураченко, Д.Л. Геометрические модели сигнально-кодовых конструкций /

Д.Л. Бураченко, Н.В. Савищенко. – СПб. : ВАС, 2012. – 388 с.

91. Варакин, Л.Е. Системы связи с шумоподобными сигналами / Л.Е. Варакин.

– М.: Радио и связь, 1985. – 384 с.

92. Васильев, К. К. Математическое моделирование систем связи / К. К.

Васильев, М. Н. Служивый. – Ульяновск : УлГТУ, 2010. – 128 с.

93. Васильев, К.К. Теория электрической связи / К. К. Васильев, В.А. Глушков,

А.В. Дормидонтов, А.Г. Нестеренко. – Ульяновск : УлГТУ, 2008. – 452 с.

94. Вернер, М. Основы кодирования / М. Вернер. – М.: Техносфера, 2004. –

288 с.

95. Витерби, А.Д. Принципы цифровой связи и кодирования. Выпуск 18. : пер. с

английского под ред. К.Ш. Зигангирова / А.Д. Витерби, Дж. К. Омура. – М.: Радио

и связь, 1982. – 536 с.

96. Галлагер, Р. Коды с малой плотностью проверок на четность : пер. с англ.

под ред. Р.Л. Добрушшина / Р. Галлагер. – М. : Мир, 1966. – 144 с.

97. Галлагер, Р. Теория информации и надежная связь : пер. с англ, под ред. М.

С. Пинскера и Б. С. Цыбакова / Р. Галлагер. – М. : Сов. радио, 1974. – 568 с.

98. Гладких, А. А. Методы эффективного декодирования избыточных кодов и

их современные приложения / А.А. Гладких, Р.В. Климов, Н.Ю. Чилихин. –

Ульяновск : УлГТУ, 2016. – 258 с.

99. Гладких, А. А. Приемник комбинаций каскадного кода / А. А. Гладких, Г.

Page 126: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

126

А. Гриневич, Н. А. Неудачин, П. Д. Расторгуев // Авторское свидетельство на

изобретение 684762. Бюллетень изобретений, 1979. – 19.

100. Гладких, А. А. Эффективное декодирование недвоичных кодов с

провокацией стертого элемента / Баскакова Е.С., Маслов А.А., Тамразян Г.М //

Автоматизация процессов управления. 2(32) 2013.–С. 87–93.

101. Гладких, А.А. Основы теории мягкого декодирования избыточных кодов в

стирающем канале связи. А.А. Гладких – Ульяновск: УлГТУ, 2010. – 379 с.

102. Гладких, А.А. Применение метода гиперкодирования в системах передачи

данных / А.А. Гладких // Автоматизация процессов управления. 2 (24) 2011, –

С. 77-81.

103. Золотарев, В. В. Помехоустойчивое кодирование. Методы и алгоритмы.

Справочник : под ред. чл.-кор. РАН Зубарева Ю. Б. / В. В. Золотарев, Г. В.

Овечкин. – М. : Горячая линия-Телеком, 2004. – 126 с.

104. Золотарев, В.В. Многопороговые декодеры и оптимизационная система

кодирования / В.В. Золотарев, Ю.Б. Зубарев, Г.В. Овечкин; под ред. Академика

РАН В.К. Левина. – М.: Горячая линия – Телеком. – 2012. – 239 с., ил.

105. Зяблов, В.В. Анализ корректирующих свойств итерированных и каскадных

кодов / В.В. Зяблов // Передача цифровой информации по каналам с памятью. –

М. : Наука, 1970. – С. 76–85.

106. Касперски, К. Могущество кодов Рида-Соломона или информация,

воскресшая из пепла / К. Касперски // Системный администратор. − 2004. − C. 88-

94.

107. Кларк, Дж. Кодирование с исправлением ошибок в системах цифровой

связи / Дж. мл. Кларк, Дж. Кейн; пер.с англ. – М.: Радио и связь, 1987.– 392 с.

108. Мак-Вильямс, Ф. Дж. Теория кодов, исправляющих ошибки / Ф. Дж. Мак-

Вильямс, Н. Дж. А. Слоэн. – М. : Связь, 1979. – 354 с.

109. Месси, Дж. Пороговое декодирование / Дж. Месси. – М. : Мир, 1966.– 284 с.

Page 127: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

127

110. Морелос-Сарагоса, Р. Искусство помехоустойчивого кодирования. Методы,

алгоритмы, применение / Р. Морелос-Сарагоса.– М. : Техносфера, 2005.–320 с.

111. Овечкин, Г.В. Эффективность применения многопорогового декодера в

каскадных схемах / Г.В. Овечкин, П.В. Овечкин // Новые информационные

технологии в научных исследованиях и в образовании. Материалы 8-й

Всероссийской научно-техн. конф. – Рязань: РГРТА. – 2003. –С.131-132.

112. Питерсон, У. Коды, исправляющие ошибки / У. Питерсон, Э. Уэлдон.: пер. с

англ.; под ред. Р. Л. Добрушина и С. Н. Самойленко. – М. : Мир, 1976. – 594 с.

113. Прокис, Джон. Цифровая связь / Джон. Прокис; пер. с англ.; под ред. Д. Д.

Кловского.– М. : Радио и связь, 2000. – 800 с.

114. Савищенко, Н.В. Специальные интегральные функции, применяемые в

теории связи / Н.В. Савищенко. – СПб. : ВАС, 2012. – 560 с.

115. Скляр, Бернард. Цифровая связь. Теоретические основы и практическое

применение : изд. 2-е, испр. пер. с англ / Бернард Скляр. – М. : Издательский дом

«Вильямс», 2003. – 1104 с.

116. Тайлеб, Н. Проектирование кодеров и декодеров кода Рида-Соломона на

ПЛИС типа FPGA / Тайлеб Н., Поляков А.К. // Сборник трудов научного

семинара, посвященного памяти д.т.н., профессора З.М. БЕНЕСОНА.- М.: ВЦ

РАН, 2008. – С. 26-29.

117. Тайлеб-Мазуз, Н. Параметризованный проект высокоскоростного

многоканального декодера кода Рида-Соломона / Н. Тайлеб-Мазуз // Вестник

МЭИ. - M.: Издательский дом МЭИ, 2011. 5. – С. 112-118.

118. Тамразян Г.М. Аппаратная реализация оптимального декодера

низкоплотностных кодов / Г.М. Тамразян, А.А. Гладких, Д.В. Ганин //

Автоматизация процессов управления. – 2015. – 3 (41). – С.106-113.

119. Тамразян, Г.М. Алгоритм декодирования избыточных кодов с динамически

перестраиваемыми параметрами / Г.М. Тамразян // Радиотехника. – 2014. – 11. –

С.94–98.

Page 128: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

128

120. Тамразян, Г.М. Современные методы адаптивного помехоустойчивого

кодирования / Г.М. Тамразян // Автоматизация процессов управления. – 2016. –

2(44). – С.45-49.

121. Трифонов, П.В. Интерполяция в списочном декодировании кодов Рида-

Соломона / П.В. Трифонов // Проблемы передачи информации. 2007. – Т.43. –

Вып.3. – С.66-74.

122. Фано, Р. Передача информации, Статистическая теория связи. / Р.Фано. –

М. : – Мир, 1965. – 438 с.

123. Финк, Л. М. Теория передачи дискретных сообщений / Л. М. Финк. – М. :

Сов. радио, 1970. – 728 с.

124. Форни, Д. Каскадные коды / Д. Форни. – М. : Мир, 1970. – 207 с.

125. Форни, Д. Экспоненциальные границы для ошибок в системах со

стиранием, декодированием списком и решающей обратной связью / Д. Форни //

Некоторые вопросы теории кодирования. – М. : 1970, – С.166 – 205.

126. Хлынов, А.А. Исследование принципов реализации LDPC кодека на ПЛИС.

/ А.А. Хлынов // Материалы Международной научно-технической конференции

«INTERMATIC – 2012». – 2012. – Москва. – ч. 6. – С.150-156.

127. Шувалов, В.П. Прием сигналов с оценкой их качества / В.П. Шувалов. – М. :

Связь, 1979. – 240 с.

Page 129: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

129

ПРИЛОЖЕНИЕ А

Исходные коды моделей, использованных в работе

В данном приложении приведены исходные коды программ, описывающих

работу использованных в работе моделей при аппаратной реализации кодека РС.

Представленные модели разработаны в среде MATLAB. Полные тексты программ

содержатся на прилагаемом CD-диске в папке \\Source\MODELS.

ПРИЛОЖЕНИЕ Б

Исходные коды программ, использованные при аппаратной реализации

кодека РС

В данном приложении приведены исходные коды программ, используемых

при аппаратной реализации кодека РС. Представленные программы разработаны

в среде Quartus II и написаны на языке описания аппаратных схем System Verilog.

Полные тексты программ содержатся на прилагаемом CD-диске в папке

\\Source\CODEC.

Page 130: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

130

ПРИЛОЖЕНИЕ В

Описание изобретения «Мягкий декодер последовательного турбокода»

Изобретение относится к технике связи и может использоваться при

проектировании новых и модернизации существующих систем передачи

дискретной информации.

Известны устройства восстановления стираний и исправления ошибок,

использующие мягкие решения символов для повышения достоверности приема

информации.

В патентах 2256294 и 2344556 описаны методы итеративных

преобразований индексов мягких решений кодовых комбинаций двоичных

блоковых кодов, которые обеспечивают исправление одиночных ошибок за счет

последовательного повышения индексов мягких решений в системе проверочных

соотношений кодов. Недостатком метода является его ограниченная возможность

по исправлению нескольких ошибок.

Технический результат – повышение достоверности приема информации. Для

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

турбокода, содержащий блок приема и блок внутреннего кода, первый выход

которого подключен к буферу внешнего кода, один выход которого подключен к

первому входу блока синдромов, второй вход которого подключен к одному

выходу блока стираний, а его другой выход подключен к блоку локаторов

стираний, первый выход которого через блок производной подключен ко второму

входу блока исправления стираний, первый вход которого подключен к выходу

блока произведений, тогда как первый и второй входы этого блока

соответственно подключены к выходу блока синдромов и второму выходу блока

локатора стираний, при этом другой выход буфера внешнего кода подключен к

первому входу выходного блока, а второй и третий входы этого блока

подключены соответственно к выходу блока исправления стираний и к третьему

выходу блока стираний, дополнительно введены: блок индексов, блок

статистических решений, блок итераций и блок приоритетов, при этом выход

Page 131: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

131

блока приема через блок индексов подключен к блоку статистических решений,

первый выход которого подключен к одному входу блока итераций, выход

которого подключен к блоку внутреннего кода, второй выход которого

подключен к другому входу блока итераций, при этом третий выход блока

внутреннего кода подключен к первому входу блока приоритетов, а его второй

вход подключен ко второму выходу блока статистических решений, при этом

выход блока приоритетов подключен к блоку стираний.

На фигуре 1 приведена схема предложенного мягкого декодера

последовательного турбокода, содержащая блок приема 1, блок индексов 2, блок

статистических решений 3, блок итераций 4, блока внутреннего кода 5, блок

приоритетов 6, блок стираний 7, блок локаторов стираний 8, блок производной 9,

буфер внешнего кода 10, блок синдромов 11, блок произведений 12, блок

исправления стираний 13 и выходной блок 14. Выход блока приема 1 через блок

индексов 2 подключен к блоку статистических решений 3, первый выход

которого подключен к одному входу блока итераций 4, а второй выход блока

статистических решений 3 подключен ко второму входу блока приоритетов 6, при

этом выход блока итераций 4 подключен к входу блока внутреннего кода 5,

первый выход которого подключен к буферу внешнего кода 10, а второй и третий

выходы блока внутреннего кода 5 соответственно подключены к другому входу

блока итераций 4 и к первому входу блока приоритетов 6, а выход этого блока 6

подключен к входу блока стираний 7, один выход которого подключен ко

второму входу блока синдромов 11, другой выход блока стираний 7 подключен к

блоку локаторов стираний 8, а третий выход блока стираний 7 подключен к

третьему входу выходного блока 14, при этом первый вход блока синдромов 11

подключен к одному выходу буфера внешнего кода 10, другой выход которого

подключен к первому входу выходного блока 14, при этом выход блока

синдромов 11 подключен к первому входу блока произведений 12, а его второй

вход подключен ко второму выходу блока локаторов стираний 8, первый выход

которого через блок производной 9 подключен ко второму входу блока

исправления стираний 13, тогда как его первый вход подключен к выходу блока

Page 132: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

132

произведений 12, а выход блока исправления стираний 13 подключен ко второму

входу выходного блока 14, выход которого является общим выходом декодера.

1

Блок

приема

Вход

3

Блок

статистических

решений

2

Блок

индексов

4

Блок

итераций

5

Блок

внутреннего

кода

6

Блок

приоритетов

7

Блок

стираний

10

Буфер

внешнего

кода

8

Блок

локаторов

стираний

11

Блок

синдромов

9

Блок

производной

12

Блок

произведений

13

Блок

исправления

стираний

Выход

14

Выходной

блок

Фигура 1 – Схема мягкого декодера последовательного турбокода

Работу декодера рассмотрим на примере использования в качестве

внутреннего кода – кода с проверкой четности, а в качестве внешнего кода – код

РС (7, 3, 5), построенного над полем GF(23).

Пусть порождающий полином кода РС )x(g определен как

).x)(x)(x)(x()x(g 432

Используя таблицу сложения элементов в поле 32GF , получают значение

)x(g в явном виде: .xxxx)x(g 302334 Пусть с выхода источника

Page 133: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

133

информации на вход кодера поступили символы вида 462 infV . Для

кодирования вектора infV кодом РС повышают его степень на величину knx ,

получая 466524 xxx)x(Vinf . Обычно эта процедура выполняется на

передаче с использованием сдвигового регистра с обратным связями,

соответствующими значению )x(g , при этом на выходе кодера внешнего кода

образуется вектор с q-ми символами kcV вида:

466524535242 xxxxxx)x(V qkc .

Или в двоичном представлении:

)(x)(x)(x)(x)(x)(x)()x(Vkc 110101100111111110100 654322

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

направлен вектор:

))()()()()()((Vtk 1100101010011111111111001001

при этом передатчик логические единицы передает с энергией Е, а логические

нули с энергией -Е.

После прохождения канала связи блок приема 1 мягкого декодера

последовательного турбокода принимает двоичные символы, которые в

зависимости от уровня помех в канале связи оказываются в большей или меньшей

степени искаженными. Работа блока приема 1 организуется по принципу

стирающего канала связи с симметричным интервалом стирания ρ, где 0 ≤ ρ < 1 и

представляет долю расстояния в системе условных плотностей вероятностей в

гауссовском канале связи между математическими ожиданиями E и E ,

соответствующих приему информационных нулей и единиц. В целях повышения

достоверности МРС параметр ρ выбирают достаточно большим, например, ρ =

0,9. Зафиксированный в блоке приема 1 сигнал z и соответствующее ему

жесткое решение 0 или 1 передаются в блок индексов 2.

Page 134: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

134

Блок индексов 2 предназначен для формирования целочисленных МРС. Если

390 z, (здесь σ – среднее квадратическое отклонение), то к жесткому

решению добавляется МРС максимального значения, принятого в данном

приемнике, например, 7max . Для всех других значений 900 ,z

целочисленные показатели МРС получают по правилу:

z

E

maxi

,

где, символ означает округление значения i до целочисленной величины в

сторону уменьшения (расчет на наихудший случай). При известных , max и Е

значения zi представляют легко вычисляемую линейную зависимость. На

выходе блока индексов жесткие решения заменяются на значения «минус» для

нулей и значения «плюс» для единиц. Таким образом, на выходе этого блока

может появиться кортеж данных вида … 5 ; 6 ; 7 ; 7 ;... Эти данные

поступают на вход блока статистических решений 3.

Блок статистических решений 3 осуществляет оценку параметров q -х

комбинаций внутреннего кода, используя данные из блока индексов 2. Пусть

выбраны 7max , 2E и 9,0 . Тогда zi 5,5 . Для получения статистической

оценки на длине кодового вектора внутреннего кода определяется среднее

значение кортежа МРС M и оценивается разброс показателей МРС в виде

n

iiMn

1

211 , где n – длина кодового вектора внутреннего кода.

Указанные параметры из блока статистических решений 3 через второй выход

этого блока поступают на второй вход блока приоритетов 6. При этом жесткие

решения комбинации внутреннего кода вместе с их МРС через первый выход

блока статистических решений 3 поступают на один вход блока итераций 4.

Блок итераций 4, получив кодовый вектор внутреннего кода, направляет его

на вход блока внутреннего кода 5, где осуществляется декодирование вектора по

заданным для этого кода проверочным соотношениям. Если проверочные

Page 135: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

135

соотношения выполняются, то вырабатывается сигнал pc , который через

третий выход этого блока поступает на первый вход блока приоритетов 6. Если

проверочные соотношения не выполняются, то вырабатывается сигнал )( pc и

осуществляется попытка восстановления кодового вектора за счет итеративных

преобразований. Для этого данные о векторе через второй выход блока

внутреннего кода 5 направляются на другой вход блока итераций 4.

Блок итераций 4 обрабатывает подобные данные по правилу:

)(L,)(Lmin)(Lsign)(Lsign)(L)(L pkipkim

pki 1

1,

здесь функция )(sign возвращает знак своего аргумента; )(L ki – МРС,

участвующего в формировании проверочного бита; )(L p – мягкое решение

проверочного символа; m – число исключенных из анализа положительных МРС,

входящих в корректируемый вектор. После выполнения итеративных

преобразований кодовый вектор возвращается в блок внутреннего кода 5.

Блок приоритетов 6 работает согласно целевой функции, имеющей вид:

,)(;)(M;Wsign)();(M;WQminmaxpcW

где W – знак выполнения проверочных соотношений.

В соответствие с Q блок приоритетов 6 на первом шаге обработки

комбинации выполняет оценку проверочных соотношений (выполнение четности

в четности в рассматриваемом примере), на втором шаге обработки данных

оценивает среднее значение принятых МРС и в последнюю очередь определяет

степень разброса зафиксированных приемником решений. Максимальное

значение M соответствует высокой достоверности принятых символов, но

может быть получено множество одинаковых значений M при различной

совокупности оценок, поэтому необходимо дополнительно оценивать параметр

. Если возникает ситуация неопределенности, когда ji MM при

ji , то приоритетной для последующей обработки данных является комбинация,

у которой ji .

Page 136: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

136

Пример расчета приоритета для первого символа кодовой комбинации кода

РС приведен в таблице.

Символы tkV

с проверкой

четности

Представление

символов с

влиянием помех z ii W )(M )(G Приоритет

10012

+1,41-0,20

-1,41+0,80

-1,41-0,54

+1,41+0,42

+1,21

-0,61

-1,95

+1,83

6,7=6

3,3=3

2,0=7

1,8=7

+ 5,75 3,58 Высокий

Выполнение расчета функции Q для второго символа 4 кода РС

Символы tkV

с проверкой

четности

Представление

символов с

влиянием помех z ii W )(M )(G Приоритет

11004

+1,41-0,48

+1,41+0,16

-1,41+1,75

-1,41-0,49

+0,93

+1,57

+0,34

-1,90

5,1=5

1,6=7

1,9=2

1,9=7

– 5,50 3,66 Низкий

Комбинация внутреннего кода в виде последовательности 5 7 2 7

направляется в блок итераций 4, где выполняются следующие действия: из

комбинации удаляется символ 7 , который считается принятым надежно. В этом

случае значение 1m . Оставшиеся символы 5 3 7 преобразуются по

шагам итераций:

Шаг 1. [+2 +0] + (–7) = –2, поскольку 2<7;

[+5 +0] + (–7) = –5, поскольку 5<7.

Шаг 2. [+2 –5] + (–7) = +3, поскольку 3<7;

[+5 –2] + (–7) = –3, поскольку 3<7.

Шаг 3. [+2 –3] + (–7) = +1, поскольку 1<7;

[+5 +3] + (–7) = –7, поскольку 8>7.

После шага 3 итеративных преобразований возможна коррекция символов

исходной последовательности: (+5 +1=+6); (+3–7=–4); –7. После восстановления

вычеркнутого символа будет получено +6 +7 –4 –7. Следовательно

первоначально принятый символ кода РС 5 преобразуется в символ 4 .

Полученное значение второго символа используется как индикатор правильности

восстановления кодового вектора кода РС. Для выполнения последующей

Page 137: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

137

процедуры декодирования комбинации кода РС в целом целесообразно приоритет

восстановленной комбинации с «низкого» поменять на «сомнительный».

Расчет значений Q других значений кодового вектора кода РС

Символы tkV

с проверкой

четности

Представление

символов с

влиянием помех z ii W )(M )(G Приоритет

11115

+1,41-2,92

+1,41+1,72

+1,41-0,90

+1,41-0,24

-1,51

+3,31

+0,51

+1,17

1,5=7

3,3=7

2,8=2

6,4=6

- 5,50 5,67 Низкий

11115

+1,41+0,34

+1,41-0,88

+1,41-1,07

+1,41+0,47

+1,75

+0,53

+0,34

+1,88

1,7=7

2,9=2

1,9=1

1,9=7

+ 4,25 10,25 Сомнительный

10012

+1,41+1,46

-1,41-0,67

-1,41+0,61

+1,41+1,15

+2,87

-2,08

-0,80

+2,56

2,9=7

2,1=7

2,0=4

2,6=7

+ 6,25 2,25 Высокий

10106

+1,41-0,19

-1,41-0,90

+1,41-0,70

-1,41-0,36

+1,22

-2,31

+0,71

-1,77

6,7=6

2,3=7

3,9=3

1,8=7

+ 5,75 3,58 Высокий

11004

+1,41+0,05

+1,41+0,56

-1,41+1,28

-1,41-1,18

+1,46

+1,97

-0,13

-2,59

1,4=7

2,0=7

0,7=0

2,6=7

+ 3,58 12,25 Сомнительный

Данные из блока внутреннего кода 5 в виде символов кода РС накапливаются

в буфере внешнего кода 10, а из блока приоритетов 6 поступают в блок

стираний 7.

Блок стираний 7 формирует данные, выделяя в отдельные группы символы

кода РС с «высоким» и «низким» приоритетом. Символы с «сомнительным»

приоритетом могут дополнять группу символов с «низким» приоритетом в

зависимости от исправляющей способности кода. Определив число S

ненадежных символов кода РС, блок 7 стирает их при условии, что 1 mindS .

При 5mind декодер кода РС способен восстановить четыре стирания. Кодовый

вектор кода РС принимает вид 462

3212 SSSS и это значение передается в блок

синдромов 11.

Блок синдромов 11 учитывает значения стираний в сочетании с их

позициями. Работа блока представляется таблицей.

Page 138: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

138

Расстановка символов кодового кода РС вектора по позициям

Номер позиции 0 1 2 3 4 5 6

Символы и стирания кодового вектора 2 1S 2S 3S 2 6 4S

На основании этих данных в блоке 11 рассчитываются синдромы для

позиций 1; 2; 3; 6. Следует иметь в виду, что независимо от номера стертой

позиции значения синдромов стертых позиций (при наличии четырех стираний)

вычисляются всегда для 3210 j;j;j;j .

Множитель 110 ;S j5462564202

0

Множитель 211 ;S j32321068202

1

Множитель 312 ;S j200215612202

2

Множитель 3+1=4 .S j654220616202

3

Итогом работы блока 11 является полином синдромов

632235 xxx)x(S .

Одновременно с этим по известным стертым позициям, полученных из блока

стираний 7, в блоке локаторов стираний 8 определяется полином локаторов

стираний

.1

)()(1)1)(1(

)1)(1()1)(1)(1)(1()(

542362

54063322224324

9236322632

xxx

xxxxxxx

xxxxxxxxxxxL

Или в окончательном виде 5423621 xxx)x(L . Данные из блока

синдромов 11 и блока локаторов стираний 8 объединяются в блоке произведений

12. При выполнении этой процедуры все значения x со степенями равными и

старше величины kn в расчет не принимаются. Таким образом в блоке 12

образуется последовательность вида:

.xxxxxxxx

)xxx)(xxx()x(L)x(S

1235032342632235

54236263223 1

Одновременно с работой блока 12 для реализации алгоритма Форни

(решение ключевого уравнения Форни) по данным из блока локаторов стираний 8

Page 139: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

139

в блоке производной 9 определяется производная от значений )x(L . Будет

получен полином вида .xxxx)x(L 2253226 4320

Данные из блока произведений 12 и блока производной 9 объединяются в

блоке исправления стираний 13, в котором выполняются действия для каждой

стертой позиции с учетом их номера:

.1

44

0

625

2

2

2

135

1

Y

.5

5

3

5

415

4

2

4

1

2

35

2

Y

.5

5

3

3

205

6

2

6

1

3

35

3

Y

.4

4

1

4

345

12

2

12

1

6

35

6

Y

В выходном блоке 14 вторая позиция кода РС, полученная с использованием

алгоритма Форни сравнивается с позицией, полученной за счет итеративных

преобразований и сохранившей свое новое значение в буфере внешнего кода 10.

Они совпадают: 41 Y , что указывает на правильность выполненных действий

по восстановлению стираний.

Алгоритм работы предложенного декодера исключает применение

процедуры целенаправленного подбора полинома локаторов стираний, носит

детерминированный характер, исключает поиск обратных матриц и может быть

реализован на основе современной базы микропроцессоров.

Page 140: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

8

Акты внедрения

Page 141: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

9

Page 142: ПРОГРАММНО АППАРАТНАЯ РЕАЛИЗАЦИЯ ... · 2017. 10. 3. · ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПТИМАЛЬНОГО АЛГОРИТМА

10