Resume.HTM
Операции ЦОС в целых числах     Выше

Резюме ( Итоги )


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

Итоги тестирования алгоритмов DSP в целых числах


Итоги пушествия в ЧП Ферма и ТЧП Гаусса.

Подытожим по пунктам основные результаты путешествия в страну ЧП Ферма. И так,

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

1) ДП — это преобразование одного набора чисел в другой

2) Самые оптимальные БА для ДП Фурье (такие, как алгоритмы Винограда для коротких свёрток, БА Уэнга-Капорина для ДПФ, ТА Григоряна для ДПФ-2D) построены с общей идеей — заранее просуммировать какие-то компоненты векторов входных данных, а уже потом из этих промежуточных сумм формировать выходные результаты. Поэтому такие теоретически неулучшаемые БА имеют сложную для понимания структуру (т.е. она не ясна и требует много времени для понимания).

Напротив, БА ДПФ, которые используют только часть свойств ДПФ — периодичность или симметрию характеров (т.е. базисных функций преобразования, равных степеням КОРНЕЙ из 1), избыточность комплексного ДПФ при вещественных входных данных и пр., например, такие как БПФ Кули-Тьюки при N=2v , алгоритм ДПФ Герцеля, ПСА ДПФ-m, ГА ДПФ-m и другие, имеют понятную (прозрачную для изучения) структуру, хотя число операций (вещественного) умножения у них заметно больше, чем у самых оптимальных БА.

БА, которые сводят ДПФ к многомерному ДПФ-m или ЦС-m в матричных моделях тоже выглядят громоздко, (тоже и при представлении ДПФ через ПП), т.е. их структурная сложность на много выше, чем у простого БПФ Кули-Тьюки при   N=2v . Поэтому платой за стремление уменьшить число умножений и сложений в БА ДПФ и ЦС является значительное возрастание структурной сложности этих БА.

3) Из всех модулярных преобразований, пожалуй, только числовые преобразования по модулю чисел Ферма оказались похожими на комплексное ДПФ и наиболее просты для вычислений на современных компьютерах с двоичной арифметикой и длиной регистра равной степени 2. А сам Ферма, как добрый волшебник, следит за теми, кто путешествует по его стране и спасает их в самых трудных ситуациях.

4) Ряд чисел Ферма

F0 , F1 , F2 , F3 , F4 , F5 , F6 , …
имеет ту особенность, что число битов для их представления у каждого очередного числа удваивается
20=1 , 21=2 , 22=4 , 23=8 , 24=16 , 25=32 , 26=64 , …

Поэтому в алгоритмах, например, по модулю числа Ферма F2 достаточно использовать только 4-х битовые регистры (типа SHORTCARD/SHORTINT, укороченные до 4-х бит), хотя в специальном случае для представления длины преобразования T=F2-1=16 уже нужно 5 битов, тоже и для величины КОРНЯ из 1 root=16 при T=2. Эти частные случаи можно учесть отдельно от прочих и не использовать для хранения T и root всегда 5 битов памяти (т.е. не использовать стандартный 8-битовый тип данных SHORTCARD/SHORTINT).

В алгоритмах по модулю числа Ферма F3 достаточно использовать только 8-ми битовые регистры (типа SHORTCARD/SHORTINT), хотя в специальном случае для представления длины преобразования T=F3-1=256 уже нужно 9 битов, тоже и для величины КОРНЯ из 1 root=256 при T=2. Эти частные случаи можно учесть отдельно от прочих и не использовать для хранения T и root всегда 9 битов памяти (т.е. не использовать стандартный 16-битовый тип данных CARDINAL/INTEGER).

В алгоритмах по модулю числа Ферма F4 достаточно использовать только 16-ти битовые регистры (типа CARDINAL/INTEGER), хотя в специальном случае для представления длины преобразования T=F4-1=65536 уже нужно 17 битов, тоже и для величины КОРНЯ из 1 root=65536 при T=2. Эти частные случаи можно учесть отдельно от прочих и не использовать для хранения T и root всегда 17 битов памяти (т.е. не использовать стандартный 32-битовый тип данных LONGCARD/LONGINT).

В алгоритмах по модулю числа Ферма F5 достаточно использовать только 32-х битовые регистры (типа LONGCARD/LONGINT), хотя в специальном случае для представления длины преобразования T=F5-1=232 уже нужно 33 бита, тоже и для величины КОРНЯ из 1 root=232 при T=2. Эти частные случаи можно учесть отдельно от прочих и не использовать для хранения T и root всегда 33 бита памяти и т.д.

5) При использовании ЧП Ферма результат всегда должен находится в ПСАНВ± по модулю числа Ферма   Fn = 22n + 1 = 2b + 1 .

При использовании ТЧП Гаусса результат всегда должен находится в ПСАНВ± по модулю ЦКЧ Гаусса   μ .

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

Для сигналов не из кольца ЦКЧ Гаусса диапазоны значений входа и результата относятся как

Fn-1 : Fn     22n-1 : 22n .

7) Удачный выбор модуля в кольце ЦКЧ Гаусса в виде такого ЦКЧ   μ ,   у которого норма равна числу Ферма   Fn , позволяет легко (без умножений и делений) переходить из кольца ЦКЧ Гаусса в целочисленное кольцо (или поле) по модулю числа Ферма, т.е. проводить вычисления ЦС и ДП сигналов (даже комплексных) без умножений (через ЧПФ) с последующим возвратом результатов обратно в кольцо ЦКЧ Гаусса.

При этом наблюдается интересное соотношение между диапазонами значений входных данных, результата ЦС или ДП и, собственно, величиной модуля преобразования

Fn-2 : Fn-1 : Fn     22n-2 : 22n-1 : 22n .

8) Ограничения на длину преобразования (ЦС, ЧПФ) в модулярной арифметике и зависимость этой длины от размера модуля (т.е. арифметического регистра компьютера) можно ослабить, используя многомерные модели для представления одномерной ЦС и ЧПФ (т.е. через ЦС-m и ЧПФ-m).

9) Все ДП (ДПФ, ТЧП, ПП) имеют общее свойство — это свойство ЦС и их базовые функции (характеры) являются КОРНЯМИ из 1 порядка (степени)   N . Тоже и для ДП Ганкеля-Теплица и др. Хотя существуют и такие ДП, которые не обладают свойством ЦС (т.е. не изоморфны ЦС).

10) На пути ускорения БА ДПФ (ЧПФ) есть перспективная схема вычисления одномерных ЧПФ через многомерные ЧПФ-m, используя теоретически оптимальный двумерный ТА Григоряна с размерами   N = 2v = N1х N2 = 4Mх 8L . Такое сочетание размеров (прямоугольная матрица) покрывает все длины N=2v , при которых умножения на базовые элементы, равные степени 2, можно заменить на быстрые сдвиги целых и при этом используется единая общая конструкция алгоритма для всех длин преобразования   N = 2v   с минимальным числом операций.

11) БА ДП Фурье существуют для любой длины вектора N, т.е.
- для простого (неразложимого) N,
- разложимого на взаимно-простые множители,
- разложимого на любые множители,
- представимого в виде N=2v, N=rv и прочее.
Схемы (модели) вычисления ДПФ при этом могут быть разными по своей структурной сложности и по вычислительной сложности (в смысле числа умножений и сложений). Тоже самое относится и к ЧП Ферма.






Операции ЦОС в целых числах     В начало текущей






Последнее обновление 16.09.2013

© 2005 г., Александр Тимофеев, г.Харьков, Украина, eMail: atimopheyev@yahoo.com