Алгоритмы преобразования Фурье. Применение
в цифровой обработке сигналов
Северный (Арктический) Федеральный Университет им...
Часть I. Математический аппарат
Тригонометрический ряд Фурье
Тригонометрическим рядом Фурье периодической функции
f(x), имеющей период T называется ряд
a0...
Разложение в комплексный ряд Фурье
В более общем виде рядом Фурье элемента гильбертова
пространства называется разложение ...
Преобразование Фурье
Преобразованием Фурье будем называть операцию,
сопоставляющуюю функции f(x) функцию ˜f(ω),
описывающу...
Часть II. Применение преобразования Фурье в цифровой
обработке сигналов
Разложение сигнала на гармонические колебания
t = 1s, df = 1000Hz, f = 10Hz
x(t) = cos(2πft)+cos(2π(3f)t)+1.2 cos(2π(4.8f)...
Свертка функций
Свертка – операция в функциональном анализе, показывающая
схожесть одной функции с отраженной и сдвинутой ...
Вычисление свертки
Свертка сигналов во временной области:
(x ∗ h)(t) =
∞
−∞
x(τ)h(t − τ)dτ
Пусть X(ω) и H(ω) – образы сигн...
Цифровая фильтрация
0 200 400 600 800 10000.5
0.0
0.5
1.0
1.5 Spectrum of filter
0 10 20 30 40 501.5
1.0
0.5
0.0
0.5
1.0
1...
Часть III. Алгоритмы вычисления преобразования Фурье.
Быстрая свертка
Дискретные сигналы
Дискретизация сигнала по времени – процедура, состоящая
в замене несчетного множества его значений их с...
Выбор частоты дискретизации
Теорема Котельникова-Найквиста-Шеннона
Непрерывный сигнал x(t) с ограниченным спектром можно
т...
Дискретное преобразование Фурье (ДПФ)
Обозначения:
xn – значение сигнала в момент времени tn
X(ωk) = Xk – значение спектра...
Вычислительная сложность ДПФ
Пусть {k ∈ 0, N − 1} – отсчеты спектра сигнала x(t). Тогда для
вычисления как прямого, так и ...
Введение в быстрое преобразование Фурье (БПФ)
Виды БПФ:
БПФ с прореживанием по частоте (DIF FFT)
БПФ с прореживанием по вр...
БПФ. Основная идея
Основная идея БПФ состоит в разбиении спектра на 2 части, и
вычислении БПФ уже для каждой из частей раз...
БПФ с прореживанием по времени
Рассмотрим один из алгоритмов вычиcления преобразования
Фурье последовательностей отсчетов ...
БПФ с прореживанием по времени
Рассмотрим разбиение спектра на две части:
X = {Xk|k = 0, N − 1} =
= {Xm|m = 0, N/2 − 1} {X...
БПФ с прореживанием по времени
Рассмотрим некоторые особенности коэффициентов Wnk
N
W
n(k+N/2)
N/2 = W
nN/2
N/2 · Wnk
N/2
...
БПФ с прореживанием по времени
Для первой половины спектра:
Xk = X0(ωk) + Wk
N X1(ωk)
Для второй половины спектра:
Xk+N/2 ...
Литература
A. Oppenheim, R. Schafer. Digital Signal Processing
L. Franks. Signal theory
H. Nussbaumer. Fast Fourier Transf...
Спасибо за внимание!
Алгоритмы преобразования Фурье. Применение
в цифровой обработке сигналов
Северный (Арктический) Федеральный Университет им...
Upcoming SlideShare
Loading in...5
×

Алгоритмы преобразования Фурье. Применение в ЦОС

333

Published on

Доклад был сделал на одном из семинаров в Северном (Арктическом) Федеральном Университете

Published in: Science
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
333
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Алгоритмы преобразования Фурье. Применение в ЦОС

  1. 1. Алгоритмы преобразования Фурье. Применение в цифровой обработке сигналов Северный (Арктический) Федеральный Университет им. М.В. Ломоносова, Институт математики, информационных и космических технологий Тюльпин А.А. alekseytyulpin@gmail.com Архангельск – 2013
  2. 2. Часть I. Математический аппарат
  3. 3. Тригонометрический ряд Фурье Тригонометрическим рядом Фурье периодической функции f(x), имеющей период T называется ряд a0 2 + ∞ k=1 (ak cos kx T + bk sin kx T ), где a0 = 2 T T/2 −T/2 f(x)dx, an = 2 T T/2 −T/2 f(x) cos(kx)dx, bn = 2 T T/2 −T/2 f(x) sin(kx)dx
  4. 4. Разложение в комплексный ряд Фурье В более общем виде рядом Фурье элемента гильбертова пространства называется разложение этого элемента по ортогональному базису. Существует множество систем ортогональных функций: Уолша, Лагера, Котельникова и др. В пространстве L2[a, b] одной из таких систем является ситема функций e−ikx k ∈ Z . Разложение функции f(x) в ряд Фурье по данной системе будет иметь следующий вид: ∞ k=−∞ Cke−ikx где Ck = 1 T T/2 −T/2 f(x)e −i2πkx T dx — комплексный интеграл Фурье
  5. 5. Преобразование Фурье Преобразованием Фурье будем называть операцию, сопоставляющуюю функции f(x) функцию ˜f(ω), описывающую коэффициенты разложения f(x) в ряд Фурье: ˜f(ω) = ∞ −∞ f(x)e−iωx dx Обратным преобразованием Фурье будем называть операцию, обращающую преобразование Фурье: f(x) = 1 √ 2π ∞ −∞ ˜f(ω)eiωx dω
  6. 6. Часть II. Применение преобразования Фурье в цифровой обработке сигналов
  7. 7. Разложение сигнала на гармонические колебания t = 1s, df = 1000Hz, f = 10Hz x(t) = cos(2πft)+cos(2π(3f)t)+1.2 cos(2π(4.8f)t)+0.3 cos(2π(20f)t) 0.0 0.2 0.4 0.6 0.8 1.0 Time [s] 4 3 2 1 0 1 2 3 4 Amplitude 0 200 400 600 800 1000 Frequency [Hz] 0.0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 Amplitude
  8. 8. Свертка функций Свертка – операция в функциональном анализе, показывающая схожесть одной функции с отраженной и сдвинутой копией другой. На рисунке представлен пример сверки двух прямоугольных импульсов:
  9. 9. Вычисление свертки Свертка сигналов во временной области: (x ∗ h)(t) = ∞ −∞ x(τ)h(t − τ)dτ Пусть X(ω) и H(ω) – образы сигналов x(t) и h(t) соответственно. Тогда преобразование Фурье свертки данных сигналов можно вычислить по формуле: ∞ −∞ (x ∗ h)(t)e−iωt dt = X(ω) · H(ω) На основании приведенных выше формул следует, что: (x ∗ h)(t) = 1 √ 2π ∞ −∞ X(ω) · H(ω)eiωx dω
  10. 10. Цифровая фильтрация 0 200 400 600 800 10000.5 0.0 0.5 1.0 1.5 Spectrum of filter 0 10 20 30 40 501.5 1.0 0.5 0.0 0.5 1.0 1.5 2.0 Filter operator 0 200 400 600 800 10000.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 Gibbs phenomen
  11. 11. Часть III. Алгоритмы вычисления преобразования Фурье. Быстрая свертка
  12. 12. Дискретные сигналы Дискретизация сигнала по времени – процедура, состоящая в замене несчетного множества его значений их счетным (дискретным) множеством, которое содержит информацию о значениях непрерывного сигнала в определенные моменты времени.
  13. 13. Выбор частоты дискретизации Теорема Котельникова-Найквиста-Шеннона Непрерывный сигнал x(t) с ограниченным спектром можно точно восстановить (интерполировать) по его отсчетам x(n·dT), взятым через интервалы dT = 1 2F , где F – верхняя частота спектра сигнала.
  14. 14. Дискретное преобразование Фурье (ДПФ) Обозначения: xn – значение сигнала в момент времени tn X(ωk) = Xk – значение спектра сигнала в точке ωk N – количество отсчетов ωk = 2πk fk – k-я частота спектра j – мнимая единица Xk = N−1 n=0 xne −jωkn N xn = 1 N N−1 k=0 Xke jωkn N
  15. 15. Вычислительная сложность ДПФ Пусть {k ∈ 0, N − 1} – отсчеты спектра сигнала x(t). Тогда для вычисления как прямого, так и обратного преобразования Фурье потребуется O(n2) операций: def DFT(x, df): X = zeros(df,dtype = np.complex) N = len(x) for k in xrange(df): for n in xrange(N): X[k] += x[n] * np.exp(-1j * 2 * np.pi * k * n / N) return X def IDFT(X): N = len(X) x = zeros(N,dtype = np.complex) for n in xrange(N): for k in xrange(N): x[n] += X[k] * np.exp(1j * 2 * np.pi * k * n / N) x[n] /= N return x
  16. 16. Введение в быстрое преобразование Фурье (БПФ) Виды БПФ: БПФ с прореживанием по частоте (DIF FFT) БПФ с прореживанием по времени (DIT FFT) Первая программная реализация алгоритма БПФ была осуществлена в начале 60-х годов XX века Джоном Кули в вычислительном центре IBM под руководством Джона Тьюки, а в 1965 году ими же была опубликована статья, посвященная алгоритму быстрого преобразования Фурье (Cooley–Tukey FFT).
  17. 17. БПФ. Основная идея Основная идея БПФ состоит в разбиении спектра на 2 части, и вычислении БПФ уже для каждой из частей размерности N/2.
  18. 18. БПФ с прореживанием по времени Рассмотрим один из алгоритмов вычиcления преобразования Фурье последовательностей отсчетов длины N = 2l, l ∈ R за O(N log2 N) операций – алгоритм прореживания по времени. Обозначим Wnk N = e −jn2πk N . Разобьем последовательность отсчетов сигнала на четные и нечетные: Xk = N−1 n=0 xn · Wnk N = N/2−1 n=0 x2n · W2nk N + + N/2−1 n=0 x2n+1 · W (2n+1)k N = N/2−1 n=0 x2n · Wnk N/2 X0(ωk) + + Wk N N/2−1 n=0 x2n+1 · Wnk N/2 X1(ωk) = X0(ωk) + Wk N X1(ωk)
  19. 19. БПФ с прореживанием по времени Рассмотрим разбиение спектра на две части: X = {Xk|k = 0, N − 1} = = {Xm|m = 0, N/2 − 1} {Xr|r = N/2, N − 1} = = {Xm|m = 0, N/2 − 1} {Xr+N/2|r = 0, N/2 − 1} Вычислим вторую половину спектра: Xk+N/2 = N/2−1 n=0 x2n · W n(k+N/2) N/2 + + W k+N/2 N N/2−1 n=0 x2n+1 · W n(k+N/2) N/2
  20. 20. БПФ с прореживанием по времени Рассмотрим некоторые особенности коэффициентов Wnk N W n(k+N/2) N/2 = W nN/2 N/2 · Wnk N/2 W nN/2 N/2 = e −j2πnN/2 N/2 = e−j2πn = cos(−2πn) − j sin(−2πn) = 1 Получаем: W n(k+N/2) N/2 = Wnk N/2 Также, стоит отметить, что W k+N/2 N = e −j2πN 2N Wk N = −Wk N
  21. 21. БПФ с прореживанием по времени Для первой половины спектра: Xk = X0(ωk) + Wk N X1(ωk) Для второй половины спектра: Xk+N/2 = X0(ωk) − Wk N X1(ωk) def W(n, N): return np.exp(-1j * 2 * np.pi * n/N) def fft(x): N = len(x) if N <= 1: return x even = fft(x[0::2]) odd = fft(x[1::2]) return [even[n] + W(n, N) * odd[n] for n in xrange(N/2)] + [even[n] - W(n, N) * odd[n] for n in xrange(N/2)]
  22. 22. Литература A. Oppenheim, R. Schafer. Digital Signal Processing L. Franks. Signal theory H. Nussbaumer. Fast Fourier Transform and Convolution Algorithms E. Titchmarsh. Introduction to the Theory of Fourier Integrals E. Chu, A. George. Inside the FFT Black Box: Serial and Parallel Fast Fourier Transform Algorithms А. Н. Колмогоров, С.В. Фомин. Элементы теории функций и функционального анализа Сайт профессора Давыдова – http://prodav.narod.ru/ О. В. Бесов Тригонометрические ряды Фурье Сайт http://dsplib.ru/
  23. 23. Спасибо за внимание!
  24. 24. Алгоритмы преобразования Фурье. Применение в цифровой обработке сигналов Северный (Арктический) Федеральный Университет им. М.В. Ломоносова, Институт математики, информационных и космических технологий Тюльпин А.А. alekseytyulpin@gmail.com Архангельск – 2013
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×