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

Алгоритм построения самоортогональных кодов для многопороговых декодеров Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
684
98
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПЕРЕДАЧА ДАННЫХ / ПОМЕХОУСТОЙЧИВОЕ КОДИРОВАНИЕ / САМООРТО-ГОНАЛЬНЫЕ КОДЫ / МНОГОПОРОГОВЫЕ ДЕКОДЕРЫ / ПАРАЛЛЕЛЬНОЕ КАСКАДИРОВАНИЕ / COMMUNICATION / ERROR-CORRECTION CODING / SELF-ORTHOGONAL CODES / MULTITHRESHOLD DECODING / PARALLEL CONCATENATION

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Овечкин Геннадий Владимирович, Овечкин Павел Владимирович, Гринченко Наталия Николаевна, Столчнев Вячеслав Константинович

Разработан алгоритм построения самоортогональных кодов (СОК) для многопороговых декодеров (МПД), обеспечивающих лучшую корректирующую способность при большом уровне шума в канале, который позволяет за счет оптимизации веса информационных и проверочных ветвей получать коды с существенно меньшим проявлением эффекта размножения ошибок, и, соответственно, обеспечивать их близкое к оптимальному декодирование при более высоком уровне шума в канале связи.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Овечкин Геннадий Владимирович, Овечкин Павел Владимирович, Гринченко Наталия Николаевна, Столчнев Вячеслав Константинович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

ALGORITHM FOR CONSTRUCTION OF SELF-ORTHOGONAL CODES FOR MULTITHRESHOLD DECODERS

An algorithm for self-orthogonal codes (SOC) construction is developed. These codes are applied with multithreshold decoders (MTD) and can provide good error correcting ability at high noise level. This algorithm constructs codes with lower error propagation due to optimizing weight of information and check branches. Such codes allow to perform near optimal decoding at lower signal to noise ratio than codes known earlier.

Текст научной работы на тему «Алгоритм построения самоортогональных кодов для многопороговых декодеров»

ной научной конференции в 8 томах. М.: МАТИ, 2011. Т.4. С. 20-21.

4. Справочник по прикладной статистике / под ред. Э. Ллойда, У. Ледермана. М.: Финансы и статистика, 1989. Т. 1. 512 с.

Неелова Наталия Валериевна, канд. техн. наук, руководитель отдела поискового продвижения, [email protected], Россия, Тула, ЗАО «Ингейт Девелопмент»

BEHA VIORAL METRICS FOR THE DETERMINA TION OF PRIMARY DOCUMENT

N. V. Neelova

Marked behavioral metrics site, reflecting the usability of the site. The formula of usability based on behavioral metrics using multiple regression. The analytical and experimental tests that show the importance of this parameter in the general formula for determining the original document.

Key words: primary document, multiple regression, usability expert valuations, the system of ranks, behavioral metrics site.

Neelova Natalia Valerievna, candidate of technical science, Head of search engine promotion, neelova.natalia@,gmail.com, Russia, Tula, JSC “Ingate Development”

УДК 621.391:519.72

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

Г.В. Овечкин, П.В. Овечкин, Н.Н. Гринченко, В.К. Столчнев

Разработан алгоритм построения самоортогональных кодов (СОК) для многопороговых декодеров (МПД), обеспечивающих лучшую корректирующую способность при большом уровне шума в канале, который позволяет за счет оптимизации веса информационных и проверочных ветвей получать коды с существенно меньшим проявлением эффекта размножения ошибок, и, соответственно, обеспечивать их близкое к оптимальному декодирование при более высоком уровне шума в канале связи.

Ключевые слова: передача данных, помехоустойчивое кодирование, самоорто-гональные коды, многопороговые декодеры, параллельное каскадирование.

В настоящее время для обмена информацией широко используются различные системы цифровой связи. Подобные системы используют для передачи данных как проводные, так и беспроводные каналы связи, в которых под действием различного рода помех передаваемая информация может исказиться. Это является недопустимым для многих приложений.

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

На сегодняшний день в теории кодирования известен ряд кодов и методов их декодирования, различающихся корректирующей способностью, сложностью реализации и рядом других параметров [1]. В статье представлены результаты исследований, в рамках которых развиваются эффективные и простые для практической реализации методы декодирования помехоустойчивых кодов, называемые алгоритмами многопорогового декодирования (МПД) [2]. Алгоритм МПД, являющийся исключительно российской разработкой и построенный на принципиально новых, но весьма неожиданных для теории помехоустойчивого кодирования принципах, позволил решить практически все основные проблемы высококачественного декодирования цифровых данных

