Научная статья на тему 'Использование порождающих полиномов m-последовательностей при построении псевдослучайных кодовых шкал'

Использование порождающих полиномов m-последовательностей при построении псевдослучайных кодовых шкал Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
1197
2332
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПОРОЖДАЮЩИЙ ПОЛИНОМ / CHARACTERISTIC POLYNOMIAL / М-ПОСЛЕДОВАТЕЛЬНОСТЬ / M-SEQUENCE / ДЕЦИМАЦИЯ / ПСЕВДОСЛУЧАЙНАЯ КОДОВАЯ ШКАЛА / PSEUDO-RANDOM CODE SCALE / DECIMATION

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Захаров Илья Дмитриевич, Ожиганов Александр Аркадьевич

Рассмотрен метод построения порождающих полиномов М-последовательностей с одинаковым периодом на основе одного заданного полинома. В основу метода положено использование свойств децимации М-последовательности и алгоритма Берлекемпа Мэсси. Предложенный метод пояснен примером.

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Захаров Илья Дмитриевич, Ожиганов Александр Аркадьевич

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

Application of Characteristic Polynomials of M-Sequences to Pseudo-Random Code Scale Construction

The paper provides the characteristic polynomials construction method for M-sequences of the same span, via only one predefined polynomial. At the basement of the proposed method lies the usage of M-sequences' decimation property and Berlekamp Massey algorithm.

Текст научной работы на тему «Использование порождающих полиномов m-последовательностей при построении псевдослучайных кодовых шкал»

УДК 621.3.085

И. Д. Захаров, А. А. Ожиганов

ИСПОЛЬЗОВАНИЕ ПОРОЖДАЮЩИХ ПОЛИНОМОВ М-ПОСЛЕДОВАТЕЛЬНОСТЕЙ ПРИ ПОСТРОЕНИИ ПСЕВДОСЛУЧАЙНЫХ КОДОВЫХ ШКАЛ

Рассмотрен метод построения порождающих полиномов М-последователь-ностей с одинаковым периодом на основе одного заданного полинома. В основу метода положено использование свойств децимации М-последовательности и алгоритма Берлекемпа — Мэсси. Предложенный метод пояснен примером.

Ключевые слова: порождающий полином, М-последовательность, децимация, псевдослучайная кодовая шкала.

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

В работах [1—3] предложен новый тип более простых в реализации однодорожечных псевдослучайных кодовых шкал (ПСКШ). Для формирования структуры информационной кодовой дорожки таких шкал используются псевдослучайные двоичные последовательности максимального периода (М-последовательности), причем для построения п-разрядной ПСКШ могут быть использованы различные М-последовательности с одинаковым периодом. Таким образом, п-разрядная ПСКШ может иметь множество реализаций. В свою очередь, в основу построения М-последовательностей положены порождающие полиномы, в качестве которых выступают примитивные полиномы с коэффициентами поля Галуа ОБ(2). Число таких полиномов зависит от их степени и вычисляется на основе функции Эйлера.

В настоящее время при разработке преобразователей перемещения на основе ПСКШ применяются системы автоматизированного проектирования (САПР ПСКШ) [4], что позволяет с использованием эффективного алгоритма вычислять необходимые порождающие полиномы во избежание сохранения в памяти ЭВМ всей базы данных о полиномах.

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

Теоретические основы построения псевдослучайных кодовых шкал. ПСКШ имеют всего одну информационную кодовую дорожку, выполненную в соответствии с символами {а7}=а0, а1, ..., аМ-1 М-последовательности, и п считывающих элементов (СЭ), размещенных вдоль дорожки. Наличие считывающих элементов позволяет получить при полном перемещении шкалы М=2п-1 различных и-разрядных кодовых комбинаций.

Для генерации М-последовательности с периодом М=2п-1 используется примитивный полином И(х) степени п с коэффициентами ОБ(2), т. е.

И(х) = £ их, (1)

1=0

где И0=Ип=1, а И ={0,1} при 0 < I < п.

Примитивные полиномы существуют для всех п > 1. В табл. 1 приведены полиномы к(х) для п =1.. .16, которые имеют минимальное число ненулевых коэффициентов кг и могут быть использованы для генерации соответствующих М-последовательностей [5].

_Таблица 1

п к(х) М=2п-1 п к(х) М=2п-1

1 х +1 1 9 9 , 4,1 х + х +1 511

2 х2 + х + 1 3 10 10 , 3,1 х + х + 1 1023

