Изменения

Перейти к: навигация, поиск

Быстрое преобразование Фурье

137 байт добавлено, 19:42, 4 декабря 2016
Алгоритм построения БПФ
Пусть имеется многочлен <tex>A(x)</tex> степени <tex>n</tex>, где <tex>n > 1, n = 2^t</tex>. Если <tex>n</tex> не является степенью двойки, добавим недостающие члены и положим коэффициенты равными нулю.
<center><tex> A(x) = a_0 x^0 + a_1 x^1 + \ldots + a_{n-1} x^{n-1} </tex></center>
Разделим <tex>A(x)</tex> на два многочлена, где один будет с четными, а другой с нечетными коэффициентами:
* <tex> A_0(x) = a_0 x^0 + a_2 x^1 + \ldots + a_{n-2} x^{\frac{n}{2} - 1} </tex>
* <center><tex> A_0(x) = a_0 x^0 + a_2 x^1 + \ldots + a_{n-2} x^{\frac{n}{2} - 1} </tex> <tex> A_1(x) = a_1 x^0 + a_3 x^1 + \ldots + a_{n-1} x^{\frac{n}{2} - 1} </tex></center>
Многочлен <tex>A(x)</tex> получается из <tex>A_0(x)</tex> и <tex>A_1(x)</tex> следующим образом:
<center><tex>A(x) = A_0(x^2) + xA_1(x^2) \ \ \ \ \ (1)</tex></center>
Пусть <tex>DFT(A_0) = \{y_k^0\}^{\frac{n}{2}-1}_{k=0}</tex> и <tex>DFT(A_1) = \{y_k^1\}^{\frac{n}{2} - 1}_{k=0}</tex>. Найдем вектор значений <tex>DFT(A) = \{y_k\}^{n-1}_{k=0}</tex>.
* Из <tex>(1)</tex> получаем значения для первой половины коэффициентов:
<center><tex>y_k = y_k^0 + \omega^k_n y_k^1, \ \ k = 0 \ldots \dfrac{n}{2} - 1 </tex></center>
* Для второй половины получаем:
<center><tex>y_{k+\frac{n}{2}}= A(\omega_n^{k+\frac{n}{2}})= A_0(\omega_n^{2k+n})+ \omega_n^{k+\frac{n}{2}} A_1(\omega_n^{2k+n})= </tex> <tex>A_0(\omega_n^{2k} \omega_n^{n})+ \omega_n^k \omega_n^{\frac{n}{2}} A_1(\omega_n^{2k} \omega_n^n) </tex></center>
Заметим, что <tex> \omega_n^n = 1, \omega_n^{\frac{n}{2}} = -1</tex>, тогда:
<center><tex>y_{k+\frac{n}{2}}= A_0(\omega_n^{2k})- \omega_n^k A_1(\omega_n^{2k})= y_k^0- \omega_n^k y_k^1</tex>.</center>
Таким образом, мы получили:
<center><tex>y_k = y_k^0 + \omega^k_n y_k^1, \ \ k = 0 \ldots \dfrac{n}{2} - 1 </tex></center>
<center><tex>y_{k+\frac{n}{2}}= y_k^0- \omega_n^k y_k^1, \ \ k = 0 \ldots \dfrac{n}{2} - 1 </tex>.</center>
== Алгоритм построения обратного БПФ ==
Анонимный участник

Навигация