Научная статья на тему 'БЫСТРОЕ ДЕКОДИРОВАНИЕ НА ОСНОВЕ ПАССИВНОЙ СОГЛАСОВАННОЙ ФИЛЬТРАЦИИ ДЛИННЫХ ПСЕВДОСЛУЧАЙНЫХ КОДОВ'

БЫСТРОЕ ДЕКОДИРОВАНИЕ НА ОСНОВЕ ПАССИВНОЙ СОГЛАСОВАННОЙ ФИЛЬТРАЦИИ ДЛИННЫХ ПСЕВДОСЛУЧАЙНЫХ КОДОВ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
69
14
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
АЛГОРИТМЫ / ЦОС / КОДИРОВАНИЕ / ДЕКОДИРОВАНИЕ / ШУМОПОДОБНЫЕ СИГНАЛЫ / M-ПОСЛЕДОВАТЕЛЬНОСТЬ / ИСПРАВЛЕНИЕ ОШИБОК

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

Рассмотрен новый алгоритм быстрого декодирования симплексных и других квазиортогональных псевдослучайных кодов, который снимает ограничения на схемотехническую реализацию декодера при обработке сверхдлинных кодов в режиме реального времени. Предложенный алгоритм наиболее эффективен в системах передачи данных с шумоподобными сигналами в тех случаях, когда реализация оптимального корреляционного приемника таких сигналов затруднительна или невозможна по техническим причинам.A new algorithm for fast decoding of simplex and other quasi-orthogonal pseudorandom codes, which eliminates the restrictions for the hardware implementation of the decoder in processing very long codes in the real-time communications, has been considered. The proposed algorithm is the most efficient in the data-transmission systems with pseudorandom signals in cases, when the implementation of the optimal correlation decoder is difficult or impossible due to technical reasons.

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

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

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

Текст научной работы на тему «БЫСТРОЕ ДЕКОДИРОВАНИЕ НА ОСНОВЕ ПАССИВНОЙ СОГЛАСОВАННОЙ ФИЛЬТРАЦИИ ДЛИННЫХ ПСЕВДОСЛУЧАЙНЫХ КОДОВ»

ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ

УДК 621.391.15

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

В.С.Кузнецов, К.А.Мордасов

Московский государственный институт электронной техники (технический университет)

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

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

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

© В.С.Кузнецов, К.А.Мордасов, 2010

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

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

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

сдвигов, а также период последовательности равны п = 2т — 1. При добавлении к п циклическим сдвигам ^-последовательности еще одного слова из одних нулевых чипов получается симплексный циклический (п, т) код с объемом кодового пространства

V = 2т. Все слова в симплексном коде равноудалены в смысле метрики Хэмминга, т.е.

код является эквидистантным. Минимальное расстояние такого кода определяется одноуровневой периодической автокорреляционной функцией и свойством сбалансированности ^-последовательности [5] и равно

^ = 2т—1 ишт = 2 •

Для генерации симплексного кода используется регистр сдвига с линейной обратной связью [5], будем называть его кодирующим регистром (КР). На рис.1 представлена схема КР. Множители gi на схеме КР означают наличие ( gi = 1) или отсутствие ( gi = 0 ) связи между разрядом КР и полусумматором обратной связи. Множители gi соответствуют коэффициентам при степенях в генераторном многочлене ^-последовательности:

g (-х) = Хт + gm—lXm—1 +■■■ + glX + 1.

Перед началом кодирования обратная связь в КР выключается и за т тактов в КР записываются информационные символы. Затем обратная связь включается и п тактов кодовые символы с выхода КР поступают в канал связи.

Алгоритм быстрого декодирования. Пусть из ДСК принято ПСК-слово а длины п, искаженное ошибками, т.е. слово а' =а + е, где е - вектор ошибок. Будем считать, что для кодирования используется да-разрядный КР (см. рис.1). Содержимое КР на произвольном сдвиге кодирования (когда включена обратная связь) будем называть фазой кода, а в начальный момент времени - начальной фазой. Разряды начальной фазы соответствуют информационным символам. Для описания процесса декодирования воспользуемся структурной схемой декодера БДК, изображенной на рис.2.

|Вход

¿т-1

ДКлюч

¿1 ¿0

Обратная связь

Выход

Рис.1. Кодирующий регистр

Быстрое декодирование на основе пассивной согласованной фильтрации...

