Лекция 14. Быстрые схемы дискретного преобразования Фурье.
Обычные формулы для вычисления ДПФ требуют большого количества умножений: , где
- число точек в ДПФ. Существуют приемы, позволяющие уменьшить это количество. Они называются быстрыми схемами (БПФ). Простейшая относится к случаю
.
Случай
Любое число в интервале однозначно представляется двоичным вектором длины
. Если последовательность
задана, то положим
. В дальнейшем, что упростить изложение, введем обозначение
, откуда
. Имеем
. Основное замечание заключается в следующем: суммирование по индексу
равносильно суммированию по всем двоичным индексам
.
, каждый из которых принимает два значения.
Для числа существует аналогичное двоичное представление:
. Рассмотрим самую внутреннюю сумму.
. Нетрудно видеть, что это некоторая функция
. Следующая сумма принимает вид
. Этот процесс продолжается. Окончательно имеем
. Количество сумм равняется
, в каждой из которых лишь одно умножение. Для вычисления всех коэффициентов нужно
умножений. Другое преимущество этой схемы - экономный расход оперативной памяти.
Случай с взаимно простыми сомножителями
Рассмотрим другой крайний случай, когда и
. В этом случае существуют целые
, для которых
. Отсюда следует, что
(1)
При этом можно считать выполненными неравенства
.(2)
Если такое неравенство для , например, не имеет места, можно разделить на
. Для
любого целого из (1) вытекает
. При ограничениях типа (2)
находятся однозначно. Имеем
. Числа
- взаимно простые. Следовательно имеем для любого целого
. Теперь
. Раскрывая скобки и отбрасывая члены кратные
, получим показатель вида
.
Из равенства следует, что
, поэтому весь показатель сравним с
. Это означает, что
. Вводя обозначения
, окончательно получим
=
. Это означает, что преобразование Фурье для
точек свелось к последовательному выполнению преобразования Фурье по
точкам, а затем - по
точкам результатов предыдущего преобразования. При этом потребуется не более, чем
умножений. По сравнению с
выигрыш небольшой. Если же для какого-либо из промежуточных случаев есть своя быстрая схема, выигрыш может получиться значительным.
Свертка последовательностей и ее вычисление
Сдвиг последовательности
Пусть имеется последовательность . Мы можем превратить ее в бесконечную последовательность, положив
. Выберем целое
и определим
. Найдем связь между преобразованиями Фурье этих последовательностей. Имеем
(1)
Циклическая свертка
Пусть имеются последовательности .и
. Определим их свертку
(2)
Операция свертки является коммутативной, и кроме того, последовательность, определенная формулой (2), автоматически будет периодической с периодом . Назовем ее циклической сверткой исходных последовательностей. Подсчитаем конечное преобразование Фурье.
(3)
Таким образом, преобразование Фурье от свертки равно произведению преобразований Фурье от сомножителей.
Использование окон
На практике мы имеем дело с исходными последовательностями большой длины, а дискретное преобразование Фурье применяем лишь к отдельным частям. В этом случае эта отдельная часть трактуется как периодическая последовательность, что приводит к искажению результатов. Например, исходная последовательность имеет вид 1,2,3,... Предположим, мы решили ограничиться значениями . Выбрав первые четыре члена, получим последовательность 1,2,3,4,1,2,3,..У этой последовательности имеется скачок при переходе от 4 к 1, чего нет в исходной последовательности. Для того, чтобы ослабить указанный эффект, используют сглаживающие окна, которые превращают конечную последовательность в периодическую без скачков на концах. Пусть
последовательность, для которой
, тогда у последовательности
не возникает скачка из-за периодического продолжения. Эту последовательность называют сглаживающим окном. Согласно (3),
. Обычно в качестве окон используют те же окна Хэмминга и Хеннинга, о которых шла речь выше.
Кратковременное преобразование Фурье
Пусть имеется исходная последовательность большой длины. Требуется изучить ее спектр с помощью ДПФ. Это означает, что на самом деле будет исследована лишь часть последовательности длины
. Выбирают окно соответствующей длины, после чего, передвигая окно вдоль последовательности, получим набор спектральных коэффициентов, зависящих от положения окна. Это и есть кратковременный спектр. В этом смысле процедура напоминает Wave-let преобразование. Выбор длины окна является компромиссом между точностью и разрешающей способностью. Чем длиннее окно, тем больше коэффициентов будет найдено, но при этом будут получены усредненные по длине окна характеристики.
Рекомендуемая литература:
1. Глинченко, А. С. Цифровая обработка сигналов: курс лекций. – Красноярск: СФУ, 2008.
2. Глинченко, А. С. Цифровая обработка сигналов: уч. пособие. – 2-е изд., перераб. и доп. – Красноярск: ИПЦ КГТУ, 2005. – 482 с.
3. Глинченко, А. С. Лабораторный практикум по цифровой обработке сигналов: учеб. пособие. – Красноярск: СФУ, 2008.
6. Глинченко, А. С., Голенок А. И. Принципы организации и программирования сигнальных процессоров семейства ADSP-21XX: учеб.-метод. пособие. – Красноярск: ИПЦ КГТУ, 2000. – 88 с.
7. Сергиенко А. Б. Цифровая обработка сигналов: учеб. пособие. – 2-е изд. – СПб.: Питер, 2006. – 751 с.
8. Основы цифровой обработки сигналов: Курс лекций /
А. И. Солонина, Д. А. Улахович., С. М. Арбузов, Е. Б. Соловьева. – СПб.: БХВ-Петербург, 2005. – 768с.