3 х3 + х + 1 7 11 11 1 2,1 х + х +1 2047

4 х4 + х + 1 15 12 12 , 6 , 4 , ,1 х + х + х + х + 1 4095

5 5 , 2,1 х + х +1 31 13 13 , 4 , 3 , ,1 х + х + х + х + 1 8191

6 х6 + х + 1 63 14 14 , 10 . 6 , ,1 х + х + х + х + 1 16383

7 7 , 3,1 х + х +1 127 15 15 , ,1 х + х + 1 32787

8 8 , 4 , 3 , 2,1 х + х + х + х +1 255 16 16 , 12 , 3 , ,1 х + х + х + х + 1 65535

Известно [6], что для конкретного значения п существует точно

ф(м = 2п -1)

N =

п

(2)

различных полиномов к(х), являющихся примитивными. Функция Ф(М), называемая функцией Эйлера, представляет собой количество положительных целых чисел, меньших или равных М и взаимно простых с М. Так как функция Ф(М) с увеличением п очень быстро растет, то число полиномов степени п, порождающих последовательности с максимальным периодом, с ростом п также быстро увеличивается. В табл. 2 приведены расчетные значения N для п =2.16.

Таблица 2

п N п N

2 1 10 60

3 2 11 176

4 2 12 144

5 6 13 630

6 6 14 756

7 18 15 1800

8 16 16 2048

9 48

Так, для п=10 число примитивных полиномов равно 60, а для п=16 — уже 2048. Следовательно, на основе порождающих полиномов 10-й степени можно получить 60 различных М-последовательностей, а при использовании порождающих полиномов 16-й степени — 2048.

Символы ап+ М-последовательности удовлетворяют рекуррентному выражению

п-1

ап+у =Ф аг+ А,3 = 0Л . ^ (3)

г=0

где знак Ф — суммирование по модулю два, а индексы при символах М-последовательности берутся по модулю М; начальные значения символов а0, а1, ..., ап-1 М-последовательности могут выбираться произвольно, за исключением нулевой комбинации.

Известно, что М-последовательности относятся к классу циклических кодов и могут

задаваться с помощью полинома g(х) = (Xм + 1)/к(х) . Для каждой М-последовательности с периодом М существует ровно М различных циклических сдвигов, которые могут быть получены путем умножения полинома g(х) на х3 , где у = 0,1,..., М -1.

Поскольку ПСКШ строятся в соответствии с символами М-последовательности, можно путем циклических сдвигов определить порядок размещения на шкале п считывающих элементов, т.е. т-му СЭ, т = 1, 2,..., п, ставится в соответствиеут-й циклический сдвиг xJmg(х)

М-последовательности.

Тогда полином, определяющий порядок размещения п СЭ на шкале, имеет вид

г (х) =£ Хт , ]т е {0,1,..., М -1}. (4)

т=1

Приняв 71 = 0, согласно полиному (4) получим положения 2-го, 3-го, ..., п-го СЭ, смещенные относительно 1-го СЭ на 72, 7з, -., 7п позиций соответственно.

Размещение считывающих элементов в соответствии с полиномом (4) должно обеспечивать получение при полном перемещении шкалы М различных п-разрядных кодовых комбинаций. В общем виде задача размещения СЭ на ПСКШ решена в работе [7].

Метод синтеза порождающих полиномов М-последовательностей. В основу метода положено использование свойств децимации М-последовательности и алгоритма Берлекем-па — Мэсси.

Согласно работе [8] децимацией М-последовательности {а7} по индексу д,,

^ = 2, 2п - 2, называется выборка д,-х элементов данной М-последовательности. Если период М = 2п-1 исходной М-последовательности и индекс децимации д, взаимно просты, т.е. НОД(М, д,)=1, децимация называется собственной или нормальной. В дальнейшем под децимацией будем подразумевать только собственную (или нормальную) децимацию, в результате которой получается М-последовательность с тем же периодом, что и исходная М-последо-

