Скачиваний:
80
Добавлен:
15.06.2014
Размер:
446.95 Кб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ

БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ

Кафедра РТУ

ТЕОРЕТИКО-ЧИСЛОВЫЕ ПРЕОБРАЗОВАНИЯ

МЕТОДИЧЕСКИЕ УКАЗАНИЯ

к лабораторной работе по курсам ПРИКЛАДНАЯ ТЕОРИЯ КОДИРОВАНИЯ,

ЦИФРОВАЯ ОБРАБОТКА СИГНАЛОВ,

ЗАЩИТА ИНФОРМАЦИИ

для студентов радиотехнических специальностей

МИНСК 1997

1

Министерство образования Республики Беларусь БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ

Кафедра радиотехнических систем

ТЕОРЕТИКО-ЧИСЛОВЫЕ ПРЕОБРАЗОВАНИЯ

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

"Прикладная теория кодирования",

"Цифровая обработка сигналов",

"Защита информации"

для студентов радиотехнических специальностей

Минск 1997

2

УД К 629.051

Теоретико-числовые преобразования : Метод . указания к лабораторной работе по курсам " Прикладная теория кодирования " , " Цифровая обработка сигналов " , " Защита информации " для студентов радиотехнических специ-

альностей / Сост. А.И.Митюхин .— Мн. : БГУИР , 1997.— 20 с.

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

© Составление. А.И. Митюхин , 1997

3

1. ЦЕЛЬ РА БОТЫ Изучение алгоритмов цифровой обработки сигналов на основе теоре-

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

2. ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ

2. 1.Введение

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

Пусть даны две последовательности {S(n)} = {S(0), S(1), ... , S(N – 1)} и {h(n)} = {h(0), h(1), ..., h(N – 1)}, определенные на конечных интервалах, т.е. {S(n)} имеет длину N1, {h(n)} — N2. Линейная (апериодическая) свертка этих последовательностей определяется как:

N 1 N 2

2

 

Y ( m )

s ( n ) h ( m n ) , m 0 ,1, , N 1 N 2 2

(1)

n0

иимеет длину N1+N2 1.

Циклическая (периодическая) свертка последовательностей {S(n)} и {S(n)} длинны N имеют вид:

 

N 1

 

Y ( m )

s ( n ) h (( m n )) , m 0 ,1, , N 1

(2)

n 0

где ((m n)) = (m – n)mod N.

Для эффективного вычисления циклических и линейных сверток применяют быстрые спектральные преобразования цифровых сигналов в базисах дискретных функций, заданных на конечных интервалах. Наиболее известными дискретными ортогональными преобразованиями в числовых и полиноминальных полях являются быстрые преобразования Фурье ( БНФ ), Уолша, Хаара, Виленкина-Крестенсона. Другой известной операцией с сигналами, широко применяемой в системах, является корреляция. Циклическая (периодическая) корреляция двух последовательностей равна:

 

N 1

R ( m )

S ( n ) h ( m n ) , m 0 ,1, , N 1

n 0

Корреляционная последовательность {R(m)} может быть выражена через оператор свертки, если перед вычислением {R(m)} одна из последовательностей будет прочитана в обратном порядке, за исключением нулевого отсчета.

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

4

Теоретико-числовые преобразования (ТЧП) также позволяют существенно сократить число необходимых вычислительных операций при цифровой обработке сигналов (ЦОС). В этом случае преобразование заданного массива L чисел (заданной цифровой последовательности) сводится к выполнению ТЧП для отдельных частей этого массива. При соответствующем построении алгоритма преобразования это позволяет увеличить скорость выполнения операций. В данном случае можно говорить о выполнении быстрого преобразования ТЧП и о выполнении быстрых сверток.

ТЧП определяются только для последовательностей целых чисел {S(n)}, n = 0, 1, ..., N – 1 и {а(k)}, k=0, 1, …, N – 1; здесь N — количество временных (частотных) отчетов соответственно временной {S(n)} и спектральной {а(k)} последовательностей. Пара теоретико-числовых преобразований определяется в экспоненциальной форме следующими выражениями [1]:

N

1

 

 

 

a ( k )

S ( n ) L kn mod

