русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Запись алгоритма БПФ в векторно-матричной форме


Дата добавления: 2014-11-27; просмотров: 1202; Нарушение авторских прав


 

Матрицы указанных ортогональных преобразований позволяют значительно сократить объём вычислений, поскольку из элементов матрицы имеется лишь (для ДПФ и ДПХ) различных значений.

Действительно, рассмотрим ДПФ для

После выделения встречающихся неоднократно блоков данных можно заметить, что и есть не что иное, как ДПФ для и подвектора . Аналогичные выводы можно сделать и для других блоков данных, что позволяет записать :

;

Попробуем использовать как типовой элемент преобразования процедуру вида и перекомпоновку векторов.

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

Такая процедура может быть записана как операция умножения вектора на перестановочную матрицу .

2) Запишем матрицу

и получим вектор как:

3) Умножим вектор на диагональную матрицу :

4) Получим вектор , вновь переставив элементы вектора по правилу двоичной инверсии с помощью матрицы :

5) Умножим вектор на матрицу :

6) Переставим элементы вектора с помощью матрицы :

иначе говоря:

(8.5)

где на первой итерации диагональная матрица

введена формально, для симметрии матричной записи обоих итераций.

Рассуждая аналогичным образом, можно придти к алгоритму, состоящему в выполнении последовательности итераций. На рис.8.1 приведен граф алгоритма БПФ, иллюстрирующий выполнение итеративнно - связанных вычислений по описанной схеме.

 

 

Рис.8.1. Граф процедуры БПФ для N = 8.

На рисунке обозначены:

; ; ;

Число итераций составляет . Перед первой итерацией выполняется r-ично инверсная перестановка элементов вектора исходных данных. В свою очередь каждая итерация сводится к схожим действиям:



1. Перестановка элементов вектора результатов предшествующей итерации;

2. Умножение вектора данных на диагональную матрицу (m - номер итерации), причём

3. Умножение вектора результатов (по п.1) на матрицу блочной структуры

 
 

4. Выполнение перестановок элементов вектора, содержащего результаты п.2.

В матричном виде это можно записать [6, 11,25]:

(8.6),

где - вектор исходных данных,

- вектор результатов БПФ,

- матрица перестановок вектора выходных данных (т.е. ),

- матрица перестановок вектора входных данных (т.е. ).

В свою очередь, матрица является блочной матрицей, процедура формирования которой определяется выражением:

(8.7),

здесь - единичная матрица порядка ,

- знак прямого произведения матриц (кронекеровского произведения),

- знак прямой суммы матриц. Заметим, что прямой суммой матриц и является диагональная матрица на главной диагонали которой расположены блоки из исходных матриц:

(8.8).

- диагональная матрица поворачивающих множителей ( ),

- матрица ДЭФ порядка,

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

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

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

 



<== предыдущая лекция | следующая лекция ==>
Вычислительная сложность ДПФ и способы её сокращения | Представление алгоритма БПФ в виде рекурсивных соотношений


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.