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

где ( 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 , где у — целое неизвестное
число.
Получим диофантово уравнение вида ((ах))+((bу)) = 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