В процессе исследования МПД было показано, что с ростом кодового расстояния используемых в МПД самоортогональных кодов (СОК) вероятность ошибки декодирования снижается, но при этом область эффективной работы МПД, когда он начинает работать почти как оптимальный декодер, сдвигается в область меньших шумов. Данная особенность МПД и используемых СОК затрудняет получение очень малых вероятностей ошибки вблизи пропускной способности канала [3]. Это справедливо и для недвоичных самоортогональных кодов [4].

Это объясняется тем, что при получении каждой из используемых на пороговом элементе декодера при принятии решения проверок участвует M принятых из канала символов, каждый из которых может быть ошибочным. Величина M линейно зависит от кодового расстояния d и называется размерностью проверки. Например, для СОК с кодовым расстоянием d и кодовой скоростью R = щ/(«k + nr), имеющих nk информационных и nr проверочных ветвей, в которых от каждой информационной на каждую проверочную ветвь идет одинаковое количество отводов, значение размерности проверок равно

M = (d-XPk +1.

nr

Проверка является неправильной, если в ней участвует нечетное число ошибок. Тогда вероятность неправильности проверки Ps вычисляется как

\M/21

л ^ ^2i—1 2i—1/i \M—2i+1

Ps = L cm Po (1 — Po) ,

i=1

где po - вероятность ошибки в канале.

Зависимость вероятности неправильности проверки Ps от отношения сигнал/шум в канале с АБГШ и модуляцией типа BPSK, рассчитанную

180

в соответствии с вышеприведенными формулами для СОК с кодовой скоростью 1/2 и кодовым расстоянием 1 от 5 до 17 представлена соответствующими кривыми на рис. 1.

01--х---1111-------------

-3-2-10123

ЯД,, дВ

Рис. 1. Вероятность невыполнения проверки

Из рисунка видно, что чем больше кодовое расстояние 1, т.е. чем больше размерность проверки, тем больше вероятность ее неправильности и, следовательно, меньше ценность от ее использования при принятии решения о значении декодируемого символа. Отметим, что для кодов с большим 1, например 1 = 17, вероятность ошибочности проверки при значительном шуме (например, Е8/Ы о = -1 дБ) оказывается близкой к 0,5. Этим объясняется сложность обеспечения близкого к оптимальному декодирования кодов с большим 1 при малых отношениях сигнал/шум.

Полезно заметить, что для кодов с небольшим 1 (например, с 1 = 5) данная вероятность оказывается значительно меньше. Этот факт лежит в основе известных кодов с параллельным каскадированием [5], использование которых позволяет приблизить область эффективной работы МПД к пропускной способности канала.

При построении кода с параллельным каскадированием в базовом СОК С0 с кодовым расстоянием 10 и кодовой скоростью Я0 выделяется некоторый составляющий код С1 с кодовой скоростью ^1>^0, тоже являющийся самоортогональным по определению. Кодовое расстояние 11 выделенного кода выбирается значительно меньшим 10, и, следовательно, область его эффективной работы будет ближе к границе Шеннона. При декодировании кода с параллельным каскадированием сначала с помощью МПД выполняются несколько итераций декодирования составляющего кода С1, позволяющие на один-два порядка снизить вероятность ошибки в принятой из канала информационной последовательности, после чего в процесс декодирования включается оставшаяся часть кода С0. Отличительной особенностью данной схемы каскадирования является то, что в

181

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

Для примера рассмотрим структуру СОК С0 с параллельным каскадированием с кодовой скоростью ^0=5/10 и кодовым расстоянием 10=11, представленную на рис. 2а. Здесь строки таблицы соответствуют проверочным ветвям, а столбцы - информационным. В ячейках на пересечении /-й строки и у-го столбца указано число элементов у-й информационной ветви, участвующих в формировании проверочного символа /-й проверочной ветви. В столбце справа от таблицы указана размерность проверок в проверочных ветвях, а в строке снизу - число проверочных символов, зависящих от информационных символов различных ветвей. Отметим, что проверочные ветви с первой по четвертую имеют малую размерность проверок, равную 5, а пятая проверочная ветвь имеет размерность 30. Таким образом, в данном коде выделен составляющий код Сь содержащий первые четыре проверочные ветви и имеющий кодовую скорость ^0=5/9 и кодовое расстояние ^1=5. Проверки в этих ветвях имеют малую размерность, и поэтому декодер такого «уменьшенного» кода позволяет обеспечить близкое к оптимальному декодирование даже при больших уровнях шума, снижая вероятность ошибки в информационных ветвях до 10-2... 10-3. Далее к процессу декодирования подключается оставшаяся проверочная ветвь с большой размерностью проверок. Поскольку число ошибок в информационных символах после первого этапа декодирования уже невелико, эти проверки оказываются правильными с достаточно большой вероятностью. Поэтому с помощью данной ветви оставшиеся ошибки в информационных ветвях легко исправляются, и вероятность ошибки на выходе декодера снижается еще на несколько десятичных порядков.

а

б

Рис. 2. Пример структуры СОК с параллельным каскадированием (а) и

с выделенными ветвями (б)

Следует особо отметить, что сложность МПД при параллельном каскадировании (в смысле количества выполняемых операций) оказывается даже меньше сложности обычного МПД, поскольку в данном случае на первых итерациях декодирования некоторые элементы синдромного регистра просто не участвуют в процессе вычисления суммы на пороговом элементе.

На рис. 3 представлены графики зависимости вероятностей ошибки МПД для различных блоковых СОК с кодовой скоростью ^=1/2 от уровня шума в канале с АБГШ при использовании двоичной фазовой модуляции (БРБК), иллюстрирующие эффект от применения параллельного каскадирования. Здесь кривая 1 отражает характеристики обычного кода с 1=9, а кривой 2 представлены характеристики кода с параллельным каскадированием с ^=5/10 в котором был выделен составляющий код С1 с ^=5/9 и 11=5. Данный код использовался на первых 10 итерациях декодирования, после чего выполнялось еще 10 итераций декодирования полного кода. Заметим, что дополнительный энергетический выигрыш кодирования (ЭВК) от применения параллельного каскадирования оказался не очень высоким, всего 0,2 дБ. Это объясняется тем, что кодовое расстояние 1 базового кода было небольшим. При использовании кодов с большим кодовым расстоянием польза от применения параллельного каскадирования оказывается существеннее. Это следует из сравнения кривых 3 (обычный код с ^=6/12 и 1=13) и 4 (код с параллельным каскадированием с ^=7/14 и 1=13, в котором выделен составляющий код с ^=7/13 и 1=7), а также кривых 5 (обычный код с ^=8/16 и 1=17) и 6 (код с параллельным каскадированием с ^=8/16 и 1=17, в котором выделен составляющий код с ^=8/15 и 1=8). В перечисленных случаях параллельное каскадирование позволяет получить дополнительный ЭВК порядка 0,8 дБ. Пунктирными кривыми Рор{ на рис. 3 представлены оценки вероятности ошибки оптимального декодирования СОК с 1=9, 13 и 17.

Отметим, что для всех рассмотренных вариантов параллельного каскадирования использовалась структура кода, в которой все проверочные ветви, кроме последней, имеют одинаковую размерность. Кодовое расстояние по каждой из информационных ветвей выделенного кода было одинаковым. В тоже время возможна организация параллельного каскадирования, при которой кодовое расстояние по различным информационным ветвям составляющего кода будет разным (рис. 2 б). В результате получается так называемый код с выделенными ветвями, в котором информационные символы составляющего кода защищены по-разному. При декодировании подобного составляющего кода сначала интенсивно исправляются ошибки в ветвях с большим 1, после чего снижается доля ошибок в менее защищенных ветвях. После подключения к процессу декодирования оставшейся части кода, выравнивающей значение кодового расстояния по всем информационным ветвям, происходит значительное снижение оши-

бок во всем кодовом слове.

10

о

М 10 РЭ

10

10

10

10

10

10

10

1.5

2

2.5 3

3.5 4

Рис. 3. Характеристики МПД в канале с АБГШ при модуляции БРЗК для СОК с параллельным каскадированием

Пример характеристик для СОК с параллельным каскадированием и выделенными ветвями с ^=8/16, ^=11 и «=32000 для канала с АБГШ показан на рис. 3 кривой 7. Заметим, что область эффективной работы МПД для данного СОК начинается с отношения Еъ/Ы0=2,15 дБ. Из сравнения полученных характеристик с характеристиками, представленными кривой 6 на этом же рисунке, следует, что за счет применения составляющего кода с выделенными ветвями удалось получить дополнительный ЭВК около

0,25 дБ. И, что очень важно, сложность декодирования осталась на прежнем линейном уровне.

Из представленных результатов следует, что СОК с параллельным каскадированием и выделенными ветвями позволяют обеспечить существенно больший энергетический выигрыш при их многопороговом декодировании. В тоже время данные коды характеризуются достаточно сложной структурой. Следует заметить, что процесс выбора структуры для СОК с параллельным каскадированием с выделенными ветвями, обладающего наилучшими характеристиками, является достаточно сложной эвристической процедурой. Для того чтобы автоматизировать этот процесс, можно перебирать все возможные варианты кодов с различными размерностями проверок (т. е. различной структурой), оценивать эффективность их декодирования с помощью компьютерного моделирования, и выбирать тот код, декодер которого оставляет после себя наименьший процент ошибок. Данный подход требует тПк Пг раз выполнить оценку вероятности ошибки

МПД, где m - количество возможных вариантов числа проверок каждой пары информационная-проверочная ветвь. Такой полнопереборный алгоритм чрезвычайно эффективен при выборе структуры СОК с небольшим количеством информационных и проверочных ветвей, поскольку с его помощью находится глобальный минимум целевой функции, значение которой определяется вероятностью ошибки декодирования СОК. Однако для выбора структуры кодов с большим количеством информационных и проверочных ветвей применение алгоритма полного перебора из-за слишком большой вычислительной сложности оказывается невозможным. Объем вычислений можно сократить, адаптировав один из методов поиска экстремума функции многих дискретных переменных. Особенностью данной задачи является то, что аналитическое выражение для целевой функции неизвестно, и она может быть вычислена только с помощью компьютерного моделирования. Авторами статьи предложен алгоритм поиска лучшей структуры кода, представленный на рис. 4, основанный на методе покоординатного спуска, который позволяет найти субоптимальное решение задачи.

На рисунке 4 используются следующие обозначения: poly - порождающий полином; nk, nr - число информационных и проверочных ветвей; min[i][j], max[i][j] - минимальное и максимальное число символов i-й информационной ветви, участвующих в формировании символов /-й проверочной ветви; GetProb{poly) - функция оценивания вероятности ошибки МПД для кода, заданного полиномом poly; N - число итераций алгоритма поиска структуры кода.

Перед использованием алгоритма строится базовый СОК с nk информационными и nr проверочными ветвями, содержащий по m проверок в каждой ветви. Для каждой пары информационная-проверочная ветвь устанавливается начальное количество используемых проверок, а также минимальная и максимальная размерность проверок, которая может быть в результирующем коде.

Итеративный процесс поиска лучшей структуры СОК заканчивается после выполнения N итераций алгоритма или в том случае, когда при выполнении текущей итерации не было найдено ни одного более эффективного кода. Таким образом, при работе полученного алгоритма вероятность ошибки МПД необходимо оценить всего mn^nrN раз. Результаты

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

Сравним вычислительную сложность предложенного алгоритма и алгоритма полного перебора, например, при m=3, nk=nr=5, N=10. Для определения структуры наиболее эффективного СОК с использованием алгоритма полного перебора необходимо оценить значение вероятности ошибки МПД mnk Пг = 325 » 8,5 • 1011 раз, а с использованием разработанного

алгоритма поиска структуры кода - только тщпгЫ = 3 • 5 • 5 10 = 750 раз

Рис. 4. Алгоритм поиска лучшей структуры СОК

Таким образом, при применении данного алгоритма для нахождения наиболее эффективного СОК всего с пятью проверочными и пятью информационными ветвями требуется почти в 109 раз меньший объем вычислений, что позволяет выполнить поиск всего за несколько часов работы программы. Для кодов с большим числом информационных и проверочных ветвей, которые часто и нужно использовать для получения наилучших результатов, разница становится еще существеннее.

На рис. 3 кривая 8 отражает результаты моделирования МПД для найденного с помощью предложенного алгоритма СОК. Отметим, что при использовании данного кода достигаются еще на 0,25 дБ лучшие, чем ранее полученные результаты. МПД для такого СОК обеспечивает близкое к

оптимальному декодирование при отношении сигнал/шум Eb/N0=2,5 дБ.

Таким образом, только за счет лучшей структуры кода, найденной с помощью предложенного алгоритма, удалось получить дополнительный ЭВК около 0,25 дБ по сравнению с ЭВК, обеспечиваемого лучшими из найденных ранее СОК.

В заключение заметим, что большой объем научно-методических и учебно-демонстрационных материалов по МПД алгоритмам представлен на специализированных двуязычных веб-сайтах www.mtdbest.ru и www.mtdbest.iki.rssi.ru. Работа выполнена при финансовой поддержке Российского фонда фундаментальных исследований, Института космических исследований, Рязанского государственного радиотехнического университета.

Список литературы

1. Зубарев Ю.Б., Овечкин Г.В. Помехоустойчивое кодирование в цифровых системах передачи данных // Электросвязь. 2008. № 12. С. 58-61.

2. Зубарев Ю.Б., Золотарёв В.В., Овечкин Г.В., Строков В.В. Многопороговые декодеры для высокоскоростных спутниковых каналов связи: новые перспективы // Электросвязь. 2005. № 2. С. 1-3.

3. Золотарёв В.В., Овечкин Г.В. Повышение надежности передачи и хранения данных с использованием многопороговых методов декодирования помехоустойчивых кодов // Цифровая обработка сигналов. 2012. № 1. С. 16-21.

4. Золотарёв В.В., Овечкин Г.В. Эффективное многопороговое декодирование недвоичных кодов // Радиотехника и электроника. 2010. Т. 55. № 3. С. 324-329.

5. Золотарёв В. В. Параллельное кодирование в каналах СПД // Вопросы кибернетики. 1986. Вып. 120. С. 56-58.

Овечкин Геннадий Владимирович, д-р техн. наук, доц., проф.,

g ovechkin'a.mail.ru, Россия, Рязань, Рязанский государственный радиотехнический университет,

Овечкин Павел Владимирович, канд. техн. наук, доц., [email protected], Россия, Рязань, Рязанский государственный радиотехнический университет,

Гринченко Наталия Николаевна, канд. техн. наук, доц., grinchenko nnamail.ru, Россия, Рязань, Рязанский государственный радиотехнический университет,

Столчнев Вячеслав Константинович, канд. техн. наук, доц., vstol-chneva gmail.com, Россия, Рязань, Рязанский государственный радиотехнический университет

ALGORITHM FOR CONSTRUCTION OF SELF-ORTHOGONAL CODES FOR MULTITHRESHOLD DECODERS

G.V.Ovechkin, P.V.Ovechkin, N.N. Grinchenko, V.K.Stolchnev

An algorithm for self-orthogonal codes (SOC) construction is developed. These codes are applied with multithreshold decoders (MTD) and can provide good error correcting ability at high noise level. This algorithm constructs codes with lower error propagation due to optimizing weight of information and check branches. Such codes allow to perform near optimal decoding at lower signal to noise ratio than codes known earlier.

Key words: communication, error-correction coding, self-orthogonal codes, multithreshold decoding, parallel concatenation.

Oveckin Gennady Vladimirovich, doctor of technical sciences, professor, 2_ovechkin@,mail. ru, Russia, Ryazan, Ryazan State Radio-Engineering University,

Oveckin Pavel Vladimirovich, candidate of technical science, docent, pash maii'a.mail. ru, Russia, Ryazan, Ryazan State Radio-Engineering University,

Grinchenko Natalia Nikolaevna, candidate of technical science, docent, grinchen-ko nn a mail. ru, Russia, Ryazan, Ryazan State Radio-Engineering University,

Stolchnev Vyacheslav Konstantinovich, candidate of technical science, docent, vstol-chnev@gmail. com, Russia, Ryazan, Ryazan State Radio-Engineering University

УДК 004.942

АВТОМАТИЧЕСКАЯ БАЛАНСИРОВКА НАГРУЗКИ В ГИБРИДНЫХ ВЫЧИСЛИТЕЛЬНЫХ СЕТЯХ

А.Н. Привалов, А.К. Клепиков

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

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

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

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

i Надоели баннеры? Вы всегда можете отключить рекламу.