zoukankan      html  css  js  c++  java
  • 傅里叶变换

    傅里叶级数 => 傅里叶变换 => 离散傅里叶变换 推导

    参考:https://www.zhihu.com/column/c_1299853366366543872

               https://www.matongxue.com/madocs/712/

    傅里叶级数

    傅里叶变换

     

    总结: 傅里叶级数适用于周期为T的周期函数,对于非周期函数,我们可以看成是T趋向于无穷大时,这样我们就可以通过傅里叶级数得到傅里叶变换。

    离散傅里叶变换DFT IDFT

    快速傅里叶变换FFT

    参考:https://www.cnblogs.com/liam-ji/p/11685568.html

    对于序列:

           

     

    所以对于快速傅里叶变换而言,当数据长度N为2的m次方时,运算最快。

    但是如果都补到2的m次方,有些情况下就会造成内存严重浪费,在OpenCV中提供了获得最优长度的函数,但返回的长度并不是2的

    m次方,而是2^a * 3^b *5^c这样的乘积的数,兼具了性能和内存。

    openCV中提供了方法 getOptimalDFTSize来得到最优长度,该方法通过对预先生成的表进行二分查找,得到最优长度。

    int cv::getOptimalDFTSize( int size0 )
    {
        int a = 0, b = sizeof(optimalDFTSizeTab)/sizeof(optimalDFTSizeTab[0]) - 1;
        if( (unsigned)size0 >= (unsigned)optimalDFTSizeTab[b] )
            return -1;
    
        while( a < b )
        {
            int c = (a + b) >> 1;
            if( size0 <= optimalDFTSizeTab[c] )
                b = c;
            else
                a = c+1;
        }
    
        return optimalDFTSizeTab[b];
    } 
    optimalDFTSizeTab这个表就是由2^a * 3^b *5^c算出来的,其中丢弃了一些3的幂次项
  • 相关阅读:
    JSP——useBean
    jsp 几种跳转
    jsp MIME
    T-SQL之触发器(下)
    T-SQL之触发器
    T-SQL之存储过程
    T-SQL之游标
    T-SQL之自定义函数
    T-SQL之函数
    T-SQL复习心得(1)变量
  • 原文地址:https://www.cnblogs.com/merlinzjl/p/14131165.html
Copyright © 2011-2022 走看看