DFT: https://blog.youkuaiyun.com/zhangxz259/article/details/81627341 FFT: http://tinycn.blog.sohu.com/42403467.html