M, k 0 ,1, , N 1

(3)

n

0

 

 

 

 

N

1

 

 

S ( n ) N

1

a ( k ) L kn

mod M, n 0 ,1, , N 1

(4)

 

n

0

 

 

где М – модуль преобразования (целое положительное число) ; N — целое положительное число, взаимнопростое с М. N должно делить число (р – 1), где р – любой из простых сомножителей М; L — целое положительное число, такое, что N является порядком элемента L. Напомним, что наименьшее положительное число N, удовлетворяющее равенству L N 1 mod M , в кольце целых чисел, называется порядком элемента L, N -1 число обратное N . N -1 оп-

ределяется из решения сравнения N * N 1

mod M .

 

 

 

Пример 1. Пусть задан модуль М=9

я элемент кольца L=2

. Найти

порядок элемента L. Составляется степенной ряд:

 

 

 

2 1

2 , 2 2

4 , 2 3

8 , 2 4

16

7 mod 9 , 2 5

32

5 mod 9 , 2 6 64

1 mod 9 ;

число 6 есть порядок числа 2 для модуля кольца 9.

 

 

Используя матрицу ТЧП порядка N, можно записать преобразование в

матричной форме:

 

 

 

 

 

 

 

A

T * S ;

 

 

 

 

 

 

 

 

S

N

1 * T

1 * A ,

 

 

 

 

 

 

 

где S

[ S ( 0 ), S (1),..., S ( N

1)] T

, A

[ a ( 0 ), a (1),...,

a ( N

1)] T — векторы-столбцы

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

0 1 …n … N-1

T = k

!

!

L

!

!

0 1 …n … N-1

5

 

 

!

T-1

 

!

= k

L

 

 

 

 

!

 

 

!

Сравнивая приведенные выше формулы с соответствующими формулами для дискретного преобразования Фурье (ДПФ), легко заметить аналоги, в записи этих двух преобразований. Из (3) и (4) ясно , что L — аналог в коль-

це

целых

чисел

по модулю

М

примитивного корня из

единицы

W

exp (

j 2 р/N) ,

определенного

в

поле комплексных чисел.

А вместо

N * N -1=1 следует находить N * N 1 mod M . При применении теоретикочисловых преобразований числа представляются в так называемой модульной системе. Арифметические операции производятся без переносов от цифры к цифре, что обеспечивает увеличение скорости выполнения преобразований. Основами для рассматриваемых преобразований являются понятия делимости целых чисел, сравнений, вычетов, алгебраические операции в кольце или в поле целых чисел. Действия, как правило, производятся с числами особого вида ( числа Мерсенна, числа Ферма), применение которых упрощает выполнение арифметических операций.

ТЧП обладают следующими преимуществами перед обычными БПФ:

1) отсутствуют ошибки округления результатов выполнения арифметических операций;

2)используется арифметика целых чисел;

3)базисные функции вида Lkm являются более предпочтительными по сравнению с базисными функциями ДПФ Wkn, поскольку позволяют изба-

виться от комплексных умножений на числа exp ( j 2 рkn/N) W kn ;

4)для выполнения некоторых ТЧП не требуется операция умножения;

5)повышенное быстродействие и точность процедур цифровой фильтрации.

Проблемы ТЧП являются следующие;

1)противоречие между длиной N преобразуемых цифровых последовательностей я величиной динамического диапазона при приемлемых размерах кодового слова может привести к большой длине кодового слова, а, следовательно, сравнительно сложной технической реализации процессора ТЧП;

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

Вэтой связи применение ТЧП для вычисления цифровой свертке не может составить в полной мере альтернативу использования ДПФ. Рациональным является их совместное использование для вычисления свертки посредством так называемых алгоритмов сплетения ДПФ с ТЧП или гибридных алгоритмов [2].

6

2.2. Элементы теории ТЧП

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

