- •13. Дискретизация непрерывных сигналов. Частота Найквиста. Спектр дискретного сигнала
- •15. Дискретные системы. Способы описания
- •Дискретное преобразование Фурье. Свойства дпф.
- •Линейность
- •Бпф с прореживанием по времени 18. Бпф с прореживанием по частоте.
- •Графы бпф – прореживание по времени. 20. Графы бпф – прореживание по частоте.
Линейность
сдвиг по времени
периодичность
выполняется Теорема Парсеваля
обладает спектральной плотностью S(k) = | x(k) | 2
Стоит
отметить, что нулевая гармоника является
суммой значений сигнала.
Бпф с прореживанием по времени 18. Бпф с прореживанием по частоте.
Графы бпф – прореживание по времени. 20. Графы бпф – прореживание по частоте.
Быстрое преобразование Фурье (БПФ) — это быстрый алгоритм вычисления дискретного преобразования Фурье (см. Дискретное преобразование Фурье, ДПФ). То есть алгоритм вычисления за количество действий, меньшее чем O(N2), требуемых для прямого (по формуле) вычисления ДПФ. Иногда под БПФ понимается один из быстрых алгоритмов, называемый алгоритмом прореживания по частоте/времени или алгоритмом по основанию 2, имеющего сложность O(Nlog(N)).
Алгоритмы БПФ с прореживанием по времени |
Чтобы достичь существенного улучшения
эффективности, к которому мы стремимся,
необходимо разложить вычисления ДПФ
на набор ДПФ меньшего порядка. В этом
процессе используют как симметрию,
так и периодичность комплексной
экспоненты
Принцип прореживания по времени наиболее удобно иллюстрируется в частном случае, когда .N является целой степенью числа 2, т. е. N=2V. Так как N — четное число, можно рассмотреть вычисление X(k) путем разбиения х(n) на две N/2-точечные последовательности, состоящие из точек х(n) с четными номерами и точек х(n) с нечетными номерами соответственно. Пусть
Разделяя х(n) на четные и нечетные точки, получим
или, заменяя индексы суммирования на n = 2r при четном n и n = 2r+1 при нечетном n, получим
Но
Каждая из сумм в (5.29) является N/2-точечным ДПФ. Первая сумма N/2-точечное ДПФ четных точек исходных последовательностей, а вторая — N/2-точечное ДПФ нечетных точек исходных последовательностей. Хотя индекс k простирается на N значений, k = 0, 1, ..., N—1, каждая из сумм требует вычислений только для k от 0 до N/2—1, так как G(k) и H(k) периодичны по k с периодом N/2. После того как ДПФ, соответствующие двум суммам в (5.29), вычислены, они объединяются и дают -точечное ДПФ X(k). Рисунок 5.10 иллюстрирует вычисление X(k) в соответствии с (5.29) для восьмиточечной последовательности, т. е. для N = 8. На этом рисунке использованы направленные сигнальные графы,
Фиг. 5.10. Направленный граф, иллюстрирующий разложение N-точечного ДПФ на два N/2-точечных ДПФ в алгоритмах с прореживанием по времени (N = 8)
Фиг. 5.11. Направленный граф, иллюстрирующий разложение N/2-то-чечного ДПФ на два N/4-точечных ДПФ в алгоритмах с прореживанием по времени (N=8)
При этом
предполагается, что ветви, входящие
в узел, суммируются, давая узловую
переменную. Предполагается, что когда
не указываются коэффициенты, передача
по ветви равна единице. Для других
ветвей передача по ветви является
целой степенью WN. Таким образом,
из рис. 5.10 видно, что вычисляются два
четырехточечных ДПФ; G(k) обозначает
четырехточечное ДПФ четных точек, а
H(k) — четырехточечное ДПФ нечетных
точек. Затем Х(0) получается путем
умножения Н(0) на
Перестроив вычисления согласно (5.29), можно сравнить требуемое число умножений и сложений с числом умножений и сложений, необходимым при прямом вычислении ДПФ. Раньше мы видели, что при прямом вычислении без использования симметрии требуется N2 комплексных умножений и сложений.
Выражение (5.29)
требует вычисления двух N/2-точечных
ДПФ, что, в свою очередь, требует 2(N/2)2
комплексных умножений и приблизительно
2(N/2)2 комплексных сложений. Затем
два N/2-точечных ДПФ должны быть
объединены, что потребует N комплексных
умножений, соответствующих умножению
второй суммы на
Выражение (5.29) соответствует разбиению исходного N-точечного вычисления на два N/2-точечных вычислений. Если N/2 — четное число, что имеет место всегда, когда N равно степени 2, то можно вычислять каждое N/2-точечное ДПФ в (5.29) путем разбиения сумм на два N/4-точечных ДПФ, которые затем объединяются, давая N/2-точечное ДПФ. Таким образом, G(k) и H(k) в (5.29) могут быть вычислены как
или
Аналогично
Таким образом,
если четырехточечные ДПФ (см. рис.
5.10) вычисляются согласно (5.30) и (5.31), то
эти вычисления могут быть произведены
так, как показано на Фиг. 5.11. Вводя
вычисления, указанные на рис. 5.10, в
граф на рис. 5.10, получим полный граф,
изображенный на Фиг. 5.12. Отметим, что
использован тот факт, что
Для восьмиточечных ДПФ, которые мы использовали для иллюстрации, вычисления сводятся к вычислению двухточечных ДПФ. Двухточечные ДПФ от, например, х(0) и х(4) изображены на Фиг. 5.13. Если ввести вычисления, изображенные на Фиг. 5.13, в граф на Фиг. 5.12, то мы получим полный граф для вычисления восьмиточечного ДПФ, который имеет вид, показанный на Фиг. 5.14. - В более общем случае, когда N является более высокой степенью 2, мы бы продолжили разложение N/4-точечных преобразований в (5.30) и (5.31) в N/8-точечные преобразования и продолжали бы до тех пор, пока не остались бы только двухточечные преобразования. Это потребует v ступеней вычисления, где v = Iog2N. Ранее мы определили, что при разложении исходного N-точечного преобразования на два N/2-точечных преобразования требуемое число комплексных умножений и сложений равно N +2(N/2)2
Фиг. 5.12. Результат подстановки направленного графа рис. 5.11 в граф рис. 5.10
При разложении N/2-точечных преобразований на N/4-точечные преобразования коэффициент (N/2)2 заменяется на N/2 + 2(N/4)2, так что общее число умножений и сложений равно N + N + 4(N/4)2. Если N=2v, эту операцию нужно проделать v = log2N раз; проведя разложение максимально возможное число раз, получим общее число комплексных умножений и сложений, равное N Log2 N.
Фиг. 5.13. Направленный граф двухточечного ДПФ
Фиг. 5.14. Направленный граф для полного разложения восьмиточечного ДПФ в алгоритме с прореживанием по времени.
Граф на Фиг. 5.14.
показывает явно эти операции. Подсчитав
ветви с передачами вида WN,
замечаем, что на каждой ступени
необходимо N комплексных умножений и
N комплексных сложений. Так как число
ступеней равно log2N, получаем,
как и прежде, общее число комплексных
умножений и сложений, равное N log2
N. Это существенная экономия
вычислений. Мы увидим, что использование
симметрии и периодичности коэффициентов
|
Алгоритмы БПФ с прореживанием по частоте |
Алгоритмы БПФ с прореживанием по времени были основаны на разложении ДПФ путем формирования уменьшающихся подпоследовательностей входной последовательности х(n). С другой стороны, можно рассмотреть такое же разложение выходной последовательности X(k) на уменьшающиеся подпоследовательности. Класс алгоритмов БПФ, основанный на этой процедуре, обычно называется классом алгоритмов с прореживанием по частоте. Чтобы вывести БПФ-алгоритм с прореживанием по частоте для /V, являющегося степенью 2, сначала нужно разделить входную последовательность на две половины так, что
или
Важно отметить,
что, хотя (5.35) содержит две суммы по
N/2 точек, каждая из этих сумм не является
N/2-точечным ДПФ, так как в каждой из
сумм стоит
Рассмотрим теперь отдельно четные и нечетные k, обозначив •через X(2r) и X(2r + 1) суммы соответственно четных и нечетных точек, так что
.Нетрудно видеть,
что (5.37) и (5.38) являются N/2-точечными
,ДПФ; в случае (5.37) — от суммы первой и
последней половины входной
последовательности, а в случае (5.38) —
от произведения
Таким образом, на основании (5.37) и (5.38) с g(n)=x(n) +…+x(n+N/2) и h(n)=x(n)—x(n + N/2) ДПФ можно вычислить путем формирования последовательностей g(n) и h(n), затем вычисления h(n) и, наконец, вычислением N/2-точечных ДПФ от этих двух последовательностей. Процедура, даваемая выражениями (5.37) и (5.38), иллюстрируется Фиг. 5.22 для случая восьмиточечного ДПФ.
Фиг. 5.22. Направленный граф, иллюстрирующий разложение N-точечного ДПФ на два N/2-точечных ДПФ в алгоритмах с прореживанием по частоте ,(N = 8)
Фиг. 5.23. Направленный граф, иллюстрирующий разложение восьмиточечного ДПФ на четыре двухточечных для алгоритмов с прореживанием по частоте
Поступая так же, как и в случае вывода алгоритма с прореживанием по времени, замечаем, что так как N является степенью 2, N/2 четно, и, следовательно, N/2-точечные ДПФ могут быть найдены путем вычисления по отдельности четных и нечетных выходных точек этих ДПФ. Как и в случае исходного разложения, приводящего к (5.37) и (5.38), это делается путем объединения первой и второй половины входных точек для каждого из N/2-точечных ДПФ и затем вычисления N/4-точечных ДПФ. Направленный граф, соответствующий этому шагу для восьмиточечного ДПФ, показан на Фиг. 5.23. Для восьмиточечного ДПФ вычисления теперь сводятся к вычислению двухточечных ДПФ, которые, как мы видели раньше, получаются путем сложения и вычитания входных точек. Таким образом, двухточечные ДПФ на Фиг. 5.23 могут быть замечены вычислениями, показанными на Фиг. 5.24 так, что в результате для восьмиточечного ДПФ получим граф, изображенный на Фиг. 5.25.
Фиг. 5.24. Направленный граф двухточечного ДПФ на последней ступени разложения для алгоритмов с прореживанием по частоте
Фиг. 5.25. Направленный граф при полном разложении восьмиточечного ДПФ для алгоритмов с прореживанием по частоте
Подсчитывая число арифметических операций на Фиг. 5.25 и обобщая на случай N=2v, убеждаемся, что вычисления по Фиг. 5.25 требуют N/2 log2N комплексных умножений и N log2N комплексных сложений. Таким образом, общее количество вычислений для алгоритмов с прореживанием по частоте и с прореживанием по времени одинаково. |

(5.28)
(5.29)
(5.38)