Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лаба 1-8 Лабы и ПЗ [Вариант 1] / 5 / ТЧП с флешки вовы / 4_Теоретико-числовые преобразования_2011

.pdf
Скачиваний:
81
Добавлен:
15.06.2014
Размер:
895.6 Кб
Скачать

Министерство образования Республики Беларусь Учреждение образования

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

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

Методические указания

к лабораторной работе

“Теоретико-числовые преобразования”

по курсу “Цифровая обработка сигналов”

Минск 2010

Цель работы

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

2.Получить навыки моделирования теоретико-числовых преобразований в среде Matlab.

1. Теоретические сведения

1.1. Введение

При решении многих практических задач цифровой обработки

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

Пусть даны две

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

S n S 0 , S 1 ,...,S N1 1 и

h n

h 0 , h 1 ,...,h N 2 1 , определенные

на конечных интервалах, т.е.

S n

имеет длину N1

, h n N 2. Линейная (апериодическая) свертка

этих последовательностей определяется как:

 

N1 N 2 2

Y (m)

s(n)h(m n) ,

 

n 0

m 0,1, , N1 N 2 2

(1)

и имеет длину

N1 N 2 1.

Циклическая (периодическая) свертка последовательностей

S n длинны

N имеет вид:

S n

и

Y (m)

N1

s(n)h((m

n 0

n))

,

m 0,1, , N

1

,

(2)

где

m n m n mod N

.

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

2

Другой известной операцией с сигналами, широко применяемой в системах, является корреляционная обработка. Циклическая (периодическая) корреляционная функция двух последовательностей равна:

R(m)

N1

S(n)h(m

n 0

n)

,

m 0,1, , N

1

.

Корреляционная последовательность через оператор свертки, если перед

R(m) может быть выражена

вычислением

R(m)

одна из

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

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

1.2. Теоретико-числовые преобразования

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

массива

L

чисел (заданной цифровой последовательности) сводится к

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

сверток.

 

 

 

 

 

 

 

 

ТЧП определяются

только

для последовательностей

целых чисел

S n ,

n 0,1,...,N 1

и

a k ,

k 0,1,...,N 1; здесь N

количество

временных (частотных) отчетов соответственно временной

S n

и

спектральной

a k

последовательностей. Пара теоретико-числовых

преобразований определяется в экспоненциальной форме следующими выражениями:

N 1

 

 

 

a(k) S(n) kn modM ,

n 0

 

 

 

 

 

N 1

 

 

S(n) N

1

a(k)

kn

modM

 

 

 

 

n 0

 

 

k 0,1, , N 1; , n 0,1, , N 1,

(3)

(4)

где M – модуль преобразования (целое положительное число); N − целое положительное число, взаимно простое с M . − целое положительное число, такое, что N является порядком элемента .

3

Напомним,

что

наименьшее

положительное

число

N

,

удовлетворяющее равенству порядком элемента , Число

N N

1mod M , в кольце целых должно делить число p

чисел, называется 1 , где p – любой

из простых сомножителей

M . N 1 число обратное

решения сравнения N * N

1

mod M .

 

 

Пример 1.

 

 

 

Пусть задан модуль

 

M 9 и элемент кольца

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

N

. N

2

1

определяется из

 

. Найти порядок

 

 

1

2

,

2

2

4

,

2

3

8

,

2

4

16

7mod9

,

 

 

2

 

 

 

 

2

6

64

1mod9

;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

2

5

 

32

5mod9

,

Используя матрицу ТЧП порядка матричной форме:

N

, можно записать преобразование в

A T * S ;

 

 

 

 

S N

1

*T

1

* A,

 

 

 

 

 

 

 

 

 

 

T

,

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

где S S 0 , S 1 ,...,S N1 1

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

1)]T

T

векторы-столбцы

иT 1 есть матрицы

T

 

nk

mod M

 

;

T

1

 

 

nk

 

mod M

.

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

в кольце целых чисел по модулю

M

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

единицы

W exp( j2π/N), определенного

в

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

А вместо

N * N

1

1 следует находить N * N

1

mod M . При применении теоретико-

 

 

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

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

4

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

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

3) базисные функции вида

kn

являются более предпочтительными по

 

сравнению с

базисными функциями ДПФ

W

kn

, поскольку позволяют

 

избавиться от

комплексных умножений на числа exp( j2πkn/N) W kn ;

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

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

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

1) противоречие между длиной

N

преобразуемых цифровых

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

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

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

