3.3. Вычисление двумерных ДПФ с помощью полиномиальных преобразований
 
Показано, что число арифметических операций, требуемых для вычисления Двумерных циклических сверток, существенно снижается при замене традиционных методов, использующих ДПФ, полиномиальными преобразованиями. Частично экономия обусловлена тем, что короткие одномерные свертки и полиномиальные 
 
произведения вычисляются с помощью интерполяции более эффек тивно, чем методами ДПФ. Однако наиболее существенный фактор понижения сложности вычислительного процесса связан с эффективным отображением с помощью полиномиальных преобразований двумерных последовательностей в  номерные. Покажем теперь, что эти методы можно распространить на вычисление ДПФ и что полиномиальные преобразования можно применить для преобразования двумерных ДПФ либо в одномерные ДПФ, либо в одномерные сверт
 номерные. Покажем теперь, что эти методы можно распространить на вычисление ДПФ и что полиномиальные преобразования можно применить для преобразования двумерных ДПФ либо в одномерные ДПФ, либо в одномерные сверт  и полиномиальные произведения [3.17]. На практике оба метода обеспечн вают существенное снижение числа арифметических операций и могут приме няться совместно для достижения оптимальной эффективности вычисления больших ДПФ.
 и полиномиальные произведения [3.17]. На практике оба метода обеспечн вают существенное снижение числа арифметических операций и могут приме няться совместно для достижения оптимальной эффективности вычисления больших ДПФ. 
3.3.1. Алгоритм редуцированного ДПФ
 
Рассмотрим двумерное  -точечное ДПФ
-точечное ДПФ 
 
Традиционный построчно-столбцовый метод [3.18] состочт в вычислении  одномерных ДПФ по индексу и
 одномерных ДПФ по индексу и  одномерных ДПФ по индек
 одномерных ДПФ по индек  . В этом методе
. В этом методе  отображается в
 отображается в  -точечных ДПФ. Если число комплексных умножений, требуемых для вычисления этого ДПФ, то общее число М умножений, соответствующих
-точечных ДПФ. Если число комплексных умножений, требуемых для вычисления этого ДПФ, то общее число М умножений, соответствующих  есть
 есть  Когда
 Когда  более эффективно вычислять
 более эффективно вычислять  с помощью гнездового алгоритма Винограда [3.1]. В этом случае
 с помощью гнездового алгоритма Винограда [3.1]. В этом случае  вычисляется как
 вычисляется как  -точечное ДПФ, в котором каждый скаляр заменяется вектором из
-точечное ДПФ, в котором каждый скаляр заменяется вектором из  точек и каждое умножение заменяется
 точек и каждое умножение заменяется  -точечным ДПФ, так что
-точечным ДПФ, так что  
 
Чтобы вычислить  с помощью полиномиальных преобразований, необходимо сначала представить ДПФ в терминах алгебры полиномов. Это осуществляется заменой (3.72) на
 с помощью полиномиальных преобразований, необходимо сначала представить ДПФ в терминах алгебры полиномов. Это осуществляется заменой (3.72) на 
 
В  получено заменой Z на
 получено заменой Z на  в (3.74). Таким образом,
 в (3.74). Таким образом,  эквивалентны (3.72). Заметим, что на этом шаге нет необходимости задавать
 эквивалентны (3.72). Заметим, что на этом шаге нет необходимости задавать  по модулю
 по модулю  хотя такое задание справедливо, поскольку
 хотя такое задание справедливо, поскольку  
 
Предположим теперь, что  -простое. Тогда
-простое. Тогда  разлагается в произведение двух циклотомических полиномов:
 разлагается в произведение двух циклотомических полиномов: 
 
 
 
Рис. 3.6. Вычисление  -точечного ДПФ с помощью полиномиальных преобразований,
-точечного ДПФ с помощью полиномиальных преобразований,  — простое. Алгоритм редуцированного ДПФ
 — простое. Алгоритм редуцированного ДПФ 
и подставляя их в (3.84), получим 
 
