Ч КОДИРОВАНИЕ И ПЕРЕДАЧА ИНФОРМАЦИИ
УДК 621.396:621.391.26 М:10.15217/1Б8П1684-8853.2015.1.59
СИНТЕЗ БИНАРНЫХ Р-КОДОВ
Ю. В. Чепрукова, канд. техн. наук
аРоссийский государственный университет туризма и сервиса, филиал в Сочи, РФ
Введение: увеличение эффективности современных систем невозможно без совершенствования бинарных кодов и сигналов на их основе. Часто применяемые Ы-элементные бинарные коды не позволяют достигать желаемого низкого уровня боковых пиков автокорреляционной функции при вариации N в достаточно широком диапазоне. К бинарным кодам для разнообразных систем могут предъявляться дополнительные требования по чередованию знаков коэффициентов и наличию аналитической системы нумерации. Это важно при построении и генерации множества кодов объемных ансамблей, когда хранятся не коэффициенты кодов, а их номера в определенной системе исчисления. Целью работы является аналитический синтез Ы-элементных бинарных кодов с заданным уровнем Я боковых пиков автокорреляционной функции (Я-кодов) при наличии определенных требований к чередованию коэффициентов кодов, а также разработка системы их учета. Результаты: изложена в общем виде методика решения задачи синтеза с ограничениями, указаны ее особенности (например, возможность преобразования совокупности неравенств в систему уравнений, причем ее первая половина используется для нахождения кодов-кандидатов на решение, а вторая — для выявления искомых решений). Даны соотношения, позволяющие найти значения кодовых последовательностей. Предложен способ нумерации синтезированных кодов, базирующийся на системе полных кодов. Введено понятие авторского кода, определяющего правило чередования знаков некоторых коэффициентов Я-кодов. Дана методика нахождения списков кодов с такими свойствами в предложенной системе нумерации. Представлены примеры синтеза авторских кодов с Я = 3, N = 32, 33. Практическая значимость: предложенная методика и результаты синтеза могут найти приложение при построении бинарных кодов и сигналов на их основе для систем управления, связи, радиолокации, вычислительных систем и сетей.
Ключевые слова — бинарные коды, фазоманипулированные сигналы, автокорреляционная функция, уровень боковых пиков.
Введение
В разнообразных современных коммуникационных и радиолокационных системах широко используются шумоподобные сигналы. Применяются одиночные сигналы и ансамбли. Разновидностью шумоподобных сигналов являются фазоманипулированные сигналы (ФМС) [1], которые состоят из последовательности N радиоимпульсов с одинаковой частотой и амплитудой. Очередность следования радиоимпульсов с различными начальными фазами характеризуется бинарной кодовой последовательностью или просто кодом. Назовем ФМС, автокорреляционная функция (АКФ) которых в области боковых пиков может изменяться в пределах ±R (0 < R < N - 1, R — целое), сигналами R-го рода (ФМС-R), а соответствующие им коды Gr n — R-кодами [2, 3]. Пусть B = R/N — относительный уровень боковых пиков (УБП) АКФ этих R-кодов. Примером системы, в которой используются ФМС, является система мобильной связи CDMA (Code Division Multiple Access — системы с кодовым разделением каналов) [4]. В этой же работе [4] представлены требования к сигналам для CDMA, а сами сигналы и ансамбли, удовлетворяющие таким условиям, названы оптимальными. К ним отнесены, в частности, совокупности Голда, Касами, бент-функции. Существенный недостаток таких ансамблей заключается в высокой разреженности значений длин кодов (N = 2" - 1 = 3, 7, 15, 31,
63, 127, ...; п = 2, 3, ...) [5], что ограничивает их использование. Упомянутые коды базируются на М-последовательностях, из характеристик которых [1, 5] следует, что минимальное значение УБП АКФ (0,7...1,25)/М. Математический аппарат, привлекаемый для построения оптимальных кодов и ансамблей, — поля Галуа. В монографии [6] дана классификация ансамблей и методов синтеза, указаны проблемы их применения, например, при использовании полей Галуа необходимо обращаться к таблицам полиномов первой половины прошлого века. Вместе с введением оптимальных сигналов в работах [5, 6] упоминаются дополнительные требования, предъявляемые к кодам, например, приближенное равенство количества коэффициентов с положительными и отрицательными значениями (отсутствие постоянной составляющей). В работе [6] рассмотрены вопросы построения радиолокационных систем с непрерывными сигналами. При этом одной из сложных задач является фильтрация принятых кодовых последовательностей. Возможно, что существование у них некоторых особенностей чередования знаков (например, наличие в начале кода серии коэффициентов с условными значениями +1, а в конце — группы со значениями -1) может использоваться для повышения качества фильтрации. Все другие требования, предъявляемые к кодам при синтезе, сохраняются.
В статьях [2, 3] сформулирована задача синтеза, обоснован и предложен для ее решения
метод упорядоченного перебора, представлены результаты. Приведены некоторые коды с Я = 2, 3; N < 25 и все последовательности с Я = 2; N < 28 соответственно. Показаны существенные преимущества синтезированных кодов по сравнению с М-последовательностями (В < В1 при равных Щ. Получены [3] все 480 Я-кодов с Я = 2 (Я2-кодов), показаны широкие возможности выбора значений N (22 варианта) при большей эффективности по сравнению с лучшими кодами Баркера по относительному УБП АКФ, дана таблица. В этих работах, однако, не рассмотрены возможности учета каких-либо дополнительных требований и особенностей чередования знаков коэффициентов. Не предложена система нумерации найденных решений, что важно при использовании объемных ансамблей, когда удобно хранить не сами коды, а их номера в заданной аналитически системе исчисления.
Таким образом, вопросы синтеза бинарных кодов и сигналов на их основе актуальны для широкого класса, например, коммуникационных систем с кодовым разделением абонентов и нуждаются в новых, дополнительных исследованиях.
Цель работы, задача синтеза, особенности решения
Обозначим Т длительность всех N радиоимпульсов ФМС. Начальные фазы могут быть равны 0 или п. Обозначим {GR,N} = {Pjj = 1,N, Ру = +1 — бинарные последовательности условных значений начальных фаз импульсов ФМС, которые соответствуют Я-кодам. Цель работы — предложить аналитическую методику синтеза Я-кодов при наличии ограничений на коэффициенты, ввести систему нумерации.
Пусть Бф определяет модуль АКФ бинарных кодовых последовательностей ФМС. В моменты ^ = кТ, отсчитываемые от начала АКФ, Б(1к) принимает экстремальные или нулевые значения, причем = N. Задачу синтеза можно пред-
ставить в виде системы неравенств относительно коэффициентов [2, 3]:
S(tk) =
Е Pj ■ +j-k\
Ь=1
< Rl¿ к = 1, N -1,
(1)
где Як — заданные по условию синтеза значения АКФ в моменты времени В частном случае можно для всех ^ в области боковых пиков задать одинаковое максимальное значение АКФ, равное Я. Универсальность методики состоит в возможности найти решение задачи для выбранной системы значений Як, если решение существует. Ниже исследуется задача с равными величинами Я.
Перейдем к представлению в аналитической форме дополнительных требований и особенно-
стей чередования знаков коэффициентов. Обозначим: 1) ¿0 и ¿о — количество коэффициентов кодов из общего числа N, имеющих положительные и отрицательные знаки соответственно; 2) ЪZ = | ¿о _ ¿о I — неравнозначность кода; 3) Д — допустимая неравнозначность, Д = 0, 1, ..., N. Введем Z+ = п и Z- = п — количество началь-
н н к к
ных и конечных коэффициентов кодов, имеющих положительный и отрицательный знаки со-
ответственно, т. е. Р■ = 1, I = 1,
Пн и Ру = -1,
] = N - пк + 1, ..., N. При этом должно выполняться условие пн + пк < N. Например, для Я2-кода [3] (1,1,1,1,-1,1,^1,1,1,-1,-1) с N =11 имеем Z+ = 7, Z- = 4, 5Z = 3, Z+ = 4 и Zк = 2. Это позволяет записать дополнительные требования и особенности чередования знаков коэффициентов (ограничения задачи синтеза) в виде
5Z < Д; ^ = п^ ^ = пк.
(2)
Числовые значения Д, пн, пк вводятся в условия синтеза, разумно задавать Д << N. Возможна постановка задачи нахождения кодов с максимально длинными сериями (2<+ + Zк)max. Отметим, что Z+ и Z- регламентируют наименьшее обязательное количество положительных и отрицательных знаков, а условия на знаки всех других коэффициентов не накладываются. Поэтому этим соотношениям удовлетворяют и коды, у которых большее количество знакопостоянных коэффициентов, которые имеют более длинные серии значений с одинаковыми знаками. Это положение можно сформулировать как требование количества одинаковых знаков не менее, чем пн, пк, но указанные условия в виде равенств предпочтительнее при построении расчетной программы, чем неравенства.
Для дальнейшего изложения представим (1) в развернутом виде, для чего варьируем величину к в указанных пределах, тогда получим систему неравенств
Р • Р^ < Я, к = 1; Р • PN-l + Р2 • Р^ < Я, к = 2;
Р • PN-2 + Р2 • Р^1 + Р3 • PN I < Я, к = 3; к-1
Р1 ■ ^У+1-к'
Е Р ■ Рг
N+j-k + Рк ■ ^
j=2
< R,
Назовем
к = 4, N-1, Р) = ±1, j = 1, N. к-1
$1 = Е р ■ ^+]-к, j=2
(3)
к = 3, N-1, вну-
тренней суммой (51 = 0 для к = 1, 2). Теперь в (1) можно выделить крайние слагаемые и внутреннюю сумму, после чего получить компактную запись системы
Р1 ■ РN+1-k + Б1 + Рк ■ РМ < R, к = 1, N-1. (4)
Видно, что для определения N целочисленных неизвестных имеется N - 1 нелинейных неравенств (так как искомые коэффициенты перемножаются) с целочисленными (единичными) коэффициентами при неизвестных коэффициентах кодов.
Учтем, что Я является целым положительным числом или 0, поэтому систему неравенств
(3) можно представить в виде равенств. При этом имеются особенности. Например, первое неравенство в (3) справедливо, если выполняется хотя бы одно из уравнений Р1 ■ PN = ±г, где г — целое положительное или 0 (г < Я). Но так как \Р^\ = 1, ] = 1, ..., N, то не для всех значений г уравнение имеет решения. Поэтому надо задавать величины г, которые не превышают количество слагаемых в левой части (3). Таких слагаемых имеется к, поэтому надо выбирать г из условия г < к, когда к < Я (большие, чем к, значения г задавать бесполезно, чтобы не рассматривать уравнения, заранее не имеющие решений). Если шаг к > Я, то обязательно надо брать все г < Я. Выражения (3),
(4) теперь преобразуем к виду
|Р1 ■ Р^ = г, к = 1; р1 ■ Р^! + Р2 ■ Р^ = г, к = 2;
Рл ■ Ры+Л-к + Эл + Рк■ Ры = г,
к = 3, N-1, г = 0, Я.
(5)
Раскрывая знак модуля, составим из (5) систему
Р1 ■ PN = ±г, к = 1; Р1 ■ Р^1 + Р2 ■ PN = ±г, к = 2;
Рл ■ Ры+л-к + Эл + Рк ■ Ры = ±г;
к = 3, N-1, г = 0Я. (6)
Из сказанного относительно выбора г следует, что первое уравнение необходимо рассматривать лишь для г = 1, а второе — при г = 0; 2 (если Я > 2) и так далее.
Классифицируем уравнения и систему (6). Зафиксируем индекс г. Отмечалось, что количество неизвестных N больше числа уравнений. Тогда с учетом целочисленности коэффициентов уравнений они и система (5) могут быть отнесены к диофантовым уравнениям [7, 8].
Возможно следующее упрощение. Каждый коэффициент кода может принимать значения ±1. Если выбрать Р1 = +1 и найти требуемые коды, то все коды с Р1 = -1 можно найти в результате инверсии ранее найденных наборов. Поэтому задача синтеза может рассматриваться лишь для одного варианта значения первого коэффициента кода Р1 = +1. Тогда, учтя \Р}\ = 1, из первого уравнения (6) получим PN = ±1. Из второго уравнения (6) тоже можно найти два коэффициента
(Р2 и Р^-О- Р^1 = ±г - Р2 ■ Р^ Отнесемся к Р2 как к параметру, множество допустимых значений которого Р2 = ±1. Взяв эти значения параметра и учтя, что PN = ±1, найдем Р^1 = ±г - (± Р2)(±Р^. Заметим, что внутренняя сумма определяется величинами, найденными на предыдущих шагах. Видно, что возникает множество вариантов наборов коэффициентов. Так как на каждом шаге определяются варианты двух коэффициентов, следовательно, выбор их из (6) возможен до шага (уравнения) кс = N/2, кс = N + 1)/2 для четных и нечетных N соответственно. На шаге кс при четном N определяются Р^2 и Р^2+1, а для нечетного N вычисляется единственный коэффициент
Р(№1)/2.
Рассматривая задачу далее аналогичным образом и принимая каждый раз Рк за целочисленный параметр со значениями ±1, для каждого шага к из последнего уравнения (6) можно получить следующие значения:
Р1 = +1; Ры = ±1; Ря = ±1; = ±г - Ря ■ Р,
2 * N '•••■>
Р
т-к = ±г - «1 - (±Рк)(±Р^; |Рк| = 1, к = 3, ..., кс.
При этом требуется подставлять все варианты коэффициентов, установленных на предыдущих шагах к, учесть значения внутренней суммы (она ненулевая лишь с третьего шага), а также замечания по выбору г. Итак, на шагах с 1-го по кс-й определяются все наборы кодов, для которых они являются решениями соответствующих уравнений системы (6). Справедливость оставшихся N - 1 - кс) уравнений системы (6) необходимо верифицировать путем подстановки всех найденных вариантов коэффициентов, определенных до шага кс, в указанную систему.
После сделанных уточнений каждое уравнение и всю систему (6) можно интерпретировать как систему уравнений с целочисленными коэффициентами, с одним неизвестным и с целочисленными параметрами. Обобщая сказанное, систему для определения коэффициентов до шага кс представим в форме
Р1 ■ PN = ±1, к = 1;
1 + Р
Рл ■ Ры+1-к + Эл + Рк■ Ры = ±г,
Р1 ■ Р^1 + Р2 ■ PN = ±г, к = 2
к = 3, кс, г = 0, Я.
(7)
После шага кс проверяется выполнимость всех соотношений системы синтеза:
Рл ■ Ры+л-к + Эл + Рк■ Ры =±г, к = кс + л, ы-л, г = ОЯ.
(8)
Отсюда следует интересный вывод: для любых пар (^ Я) в множестве полных кодов имеются последовательности, удовлетворяющие (7).
Действительно, сумма коэффициентов в левой части (7) не может быть более к, а для правой части, как было показано, необходимо взять г < к, т. е. г можно выбрать соответствующим образом. Однако не для всех комбинаций пар Я) такие наборы коэффициентов будут удовлетворять (8). Иначе говоря, можно построить коды, у которых на начальной половине АКФ значение УБП будет равным заданной малой величине, но для второй половины АКФ такие условия могут нарушаться.
Система учета Д-кодов
Для учета вариантов наборов коэффициентов введем систему. Следуя работе [1], далее удобно использовать понятие о полном коде, содержащем все возможные варианты N элементных бинарных кодов 2^ Эти коды расположим построчно в матрице полных кодов. Введем ее следующим образом. Ранее была обоснована возможность синтеза лишь кодов с Р1 = +1, а все прочие коды с противоположным знаком первого коэффициента будут являться инверсными. Назовем матрицей полных кодов таблицу, в которой построчно заданы все возможные коды с Р1 = +1, количество которых обозначим Ма = 2N-1. Множество таких кодов можно ввести разными способами. Рассмотрим один из них, который далее применим для организации системы учета кодов.
Принцип построения кодов показан таблично. Вместо ±1 в табл. 1 указаны лишь знаки. Показаны первые и последние коэффициенты последовательностей, а многоточие означает прочие коэффициенты кодов. Количество колонок равно Ма. Рассмотрим закон заполнения матрицы полных кодов. Строки табл. 1 заполняются попеременными действиями: первым — нижняя с Р1 и верхняя с Р^; вторым — нижняя с Р2, верхняя с Рц-1 и так далее попарно, если N — четно. При четном N на кс-шаге последними заполняются строки для коэффициентов Р^2 и Р^^/2+г. Для нечетного N на кс-шаге остается лишь единственная средняя строка таблицы для коэффициентов Р^^-Индекс I в табл. 1 соответствует изменению знаков в строках или номеру колонок с вариантами.
■ Таблица 1
PN + + + + + + + +
PN-1 + + - - + + - - + + - - + + - -
Р3 + - + - + - + - + - + - + - + -
Р2 + + + + - - - - + + + + - - - -
Р1 + + + + + + + + + + + + + + + +
1 1 2 3 4 5 6 7 Ма
Далее рассмотрим аналитический способ задания коэффициентов. Для этого понадобится функция Е(х) — целая часть числа (это наибольшее целое число, не превосходящее х). Пусть I = 1, ..., Ма — индекс, задающий номера коэффициентов Р(1) в строке, а у = 1, ..., N — индекс изменения значения в колонке, тогда имеем
РЩ) = (-1) ад, 6(1) = Е((1 - 1)/5(1)), где 5(1) = Ма/20;
PN (0 = (-1) ^^ 6(!) = Е((1 - 1)/5(!)), где 5(!) = Ма/21;
Р2(1) = (-1)6(2), 6(2) = Е((1 - 1)/5(2)), где 5(2) = Ма/22; Р^1 (0 = (-1)6! - 1) = Е((1 - 1)/5(! - 1)), где 5^ - 1) = Ма/23;
Р3© = (-1)6(3), 6(3) = Е((1 - 1)/5(3)), где 5(3) = Ма/24; ... . (9)
Введем индекс у0 = (у+1)/2, если у — нечетно (тогда ]т = (N+^/2 — наибольшее значение индекса у0 с учетом значений у), и у0 = N - у/2+1, когда у — четно (при этом ут = N/2 + 1). В результате получим у0 = 1, N, 2, N - 1, 3, N - 2, ..., ут); I = 1, ..., Ма, что соответствует нижним индексам коэффициентов Р в соотношении (9). Теперь в компактном виде имеем: Ру0 (1) = (-1)6(у0), 6(у0) = Е((1 - 1)/5(у0)), где 5(у0) = Ма/2у-1.
Установим связь между решениями системы (7) и матрицей полных кодов, заполняемой согласно (9). Например, если N = 5, то получим коэффициенты, знаки которых приведены в табл. 2. Для N = 5, Я = 2 можно получить значения коэффициентов, используя (9). Здесь на шаге кс = 3 определяются значения Р3, но для некоторых вариантов значений этих коэффициентов требования к УБП АКФ не выполняются. Эти коэффициенты выделены цветом в табл. 2. Соответствующие кодовые последовательности с отмеченными элементами назовем «цветными» кодами. Колонки с такими кодами далее не рассматриваются. В результате из Ма наборов получается 12 подозрительных кодов. Они удовлетворяют (7) на шагах от 1 до кс. Далее для шагов от кс + 1 до N - 1 проверяется выполнимость условий (8). Можно убедиться, что все 12 кодов являются Я2-кодами [3]. Их номера в системе исчисления полных кодов
■ Таблица 2
Р5 + + + + + + + +
Р4 + + - - + + - - + + - - + + - -
Р3 + - + - + - + - + - + - + - + -
Р2 + + + + - - - - + + + + - - - -
Р1 + + + + + + + + + + + + + + + +
1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
(это колонки табл. 2, не содержащие отмеченных цветом символов) расположим в матрице-строке Щ,Я) = I(5,2) = (2,3,5,8,...,16). Таким образом, при последовательном решении уравнения (7) с целочисленными параметрами определяются наборы коэффициентов (подозрительные коды) и их номера i в системе исчисления полных кодов. Далее они подставляются в (8), и при справедливости указанных соотношений определяются искомые Я-коды и их номера в выбранной системе учета. Таким образом, предложено правило заполнения матрицы полных кодов, а система учета заключается в определении номера каждого найденного при синтезе Я-кода в матрице полных кодов.
В работах [2, 3] предложен и обоснован метод упорядоченного перебора коэффициентов матрицы полных кодов. Аналитический метод эффективнее по быстродействию, так как при его применении не осуществляются операции с «цветными» кодами. Однако метод упорядоченного перебора легче в использовании.
Величина Ма и объем матрицы полных кодов удваиваются при каждом увеличении N на единицу. Размеры требуемых массивов при составлении программ расчетов могут быстро превзойти возможности используемого языка программирования. Номера синтезированных кодов становятся многозначными, поэтому целесообразно провести разбиение на части. Например, в методе упорядоченного перебора при N = 32 [3] применялось 28 блоков, содержащих 214 циклов, в каждом из которых рассматривался набор из 29 вариантов кодов, т. е. всего Ма = 231. Блоки могут рассматриваться отдельно друг от друга, так как для каждого из 256 блоков возможно введение знаков нескольких начальных и конечных коэффициентов, что позволяет перебирать «внутренние» коэффициенты кодов и снизить размеры массивов, применяемых при составлении программ синтеза. Представим номер (адрес) некоторой кодовой последовательности (тест-кода) в системе полных кодов. Пусть тест-код расположен в (А* + 1)-м блоке, (Е* + 1)-м цикле. Тогда адрес определяется значениями А*, Е* и номером кода в наборе I* = 223 А* + 29 ■ Е* + и*, где А* — количество полных блоков (во всех циклах блока рассматривается 214 ■ 29 вариантов), а Е* — количество полных циклов (в каждом исследуется указанное количество вариантов); и* — номер Я-кода в анализируемом наборе цикла. При таком подходе нужно задавать три параметра, но адрес при этом существенно короче, чем непосредственный прямой номер i. Можно избавиться от необходимости проводить операции с большими числами. Для этого вводится не сам номер, а интервал изменения номеров в системе полных кодов, в пределах которого находится один или несколько номеров требуемых Я-кодов. Здесь ^ — на-
чальные или конечные номера кодов, например, в выбранном цикле и блоке. При таком подходе задаются фактически значения нескольких начальных и конечных коэффициентов, при этом формируется одна или даже несколько кодовых последовательностей, что может быть быстрее, чем формировать каждую в отдельности с самого начала. Тогда номер интервала имеет вид I* = 223 ■А** + 29 ■ Е* + и'0.н, у — номер Я-кода, который расположен в (А* + 1)-м блоке, в (Е* + 1)-м цикле, между вариантами набора и'^н, кодов с номерами ..., Допустим, А* = 1 (просмотрен первый блок и рассматривается второй); Е* = 213 (последний цикл в блоке); (^ = 1, ^ = 29) — набор всех вариантов. Тогда можно записать I* = 223 ■ 1 + 29 ■ 213 + и' (1,29) — коды из второго блока, последнего цикла, всего набора.
Далее применяется программа упорядоченного перебора кодов с номерами, указанными в адресе I*, после чего формируются коэффициенты и генерируются кодовые последовательности. Номера синтезированных Я-кодов в системе исчисления полных кодов (их общее количество равно gЯ N [2, 3]) можно расположить в матрице-строке Щ,Я) = (I*, I*, ..., I*), где g=gRN. Подставив при заданном N величины i = I*, р = 1, ..., gЯ № в (9), можно найти кодовые последовательности. Это позволяет сохранять не сами коды, а их номера в выбранной системе исчисления.
Перейдем к учету ограничений (2) на изменения коэффициентов в форме дополнительных требований и особенностей. Введем понятие авторского кода, под которым будем понимать бинарные кодовые последовательности Р* в которых знаки некоторых (или даже всех) коэффициентов кодов задаются в виде начального условия задачи. Тогда задача синтеза заключается в нахождении Я-кодов, удовлетворяющих условию (1) и имеющих заданную авторским кодом последовательность чередования коэффициентов. Если авторский код накладывает условия на все элементы кода, то нужно проверить выполнимость условия (1) для такой последовательности. Второе и третье соотношения в (2) определяют разновидность авторского кода, в котором задаются противоположные по знакам группы начальных и конечных коэффициентов. Например, для случая задания наборов коэффициентов кодов с положительными знаками в начале и отрицательными в конце последовательностей в правой половине табл. 1 можно выделить номера вариантов, среди которых будут находиться искомые решения (если они вообще существуют для данных N, Я). Чтобы аналитически задать порядок чередования знаков начальных и конечных коэффициентов кодов, введем двоичные символы (1; 0) авторского кода по правилу Р+ = 1 и Р-= 0, если для некоторых ] = 1, ..., N в авторском коде Р*= +1, а также Р+ = 0 и Р- = 1 при Р* = -1.
Если допустимо, что знаки отдельных элементов авторского кода могут быть как положительными, так и отрицательными (Р*= ±1, т. е. знаки безразличны), то Р+ = 1 и Р-= 1. Знаки (+, -) в правом верхнем сегменте символа коэффициентов назовем адресными.
Задача состоит в определении интервалов (списков) изменения индекса i (это удобно видеть в табл. 1, 2), для которых заданные авторским кодом коэффициенты принимают требуемые значения. В авторских кодах, как и в задаче синтеза Я-кодов, Р1 = 1. Для левой половины указанных таблиц PN =1 и список номеров включает индексы i = (1, ..., Ма/2). Для правой части таблиц PN = -1 и список состоит из номеров i = (1+ Ма/2, ..., Ма). То есть индексы в скобках являются списками кодов из общего числа полных кодов, у которых в соответствии с авторским кодом первый и последний коэффициенты равнозначны либо противоположны.
Введем индекс Д = 1, ..., gA, обуславливающий номер операции по порядку следования при рассмотрении авторских кодов, определяющий состав списков номеров кодов, соответствующих значениям этих авторских кодов. Общее количество операций gA = 2 ■ Z+ - 1, если Z+ > и gA = 2 ■ Zн, когда Z+ < Zк (это следует из выражений для общих списков, которые получены ниже). Определим индекс ]2 = (Д + 1)/2, если Д — нечетно, и ]2 = N - Д/2 + 1, когда Д — четно (]2 = 1, N, 2, N - 1, 3, N - 2, ...). Он соответствует номеру коэффициента авторского кода на Д-й операции, а также индексу общего списка кодов, который обозначим
Перейдем к представлению списков. При Д = 1 в общий список нужно включить все коды, так как для любых кодов в рассматриваемых нами задачах Р1 = Р* = Р+ = +1. Следовательно, Т1 = (1, ..., Ма) (это видно также из табл. 1, 2). Для дальнейших действий введем операцию умножения множества на положительное целое число К: Т^2 ■ К = Т^2 при К = 1, если К = 0, то Т^2 ■ К = 0 (пустое множество). Это позволяет при Д = 1, ]2 = 1 записать Т1 = (1, ..., Ма) ■ Р+. Вторая операция — сложение множеств Т^2, при этом происходит объединение списков.
Далее, если Д = 2, ]2 = N, то список, как следует из таблиц, должен состоять из двух частей в зависимости от знака ^го коэффициента. Поэтому его можно представить в форме TN = = (1, ..., Ма/2) ■ Р+ + (1 + Ма/2, ..., Ма) ■ Р+ Р-- — общий (объединенный) список индексов кодов. Он состоит из слагаемых, соответствующих спискам наборов номеров кодов. Эти слагаемые общих списков назовем элементарными списками для данного Д. Например, если второй коэффициент авторского кода равен -1, то по правилам задания двоичных авторских кодов = 0, а PN = 1,
и нужно рассматривать лишь коды с номерами от 1 + Ма/2 до Ма, что соответствует табл. 1, 2.
Ниже используется параметр, который введем следующим образом: Р0 = Р+ где = или = PN для множителей первого или второго элементарных списков в Лишь для авторского кода Р0 = 1, а для всех других вариантов он равен нулю, тем самым в TN остается только единственный элементарный список индексов, соответствующий заданному авторскому коду.
Затем при Д = 3, 4 имеем соответственно ]2 = 2, N - 1. Каждый список разделяется пополам, а также умножается на коэффициент Р+2, т. е. на Р+, Р- при ]2 = 2 и на Р^р Рдг-1 для ]2 = N - 1. Общие списки для ]2 = 2 состоят из следующих элементарных наборов номеров кодов:
Т2 = ((1, ..., Ма/4) ■ Р2 + + (1 + Ма/4, ..., Ма/2) ■ Р-) ■ Р+ ■ + + ((1 + Ма/2, ..., 3 ■ Ма/4) ■ Р+ + + (1 + 3 ■ Ма/4, ..., Ма) ■ Р-) ■ Р+- Р^.
Раскроем скобки:
Т2 = (1, ..., Ма/4) ■ Р+- РN • Р+ + +(1 + Ма/4, ..., Ма/2) ■ Р+- РN • Р- + + (1 + Ма/2, ..., 3 ■ Ма/4) ■ Р+- РN ■ Р+ + + (1 + 3 ■ Ма/4, ..., Ма) ■ Р+- Р-^ ■ Р-. (10)
При ]2 = N - 1
^-1 = (((1, ..., Ма/8) ■ PN-l + + (1 + Ма/8, ..., 2 ■ Ма/8) ■ P--1) ■ Р+ + + ((1 + 2 ■ Ма/8, ..., 3 ■ Ма/8) ■ PN-1 + + (1 + 3 ■ Ма/8, ..., 4 ■ Ма/8) ■ Р-_1) ■ Р-) ■ Р+- PN + + (((1 + 4 ■ Ма/8, ..., 5 ■ Ма/8) ■ Р+-1 + + (1 + 5 ■ Ма/8, ..., 6 ■ Ма/8) ■ P--1) ■ Р+ +
+ ((1 + 6 ■ Ма/8, ..., 7 ■ Ма/8) ■ PN-1 + + (1 + 7 ■ Ма/8, ..., Ма) ■ PN_1) • Р-) • Р+-
После раскрытия скобок найдем
^N-1 = (1, ..., Ма/8) ■ Р+- PN ■ Р+ ■ ^N-1 + + (1 + Ма/8, ..., 2 ■ Ма/8) ■ Р+- ■ Р+ ■ PN-1 + + (1 + 2 ■ Ма/8, ..., 3 ■ Ма/8) ■ Р+- PN • Р- ■ PN-1 + + (1 + 3 ■ Ма/8, ..., 4 ■ Ма/8) ■ Р+- PN • Р- ■ P--1 + + (1 + 4 ■ Ма/8, ..., 5 ■ Ма/8) ■ Р+- Р-^ ■ Р+-Р^1 + + (1 + 5 ■ Ма/8, ..., 6 ■ Ма/8) ■ Р+- PN ■ Р+-+ + (1 + 6 ■ Ма/8, ..., 7 ■ Ма/8) ■ Р+- PN ■ Р- ■ Р^1 + + (1 + 7 ■ Ма/8, ..., Ма) ■ Р+- PкN ■ Р- ■ PN-1. (11)
Отметим, что сомножители в произведении коэффициентов расположены в порядке изменения индекса (у'2 = 1, N, 2, N - 1, ...). Из выражений для Т^ Т2 и ^N-1 следует, что в них нужно подставлять значения двоичных авторских кодов и находить соответствующее ненулевое значение Р0. Это позволит определить искомое слагаемое в общем списке и требуемый элементарный список из количества, равного 2у1-1. Однако имеется другой подход. Используем связь закона чередования адресных знаков двоичных авторских кодов и номеров элементарных списков по порядку их следования в общем списке на шаге у1.
Начнем с у1 = 2 и рассмотрим произведения Р+- PN и Р+- Р-. В них первый коэффициент неизменно равен единице, а вторые сомножители используем для составления двоичных чисел по следующему правилу: если у коэффициента, стоящего правее Р+, адресный символ (+), то коэффициенту ставим в соответствие двоичный символ «1», а когда в правом верхнем углу имеется (-), то вводим двоичный «0». Теперь получим двоичные адресные числа, которые обозначим А2(1) (I — индекс, изменяющийся от 1 до 2у1-1 и определяющий количество интервалов (элементарных списков)). Следовательно, для у1 = 2 имеем два списка и два двоичных адресных числа: А2(1) = 1, А2(2) = 0. Преобразуем их в десятичные адресные числа А10(1) = 1, А10(2) = 0, которые позволяют найти номер по порядку V элементарного списка в общем списке по правилу
V = 2у1-1 - А10. (12)
То есть при Д = 2 имеем V = 1, если в авторском коде первый и последний коэффициенты положительны (PN ). Когда принят авторский код, в котором первый и последний коэффициенты противоположны (PN ), то получим V = 2. Видно, что, рассмотрев порядок чередования знаков авторского кода, можно найти номер интервала (список) в системе полных кодов.
Продолжим для Д = 3. В выражении (10) адресные знаки чередуются, так что двоичные адресные числа, соответствующие первому и последующим слагаемым в общем списке Т2, изменяются в пределах А2(1) = (11), ..., (00) при I = 1, ..., 2у1-1. Для известного авторского кода можно получить двоичные А2 и десятичные А10 адресные числа, что позволяет найти адрес (номер) элементарного списка (12). Например, если авторский код включает три символа и задан так, что двоичные символы авторского кода есть PN и Р+, то А2 = 1 и, соответственно, А10 = 1, поэтому на основании (12) V = 2у1-1 - А10 = 4 - 1 = 3. Действительно, пример соответствует третьему элементарному списку в (10).
При у1 = 4 двоичные символы авторского кода состоят из трех символов, общий список состо-
ит из восьми элементарных, числа А2 являются трехразрядными, А10 изменяется от 7 до 0, а V варьируется, соответственно, от 1 до 8.
Для записи общей формулы введем Пу1 = = 2у1-1 — количество слагаемых в общем списке Ту2 при выбранном Д. Число элементарных списков Дд = Ма/л-д, а индексы кодов, входящих в каждый из них, принимают значения
Л[ = (1 + (I - 1) ■ Ма/пд, ..., I ■ Ма/лд), I = 1, ..., пд.
(13)
Перейдем к методике определения элементарного списка по авторскому коду.
Шаг 1. Задаются значения авторского кода
Р у = 1, ..., пн; pN-^+l, у = 1,---, пк.
Шаг 2. Определяются двоичные символы авторского кода Р±, ] = 1, ..., пн и ] = 1, ..., пк (запись (±) означает, что из этих двух вариантов знаков выбирается один, определяемый авторским кодом).
Шаг 3. Составляется произведение двоичных авторских кодов, расставляются сомножители в следующем порядке: Д = 1, ..., gЛ, ]2 = 1, N, 2,
N - 1, ...; Р0 = Р+- ^■ Р ■ Рм- .
Шаг 4. Выписываются в строку все адресные символы сомножителей из Р0, начиная со второго, и на их основе определяется двоичное адресное число А2, а потом и соответствующее ему десятичное адресное число А10.
Шаг 5. С помощью (12) устанавливается номер искомого элементарного списка с номером V
Лп = (1+( V - 1) ■ Ма/пд, V ■ Ма/пд), Д = шА.
(14)
Методика определения списка завершена. Если авторские Я-коды существуют, то только в этом интервале значений индексов. Если пн Ф пк (например, пн>пк), то каждый из пн - пк коэффициентов последней группы, как было указано выше, при составлении двоичных символов учитывается отдельно, как Р+ = 1 и Р- = 1, и искомый список будет равен сумме нескольких элементарных списков (пример 1).
Примеры синтеза
Пример 1. Дано: N = 32; Я = 3; пн = 7; Р* = 1, у = 1 ..., пн; пк = 3; РЦ_у+1 = -1, у = 1 ..., пк; Д = 4.
Найти: кодовые последовательности Р, у = 1, ... , 32, соответствующие заданным авторским Я3-кодам.
Решение: так как gЛ = 2 пн - 1 = 13, то
Р0 = Р+' ' Р+ ' ' Р3 ' ^N-2 ' Р+ ' PN-3 ' Р+ ' Р^-4 ' ■ Р+ ■ Р%-5 ■ Р+, поэтому адресные символы составляют набор из 12 знаков (Р+, как говорилось, не учитывается): (-,+,-,+,-,+, ±,+,±,+,±,+). В трех
позициях имеем (±), поэтому получим 23 двоичных адресных числа, у которых на 7-, 9- и 11-й позициях значения (1;0) варьируются от (1,1,1) до (0,0,0): А2) = 010101111111; А2) = 010101111101;
А23) = 010101110111 А(225) = 010101011111 А(227) = 010101010111
А(24) = 010101110101; А(226) = 010101011101; А(228) = 010101010101.
Десятичные адресные числа, соответствующие этим двоичным величинам, равны: А10 = 1407; А12) = 1405; А(0) = 1399; А$ = 1397; А^ = 1375; А^ = 1373; А$ = 1367; А^ = 1365. Так: как при ]1 = gAnj1 = п13 = 212, то, применив (12), найдем номера элементарных списков: Ь1 = 212 -- А$ = 4096 - 1407 = 2689; Ь'2 = 212 - А12) = 2691 Ь'3 = 212 - А10) = 2697; Ь = 212 - А^ = 2699 Ь = 212 - А^) = 2721; Ь = 212 - = 2723 Ь = 212 - А10) = 2729; Ь'8 = 212 - А$> = 2731. Учтя величину п13 и Ма = 2N-1, с помощью (14) получим первый элементарный список, который преобразуем, выделив блоки и циклы: А2689 = (1 + + 2688 ■ 219, ..., 2689 ■ 219) = (1+168 ■ 223, ..., 168 ■ 223 + + 1024 ■ 29). Также найдем другие списки:
А2691 = (1 + 168 ■ 223 + 2048 ■ 29, ..., 168 ■ 223 + 3072 ■ 29);
А2697 = (1 + 168 ■ 223 + 8192 ■ 29, ..., 168 ■ 223 + 9216 ■ 29);
А2699 = (1 + 168 ■ 223 + 10240 ■ 29, ..., 168 ■ 223 + 11264 ■ 29);
А2721 = (1 + 170 ■ 223, ..., 170 ■ 223 + 1024 ■ 29);
А2723 = (1 + 170 ■ 223 + 2048 ■ 29, ..., 170 ■ 223 + 3072 ■ 29);
А2729 = (1 + 170 ■ 223 + 8192 ■ 29, ..., 170 ■ 223 + 9216 ■ 29);
А2731 = (1 + 170 ■ 223 + 10240, ..., 170 ■ 223 +11264 ■ 29),
т. е. коды могут находиться в 169-м и 171-м блоках. При решении задачи синтеза с помощью (7), (8) или методом упорядоченного перебора можно найти пять кодовых последовательностей. Для трех из них Z+ = 7, Zк = 3, два из этих кодов — из первого, а третий код — из третьего элементарного списка. Вариант одной из кодовых последовательностей и АКФ (в скобках): 1,1,1,1,1,1,1, -1,1,-1,1,-1,-1,1,-1,1,1,-1,1,1,-1,-1,1,-1,-1, -1,1,1,1,-1,-1,-1; (-1,-2,-3,-2,-1,0,-1,0,-1,2,-3,-2, -3,2,-1,0,-3,2,3,2,-1,2,1,0,-3,0,1,-2,3,2,1,32), номер этого кода в предложенной системе учета — I* = 168 ■ 223 + 947 ■ 29 + 397. 5Z = 4, 5Z < Д — верно.
Два других набора с Z+ = 8, Zк = 3 соответствуют второму и третьему элементарным спискам. Для этих Я3-кодов (2,+ + Zк) = 11 — максимальное значение. Пример одного из этих кодов и АКФ (в скобках): 1,1,1,1,1,1,1,1,-1,-1,-1,1,-1,1,-1,1,-1, -1,1,1,-1,-1,1,-1,-1,1,-1,1,1,-1,-1,-1; (-1,-2,-3, -2,-1,-2,-1,-2,-1,2,3,-2,-3,-2,-1,-2,1,2,-1,2, -3,-2,1,-2,1,2,-3,2,3,2,1,32). Так как 5Z = 2, то 5Z < Д — верно [первое условие (2) выполняется]. Номер этого кода в предложенной системе нуме-
рации равен I* = 168 ■ 223 + 2294 ■ 29 + 398. Длины равнозначных наборов коэффициентов соответствуют требованиям задачи.
Ответ: получены коды и адреса; показано, что соотношения (12), (14) позволили верно найти номера последовательностей.
Пример 2. Дано: N = 33; Я = 3; пн = 2; Р*= 1, ] = 1, 2; пк = 9; Р*^ = -1, ] = 1, ..., пк.
Найти: кодовые последовательности Р, ] = 1, ..., 33, соответствующие заданным авторским Я3-кодам.
Ответ: получен код (1,1,-1,-1,1,1,-1,-1,1,-1,1, -1,1,-1,1,1,-1,1,-1,-1,1,1,1,1,-1,-1,-1,-1,-1,-1,-1, -1 ,-1), его АКФ (-1 ,-2 ,-1,0,-1 ,-2 ,-1,0,-1,2,3,2,-1,0, -1,0,1,-2,-3,2,-1,-2,-1,-2,-3,2,-1,2,1,2,3,2,33), адрес кода — I* = 381 ■ 223 + 8034 ■ 29 + 106 (здесь введено 512 блоков).
Кроме найденных последовательностей, имеются также зеркальные, зеркально-инверсные и инверсные коды [2, 3] со сходными значениями УБП АКФ. Вычисления выполнены на общедоступном персональном компьютере, программы составлены на языке QBasic.
Формирование и сжатие ФМС-Я часто удобно осуществлять с помощью устройств на поверхностных акустических волнах. Согласованные фильтры могут быть построены на микроэлектронных элементах [9]. Возможно существенное снижение УБП АКФ путем применения весовых последовательностей [10].
Среди многочисленных вариантов использования бинарных Я2-кодов, например, такие:
1) в радиолокационных системах, в которых используются несколько ФМС-Я с различными коэффициентами сжатия, которые невозможно получить, применяя традиционные коды. Возможно применение разнообразных авторских Я-кодов в системах с непрерывным излучением, в которых при обработке осуществляется фильтрация принятых последовательностей;
2) в системах связи для создания производных ансамблей [1], в которых Я-коды выступают в качестве производящих сигналов;
3) при построении ансамблей ФМС-Я на основе бинарных Я-кодов для создания алфавитов в целях передачи данных в системах управления, а также в вычислительных системах и сетях.
Заключение
Обоснована актуальность задачи синтеза бинарных Я-кодов и основанных на них сигналов для современных коммуникационных систем. Представлены дополнительные требования и ограничения, необходимые для учета при решении задачи синтеза. Сформулирована задача синтеза Я-кодов с учетом ограничений. Предложено аналитическое решение, подробно приведена
методика синтеза Я-кодов. Введено понятие об авторских кодах, изложена методика определения списков номеров, в которых они находятся. Продемонстрированы примеры синтеза. Введена
Литература
1. Варакин Л. Е. Системы связи с шумоподобными сигналами. — М.: Радио и связь, 1985. — 384 с.
2. Чепруков Ю. В., Соколов М. А. Синтез фазомани-пулированных сигналов с требуемым уровнем боковых пиков АКФ // Радиотехника. 1991. № 5. С. 68-70.
3. Чепруков Ю. В., Соколов М. А. Бинарные И2-коды, их характеристики и применение // Информационно-управляющие системы. 2014. № 1. С. 76-83.
4. Ипатов В. П., Орлов В. К., Самойлов И. М., Смирнов В. Н. Системы мобильной связи: учеб. пособие для вузов / под ред. В. П. Ипатова. — М.: Горячая линия-Телеком, 2003. — 272 с.
5. Ipatov V. P. Spread Spectrum and CDMA. Principles and Applications. — N. Y.: John Wiley and Sons Ltd., 2004. — 373 p.
система нумерации Я-кодов, позволяющая осуществлять их учет для оперативного генерирования. Указаны варианты применения результатов работы.
6. Гантмахер В. Е., Быстров Н. Е., Чеботарев Д. В.
Шумоподобные сигналы. Анализ, синтез, обработка. — СПб.: Наука и техника, 2005. — 400 с.
7. Диофантовы уравнения. http://dic.academic.ru/ dic.nsf/enc_mathematics/1506 (дата обращения: 20.04.2014).
8. Диофантовы уравнения. http://bars-minsk.narod.ru/ teachers/diofant.html (дата обращения: 20.04.2014).
9. А.с. 1709498 СССР, МКИ3 Н 03 Н 15/02, 17/00. Согласованный фильтр/ Ю. В. Чепруков, М. А. Соколов (СССР). — № 1709498; заявл. 06.12.1989; опубл. 30.01.92, Бюл. № 4. — 4 с.
10. Чепруков Ю. В., Соколов М. А. Метод оптимизации весовых фильтров сжатия фазоманипулированных сигналов // Изв. вузов. Радиоэлектроника. 1991. № 4. С. 31-37.
UDC 621.396:621.391.26 doi:10.15217/issn1684-8853.2015.1.59
Synthesis of Binary R-Codes
Cheprukov Yu. V.a, PhD, Tech., [email protected]
aRussian State University of Tourism and Service in Sochi, 24/a, Kirpichnaia St., 354340, Sochi, Russian Federation
Purpose: The increase in efficiency of modern systems is impossible without improving binary codes and signals on their basis. Widely used N-element binary codes do not provide the desirable low level of the lateral peaks of the autocorrelated function if N varies in a rather wide range. Additional requirements can be imposed on binary codes for various systems, concerning alternation of the coefficient signs and the existence of an analytical numbering system. It is important for constructing and generating a set of volume ensemble codes, storing not the code coefficients but their numbers in a certain numeral system. The purpose of this work is analytical synthesis of N-element binary codes with a preset level R of lateral peaks of the autocorrelation function (R-codes) under certain requirements to the alternation of the code coefficients, as well as the development of a system for their accounting. Results: A technique for the restricted synthesis problem solution is outlined, and its features are specified (for example, the possibility to transform a set of inequalities into a system of equations, its first half used for finding possibly appropriate codes, and its second half for choosing truly appropriate ones). Ratios are given which help to find the values of the code sequences. A way of numbering the synthesized codes based on a system of full codes is proposed. The concept of an author's code is introduced, to determine the rule of sign alternation for some R-code coefficients. A technique is given for finding lists of codes with these properties in the offered numbering system. Examples are given of synthesizing author's codes with R = 3, N = 32, 33. Practical relevance: The proposed technique and the results of the synthesis can find a use in building binary codes and signals on their basis for control systems, communication systems, radiolocation, computer systems and networks.
Keywords — Binary Codes, Phase Manipulated Signals, Autocorrelation Function, Height of Lateral Peaks.
References
1. Varakin L. E. Sistemy sviazi s shumopodobnymi signalami [Communication Systems with Noise Signals]. Moscow, Radio i sviaz' Publ., 1985. 384 p. (In Russian).
2. Cheprukov Yu. V., Socolov M. A. Synthesis of Phasemanip-ulated Signals with Required Level of Side Peaks ACF. Ra-diotekhnika, 1991, no. 5, pp. 68-70 (In Russian).
3. Cheprukov Yu. V., Socolov M. A. Binary R2-Codes, Their Features and Application. Informatsionno-upravliaiushchie sistemy, 2014, no. 1, pp. 76-83 (In Russian).
4. Ipatov V. P., Orlov V. K., Samoilov I. M., Smirnov V. N. Sistemy mobil'noi sviazi [Mobile Communication Systems]. Ed. by V. P. Ipatov. Moscow, Goriachaia liniia-Telekom Publ., 2003. 272 p. (In Russian).
5. Ipatov V. P. Spread Spectrum and CDMA. Principles and Applications. New York, John Wiley and Sons Ltd., 2004. 373 p.
6. Gantmaher V. E., Bystrov N. E., Chebotarev D. V. Shu-mopodobnye signaly. Analiz, sintez, obrabotka [Pseudonoise Signals. Analysis, Synthesis, and Processing]. Saint-Petersburg, Nauka i tekhnika Publ., 2005. 400 p. (In Russian).
7. Diofantovy uravneniia [Diophant Equations]. Available at: http://dic.academic.ru/dic.nsf/enc_mathematics/1506 (accessed 20 April 2014).
8. Diofantovy uravneniia [Diophant Equations]. Available at: http://bars-minsk.narod.ru/teachers/diofant.html (accessed 20 April 2014).
9. Cheprukov Yu. V., at al. Soglasovannyi fil'tr [Matched Filter]. Patent USSR, no. 1709498, 1992.
10. Cheprukov Yu. V., Socolov M. A. Method of Optimization of Weight Compression Filters of Phasemanipulated Signals. Izvestiia vuzov. Radioelektronika, 1991, no. 4, pp. 31-37 (In Russian).