Алгоритм БДК с отказом сводится к следующему:

Шаг 1. Согласно рис.2 слово а' подается посимвольно на согласованный цифровой фильтр (СФ). СФ представляет собой КР (см. рис.1) с выключенной обратной связью, вход и выход которого замкнуты на полусумматор (см. рис.2). Отклик СФ на слово а после приема первых т символов есть нулевая последовательность. Такой фильтр обычно используется в пассивной согласованной фильтрации для быстрого входа в синхронизм с псевдослучайной последовательностью.

Шаг 2. На рис.2 выход СФ подается на детектор чистого окна (ДЧО). По мере поступления канальных символов ДЧО обнаруживает сегменты слова а', корреляционно близкие к сегментам слова а. Будем называть такие сегменты чистыми окнами. Обнаружение чистого окна происходит следующим образом: СФ сдвигается окном из т символов по слову а' и на каждом сдвиге выдает предсказание следующего после окна символа. Совпадение канального символа и его предсказания соответствует нулевому выходу СФ. В процессе приема слова а' ДЧО наблюдает за выходом СФ и фиксирует у последовательных нулевых выходов до первого ненулевого или до окончания приема слова а'. Отклик СФ, состоящий из у последовательных нулевых символов, свидетельствует о вероятном обнаружении чистого кодового сегмента длиной т + у символов. В этом случае будем говорить, что обнаружено чистое окно шириной у символов. ДЧО начинает поиск чистых окон после приема первых т символов слова а'. Обнаружив чистое окно, ДЧО сравнивает его ширину у с наперед заданным порогом J, и если у > J, содержимое СФ на такте, когда был зафиксирован последний нулевой символ с выхода СФ, переписывается в отдельный регистр сдвига. Для упрощения на рис.2 этот регистр не показан. Содержимое такого регистра (отрезок слова а' длины т ) при отсутствии ошибок совпадает с некоторой фазой кода. И чем больше порог J, тем вероятнее обнаружение фазы кода без ошибок. Поэтому будем называть порог J порогом обнаружения фазы кода, а содержимое регистра просто фазой кода.

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

Шаг 4. Начальные фазы, найденные с помощью набора ЗР, поступают согласно рис.2 на мажоритарный декодер (МД). Пусть Ь - количество начальных фаз, поступивших в МД при декодировании слова а'. Если Ь = 0, МД выдает отказ от декодирования, в противном случае МД запускает процедуру исправления ошибок в начальной фазе. Количество Ь начальных фаз, которые участвуют в декодировании, будем называть базой мажоритарного декодирования (база МД), а максимальное их число В - максимальной базой МД. Для исправления ошибок МД

Вход

Циклическая и тактическая синхронизация

СФ

КР

I______

ДЧО

с

ЗР

П

ЗР

МД

Выход

Рис.2. Структурная схема декодера БДК

записывает найденные начальные фазы построчно в таблицу. Символы каждого столбца таблицы суммируются как биполярные символы (нулевой символ как «—1», а единичный как «1»). В этом случае при отрицательной сумме наиболее вероятен нулевой символ, а при положительной - единичный символ. Нулевая сумма свидетельствует о неопределенном решении по символу, которое может возникнуть только в том случае, если база МД Ь есть четное число. Поэтому рекомендуется выбирать максимальную базу МД, равную нечетному числу В = 2i +1, где i > 0. Если хотя бы в одном столбце есть неопределенность, МД выдает в качестве решения начальную фазу, которая соответствует чистому окну с максимальной шириной.

Шаг 5• Выход МД анализируется декодером БДК до передачи декодированного блока абоненту. Этот процесс для упрощения на рис.2 не показан. В случае отказа МД от декодирования декодер БДК выдает абоненту отказ от декодирования и стирания вместо информационных символов. В противном случае получателю выдаются информационные символы из начальной фазы.

