快速傅里叶变换的数学本质
Defination of Fourier matrix
Fn=⎡⎣⎢⎢⎢⎢⎢11⋮11ω1⋅1⋮ω(n−1)⋅1⋯⋯⋱⋯1ω1⋅(n−1)⋮ω(n−1)⋅(n−1)⎤⎦⎥⎥⎥⎥⎥withωn=1
n次单位根周期规律:
- ω32=ei⋅2π/32=ω264=e(i⋅2π/64)⋅2
- ω3264=−ω064,ω3364=−ω164,⋯,ω6364=−ω3264
Fourier矩阵 Fn 递归原理:
F64=[IID−D][F3200F32]⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢10⋮00⋮000⋮01⋮001⋮00⋮0⋯⋯⋱⋯⋯⋱⋯00⋮00⋮100⋮10⋮0⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥whereD=⎡⎣⎢⎢⎢⎢⎢1 ω64 ⋱ ωn−164⎤⎦⎥⎥⎥⎥⎥
The proof of the decomposition of Fn
[IID−D][F3200F32]⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢10⋮00⋮000⋮01⋮001⋮00⋮0⋯⋯⋱⋯⋯⋱⋯00⋮00⋮100⋮10⋮0⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⋅⎡⎣⎢⎢⎢⎢c0c1⋮c63⎤⎦⎥⎥⎥⎥=[IID−D][F3200F32]⋅⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢c0c2⋮c62c1c3⋮c63⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥=[IID−D]⋅⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢∑j=031cj⋅2∑j=031cj⋅2ωj32⋮∑j=031cj⋅2ωj⋅3132∑j=031cj⋅2+1∑j=031cj⋅2+1ωj32⋮∑j=031cj⋅2+1ωj⋅3132⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢∑j=031c2j+∑j=031c2j+1∑j=031c2jωj⋅132+∑j=031c2j+1ωj⋅132⋅ω64⋮∑j=031c2jωj⋅3132+∑j=031c2j+1ωj⋅3132⋅ω3164∑j=031c2j−∑j=031c2j+1∑j=031c2jωj⋅132−∑j=031c2j+1ωj⋅132⋅ω64⋮∑j=031c2jωj⋅3132−∑j=031c2j+1ωj⋅3132⋅ω3164⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢∑j=031c2j+∑j=031c2j+1∑j=031c2jω2j⋅164+∑j=031c2j+1ω(2j+1)⋅164⋮∑j=031c2jω2j⋅3164+∑j=031c2j+1ω(2j+1)⋅3164∑j=031c2jω32⋅2j64−∑j=031c2j+1(−ω32⋅(2j+1)64)∑j=031c2jω33⋅2j64−∑j=031c2j+1(−ω33⋅(2j+1)64)⋮∑j=031c2jω63⋅2j64−∑j=031c2j+1(−ω63⋅(2j+1)64)⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢∑k=063ck⋅1∑k=063ck⋅ωk64⋮∑k=063ck⋅ωk⋅6364⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥=F64⋅⎡⎣⎢⎢⎢⎢c0c1⋮c63⎤⎦⎥⎥⎥⎥
大幅度减少计算量
F64⋅C
costs
642
multiplication
Decompose it once, taking
[2∗(322)+32]
Decompose it twice, taking
[2∗(2∗162+16)+32]=[4∗162+32∗2]
…
Decompose it
log264=6
, taking
[64∗12+32∗6]
multiplication
In conclusion:
N2→12Nlog2N