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

Этот онлайн калькулятор выполняет дискретное преобразование Фурье над сигналом, заданным набором значений. Введенный сигнал также раскладывается на составные части, которые отображаются в виде графиков вещественной, мнимой частей сигнала, а также магнитуды и фазы.

Этот калькулятор позволяет поиграться с дискретным преобразованием Фурье произвольного сигнала, заданного набором значений. Калькулятор ограничивается вещественным дискретным преобразованием Фурье, то есть дискретным преобразованием Фурье, которое использует вещественные числа для представления входного и выходного сигналов. Дискретное преобразование Фурье является одним из преобразований Фурье, то есть операций, раскладывающих исходную функцию на элементарные составляющие - гармонические колебания с разными частотами. Данный калькулятор позволяет удовлетворить любопытство в части того, как же для заданного сигнала выглядит набор представляющих его гармоник и как выглядит восстановленный с их помощью сигнал.

По умолчанию дискретный сигнал, который раскладывается на гармоники и затем восстанавливается из них состоит из 32 отсчетов, все из которых имеют значение ноль, за исключением второго, который имеет значение 5.

Для заданного сигнала калькулятор показывает графики его действительных и мнимых значений, а также графики магнитуды и фазы. Также калькулятор отображает все гармоники и их суммарный сигнал.

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

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

Дискретное преобразование Фурье превращает N отсчетов входного сигнала в два набора из N/2+1 отсчетов выходного сигнала - которые являются амплитудами синусоидальных и косинусоидальных волн. Например, для того, чтобы представить 32 отсчета, нам нужно 17 синусоидальных волн и 17 синусоидальных волн.

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

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

Введем обозначения:
Входной сигнал - функцию времени - обозначаем буквой x в нижнем регистре, т.е. x[ ], функцию частоты - буквой X в верхнем регистре, т.е. X[ ]. Две части выходного сигнала, вещественную и мнимую, соответственно, Re X[ ] и Im X[ ]. Значения Re X[ ] это амплитуды косинусоидальных волн, а значения Im X[ ] - амплитуды синусоидальных волн. Несмотря на то, что в названии есть слово "мнимая", это просто амплитуда синусоидальной волны, а термин пришел из обобщенного преобразования, которое работает с комплексными числами.

Синусоидальные и косинусоидальные волны с единичной амплитудой называются базисными функциями дискретного преобразования Фурье. Они имеют следующие уравнения:
c_k[i]=cos(\frac{2\pi k i}{N})\\s_k[i]=sin(\frac{2\pi k i}{N}),
где i меняется от 0 до N-1, k меняется от 0 до N/2.
Каждое значение амплитуды Re X и Im X может быть перемножено с соответствующей базисной функцией и результат может быть просуммирован для того, чтобы восстановить входной сигнал.
Это уравнение синтеза, которое выглядит следующим образом:
x[i]=\sum_{k=0}^{N/2}Re\bar{X}[k]cos(\frac{2\pi ki}{N})+\sum_{k=0}^{N/2}Im\bar{X}[k]sin(\frac{2\pi ki}{N})
Таким образом, значение любого отсчета входного сигнала из N точек может быть восстановлено путем сложения N/2+1 значений косинуcoидальных составляющих и N/2+1 значений синусоидальных составляющих в данной точке.

Обратите внимание на черту над X в формуле выше. Это нормализованное значение амплитуды, которое должно применяться при синтезе. Масштабирование частотного спектра выполняется следующим образом:
Re\bar{X}[k]=\frac{ReX[k]}{N/2}\\Im\bar{X}[k]=-\frac{ImX[k]}{N/2},
с двумя специальными случаями:
Re\bar{X}[0]=\frac{ReX[0]}{N}\\Re\bar{X}[N/2]=\frac{ReX[N/2]}{N}

Далее, вещественные и мнимые части могут быть представлены в полярных координатах, используя следующее соотношение:
Acos(x)+Bsin(x)=Mcos(x+\theta)
M и тета называются магнитудой and фазой и могут быть получены из Re и Im с использованием следующих формул:
MagX[k]=(ReX[k]^2+ImX[k]^2)^{\frac{1}{2}}\\PhaseX[k]=arctan(\frac{ImX[k]}{ReX[k]})

Таким образом, в полярной нотации результат дискретного преобразования Фурье сигнала из N отсчетов можно представить в виде N/2+1 косинусоидальных волн с указанной амплитудой и фазой. Иногда графики магнитуды и фазы более выразительны, чем графики вещественной и мнимой составляющей.

Как же найти вещественные и мнимые составляющие сигнала? Если мы посмотрим на уравнение синтеза
x[i]=\sum_{k=0}^{N/2}Re\bar{X}[k]cos(\frac{2\pi ki}{N})+\sum_{k=0}^{N/2}Im\bar{X}[k]sin(\frac{2\pi ki}{N})
то мы увидим, что Im X[0] и Im X[N/2] всегда равны нулю. Таким образом для N точек мы имеет N уравнений с N неизвестными. Причем это линейные уравнения - мы просто имеем систему линейных алгебраических уравнений с N неизвестными. Ее, в принципе, можно решать, например, методом Гаусса, но, конечно, для больших N это очень медленно. Поэтому для нахождения значений Re и Im используется быстрое преобразование Фурье.

Однако, быстрое преобразование Фурье работает для более общего, комплексного дискретного преобразования Фурье (когда N комплексных точек входного сигнала преобразуются в N комплексных точек выходного сигнала), поэтому нам надо учесть это каким-то образом при использовании его для вещественного дискретного преобразования Фурье.

К счастью, это довольно просто. N вещественных точек входного сигнала преобразуются в N комплексных точек, где мнимая часть равна нулю. Далее применяется быстрое преобразование Фурье, а результат получается из первых N/2+1 точек вещественной части и первых N/2+1 точек мнимой части результата.

Калькулятор ниже позволяет "поиграться" с дискретным преобразованием Фурье. Вы можете задать входной сигнал, калькулятор применит к нему дискретное преобразование Фурье (используя javascript реализацию быстрого преобразования Фурье от Project Nayuki) и отобразит графики Re X[ ], Im X[ ], Mag X[ ], Phase X[ ], а также графики синтезированного оригинального сигнала - суммированием синусоидальных и косинусоидальных волн, и суммированием косинусоидальных волн соответствующих магнитудам и фазам.

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

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

Набор значений сигнала

arrow_upwardarrow_downwardПорядковый номерarrow_upwardarrow_downwardЧисловое значение
Размер страницы:

Знаков после запятой: 2
Набор значений сигнала
Re X[ ]
Im X[ ]
Магнитуда X[ ]
Фаза X[ ]
Синтез (cos + sin)
Синтез (сумма cos + sin)
Синтез (магнитуда + фаза)
Синтез (сумма магнитуда + фаза)

Creative Commons Attribution/Share-Alike License 3.0 (Unported) PLANETCALC, Дискретное преобразование Фурье онлайн

Комментарии