
Лаба 1-8 Лабы и ПЗ [Вариант 1] / 5 / ТЧП с флешки вовы / 4_Теоретико-числовые преобразования_2011
.pdfМинистерство образования Республики Беларусь Учреждение образования
БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ
Кафедра радиотехнических систем
Методические указания
к лабораторной работе
“Теоретико-числовые преобразования”
по курсу “Цифровая обработка сигналов”
Минск 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