很多东西学了后就忘光了,淡淡的忧伤。
本科数学分析学了后,教材保留带到研究生阶段。研究生毕业竟然扔了,现在到用到的时候,感觉亏死了。
还好还是留有一些印象,在网上找了些资料又回顾了一些。 但还是觉得好亏,怎么能扔了呢!!!
傅里叶级数展开: 点击打开链接
傅里叶级数转化为复数形式: 点击打开链接
算法导论里是讲傅里叶变换的应用在多项式相乘上。里面嵌套了DFT的如何快速求解。讲得很不错,可以依据这里进行实现。
一开始先看了算法导论,后面再看图像函数的傅里叶变换时,两者总是各种混淆。()
待续
————————————————————————————————————————————————————————————
对于一个连续信号,进行采样,采样w次。得到一个w个值的向量。
那么在利用离散傅里叶变换进行计算时,最多只能得到前w个频率的波。再高频率的波,由于周期已经小于采样间隔,外界看来,这种波已经退化成低频率的波。反应在公式中就是C(2n+i)=C(i)。这里的C(2n+i)已经是算成Ci的值了。 这跟曾经看到的什么采样定理有什么关系,以后再剖析。
也就是说,fft最多求w个值,那可以求<w个值么。答案是可以的,可以指定求某几个频率的波。
这时候的算法改写,就要先确定求这些给定根的值,要用到哪些复数根,然后只求这些复根上的值。
这时候若指定求m个频率的波系数,算法时间复杂度是介于mlogw与m*w之间。 m值越接近w,复杂度越接近mlogw。 更确切的复杂度阶暂时没想到更好的估计,以及是否有好的算法,复杂度优化至确切的mlogn。 (或者干脆直接采样m得了,不过这样就没意义了。)
——————————————————————————————————————————————————————————
图像可以延拓成周期的,然后就可以傅里叶变换。二维的可以分离成一维来做,此时复杂度为wlogw * h + hlogh*w,也就是w*h*log(w*h)。
但事实上,如果直接在二维上做可以做到么?暂时没想到怎么处理。
————————————————————————————————————————————————————————————
对于一个连续信号,进行采样,采样w次。得到一个w个值的向量。
那么在利用离散傅里叶变换进行计算时,最多只能得到前w个频率的波。再高频率的波,由于周期已经小于采样间隔,外界看来,这种波已经退化成低频率的波。反应在公式中就是C(2n+i)=C(i)。这里的C(2n+i)已经是算成Ci的值了。 这跟曾经看到的什么采样定理有什么关系,以后再剖析。
也就是说,fft最多求w个值,那可以求<w个值么。答案是可以的,可以指定求某几个频率的波。
这时候的算法改写,就要先确定求这些给定根的值,要用到哪些复数根,然后只求这些复根上的值。
这时候若指定求m个频率的波系数,算法时间复杂度是介于mlogw与m*w之间。 m值越接近w,复杂度越接近mlogw。 更确切的复杂度阶暂时没想到更好的估计,以及是否有好的算法,复杂度优化至确切的mlogn。
——————————————————————————————————————————
图像可以看作是分段线性函数,
该函数可以转化写成傅里叶展开形式,
接下来求每个分量的系数,该系数是有公式的,是图像某种积分形式,
然后由于假设是分段线性函数,是可以直接按照公式计算的。不过这样计算每个系数都是n次运算,那么n个分量就要n*n的运算量。
可以通过算法导论里的公式将运算量优化到nlogn,这就是FFT。
——————————————————————————————————————————————————————
傅立叶变换之后得到的每个点都是复数,如a+bi
幅度是:根号下(a^2+b^2)
相位是:arctan(b/a)
实部是:a
虚步是:b
幅度和相位结合在一起,就能完全表示傅立叶变换的结果;实部和虚步结合在一起也能完全表示。但是并不是说相位等于虚部。
图f(x),则
————————————————————————————————————————————————————