вательность. Децимацию {а7} по индексу д, обозначим как {а7 , а полученную в результате

децимации М-последовательность — как {Ь7}. Таким образом, можно записать

М=ЬГ • (5)

Алгоритм генерации примитивных полиномов заданной степени в общих чертах рассмотрен в работе [9]. Однако данный алгоритм оставляет открытым вопрос о нахождении всего множества порождающих полиномов М-последовательностей с заданным периодом и не оптимизирован для использования в САПР ПСКШ.

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

1. Из табл. 1 выбирается примитивный полином вида (1) определенной степени п.

2. На основе полинома (1) строится рекуррентное выражение (3).

3. Посредством рекуррентного выражения (3) генерируются символы {а7} М- последовательности с периодом М = 2п - 1.

4. В соответствии с выражением (2) определяется число примитивных полиномов И(х) степени п.

5. Осуществляется поиск значений индексов децимации д/, I = 1, N -1, {д/} е {д, }, позволяющих сформировать все нормальные децимации М-последовательности {а^}, на основе которых могут быть получены N-1 различных М-последовательностей {Ь7} с периодом М.

6. Производится нормальная децимация М-последовательности {а3} по индексу q;. Результатом такой децимации является М;-последовательность (5) с периодом М.

7. Далее, с использованием алгоритма Берлекемпа — Мэсси и предварительной выборки 2п символов из полученной М; -последовательности определяется полином к;(х), который также будет примитивным.

8. Шаги 6 и 7 повторяются для всех нормальных децимаций, найденных на шаге 5. Результатом применения метода являются N-1 порождающих полиномов степени п. Эффективность разработанного метода в основном определяется результатом выполнения шага 5. Для оптимизации поиска значений индексов децимации рассмотрим алгоритм, в котором: } — множество всех значений индексов децимации; } ^ } — множество

нечетных значений индексов децимации; КБО[п] — п-разрядный двоичный циклический регистр сдвига; КЕ02, 2 = 0,..., п -1, — значение ¿-го разряда регистра; 8ЫГРТ[р] — р-разрядный

двоичный счетчик числа сдвигов, гдер=[1Ь п]; Ск — флаг децимации с индексом qk, причем

Ск =

0, если децимация с индексом qk не позволяет получить необходимую М-последовательность;

1, в противном случае.

Алгоритм содержит следующие шаги:

I. qk := 1; Ck := 1 , к = 2e +1, e = 1,2й"1 -1.

2- qk := qk+2 •

3. Если qk > 2й -1, переход к шагу 13.

4. Если Ck = 0, переход к шагу 2.

5. Запись qk в REG[n]; обнуление счетчика SHIFT [р].

6. Если SHIFT [р]>и-1, переход к шагу 10.

7. Циклический сдвиг регистра REG[n] на один разряд влево. SHIFT [р]:= SHIFT [р]+1.

8. Если REGo=1, k := REG[n], Ck := 0.

9. Возврат к шагу 6.

10. Если НОД(qk, 2й -1) = 1, переход к шагу 12.

II. Ck := 0, переход к шагу 2.

12. Сохранение полученного значения qk в массив результатов. Переход к шагу 2.

13. Вывод массива результатов.

Таким образом, используя рассмотренный алгоритм, можно найти все значения индексов, позволяющие сформировать нормальные децимации М-последовательности

[aj }qi, l = 1, N -1, на основе которых могут быть получены N-1 различных М-последо-вательностей [bj} с периодом М.

Пример. Рассмотрим метод синтеза порождающих полиномов М-последовательности на примере, ограничившись получением всех полиномов 5-й степени.

1. Из табл. 1 выбирается примитивный полином h (х) = х5 + х2 +1.

2. На основе выбранного полинома строится рекуррентное выражение ^+ . = . ф aj .

3. Посредством полученного рекуррентного выражения генерируются символы {aj} = (0,0,0,0,1,0,0,1,0,1,1,0,0,1,1,1,1,1,0,0,0,1,1,0,1,1,1,0,1,0,1) М-последовательности с периодом М = 25 - 1=31.

4. В соответствии с выражением (2) вычисляется количество примитивных полиномов И(х) степени 5, т.е.

