Главная > Обработка сигналов > Цифровые фильтры (Хемминг Р.В.)
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

10.4. Быстрое преобразование Фурье

Прямой метод вычисления коэффициентов дискретного разложения Фурье содержит, на первый взгляд, операций, так как имеется коэффициентов и. слагаемых в каждом суммировании. Открытый недавно Кули и Таки метод вычисления коэффициентов Фурье и предложенное ими адекватное представление этого метода позволили снизить число вычислений до Это снижение в большой задаче может оказаться значительным, порядка 100 по используемому машинному времени, т. е. оно позволяет расходовать менее 1% от первоначального времени.

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

Предположим, что число точек дискретизации функции может быть представлено как произведение двух целых чисел, больших 1,

Следовательно, точки отсчетов есть

Коэффициенты Фурье для разложения функции

Теперь сделаем решающий шаг и поделим на Р, чтобы получить частное и остаток Следующий шаг состоит в том, чтобы поделить на и получить частное

и остаток Оба числа и будут однозначно лредставлены, когда запишем две переменные суммирования в виде

где, конечно, выполняются условия

Используя эти представления для получаем для суммирования (отметим, что приняты во внимание все слагаемые и использовано существенное соотношение

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

получим формулу

Это вторичное вычисление разложения в ряд Фурье и поскольку то нужно вычислить всего Р таких сумм.

Подсчет числа арифметических операций показывает, что оно пропорционально

Это количество вычислительных операций требуется вместо исходного, которое было пропорционально Очевидно, для каждого множителя большего 1, который находится в числе можно повторить этот процесс. В конце концов мы придем примерно к

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

Опыт подтверждает, что указанный простой прием позволяет реализовать большую часть возможной экономии (в смысле числа умножений) и что дополнительные ухищрения добавляют сравнительно мало. Однако, если преобразование Фурье выполняется часто, то даже в том случае, когда экономия машинного времени не важна, можно и нужно использовать дополнительные приемы для уменьшения ошибок округлений (см. [4-7]).

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

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

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

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