
- •Расчет дискретных (цифровых) фильтров. Алгоритм быстрого преобразования фурье. Проектирование фильтров на базе процессора бпф
- •Быстрое преобразование Фурье
- •Растекание спектра при выполнении дискретного преобразования Фурье
- •Разновидности фильтров на базе процессора бпф
- •Функции спектрального анализа в matlab
- •Прямое и обратное дпф
- •Алгоритм вычисления восьмиточечного бпф
- •Синтез фильтров на базе процессора бпф в matlab
- •Синтез гребенчатого фильтра в качестве детектора допплеровской частоты
- •Функции вычисления прямого и обратного дпф
- •Фильтрация в частотной области с помощью быстрой свертки
- •Примеры решения типовых задач на применение дпф (бпф)
- •Xlabel('Номер отсчета, n') %подпись по оси X
- •Xlabel('Нормированная частота') %подпись по оси X
- •Xlabel('Нормированная частота') %подпись по оси X
- •Xlabel('Нормированная частота') %подпись по оси X
- •Xlabel('Отсчеты времени') %подпись по оси X
- •Xlabel('Нормированная частота') %подпись по оси X
- •Xlabel('Отсчеты времени') %подпись по оси X
- •Xlabel('Нормированная частота') %подпись по оси X
- •Xlabel('Отсчеты времени') %подпись по оси X
- •Xlabel('Нормированная частота') %подпись по оси X
- •Xlabel('Отсчеты времени') %подпись по оси X
- •Xlabel('Нормированная частота') %подпись по оси X
- •Xlabel('Отсчеты времени') %подпись по оси X
- •Xlabel('Нормированная частота') %подпись по оси X
- •Xlabel('Отсчеты времени') %подпись по оси X
- •Xlabel('Отсчеты времени') %подпись по оси X
- •Xlabel('Нормированная частота') %подпись по оси X
- •Xlabel('Отсчеты времени') %подпись по оси X
- •Xlabel('Отсчеты времени') %подпись по оси X
- •Xlabel('Нормированная частота') %подпись по оси X
- •Xlabel('Отсчеты времени') %подпись по оси X
- •Типовые задания для самостоятельной проработки (подготовки к семинару)
Расчет дискретных (цифровых) фильтров. Алгоритм быстрого преобразования фурье. Проектирование фильтров на базе процессора бпф
Незлин Д.В. Введение в цифровую обработку сигналов: Учебное пособие. - М.: МИЭТ, 1995.- 118 с.: ил. С.13-22, 52-61.
Незлин Д.В. Основы цифровой обработки сигналов. Часть 2.: Учебное пособие. - М.: МИЭТ, 1992.- 95 с.: ил. С.7-23.
Сергиенко А.Б. Цифровая обработка сигналов. – СПб.: Питер, 2002.- 608 с.:ил. С.249-258, 262-274,284-298.
Дьяконов В.П. MATLAB 6.5 SPI/7 + Simulink 5/6. Обработка сигналов и проектирование фильтров. – М.: СОЛОН-Пресс, 2005. – 576 с.: ил. – (Серия «Библиотека профессионала»). С.217-220
Быстрое преобразование Фурье
Быстрое
преобразование Фурье (БПФ) представляет
собой один из
алгоритмов
экономного вычисления ДПФ. При вычислении
ДПФ по формуле
,
где
-
частотный дискрет, требуется примерно
умножений.
Периодичность множителей
с периодом
приводит
к
тому, что при непосредственном
использовании приведенного выше
алгоритма вычисления преобразования
Фурье многие арифметические операции
оказываются избыточными, в чем можно
убедиться на следующем примере.
Пусть
16.
При расчете
среди прочих слагаемых в соответствии
с (1) вычисляется значение
При
определении
вместе с другими величинами рассчитывается
т.е. данная величина вычисляется повторно. Если устранить подобные излишества, объем вычислений, необходимых для определения БПФ, можно значительно сократить.
Наиболее
известны алгоритмы с прореживанием по
времени и по частоте. Рассмотрим первый
из них, причем положим, что длина входной
последовательности (размерность массива
входных выборок)
,
где
- натуральное
число. При наличии N
входных
выборок говорят также
об N-точечном
ДПФ.
Покажем, что N-точечное ДПФ можно определить по двум N/2-точечным ДПФ, каждое из которых соответствует одной из половин отсчетов входного напряжения. Разделим выборки иn на две группы: к первой отнесем выборки с четными номерами n = 0, 2, ..., N -2, а ко второй - с нечетными номерами п = 1, 3, ...., N -1. Тогда ДПФ исходного массива данных можно записать в виде
.
Но
.
Поэтому
(2)
В (2)
содержатся два
/2-
точечных ДПФ, которые обозначим
;
Особенность
и
состоит в том, что номер частотной
составляющей k
изменяется
в пределах от 0 до N-1.
В то же время спектральные компоненты
N/2-точечных
ДПФ являются периодическими функциями
с
периодом
.
Поэтому при к≥
N/2
-ые
частотные составляющие определятся
,
аналогично для второго /2- точечного ДПФ
Кроме
того, учтем, что для
справедливо
,
так как
.
Таким образом, частотные компоненты исходного - точечного ДПФ можно выразить через компоненты /2- точечного ДПФ следующим образом:
при
при
Каждое
из равенств этого выражения дает половину
частотных составляющих исходного
спектра; первое - частотные составляющие
с номерами
,
второе - составляющие с номерами
.
В качестве примера приведем выражения
для
и
при
N
=
8:
,
.
Уже сейчас можно заметить уменьшение числа арифметических операций, выполняемых при расчете дискретного спектра.
При
вычислении N
спектральных
составляющих по исходной формуле нужно
выполнить примерно
умножений.
Если для этой цели использовать
полученное нами выше выражение, то нужно
произвести
умножений
при расчете спектров
и
.
Кроме того, необходимо выполнить
умножений вида
.
Следовательно,
общее число умножений составит
,
т.е. оно будет почти вдвое меньше, чем
при использовании исходной формулы.
Поэтому целесообразно каждое из N/2
-точечных
ДПФ
и
представить
в виде комбинаций ДПФ размерности
N/4:
при
при
при
при
Здесь использованы следующие обозначения:
;
;
.
Процесс разбиения продолжают до тех пор, пока в левых частях выражений типа (4) не окажутся двухточечные ДПФ вида
при k=0
при k=1
при
k=0
при k=1
или, поскольку степень всех поворачивающих множителей W равна нулю,
при k=0
при k=1
при k=0
при k=1
Анализируя структуру приведенных выше выражений, можно сделать следующие важные выводы:
вычисление частотных составляющих исходного ДПФ осуществляется путем проведения т итераций; первая выражается формулой (5), предпоследняя - формулой (4) и последняя - формулой (3);
базовая операция, многократно используемая в алгоритме ДПФ (БПФ) и называемая «бабочкой», имеет вид
Здесь
,
причем
-
размерность
выходного массива
на
данной итерации. Граф этой операции
представлен на рис.1.
Рис.1. Граф «бабочки» - базовой операции БПФ.
обращает на себя внимание малое число операций умножения. Используются только операции умножения вида
. В каждой итерации осуществляется максимум N/2. операций умножения; фактически число нетривиальных умножений меньше N/2 из-за того, что некоторые поворачивающие, множители W равны единице;
общее число умножений в описанном алгоритме W k не превышает
.
Выигрыш в числе умножений по сравнению с прямым вычислением БПФ по формуле (1) равен
(6)
В заключение данного раздела приведем структурную схему устройства (рис.2), позволяющего использовать БПФ-процессор для вычисления 0ДПФ.
Рис.2. Структурная схема устройства ОДПФ.
В
соответствии с формулами
и
в этом устройстве вычисляется функция,
комплексно-сопряженная со спектром
S
(k),
которая
затем подвергается быстрому преобразованию
Фурье. Числа на выходе процессора делятся
на N
и заменяются на комплексно-сопряженные.