Чтобы вычислить свертку цифровых последовательностей целых чисел, операции, определенные в поле комплексных чисел, непрерывные по своей

природе, можно реализовать в конечном поле или в конечном кольце с

операциями сложения и умножения по модулю некоторого целого числи M .

В этом кольце при свертке двух последовательностей

S n и

h n

выходная последовательность Y m также сравнима по

модулю

M . В

кольце целых чисел с заданными операциями по модулю

M

обычные целые

числа могут быть представлены однозначно, если их абсолютное значение

меньше M 2 . Поэтому если масштаб входной последовательности S n и

h n целых чисел выбран таким образом, что Y m никогда не превысит

M 2 , то можно получить одинаковые результаты при вычислении свертки в

кольце целых чисел с операциями по модулю M и обычной арифметикой.

Важно выбирать M

настолько большим, чтобы все элементы исходных

последовательностей

S n и h n , а также элементы сформированной

последовательности Y m содержались в интервале M 1 2, M 1 2 .

В противном случае некоторые решения могут быть неверными, но они будут сравнимы по модулю M с правильными ответами. Такая ситуация

5

называется псевдопереполнением. Это актуально для большинства приложений, связанных с ЦОС, где последовательность h n известна заранее или представляет импульсную характеристику. Обычно известна также максимальная амплитуда входного сигнала.

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

кольце

 

элемента

 

порядка

N

и

обратного

элемента

N

1

. Пусть

 

 

M p1

r1

* p2

r 2

*...* pe

re

представляет

разложение

числа

M

на

простые

 

 

 

множители.

Так как

 

имеет порядок

N , то в кольце должно выполняться

условие

 

 

N

1mod M .

Известно, что для составного модуля

M

элемент

 

 

кольца

 

 

должен иметь порядок

N

по модулю каждой степени простого

числа,

делящей M .

Таким образом,

в кольце с операциями по составному

модулю имеет место дополнительное условие выполнения ТЧП:

N

1mod P

ri

 

i

 

,

i

1,2,...,e

.

(5)

Пример 2.

 

 

 

 

 

 

 

 

 

Пусть

M 14

. Представим его в виде M 2 7 . Легко проверить, что

элемент 3

кольца

с операцией по

модулю

14

имеет

порядок

6, т.е.

справедливо

6

1mod14.

В соответствии с

(5)

должны

выполняться и

3

 

 

 

 

6

1mod 2 и

6

 

 

 

 

следующие выражения: 3

3 1mod 7 .

 

 

 

В теории

чисел доказано, что

элемент

кольца или

поля

имеет

обратный ему

1

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

 

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

 

 

 

M

1mod M

 

(6)

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

меньших

M

и взаимно простых с

M , т.е. таких, которые не имеют с ним

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

Пример 3.

 

 

 

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

7, 8, 11, 13, 14 и 15 8 . Если M

− простое число, взаимно-простых будет

M 1 чисел. Для M 31 31 30.

Из выражений (5)

и (6) следует, что для существования обратного

элемента

N 1 P

не

должен

делить N . Таким образом, можно

 

e

 

 

сформулировать основные общие требования к выбору параметров ТЧП. Теоретико-числовое преобразование размером N N в кольце целых

чисел с операциями сравнения по модулю целого числа М существует тогда

6

и только тогда, когда N делит НОД чисел соответствии с теоремой Эйлера, N − порядок

( p1 1, p2 1,..., pe

1) ,

 

т.е. в

должен делить

( pe

re

) , где

 

( p

 

re

)

e

 

 

 

 

− функция Эйлера каждого простого сомножителя

M

. Заметим

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

Так как ТЧП по своей структуре подобны ДПФ, то для них

справедливы все свойства ДПФ с

заменой W на T

и выполнением

арифметических операций по модулю

M . В частности, строки матриц T и

T

1

ортогональны

 

основывается на

по модулю M . Построение обратной

матрицы

также

свойстве периодичности элементов

строки

матриц

преобразования матрицей T , но

( N k )n

mod M

kn

mod M

 

 

записаны в обратном

. Строки матрицы T 1 совпадают с порядке. Поэтому для вычисления

обратного ТЧП вместо

T

1

можно использовать матрицу прямого

 

преобразования, но результат преобразования следует прочесть в обратном порядке (кроме первой строки).

1.3. Свойства базисных функций и ТЧП

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

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

N 1

 

 

 

N,

если k 1mod N;

 

kn

 

k n

 

 

 

 

 

 

n 0

 

 

 

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

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