^ _ф((М = 2й -1) _ф(М _ 25 -1) _ф(31)_ 30 _

п 5 5 5

5. Осуществляется поиск значений индексов децимации ql, позволяющих сформировать нормальные децимации М-последовательности {а у,I _ 1,5 . В соответствии с приведенным

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

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

3,25 -1). Каждое

значение qk заносится в регистр ЯЕО[5] и вычисляются все возможные значения, получаемые при его циклическом сдвиге влево. Например, при занесении в ЯЕО[5] значения q1=3 получается следующий результат:

ЯЕО[5]^ 3 ^ ЯЕО[5]: 0 0 011;

сдвиг 1: ЯЕО[5]: 0 0110 (6);

сдвиг 2 : ЯЕО[5] :01100 (12);

сдвиг 3: ЯЕО[5]: 110 0 0 (24);

сдвиг 4: ЯЕ0[5]:10001 (17).

С [8] / Л ( \(2Ч)тоам

С учетом того [8], что {ау} _ {ау} , полученные значения индексов деци-

мации q1(0)=3, q1(1)=6, q1(2)=12, q1(3)=24 и q1(4)=17 (где значение (*) определяет число сдвигов содержимого регистра) позволяют сформировать одинаковые (с точностью до циклического сдвига) М-последовательности. Следовательно, для синтеза необходимой М-последовательности достаточно использовать один из пяти индексов децимации, например q1(0)=3.

Аналогичным образом вычисляем:

q2(0) _ 5 ^ q2(1) _ 10, q1(2) _ 20, q2(3) _ 9, q2(4) _ 18;

qз(0) _ 7 ^ qз(1) _ 14, qз(2) _ 28, qз(3) _ 25, qз(4) _ 19;

q4(0) _ 11 ^ q4(1) _ 22, q^2) _ 21, q^3) _ 13, q4(4) _ 26;

q5(0) _ 15 ^ ^5(1) _ 30, q5(2) _ 29, q5(3) _ 27, q5(4) _ 23.

Далее осуществляется проверка, являются ли полученные децимации ql, I _1,..., 5, нормальными. Для этого определяется наибольший общий делитель значения каждого из полученных индексов ql и периода ММ-последовательности, т.е.

НОД(3, 31)=1; НОД(5, 31)=1; НОД(7, 31)=1; НОД(11, 31)=1; НОД(15, 31)=1.

Данный результат свидетельствует о нахождении пяти индексов децимации, использование которых дает возможность получения пяти различных М-последовательностей.

6. Производятся нормальные децимации полученной на шаге 3 М-последовательности {оу} по индексам ql, I _1,..., 5. Например, первые 2п=10 символов М-последовательности,

полученные в результате децимации по индексу 3, равны {ау} _ (0,0,0,0,1,1,0,0,1,0) .

7. Далее, составляется система линейных алгебраических уравнений, решаемая с использованием алгоритма Берлекемпа — Мэсси, т.е.

а5 = а4 И4 Ф а3 /3 Ф «2 /2 Ф а^ Ф а0 /; а6 = аз /4 Ф а4 /3 Ф аз /2 Ф а2 / Ф а!/^; а7 = а6 /4 Ф аз /3 Ф а4 /2 Ф аз / Ф а2 /; а8 = а7 /4 Ф аб /3 Ф аз /2 Ф а4 / Ф аз /о; а9 = а8 /4 Ф а7 /3 Ф аб /2 Ф аз // Ф а4 /о

1 = 1 • /4 Ф 0 • /3 Ф 0 • /2 Ф 0 • ^Ф 0 • Л^; 0 = 1 • /4 Ф1 • /3 Ф 0 • /2 Ф 0 • / Ф 0 • /э;

0 = 0 • /4 Ф1 • /3 Ф 1 • /2 Ф 0 • / Ф 0 •

1 = 0• /4 Ф 0 • /3 Ф1 • /2 Ф1 • / Ф 0 •

0 = 1 • /4 Ф 0 • /3 Ф 0 • /2 Ф1 • // Ф1 • /

В результате получаем значения /0 = 1; /1 = 0; /2 = 1; /3 = 1; /4 = 1; /з = 1, по которым находим искомый порождающий полином

/1( х) = /з хз + /4 х4 + /3 х3 + /2 х2 + // х1 + /0 = 1 • хз +1 • х4 +1 • х3 +1 • х2 + 0 • х1 +1 • х0 =

= хз + х4 + х3 + х2 + 1.

8. Шаги 6 и 7 повторяются для остальных нормальных децимаций, найденных на шаге з; в результате получаем еще четыре порождающих полинома з-й степени.

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

Таблица 3

Индекс децимации д Порождающий полином /(х) М-последовательность

0 / (х) = х5 + х2 + 1 0000100101100111110001101110101

3 к1 (х) = х5 + х4 + х3 + х2 +1 0000110010011111011100010101101

з /2 (х) = х5 + х4 + х2 + х + 1 0000111001101111101000100101011

7 /3 (х) = х5 + х3 + х2 + х + 1 0000101101010001110111110010011

11 /4 (х) = х5 + х4 + х3 + х + 1 0000110101001000101111101100111

1з /з (х) = х5 + х3 +1 0000101011101100011111001101001

