快速傅立叶变换(FFT)

Posted skywalker767

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了快速傅立叶变换(FFT)相关的知识,希望对你有一定的参考价值。

FFT

作用:快速求两个多项式的乘积/卷积

文章目录

前置知识

多项式乘法(点表示法):用任意n + 1个不同点,均可确定为一个n次多项式。

好处:如果有两个多项式A,B:
A ( x ) = a 0 + a 1 x 1 + a 2 x 2 + a 3 x 3 + . . . . B ( x ) = b 0 + b 1 x 1 + b 2 x 2 + b 3 x 3 + . . . . 多 项 式 A 点 表 示 法 为 ( x 1 , A ( x 1 ) )   ,   ( x 2 , A ( x 2 )   ,   ( x 3 , A ( x 3 ) ) ) . . . 多 项 式 B 点 表 示 法 为 ( x 1 , B ( x 1 ) )   ,   ( x 2 , B ( x 2 )   ,   ( x 3 , B ( x 3 ) ) ) . . . 那 么 C 可 以 表 示 为 A ( x i ) ∗ B ( x i ) ; 多 项 式 C 点 表 示 法 为 ( x 1 , C ( x 1 ) )   ,   ( x 2 , C ( x 2 )   ,   ( x 3 , C ( x 3 ) ) ) . . . ( o ( n ) ) A(x) = a_0 + a_1x^1+ a_2x^2+ a_3x^3+....\\\\ B(x) = b_0 + b_1x^1+ b_2x^2+ b_3x^3+....\\\\ 多项式A点表示法为(x_1 , A(x_1))~,~(x_2 , A(x_2)~,~(x_3 , A(x_3)))...\\\\ 多项式B点表示法为(x_1 , B(x_1))~,~(x_2 , B(x_2)~,~(x_3 , B(x_3)))...\\\\ 那么C可以表示为A(x_i)*B(x_i);\\\\ 多项式C点表示法为(x_1 , C(x_1))~,~(x_2 , C(x_2)~,~(x_3 , C(x_3)))...(o(n)) A(x)=a0+a1x1+a2x2+a3x3+....B(x)=b0+b1x1+b2x2+b3x3+....A(x1,A(x1)) , (x2,A(x2) , (x3,A(x3)))...B(x1,B(x1)) , (x2,B(x2) , (x3,B(x3)))...CA(xi)B(xi);C(x1,C(x1)) , (x2,C(x2) , (x3,C(x3)))...o(n)

复数(Complex)

定义:1.形如 a + b i a+bi a+bi​​,其中a为实部,b为虚部。

​ 2.模长为: a 2 + b 2 \\sqrta^2 + b ^ 2 a2+b2

​ 3.幅角:设逆时针方向为正方向,从x正半轴到向量的转角

运算法则:(满足结合律,交换律,分配律)

​ 1.加法满足平行四边形法则

​ 2.乘法:几何意义:幅角相加,模长相乘

​ 代数意义: ( a c − b d ) + ( a d + b c ) i (ac-bd) + (ad + bc)i (acbd)+(ad+bc)i

单位根

定义: w n k w_n^k wnk​​为n次单位根

性质:

  • w n j ≠ w n i ( ∀ i ≠ j ) w_n^j \\ne w_n^i(\\forall_i \\ne j) wnj=wni(i=j)
  • w n k = c o s 2 k π n + s i n 2 k π n w_n^k = cos\\frac2k\\pin + sin\\frac2k\\pin wnk=cosn2kπ+sinn2kπ
  • w n 0 = w n n = 1 w_n^0 = w_n^n = 1 wn0=wnn=1
  • w 2 n 2 k = w n k w_2n^2k = w_n^k w2n2k=wnk​​(折半引理)
  • w n k + n 2 = − w n k w_n^k + \\fracn2 = -w_n^k wnk+2n=wnk​(消去引理)

离散傅立叶变换(Discrete Fourier Transform , DFT)

将系数矩阵转换为点表达式

设一个长度为n的数列 d [ i ] d[i]

以上是关于快速傅立叶变换(FFT)的主要内容,如果未能解决你的问题,请参考以下文章

快速傅立叶变换(FFT)

快速傅立叶变换(FFT)

2179: FFT快速傅立叶|快速傅里叶变换

FFT(FastFourier Transform,快速傅立叶变换)

选带快速傅立叶变换ZOOM-FFT的matlab实现

快速傅立叶变换FFT模板