В этом кольце при свертке двух последовательностей {S(n)} и {h(n)} выходная последовательность {Y(m)} также сравнима по модулю М. В кольце целых чисел с заданными операциями по модулю М обычные целые числа могут быть представлены однозначно, если их абсолютное значение меньше М/2. Поэтому если масштаб входной последовательности {S(n)} и {h(n)} целых чисел выбран таким образом, что {Y(m)} никогда не превысит М/2, то можно получить одинаковые результаты при вычислении свертки в кольце целых чисел с операциями по модулю М и обычной арифметикой. Важно выбирать М настолько большим, чтобы все элементы исходных последовательностей {S(n)} и {h(n)}, а также элементы сформированной последовательности {Y(m)} содержались в интервале [-(М – 1)/2 , М 1/2]. В противном случае некоторые решения могут быть неверными, по они будут сравнимы по модулю М с правильными ответами. Такая ситуация называется псевдопереполнением. Это актуально для большинства приложений, связанных с ЦОС, где последовательность {h(n)} известна заранее или представляет импульсную характеристику. Обычно известна также максимальная амплитуда входного сигнала .

Теоретико-числовое преобразование возможно только при наличии в

кольце

элемента

L

порядка N и обратного элемента N-1. Пусть

M p

1

r 1 * p

r 2

* ... * p

re

представляет разложение числа М на простые мно-

 

 

2

 

e

 

жители. Так как L имеет порядок N , то в кольце должно выполняться условие L N 1 mod M . В работе [3] показано, что для составного модуля М элемент кольца L должен иметь порядок N по модулю каждой степени простого числа, делящей М. Таким образом, в кольце с операциями по составному модулю имеет место дополнительное условие выполнения ТЧП

L N 1 mod P

ri

, i 1, 2 ,..., e .

(5)

 

i

 

 

Пример 2.

Пусть М = 14. Представим его в виде М = 2*7. Легко проверить, что элемент 3 кольца с операцией по модулю 14 имеет порядок 6, т.е. справед-

ливо 3 6 1 mod

14 . В соответствии с (5) должны выполняться и следующие

выражения: 3 6

1 mod 2 и 3 6 1 mod 7 .

 

В теории чисел доказано, что элемент кольца или поля L имеет обрат-

ный ему L 1 , если этот элемент взаимно простой с модулем. Когда L и М

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

 

 

L ( M ) 1 mod M ,

(6)

7

(( L Kn )) .

где ( M ) — функция Эйлера определяет количество чисел, включая еди-

ницу, меньших М и взаимно простых с М, т.е. таких, которые не имеют с ним общих делителей (или, по-другому, — наибольший общий делитель (НОД ) который равен 1).

Пример 3.

Пусть М = 15. Числа, взаимно простые с 15, будут следующие: 1, 2, 4, 7,

8, 11, 13, 14 и (15 )

8 . Если М — простое число, взаимно-простых будет (М

– 1) чисел. Для М=31

(31 ) 30 .

Из выражений (5) и (6) следует, что для существования обратного элемента N 1 Ре не должен делить N. Таким образом, можно сформулировать основные общие требования к выбору параметров ТЧП.

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

только тогда, когда N делит НОД чисел ( p 1 1, p 2 1,..., p e

1) , т.е. в соответ-

ствии с теоремой Эйлера, N — порядок L должен делить

( p e re ) , где ( p e re )

— функция Эйлера каждого простого сомножителя М. Заметим также, что поскольку в поле целых чисел наличие обратных элементов гарантируется простотой модуля, то в ноле ТЧП существует всегда.

Так как ТЧП по своей структуре подобны ДПФ, то для него справедливы все свойства ДПФ с заменой W на L и выполнением арифметических операций по модулю М. В частности, строки матриц Т и T 1 ортогональны по модулю М. Построение обратной матрицы также основывается на свойстве периодичности элементов строки матриц преобразования (( L( N K ) n ))

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

Основными свойствами базисных функций и теоретико-числового преобразования являются:

1.Ортогональность. Скалярное произведение двух базисных функций определяется в виде

N

1

 

N , если K

1 mod N ;

 

 

L kn L ln

 

 

n

0

 

0 , в остальных

вариантах.

2. Периодичность. В силу периодичности быстрых функций также периодичны спектральные функции ТЧП:

S ( n N ) S ( n ); a ( k N ) a ( k ).

3. Симметрия. Если последовательность является симметричной, т.е. S ( n ) S ( n ) S ( N n ) , то соответствующая спектральная последователь-

