3.6. Вычислительная сложность алгоритмов бпф
Рассмотрим вначале алгоритмы БПФ для с прореживанием по времени.
Такой алгоритм является итерационным и включает итераций,
причем на каждой стадии выполняется N/2 базовых операций вида (3.11), откуда нетрудно получить, что общая трудоемкость алгоритма БПФ [21]:
где qБО - сложность базовой операции.
В свою очередь, базовая операция требует для своего выполнения 1 операцию умножения и 2 операции сложения комплексных чисел или, в пересчете на операции с действительными числами, 4 операции умножения и 4 операции сложения действительных чисел.
Для ЭВМ предыдущих поколений, где операции умножения выполнялись главным образом программным (а не аппаратным) способом, особую важность имело прежде всего сокращение числа операций умножения как наиболее длительных.
В современных ЭВМ эта задача не столь актуальна, так как длительность практически всех операций близка, особенно в специализированных процессорах.
Поэтому будем полагать, что сложность базовой операции при работе с комплексными числами равна
где qD=qx+q+
Здесь и далее под q подразумевает сложность отдельной машинной команды, например, в числе тактов работы процессора, необходимой для выполнения конкретной арифметической операции. Следовательно, для БПФ сложность алгоритма можно определить как:
При обработке вектора данных длинойна каждой из M итераций выполняется по N/r базовых операций, т.е.
Однако сложность базовой операции, как это можно видеть из (3.15), составит:
qБОr2qk
где qk=qУМН+qСЛ - для комплексных чисел, или, как и в случае , посчитаем, чтоqk=4qD и получим, подставив в (3.15) значения :
Втаблице 3.1 приведены значения для времени выполнения ДПФ и БПФ по различным основаниям при условии, чтоtсл=tумн=100нсек.
Размер вектора N | Время выполнения, сек. | ||
БПФ | ДПФ | ||
16 | 24 | 2,5610-5 | 2,010-4 |
25 | 52 | 210-4 | 510-4 |
27 | 33 | 6,510-5 | 6,510-5 |
32 | 25 | 6,410-5 | 810-4 |
81 | 34 | 7,810-4 | 5,310-3 |
125 | 53 | 1,510-3 | 1,210-3 |
128 | 27 | 3,610-4 | 1,310-2 |
512 | 29 | 1,810-3 | 210-1 |
625 | 54 | 10-2 | 310-1 |
1024 | 216 | 4,110-3 | 8,310-1 |
16384 | 214 | 1 сек. | 36 мин. |
Поэтому с точки зрения сокращения вычислительных затрат выгодны алгоритмы БПФ по основанию 2 (или 4), причем с ростом основания r выигрыш уменьшается.
- Цифровая обработка сигналов методы предварительной обработки
- Санкт-Петербург
- Содержание
- Введение
- 1. Основные понятия цифровой обработки сигналов
- Понятие о первичной и вторичной обработке сигналов
- Основные требования к системам цос
- Основные типы алгоритмов цифровой обработки сигналов
- 1.4. Линейные и нелинейные преобразования
- 1.5. Переход от непрерывных сигналов к дискретным
- 1.6. Циклическая свертка и корреляция
- 1.7. Апериодическая свертка и корреляция
- 1.8. Двумерная апериодическая свертка и корреляция
- 1.9. Контрольные вопросы и задания.
- 2. Дискретные ортогональные преобразования
- 2.1. Введение в теорию ортогональных преобразований
- 2.2. Интегральное преобразование Фурье
- 2.3. Интегральное преобразование Хартли
- 2.4. Дискретное преобразование Фурье
- 2.5. Дискретное преобразование Хартли
- 2.6. Двумерные дискретные преобразования Фурье и Хартли
- 2.7. Ортогональные преобразования в диадных базисах
- 2.8. Понятие о Wavelet-преобразованиях. Преобразование Хаара
- Задачи цос, решаемые методами дискретных ортогональных преобразований
- 2.9. Контрольные вопросы и задания
- 3. Быстрые алгоритмы ортогональных преобразований
- 3.1. Вычислительная сложность дпф и способы её сокращения
- 3.2. Запись алгоритма бпф в векторно-матричной форме
- 3.3. Представление алгоритма бпф в виде рекурсивных соотношений
- Алгоритмы бпф с прореживанием по времени и по частоте
- 3.6. Вычислительная сложность алгоритмов бпф
- 3.7. Выполнение бпф для случаев
- 3.8. Быстрое преобразование Хартли
- 3.9. Быстрое преобразование Адамара
- 3.10. Контрольные вопросы и задания
- 4. Линейная фильтрация сигналов во временной и частотной областях
- 4.1. Метод накопления
- Не рекурсивные и рекурсивные фильтры
- 4.3. Выбор метода вычисления свертки / корреляции
- 4.4. Выполнение фильтрации в частотной области
- 4.5. Адаптивные фильтры
- 4.6. Оптимальный фильтр Винера
- 4.7. Методы обращения матриц
- 4.8. Контрольные вопросы и задания
- 5. Алгоритмы нелинейной обработки сигналов
- 5.1. Ранговая фильтрация
- 5.2. Взвешенная ранговая фильтрация
- 5.3. Скользящая эквализация гистограмм
- 5.4. Преобразование гистограмм распределения
- 5.5. Контрольные вопросы и задания
- Кафедра вычислительной техники