Отметим, что любая из приведенных в табл. 3 М-последовательностей пригодна для построения з-разрядной ПСКШ. Например, линейная развертка круговой ПСКШ, выполненной с использованием М-последовательности, полученной на основе порождающего полинома

/3 (х) = хз + х3 + х2 + х +1, приведена на рисунке. Размещение на шкале пяти считывающих элементов задано в соответствии с полиномом г (х) = 1 + х2 + х4 + х6 + х8.

0000101101010001110111110010011

т

СЭ1

т

СЭ2

т

СЭз

т

СЭ4

т

СЭ5

Последовательно с использованием считывающих элементов фиксируя кодовую комбинацию при перемещении шкалы на один квант, например справа налево, получаем 31 различную з-разрядную кодовую комбинацию. Эти кодовые комбинации, соответствующие 31 различному угловому положению ПСКШ, приведены в табл. 4.

Таблица 4

Кодовая комбинация Кодовая комбинация

Номер сдвига ПСКШ Двоичный псевдослучай- Десятичный эквивалент Номер сдвига ПСКШ Двоичный псевдослучай- Десятичный эквивалент

ный код ный код

0 00110 6 16 10110 22

1 00011 3 17 11110 30

2 01100 12 18 01101 13

3 00111 7 19 11100 28

4 11000 24 20 11010 26

з 01110 14 21 11001 2з

6 10000 16 22 10101 21

Продолжение табл. 4

Номер сдвига ПСКШ Кодовая комбинация Номер сдвига ПСКШ Кодовая комбинация

Двоичный псевдослучайный код Десятичный эквивалент Двоичный псевдослучайный код Десятичный эквивалент

7 11101 29 23 10010 18

8 00001 1 24 01010 10

9 11011 27 25 00100 4

10 00010 2 26 10100 20

11 10111 23 27 01001 9

12 00101 5 28 01000 8

13 01111 15 29 10011 19

14 01011 11 30 10001 17

15 11111 31

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

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

1. Ожиганов А. А. Псевдослучайные кодовые шкалы // Изв. вузов СССР. Приборостроение. 1987. Т. 30, № 2. С. 40—43.

2. Ожиганов А. А. Псевдослучайные кодовые шкалы для преобразователей линейных перемещений // Изв. вузов. Приборостроение. 1995. Т. 38, № 11—12. С. 37—39.

3. Ожиганов А. А., Чжипэн Жуань. Использование псевдослучайных последовательностей при построении кодовых шкал для преобразователей линейных перемещений // Там же. 2008. Т. 51, № 7. С. 28—33.

4. Ожиганов А. А., Коробейников А. Г., Климанов В. А. Структура системы автоматизированного проектирования рекурсивных кодовых шкал // Науч.-техн. вестн. СПбГУ ИТМО. 2006. Вып. 32. C. 237—245.

5. Макуильямс Ф. Д., Слоан Н. Д. Псевдослучайные последовательности и таблицы // ТИИЭР. 1976. Т. 64, № 12. С. 80—95.

6. МуттерВ. М. Основы помехоустойчивой телепередачи информации. Л.: Энергоатомиздат, 1990. 288 с.

7. Ожиганов А. А. Алгоритм размещения считывающих элементов на псевдослучайной кодовой шкале // Изв. вузов. Приборостроение. 1994. Т. 37, № 2. С. 22—27.

8. Сарвате Д. В., Персли М. Б. Взаимно-корреляционные свойства псевдослучайных и родственных последовательностей // ТИИЭР. 1980. Т. 68, № 5. С. 59—95.

9. Борисенко Н. П., Гусаров А. В., Кривонос А. П. О возможности генерации примитивных полиномов заданной степени и быстрого вычисления сдвига выходной последовательности РСЛОС на заданное число тактов // Сб. трудов XII Междунар. науч. конф. „Информатизация и информационная безопасность правоохранительных систем". М., 2003. С. 334—339.

Сведения об авторах

Илья Дмитриевич Захаров — аспирант; Санкт-Петербургский государственный университет ин-

формационных технологий, механики и оптики, кафедра вычислительной техники; E-mail: zakharov_ilya@hotmail.com Александр Аркадьевич Ожиганов — д-р техн. наук, профессор; Санкт-Петербургский государственный

университет информационных технологий, механики и оптики, кафедра вычислительной техники; E-mail: ojiganov@mail.ifmo.ru

Рекомендована кафедрой Поступила в редакцию

вычислительной техники 18.01.11 г.

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