ность также симметрична:

8

a ( k ) a ( k ) a ( N k ) .

4. Симметрия двойного преобразования

T {T { S ( n )}} N { s ( n )}, где Т — матрица преобразования. 5. Свойство сдвига

T { S ( n m )} a ( k ) Lmk .

6 . Быстрое преобразование ТЧП. Если N — составное число, то для вычисления преобразования может быть использован алгоритм, аналогичный БПФ и требующий выполнения порядка N ( r1 r 2 ... rm ) арифметических

операций.

7. Свойство свертки. Спектр свертки равен произведению спектров сворачиваемых последовательностей:

a y ( k ) a S ( k ) a h ( k ).

Заметим далее, что равенство Парсеваля в обычном виде

N

1

 

N

1

 

2

 

S ( n ) 2

N 1

 

 

f ( k )

n

0

 

n

0

 

 

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

2.3. Выбор и расчет параметров ТЧП

Для того, чтобы теоретико-числовые преобразования были более привлекательными по сравнению с БПФ при вычислении свертки, они должны быть эффективными с вычислительной точки зрения. Чтобы получить дополнительные преимущества, необходимо произвести хороший выбор параметров L, М, N. В частности, умножение на L и деление на М должны быть простыми операциями. Деление может потребоваться для осуществления операции приведения к остатку ( обозначается ((.)). Например, если М = 16, то ((37)) = 5, т.к. 37/16 = 2+5/16). Она необходима для обеспечения условия замкнутости в алгебраической системе. Заметим, что существуют и более простые методы приведения к остатку, чем операция деления.

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

При сравнительно малой величине модуля М (методом перебора) мож-

но легко определить L 1 па основе выражения L

L 1

1 mod

M .

Например,

пусть М = 17. Для числа 4 взаимно обратным будет 13, т.к. 4

13

1 mod 17 .

Для определения обратного элемента можно воспользоваться модифи-

кацией теоремы Эйлера. Так как

 

 

 

 

L ( m ) 1 mod M , то L 1 L ( m )

1 mod

M

 

(6)

9

Решение упрощается, если заранее известен порядок N элемента L, а М

— простое число.

Пример 4.

L = 6, М = 31; найти 6 1 . Из (6) получим 6 1 6 30 1 mod 31 . Учитываем, что N должен быть делителем ( m ) . Составляем степенной ряд следующего

вида:

6 1

6 ;

 

 

6 2

5 mod

 

31 ;

6 3

30 mod

31 ;

6 4

1 mod

31 (т.к. 4 не делит целое число 30);

6 5

26 mod

31 ;

6 6

1 mod

31 , т.е. целое число 6 имеет порядок число 6.

Получим 6 1 (( 6 29 )) (( 6 24 * 6 5 ))

(( 6 5 ))

26 .

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

Евклида [3].

 

 

Запишем сравнение вида L L 1

1 mod

M , неизвестное число L-1 обо-

значим через х. Уравнение не изменится, если к его левой части прибавить величину, кратную модулю L x My 1 mod M , где у — целое неизвестное

число.

Получим диофантово уравнение вида ((ах))+(()) = 1, решения которого ищутся в целых числах. Если, а b оно решается так:

 

 

y

(

1) n

1 b n 1 ;

 

 

 

 

 

 

 

x

(

 

1) n

1 a n 1 ,

 

 

 

 

 

 

 

где a n 1 , b n 1 получаются на основании следующего представления не-

прерывной дроби.

 

 

 

 

 

 

 

Разделим а и b (если а b) и в результате получим

a

q

 

r0

 

, где r0

 

 

b

0

b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

остаток от деления. Теперь разделим b на r0 и в результате получим

 

 

b

q 1

r1

. Можно продолжить этот процесс до тех пор, пока остаток rn, по-

 

 

 

 

r0

 

r0

 

 

 

 

 

 

 

 

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

Введем обозначение q

 

 

a 0

 

0

 

b 0

 

 

 

 

 

 

a 1

 

q

 

 

1

 

b1

0

 

q 1

 

 

 

 

……………..

10

Соседние файлы в папке 5