S(n)

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

3. Симметрия. Если

S( n) S(N n) ,

последовательность является симметричной, т.е. то соответствующая спектральная

последовательность также симметрична:

a(k) a( k) a(N

k)

.

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

T{T{S(n)}} N{s( n)}, где T − матрица преобразования.

7

5. Свойство сдвига

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

mk

.

 

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

операций.

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

a

y

(k)

 

 

aS

(k)

a

h

(k)

 

 

.

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

N 1

 

 

1

N 1

 

S(n)

2

N

f (k)

2

 

 

 

n 0

 

 

 

n 0

 

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

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

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

выбор параметров , M ,

N . В частности, умножение на

и деление на M

должны быть простыми операциями. Деление может потребоваться для

осуществления

операции

приведения к

остатку

(обозначается “ .

”).

 

 

 

37 16

 

M

Например, если

M 16 ,

то 37mod16

5 , т.к. 37 16 2 5 16 .

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

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

обратного элемента.

 

 

При сравнительно малой

величине модуля M (методом

перебора)

можно легко определить 1

на основе выражения * 1

1mod M .

8

 

 

Например, пусть

4 13 1mod17.

M

17

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

 

Для определения обратного элемента можно

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

 

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

 

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

M

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

Пример 4.

воспользоваться

(6)

N

элемента

, а

что N

6

,

M 31; найти 6

1

.

 

должен быть делителем

Из (6) получим 6

1

6

30 1

mod 31. Учитываем,

 

 

(m) . Составляем степенной ряд следующего

вида:

61

6

;

6

2

 

5

mod31

;

6 6

3 4

30mod31;

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

6

5

 

26

mod31

;

6

6

 

1mod31

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

Получим

1

((6

29

))

 

((6

24

5

 

5

 

26.

6

 

31

 

* 6 ))

31

((6 ))

31

 

 

 

 

 

 

 

 

 

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

Запишем сравнение вида * 1 1mod M обозначим через х. Уравнение не изменится, прибавить величину, кратную модулю x My

, неизвестное число 1 если к его левой части1mod M , где y − целое

неизвестное число.

Получим диофантово уравнение вида

ax

M

by

M

 

 

1

,

решения

которого ищутся в целых числах. Если, а ≤ b оно решается так:

y( 1)n 1bn 1 ; x ( 1)n 1 an 1 ,

где

an 1 ,

bn 1

получаются на основании следующего представления

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

 

 

 

 

 

 

 

Разделим

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

a

q

 

 

r0

, где r

 

 

0

 

 

 

 

 

b

 

b

0

 

 

 

 

 

 

 

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

9

b

q1

 

r

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

 

1

 

 

 

 

r

 

 

r

 

0

 

 

0

 

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

rn

,

x

(

q

 

 

 

a

0

;

 

 

 

 

 

 

 

 

 

 

 

 

 

0

b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

a

 

q

 

 

 

1

 

 

 

 

 

1

 

 

 

;

 

 

 

b

 

0

q

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

1

 

 

 

 

a

n

 

 

 

 

 

 

 

1

b

 

q

0

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

q

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

q

2

 

 

 

 

 

 

 

 

 

 

 

 

 

Нас интересует

1)

n

an 1 .

 

Пример 5.

.

1

 

1

 

...

1

q

 

 

n

неизвестное

x

(число, обратное

), равное

M

257

,

44

, вычислим

44

1

 

.

44* x 1mod 257

257

5

37

;

 

44

 

 

44

 

 

 

 

 

 

 

 

 

 

 

44

 

1

 

 

7

 

;

 

 

37

 

37

 

 

 

 

 

 

 

 

 

 

 

37

 

5

2

 

;

 

 

7

 

 

7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

 

3

1

;

 

 

 

 

 

2

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

an 3

 

 

a3

 

 

q

 

 

bn 3

b3

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

q1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a3 111;

 

 

 

 

 

 

; 44

1

q2

* x

1

1 q3

257 * y 1mod257

; далее

q

5 ;

 

0

 

 

q1

1;

 

q2

5 ;

 

q3

3;

 

5

 

1

 

 

 

 

 

111

;

 

1

1

 

 

 

 

 

19

 

 

 

 

 

 

 

 

 

 

5

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x ( 1)n a

 

 

 

 

( 1)4

*111 111.

 

 

n 1

 

 

 

 

 

Проверка 44*111 4884 1mod 257 .

10

Соседние файлы в папке ТЧП с флешки вовы