Подведем итог в описании алгоритма БДК. При декодировании слова ПСК декодером БДК возможно три вероятностных события: правильное декодирование; отказ от декодирования; ложное декодирование. Декодер БДК имеет два параметра, которые определяют его работу: J — порог обнаружения фазы кода; В — максимальная база МД. Поэтому будем обозначать декодер с параметрами J и В как БДК(J, В). Задержка при декодировании кодового блока связана практически полностью со скоростью сдвига ЗР до начальной фазы. Время декодирования начальной фазы в МД пренебрежимо мало в связи с исключительно низкой сложностью МД. Обнаружение и выбор лучших фаз кода происходит в процессе приема канального слова и на задержку декодирования никак не влияет. Вычислительная сложность декодирования кодового блока декодером БДК(/, В) растет пропорционально ~ Впт, а сложность декодера ~ т, где т «1о§2(п). При декодировании требуется память для хранения В фаз кода по т бит каждая. Таким образом, разработанный алгоритм БДК имеет преимущество по сравнению с известным алгоритмом БПА по сложности декодера примерно в п/1о^(п) раз.

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

Сравнение эффективности декодеров МП и БДК. Алгоритм БДК отходит от принципов оптимального декодирования по методу максимального правдоподобия. Поэтому при замене декодера БПА на декодер БДК естественно ожидать ухудшения корректирующих свойств кода в обмен на выигрыш в простоте реализации. Чтобы оценить эту потерю и понять, насколько целесообразно использование данного алгоритма на практике, проведены экспериментальные исследования корректирующей способности алгоритма БДК для одного симплексного ПСК длины 1023. Исследования проводились с помощью программного моделирования процессов передачи и декодирования в канале ДСК. При этом эффективность декодеров БПА и БДК оценивалась вероятностью Q ошибочного декодирования информационного блока, которая для декодера БДК условно принята равной вероятности совместного события «Декодирование ложно или Отказ от декодирования». Вероятность Q для декодера БПА рассчитывалась теоретически как верхняя граница вероятности блоковой ошибки произвольного блочного кода при декодировании по методу максимального правдоподобия [6]:

п

Q(q) * Е сп4 (1 — чТ1, (1)

i=Т+1

Быстрое декодирование на основе пассивной согласованной фильтрации.

где д - вероятность ошибки на символ в канале ДСК; Т = -1)/2] - кратность ошибок, исправляемых блоковым кодом с минимальным расстоянием ([х] - целая часть числа х ).

Перед сравнением с декодером БПА параметры декодера БДК(/, В) были оптимизированы для получения минимальной вероятности Q блоковой ошибки для вероятности ошибки на символ в канале д = 10-1. Вероятность д = 10-1 на практике часто определяет границу рабочей области системы связи. В таблице представлены лучшие параметры декодера БДК(/, В) симплексного кода ПСК(п = 1023, к = 10, = 512) с

генераторным многочленом g(х) = х10 + х7 +1 и экспериментальная вероятность Q при

д = 10-1 для каждой пары параметров. Диапазон параметров сужен в ходе исследования. Ввиду прямой зависимости сложности декодера БДК от базы МД в исследовании не рассматривались базы МД более В = 7. Согласно таблице оптимальными можно признать декодер БДК (10,7). Для этого декодера, а также для декодеров с меньшей базой МД построены кривые помехоустойчивости.

Вероятность блоковой ошибки для лучших параметров декодера БДК симплексного кода при вероятности ошибки на символ q = 0,1 в канале ДСК

J В = 1 В = 3 В = 5 В = 7

3 = 8 1,1110-4 ± 0,364 10-4 1,0410-4 ± 0,35110-4 1,1410-5 ± 1,4910-5 4,80 10-6 ± 3,0710-6

J = 9 1,1110-4 ± 0,143 • 10-4 1,0610-4 ± 0,279 • 10-4 0,907 10-5 ± 2,07 •Ю-5 5,57 10-6 ± 4,21 10-6

3 = 10 1,11 •Ю"4 ± 0,15210-4 1,04 • 10-4 ± 0,21210-4 1,0810-5 ± 1,28 • 10-5 3,37 • 10-6 ± 6,62 • 10-6

3 = 11 1,14 • 10-4 ± 0,217 •Ю-4 1,1410-4 ± 0,185 • 10-4 1,21 •Ю-5 ± 0,315 10-5 5,70 10-6 ± 6,29 10-6

3 = 12 1,11 •Ю-4 ± 0,280 10-4 1,1510-4 ± 0,225 • 10-4 1,4810-5 ± 0,573•Ю-5 11,410-6 ± 2,51 10-6