Таким образом, для простого  -точечное ДПФ отображается с помощью полиномиальных преобразований в
-точечное ДПФ отображается с помощью полиномиальных преобразований в  -точечных ДПФ вместо
-точечных ДПФ вместо  -точечных ДПФ для построчно-столбцового метода вычислений. Схема вычислений по этому методу полиномиального преобразования показана на рис. 3.6. Воспользовавшись тем, что в N ДПФ, определенных (3.87), последний входной член равен нулю, а первый выходной член не вычисляется, можно получить небольшое дополнительное сокращение числа умножений. Это можно реализовать, если заметить, что, поскольку
-точечных ДПФ для построчно-столбцового метода вычислений. Схема вычислений по этому методу полиномиального преобразования показана на рис. 3.6. Воспользовавшись тем, что в N ДПФ, определенных (3.87), последний входной член равен нулю, а первый выходной член не вычисляется, можно получить небольшое дополнительное сокращение числа умножений. Это можно реализовать, если заметить, что, поскольку  при
 при  и простом
 и простом  (3.87) можно переписать как
 (3.87) можно переписать как 
 
где 
 
Тогда редуцированные ДПФ (3.88) можно вычислить как  -точечные корреляции, используя алгоритм Рейдера [3.19]. Действительно, если
-точечные корреляции, используя алгоритм Рейдера [3.19]. Действительно, если  примитивный корень по модулю
 примитивный корень по модулю  то
 то 
 
 
В этом случае редуцированное  превращается в корреляцию
 превращается в корреляцию
 
 
Подстановка последовательности  эквивалентна умножению
 эквивалентна умножению  на
 на  с последующим приведением по модулю
 с последующим приведением по модулю  и умножением на
 и умножением на  На практике умножение на
 На практике умножение на  можно объединить с упорядочением входных полиномов. Тогда приведение по модулю
 можно объединить с упорядочением входных полиномов. Тогда приведение по модулю  выполняется без сложений, как часть вычисления полиномиального преобразования.
 выполняется без сложений, как часть вычисления полиномиального преобразования. 
Предположим, что  -точечное ДПФ вычисляется за М, комплексных умножений с помощью алгоритмов коротких корреляций, например, таких, как алгоритм Винограда преобразования Фурье. Тогда соответствующие корреляции потребуют
-точечное ДПФ вычисляется за М, комплексных умножений с помощью алгоритмов коротких корреляций, например, таких, как алгоритм Винограда преобразования Фурье. Тогда соответствующие корреляции потребуют  комплексных умножений, а общее число М умножений, необходимых для вычисления
 комплексных умножений, а общее число М умножений, необходимых для вычисления  -точечного ДПФ с помощью полиномиальных преобразований, понизится до
-точечного ДПФ с помощью полиномиальных преобразований, понизится до 
 
Это составляет примерно половину того, что необходимо для построчно-столбцового метода вычислений  умножений) и всегда, за исключением
 умножений) и всегда, за исключением  ниже соответствующего числа умножений для гнездового алгоритма Винограда
 ниже соответствующего числа умножений для гнездового алгоритма Винограда  Более того, когда ДПФ и редуцированные
 Более того, когда ДПФ и редуцированные  -точечные ДПФ вычисляются с помощью алгоритмов коротких корреляций, все комплексные умножения сводятся к умножениям на чисто вещественные или чисто мнимые числа и могут выполняться только за 2 вещественных умножения.
-точечные ДПФ вычисляются с помощью алгоритмов коротких корреляций, все комплексные умножения сводятся к умножениям на чисто вещественные или чисто мнимые числа и могут выполняться только за 2 вещественных умножения. 
Аналогичный метод полиномиального преобразования для вычисления ДПФ можно так же просто определить и для составного  Условия выполнения полиномиального преобразования без умножений устанавливаются с помощью метода, очень похожего на тот, который использовался в подразд. 3.2.1 для двумерных сверток (табл. 3.9). Особенно интересен случай
 Условия выполнения полиномиального преобразования без умножений устанавливаются с помощью метода, очень похожего на тот, который использовался в подразд. 3.2.1 для двумерных сверток (табл. 3.9). Особенно интересен случай  -точечного ДПФ при
