3.4. Основные алгоритмы БПФ по модулю 2 с замещением
Существует 4 основных алгоритма БПФ по модулю 2 с замещением, различающихся способом прореживания данных (по времени или частоте) и расположением входных и выходных данных (прямое или двоично-инверсное). Особенностью алгоритмов с замещением является то, что если входные данные
вобычном порядке, то выходные в двоично-инверсном и наоборот.
Вкаждой паре алгоритмов один является основным и соответствует рис.3.1 для прореживания по времени и рис.3.3 для прореживания по частоте, а второй получается перестановкой входных и выходных данных, чтобы поменять прямой порядок данных на двоично-инверсный и наоборот.
Каждый алгоритм может быть представлен в виде граф-схемы, таблицы индексов и схемы алгоритма программы. Далее приведены все эти три представления для каждого варианта алгоритма: алгоритм БПФ с прореживанием по времени и двоично-инверсным расположением входных данных (рис.3.9-3.11), алгоритм БПФ с прореживанием по времени и прямым расположением входных данных (рис.3.12-3.14), алгоритм БПФ с прореживанием по частоте и прямым расположением входных данных (рис.3.15-3.17), , алгоритм БПФ с прореживанием по частоте и двоично-инверсным расположением входных данных
(рис.3.18-3.20).
Схемы алгоритмов БПФ очень похожи и основное их отличие заключается
вначальных значениях приращений адресов и индексов, а также направлением их изменения (увеличение или уменьшение). При этом в дополнительных алгоритмах изменяется также порядок следования поворачивающих множителей с прямого на двоично-инверсный, что незначительно усложняет алгоритм.
Взаключение приводятся примеры программной реализации 4-х алгоритмов БПФ. В этих программах используется универсальная «бабочка» без учета частных случаев поворачивающих множителей. Представленные примеры выполнены в виде универсальных подпрограмм, предназначенных для реализации прямого БПФ (при вызове подпрограммы в аккумуляторе А должен быть 0) и обратного БПФ (аккумулятор А не равен 0).
Вголовной программе, вызывающей подпрограмму FFT, должны быть выполнены настройки режимов процессора, как было показано в примерах реализации базовой операции, определена размерность БПФ N=2^(M+1), где константа N – число обрабатываемых значений (размер выборки), а константа М – число итераций-1, а также подключена таблица одного периода синуса длиной N отсчетов с начальной меткой sint.
- 2.4. Точностные характеристики цифровых фильтров
- 2.4.2.Ошибки квантования в цифровых фильтрах
- 3.2. Реализация частных случаев вычисления «бабочки»
- 3.4. Основные алгоритмы БПФ по модулю 2 с замещением
- 3.5. Алгоритм БПФ с поблочно-плавающей запятой
- 4. ВЫПОЛНЕНИЕ ОПЕРАЦИЙ С ПЛАВАЮЩЕЙ ЗАПЯТОЙ
- 4.1. Форматы чисел с плавающей запятой
- Операция умножения с плавающей запятой
- 5.3. Метод кодирования A-Law
- 6.1. Многомерный формирующий фильтр