На рис.4 представлена зависимость Q от д для симплексного кода ПСК(1023,10,512). Данный рисунок отображает экспериментальную зависимость для различных декодеров БДК(/, В) с порогом обнаружения фазы кода, равным / = 10. На этом же рисунке представлена теоретическая зависимость для БПА декодера максимального правдоподобия (МП) (см. формулу (1)) и канала без кодирования. Из рисунка видно, что ощутимый выигрыш от МД наблюдается при использовании базы МД В = 5 и более. Однако декодер БДК(10,7) дает незначительный выигрыш относительно декодера БДК(10,5), хотя требует большей вычислительной сложности. Поэтому можно признать декодер БДК (10,5) оптимальным с точки зрения эффективности и сложности.

На рис.4 прослеживается рабочая область декодеров БДК. Так, если требуется обеспечить достоверность передачи информации на

уровне Q = 10-5, декодер БДК(10,5) симплексного кода ПСК(1023,10,512) должен

работать на уровне ошибок д < 10-1. Рабочую границу декодера БДК можно обосновать теоретически, если ошибки в ДСК рассматривать как простейший пуассоновский

Декодеры симплексного ПСК (1023, 10)

10'

и о

^ 1 ю 10-1

03

и «

и

ю «

В

о

Л

н о о и

н «

о а

<и «

6

10

10

10

10

10

10

0,22

0,18

0,14

0,1

0,06

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

Рис.4. Исправляющая способность декодеров БДК и МП симплексного кода ПСК(1023,10,512)

поток событий. Если q - интенсивность события «ошибка в символе», а время наблюдения определяется временем передачи m символов, то среднее число ошибок за время наблюдения равно qm. Алгоритм БДК не сможет исправить кодовое слово, если в нем

нет ни одного сегмента без ошибок размером m символов, где m - размер начальной фазы. Поэтому исправление ошибок возможно, если в среднем ошибок не будет за время наблюдения m символов, т.е. если qm < 1 или q < 1/m. Тогда для симплексного кода ПСК(1023,10,512) получаем границу q < 1/10 = 10-1, которая согласуются с результатами эксперимента.

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

Оценка энергетического выигрыша от кодирования для декодеров БПА и БДК при

достоверности передачи Q = 10-5 (при когерентном детектировании сигналов бинарной фазовой манипуляции в присутствии аддитивного белого гауссовского шума) показывает, что декодер БДК(10,5) симплексного кода ПСК(1023,10,512) проигрывает декодеру БПА примерно 3,47 дБ. Такой проигрыш декодера БДК служит соизмеримой платой за снижение сложности декодера примерно в 100 раз.

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

Литература

1. Куприянов А.И., Сахаров А.В. Теоретические основы радиоэлектронной борьбы. - М.: Вузовская книга, 2007. - 356 с.

2. Лосев В.В., Бродская Е.Б., Коржик В.И. Поиск и декодирование сложных дискретных сигналов / Под ред. В.И.Коржика. - М.: Радио и связь, 1988. - 225 с.

3. Блейхут Р. Быстрые алгоритмы цифровой обработки сигналов. - М.: Мир, 1989. - 448 с.

4. Канатова Л.В., Литвинов В.А., Финк Л.М. Быстрое корреляционное декодирование ^-ичных кодов максимальной длины // Проблемы передачи информации. - 1986. - Т. 22, № 2. - С. 98-103.

5. Ипатов В. Широкополосные системы и кодовое разделение сигналов. Принципы и приложения. -М.: Техносфера, 2007. - 488 с.

6. Скляр Б. Цифровая связь. Теоретические основы и практическое применение. - изд. 2-е, испр.: Пер. с англ. - М.: Вильямс, 2004. - 1104 с.

Статья поступила 22 июля 2009 г.

Кузнецов Виталий Степанович - доктор технических наук, профессор кафедры телекоммуникационных систем МИЭТ. Область научных интересов: исследование и проектирование спутниковых систем связи и передачи данных, наземные системы связи многостанционного доступа (CDMA, TDMA), исследование проблемных вопросов в теории (области) помехоустойчивого кодирования, разработка новых блоковых (каскадно-блоковых) кодов и алгоритмов их декодирования.

Мордасов Константин Александрович - аспирант кафедры телекоммуникационных систем МИЭТ. Область научных интересов: исследование проблемных вопросов в теории помехоустойчивого кодирования, разработка новых алгоритмов помехоустойчивого кодирования. E-mail: kosmor@mail.ru

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