Студенческий сайт КФУ - ex ТНУ » Учебный раздел » Учебные файлы »Математика

Алгоритм фильтрации, пример на основе БПФ

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

35

РЕФЕРАТ

по дисциплине «Анализ временных рядов»

на тему:

«Алгоритм фильтрации, пример на основе БПФ»

СОДЕРЖАНИЕ

Введение

1. Основы алгоритмов БПФ

2. Алгоритм БПФ с прореживанием по времени

3. Программа и пример реализации алгоритма БПФ с прореживанием по времени

4. Алгоритм БПФ с прореживанием по частоте

5. Применение метода БПФ для вычисления обратного ДПФ (ОДПФ)

6. Применение БПФ для вычисления реакции ЦФ

7. Другие быстрые алгоритмы вычисления дискретного преобразования Фурье

7.1 Обобщенный алгоритм Кули-тьюки с произвольным основанием с множителями поворота

7.2 Алгоритм простых множителей

7.3 Алгоритм винограда

8. Анализ точности реализации алгоритмов БПФ

Заключение

Список использованных источников

ВВЕДЕНИЕ

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

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

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

Рисунок 1 - Исследование линейного фильтра

Ход решения этой задачи зависит от того, какую позицию мы предпочтем. Выберем временной путь решения (верхняя половина рис. 2) - придется входной сигнал записать как функцию времени SBX(t) и использовать импульсную характеристику фильтра h(t), то есть математическую запись его работы во времени. Отправимся по частотному пути (нижняя половина рис. 2) - нужно будет оперировать уже не с самим входным сигналом, а с его спектром gbx(щ). Да и алгоритм работы нашего фильтра потребуется представить в частотной области - в виде частотной характеристики K(щ). Для этого воспользуемся помощью «магического стекла» ПФ.

Рисунок 2 - Быстрое преобразование Фурье

Итак, два пути - какой из них избрать? По-видимому, тот, который проще. Во всяком случае, в большинстве практических задач предпочтение отдается частотному направлению.

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

В данном реферате рассмотрим более подробно быстрое преобразование Фурье.

1. ОСНОВЫ АЛГОРИТМОВ БПФ

Дискретное преобразование Фурье (ДПФ) X(k) конечной последователъности х(пТ), п=О, 1,..., N-1 определяется согласно (1.1), (1.2):

(1.1)

(1.2)

причем является периодической последовательностью с периодом N, так как т=О, 1, 2… Непосредственное вычисление ДПФ (5.1) при комплексных значениях х(пТ) требует для каждого значения k (N - 1) умножений и (N - 1) сложений комплексных чисел или 4 (N -1) умножений и (2N - 2) сложений действительных чисел, а для всех N значений k=0, 1,…, N -1 требуется примерно N2 умножений и N2 сложений комплексных чисел. Таким образом, для больших значений N (порядка нескольких сотен или тысяч) прямое вычисление ДПФ (1.1) требует выполнения весьма большого числа арифметических операций умножения и сложения, что затрудняет реализацию вычисления в реальном масштабе времени процессов и спектров.

Быстрым преобразованием Фурье называют набор алгоритмов, реализация которых приводит к существенному уменьшению вычислительной сложности ДПФ (1.1). Исходная идея этих алгоритмов состоит в том, что N-точечная последовательность разбивается, на две более короткие, например на две (N/2)точечные последовательности, вычисляются ДПФ для этих более коротких последовательностей и из этих ДПФ конструируется ДПФ исходной последовательности. Для двух (N/2)-точечных последовательностей требуется примерно умножений комплексных чисел, т. е. число умножений (а также сложений) уменьшается примерно в 2 раза. Аналогично вместо вычисления ДПФ (Н/2)-точечной последовательности можно вычислить ДПФ для двух (Н/4)-точечных последовательностей и таким образом вновь уменьшить требуемое число умножений и сложений. Если N=2v, v>O и целое, то процесс уменьшения размера ДПФ может быть продолжен до тех пор, пока не останутся только 2-точечные ДПФ. При этом общее число этапов вычисления ДПФ будет равно v=log2 N, а число требуемых арифметических операций для вычисления N-точечной ДПФ будет порядка Nv, т.е. уменьшается примерно в N/log2N раз. Так, при N=1000 для прямого вычисления ДПФ согласно (1.1) требуется примерно N2 = 106 операций комплексных умножений и сложений, а при использовании алгоритмов БПФ таких операций требуется всего порядка 104, т. е. объем вычислений сокращается примерно на два порядка.

