Главная > Разное > Методы синтеза быстрых алгоритмов свертки и спектрального анализа сигналов
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

10.1. Методы построения построчно-столбцовых алгоритмов БПФ-m

ПСА БПФ-m выполняется непосредственно согласно выражению (10.1), т.е. на этапе вычислений по координате многомерной матрицы промежуточных данных из внешнего раз считывается вектор

Для этого вектора берется -точечное ДПФ-1 с помощью любого возможного для данной размерности алгоритма БПФ

Полученный результат записывается в на место исходного вектора

Таким образом, БПФ-m требует проходов или проходов, если

Приведем оценки вычислительной сложности для двух случаев использования в БПФ-m одномерных алгоритмов

1) БПФ по основанию два

2) БПФ с расщепленным основанием

Так как вычисления в обоих алгоритмах выполняются с замещением, то объем требуемого равен или вещественных слов.

Для многих практических задач (например, обработка изображений массивов 256 X 256 и больше) эти величины превышают емкость ОЗУ используемых мини-ЭВМ. Следовательно, входные и промежуточные данные должны храниться на внешних например дисках или лентах. Все эти имеют файловую систему хранения, отсюда наиболее распространенная структура записи данных - это запись матриц по строкам или столбцам.

Если сигнал запоминается строка за строкой, т.е. отсчеты строки следуют непосредственно за строкой, то возможно построчное считывание, затем выполнение одномерного БПФ и запись на диск.

Однако после выполнения всех построчных операций промежуточные данные необходимо обрабатывать по столбцам. При этом элементы каждого столбца принадлежат разным файлам, что серьезно затрудняет непосредственную столбцовую обработку данных. Для устранения этого необходимо транспонирование всего массива промежуточных данных.

Для транспонирования матрицы применяется эффективный алгоритм Эклунда [13, 14], основанный на методе "разделяй и властвуй". Очевидно, что матрицу можно разбить на четыре подматрицы

Тогда транспонированная матрица а имеет вид

т. е. каждая подматрица становится транспонированной, а матрицы и меняются местами. Далее процедура (10.8) повторяется рекуррентно для каждой матрицы до тех пор, пока в результате не остаются матрицы размерностью 1X1.

(кликните для просмотра скана)

На рис. 10.2 приведен пример транспонирования матрицы а 8.

Очевидно, что полное транспонирование матрицы а осуществляется за этапов, причем для обеспечения работы алгоритма во внутреннее ОЗУ должны считываться по крайней мере две строки массива данных (например, на первом этапе на втором этапе — и т.д.). Всего общее количество циклов считывания/запись равно

Причем на первом этапе транспонирования одновременно вычисляются БПФ по строкам, а на последнем этапе транспонирования — БПФ по столбцам.

Если число строк, которые можно одновременно записать во внутреннее то

где

Мы рассмотрели наиболее простой случай транспонирования двумерной квадратной матрицы. Более серьезной является проблема транспонирования прямоугольных, а также многомерных массивов данных. Подробно такие задачи рассматриваются в [13—15].

<< Предыдущий параграф Следующий параграф >>
Оглавление