-точечного ДПФ при  Эти ДПФ вычисляются, как показано на рис. 3.7, посредством одного
 Эти ДПФ вычисляются, как показано на рис. 3.7, посредством одного  -точечного полиномиального преобразования по модулю
-точечного полиномиального преобразования по модулю  одного
 одного  -точечного полиномиального преобразования по модулю
-точечного полиномиального преобразования по модулю  -точечных редуцированных ДПФ, половина входных и выходных членов которых равна нулю, и одного
-точечных редуцированных ДПФ, половина входных и выходных членов которых равна нулю, и одного  -точечного ДПФ, которое, в свою очередь, можно вычислить аналогичным образом. Для случая
-точечного ДПФ, которое, в свою очередь, можно вычислить аналогичным образом. Для случая  наиболее интересно то, что полиномиальные преобразования вычисляются с помощью алгоритма типа БПФ, так что все вычисления организуются способом, очень похожим на традиционное вычисление БПФ.
 наиболее интересно то, что полиномиальные преобразования вычисляются с помощью алгоритма типа БПФ, так что все вычисления организуются способом, очень похожим на традиционное вычисление БПФ. 
Более того, редуцированные  -точечные ДПФ можно тогда рассматривать как обычные
-точечные ДПФ можно тогда рассматривать как обычные  -точечные ДПФ, в которых входная последовательность умножается поточечно на последовательность
-точечные ДПФ, в которых входная последовательность умножается поточечно на последовательность  и поэтому они идентичны редуцированным ДПФ, появляющимся на первом шаге прореживания по частоте в алгоритме БПФ с основанием 2. Точнее, редуцированное
 и поэтому они идентичны редуцированным ДПФ, появляющимся на первом шаге прореживания по частоте в алгоритме БПФ с основанием 2. Точнее, редуцированное  -точечное
-точечное  задается следующим образом:
 задается следующим образом: 
 
В этом редуцированном ДПФ умножения на  обычно являются комплексными. Однако, используя алгоритм Рейдера — Бреннера [3.15] или один из его производных, эти умножения можно преобразовать в умножения чисто вещественных
 обычно являются комплексными. Однако, используя алгоритм Рейдера — Бреннера [3.15] или один из его производных, эти умножения можно преобразовать в умножения чисто вещественных  
 

(кликните для просмотра скана)
Таблица 3.10. Число вещественных операций для коротких и редуцированных ДПФ (см. скан)
При использовании этого метода редуцированное ДПФ, определенное в (3.93), вычисляется за  вещественных умножений и
 вещественных умножений и  вещественных сложений, где
 вещественных сложений, где  — число умножений и число сложений, требуемых для вычисления
 — число умножений и число сложений, требуемых для вычисления  -точечных ДПФ.
-точечных ДПФ. 
В разд. 3.6 приведены различные алгоритмы коротких редуцированных ДПФ, а в табл. 3.10 собраны данные о числе вещественных операций для наиболее часто употребляемых алгоритмов. На основании этих данных и алгоритмов коротких ДПФ, предназначенных для использования в алгоритмах Винограда преобразования Фурье [3.1, 3.2] и Рейдера — Бреннера, в табл. 3.11 показано число вещественных операций для различных двумерных ДПФ. 
Подробное сравнение с обычными вычислительными методами будет дано в подразд. 3.3.3, но пока можно заметить, что число умножений равно примерно половине того числа, которое соответствует традиционному вычислению БПФ с помощью алгоритма Рейдера — Бреннера, а число сложений незначительно уменьшается. Число операций также меньше, чем в обычных алгоритмах Внно града преобразования Фурье. 
 
Таблица 3.11. Число вещественных операций для комплексных двумерных ДПФ, вычисляемых с помощью полиномиальных преобразований по алгоритму редуцированного ДПФ (см. скан)