Рассмотрим два алгоритма БПФ: с прореживанием по времени (в которых требуется перестановка отсчетов входной последовательности х(пТ)) и с прореживанием по частоте (в которых требуется перестановка отсчетов выходной последовательности Х(k)).

2. АЛГОРИТМ БПФ С ПРОРЕЖИВАНИЕМ ПО ВРЕМЕНИ

Пусть требуется вычислить ДПФ (1.1) при N=2v, где v>O. где v>O целое (если N 2V, то можно последовательность х(пТ) дополнить в конце нулевыми элементами так, чтобы длина результирующей последовательности была степенью 2).

Разобьем исходную N-точечную последовательность х(пТ)=хv (п), где v =log2 N. п=О...., N -1, на две (N/2)-точечные последовательности Хv-1,0(п) и Хv-1,1 (п), состоящие соответственно из четных и нечетных членов х (пТ), т. е.

(2.1)

При этом N-точечное ДПФ (1.1) можно записать в виде

(2.2)

Учитывая, что получаем

(2.3)

Где и - (N/2)-точечные ДПФ соответственно последовательностей и :

; .

Так как Xv (k) должно быть определено для N точек (k=0, 1,..., N-1), а Хv-1,0(k) и Хv-1,1(k) определяются толькo для N/2 точек (k=0, 1,..., N/2-1), доопределим (2.3) для значений k=N/2, N/2+1,...,N-1; учитывая, что Хv-1,0(k) и Хv-1,1(k)периодические функции с периодом Н/2, можно записать

Xv (k+N/2)= Хv-1,0 (k+N/2) + Хv-1,1 (k+N/2)= Хv-1,0 (k)- Хv-1,1 (k),

(2.4)

Так как = = -1.

Формулы (2.3) и (3.4) дают алгоритм вычисления N-точечной ДПФ через (N/2)-точечных ДПФ. Этот алгоритм можно представить направленным графом, имеющим вид «бабочки»

Рисунок 3 - граф имеющий вид «бабочки»

(рис.3, а), в котором выходные числа с и d получаются из входных чисел а и b по правилам

(2.5)

В качестве примера граф на рис.3, б представляет операции (2.3) и (2.4). Аналогично можно теперь выразить (N/2)-точечные ДПФ Хv-1,0 (k) и Хv-1,1(k) через (N/4)-точечные ДПФ:

(2.6а)

И

(2.7б)

где Хv-2,0(k) и Хv-2,1(k) - соответственно (N/4)-точечные ДПФ четных Хv-2,0(n) и нечетных Хv-2,1(п)

членов последовательности Хv-1,0

Другие файлы:

Классификация пользователей форумов тематических ресурсов для разработки алгоритмов интеллектуальной фильтрации контента
Необходимость ввода гибкой классификации пользователей на основе их поведения при работе с тематическими ресурсами. Параметризация классов пользовател...

Исследование алгоритмов фильтрации и управления
Методы проектирования систем автоматического управления: экспериментальный и аналитический. Моделирование замкнутой системы управления. Системы в дина...

Метод фильтрации изображения на основе дискретного косинусного преобразования
Характеристика основных требований к методам и алгоритмам фильтрации. Предпосылки возникновения помех и искажений. Особенности фильтров на основе орто...

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

Блочно-временной алгоритм фильтрации геолокационных данных