Дискретное преобразование Фурье

Материал из testwiki
Перейти к навигации Перейти к поиску

Шаблон:Другие значения Дискретное преобразование Фурье (в англоязычной литературе DFT, Discrete Fourier Transform) — это одно из преобразований Фурье, широко применяемых в алгоритмах цифровой обработки сигналов (его модификации применяются в сжатии звука в MP3, сжатии изображений в JPEG и др.), а также в других областях, связанных с анализом частот в дискретном (к примеру, оцифрованном аналоговом) сигнале.

Дискретные преобразования Фурье помогают решать дифференциальные уравнения в частных производных и выполнять такие операции, как свёртки. Дискретные преобразования Фурье также активно используются в статистике, при анализе временных рядов. Существуют многомерные дискретные преобразования Фурье[1].

Дискретное преобразование Фурье требует в качестве входа дискретную функцию. Такие функции часто создаются путём дискретизации (выборки значений из непрерывных функций).

Формулы преобразований

Прямое преобразование:

Xk=∑n=0N−1xne−2πiNkn=∑n=0N−1xn(cos⁡(2πkn/N)−i⋅sin⁡(2πkn/N)),k=0,…,N−1.

Обратное преобразование:

xn=1N∑k=0N−1Xke2πiNkn=1N∑k=0N−1Xk(cos⁡(2πkn/N)+i⋅sin⁡(2πkn/N)),n=0,…,N−1.

Вторая часть выражения следует из первой по формуле Эйлера.

Обозначения:

  • N — количество значений сигнала, измеренных за период, а также количество компонент разложения;
  • xn,n=0,…,N−1, — измеренные значения сигнала (в дискретных временных точках с номерами n=0,…,N−1), которые являются входными данными для прямого преобразования и выходными для обратного;
  • Xk,k=0,…,N−1, — N комплексных амплитуд синусоидальных сигналов, слагающих исходный сигнал; являются выходными данными для прямого преобразования и входными для обратного; поскольку амплитуды комплексные, то по ним можно вычислить одновременно и амплитуду, и фазу;
  • |Xk|N — обычная (вещественная) амплитуда k-го синусоидального сигнала;
  • k — индекс частоты. Частота k-го сигнала равна kT, где T — период времени, в течение которого брались входные данные.

Из последнего видно, что преобразование раскладывает сигнал на синусоидальные составляющие (которые называются гармониками) с частотами от 1 колебания за период до N−1 колебаний за период (плюс константа). Поскольку частота дискретизации сама по себе равна N отсчётов за период, то высокочастотные составляющие не могут быть корректно отображены — возникает муаровый эффект. Это приводит к тому, что вторая половина из N комплексных амплитуд, фактически, является зеркальным отображением первой и не несёт дополнительной информации.

Вывод преобразования

Шаблон:Нет источников в разделе Рассмотрим некоторый периодический сигнал x(t) c периодом, равным T. Разложим его в ряд Фурье:

x(t)=∑k=−∞+∞ckeiωkt,ωk=2πkT.

Проведем дискретизацию сигнала так, чтобы на периоде было N отсчетов. Дискретный сигнал представим в виде отсчетов: xn=x(tn), где tn=nNT, тогда эти отсчеты через ряд Фурье запишутся следующим образом:

xn=∑k=−∞+∞ckeiωktn=∑k=−∞+∞cke2πiNkn.

Используя соотношение e2πiN(k+mN)n=e2πiNkn, получаем:

xn=∑k=0N−1Xke2πiNkn,     где     Xk=∑l=−∞+∞ck+lN.

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

Умножим теперь скалярно выражение для xn на e−2πiNmn и получим:

∑n=0N−1xne−2πiNmn=∑k=0N−1∑n=0N−1Xke2πiN(k−m)n=∑k=0N−1Xk1−e2πi(k−m)1−e2πi(k−m)N=∑k=0N−1XkNδkm.

Здесь использованы: а) выражение для суммы конечного числа членов (экспонент) геометрической прогрессии, и б) выражение символа Кронекера как предела отношения функций Эйлера для комплексных чисел. Отсюда следует, что:

Xk=1N∑n=0N−1xne−2πiNkn.

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

В литературе принято писать множитель 1N в обратном преобразовании, и поэтому обычно пишут формулы преобразования в следующем виде:

Xn=∑m=0N−1xme−2πiNnm,xm=1N∑n=0N−1Xne2πiNmn.

Иногда можно встретить симметричную форму записи преобразования

Xn=1N∑m=0N−1xme−2πiNnm,xm=1N∑n=0N−1Xne2πiNmn.

Матричное представление

Дискретное преобразование Фурье является линейным преобразованием, которое переводит вектор временных отсчётов x→ в вектор спектральных отсчётов той же длины. Таким образом преобразование может быть реализовано как умножение симметричной квадратной матрицы на вектор:

X→=ℱx→,

матрица ℱ имеет вид:

ℱ=1n(1111…11ωnωn2ωn3…ωnn−11ωn2ωn4ωn6…ωn2(n−1)1ωn3ωn6ωn9…ωn3(n−1)⋮⋮⋮⋮⋱⋮1ωnn−1ωn2(n−1)ωn3(n−1)…ωn(n−1)2).

Элементы матрицы задаются следующей формулой:

ℱ(j,k)=ωn(j−1)(k−1), где ωn=e−2πin.

Собственные числа матрицы — корни четвёртой степени из единицы {1,−1,i,−i}, имеющие кратность ⌊n+44⌋, ⌊n+24⌋, ⌊n+14⌋ и ⌊n−14⌋ соответственно, где ⌊x⌋ — округлённое вниз число x.

Применение к умножению чисел

Дискретное преобразование Фурье вектора (a0;a1;…;an−1) может быть интерпретировано как вычисление значений многочлена p(x)=a0+a1x+…+an−1xn−1 в корнях из единицы x0=1, x1=ωn, x2=ωn2, …, xn−1=ωnn−1.

Значения многочлена n-й степени в n+1 точках однозначно определяют сам многочлен. В то же время, если p(x)=a и q(x)=b, то (p⋅q)(x)=ab, потому по значениям многочленов p(x) и q(x) можно также определить значения в тех же точках многочлена p⋅q и восстановить его обратным дискретным преобразованием Фурье.

Так как любое число представимо в виде многочлена от основания системы счисления N=an−1…a1a0=a0+a1⋅10+…+an−1⋅10n−1, умножение двух чисел может быть в свою очередь сведено к умножению двух многочленов и нормализации результата.

Свойства

  1. Линейность
    ax(n)+by(n)⟷aX(k)+bY(k).
  2. Сдвиг по времени
    x(n−m)⟷X(k)e−2πiNkm.
  3. Периодичность
    X(k+rN)=X(k),r∈ℤ.
  4. Выполняется Теорема Парсеваля.
  5. Обладает спектральной плотностью
    S(k)=|X(k)|2.
  6. x(n)∈ℝ,
    X(0)∈ℝ,
    Nmod2=0⇒X(N/2)∈ℝ. Нулевая гармоника является суммой значений сигнала.

См. также

Литература

Примечания

Шаблон:Примечания

Ссылки

Шаблон:Cite web

Шаблон:Cite web

Шаблон:DSP

  1. ↑ Федоренко С. В. - Модификация алгоритма Грецеля-Блейхута Шаблон:Wayback. - Статья. - Журнал Приборостроение. - УДК 621.391