4.3. Выбор метода вычисления свертки / корреляции
Таким образом, в основе работы не рекурсивного фильтра лежит вычисление свертки вектора исходных данных
и импульсной характеристики фильтра (ядра свертки)
,
где . Подобные вычисления могут быть вычислены как на основе прямого алгоритма (см. раздел 1.7), так и через спектральные дискретные преобразования Фурье и Хартли (см. разделы 2.1 и 2.2). Возникает естественный вопрос, какой метод предпочтителен, исходя из меньшего объёма вычислений, а следовательно, и времени, необходимого для реализации данного метода.
Если размер “окна” или ядра свёртки равен , а длина вектора исходных данных, то для полученияотсчётов результата апериодической свёртки необходимо выполнить:
Qсв = MN (БО), (4.4)
где БО – базовая операция, включающая операцию умножения и сложения действительных чисел. Сложность БО составляет:
qБО = qумн + qсл .
Отсюда можно получить, что время вычисления свертки по прямому алгоритму
Tсв = Qсв *Δt = MN(qумн + qсл) *Δt
где Δt - длительность такта В.У.
При этом необходимо отметить, что задаваемые данные и результаты являются действительными числами, т.е. при расчёте прямого алгоритма определяется суммой операций умножения и сложения действительных чисел.
При вычислении свёртки на основе спектрального преобразования выполняются следующие действия:
Прямые спектральные преобразования Фурье или Хартли исходного вектора.
При вычислении свёртки на основе ДПХ выполняются перекомпоновка полученного спектра (см. раздел 2.6., т.е. формируется и вычисляютсяи.
Поэлементное перемножение спектров для ДПФ :или вычисление всогласно методике в разделе 2.2 - для ДПХ.
Обратное преобразование для функции на основе ДПФ или ДПХ.
Таким образом, если свёртка при вычисляется через ДПФ на основе быстрых алгоритмов:
(4.5)
где
При расчёте свёртки необходимо учитывать, что
,
где и- сложность операций сложения и умножения комплексных чисел, причём
аналогичных действий с действительными числами, т.е.
Тогда получим
(4.6)
Отсюда нетрудно получить с учетом выражения (4.4), что прямой метод вычисления свёртки предпочтителен, если:
(4.7)
Из (4.7) следует, например, что дляпредельный размердля вычисления по прямому алгоритму, а дляпредельный размер окна составляет
Если свёртка вычисляется на основе БПХ, то при том же числе БО их сложность умножается:
для действительных чисел, однако требуется выполнить операции по вычислению функции , что потребует примерно. С учетом сложности базовых операций при прямом и спектральном алгоритме можно получить, что прямой алгоритм предпочтительнее алгоритма вычисления свертки через БПХ, если :
(4.8)
Что же касается БДОП типа Уолша - Адамара, то базис этих функций для вычисления свёртки мало пригоден, поскольку в отличии от ДПХ для подобных преобразований нет простых формул для связи с ДПФ и не справедлива теорема о свёртке. Известны алгоритмы вычисления свёртки и на основе указанных ДОП [18, 19], однако отсутствие операции умножения при выполнении БДОП не компенсируется сложностью вычисления .
Таким образом, от фильтрации во временной области выполняется переход к фильтрации в частотной области.
- Цифровая обработка сигналов методы предварительной обработки
- Санкт-Петербург
- Содержание
- Введение
- 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. Контрольные вопросы и задания
- Кафедра вычислительной техники