首页 > 代码库 > 灰度图像--频域滤波 傅里叶变换之傅里叶级数

灰度图像--频域滤波 傅里叶变换之傅里叶级数

学习DIP第18天

转载请标明本文出处:http://blog.csdn.net/tonyshengtan,欢迎大家转载,发现博客被某些论坛转载后,图像无法正常显示,无法正常表达本人观点,对此表示很不满意。。。。。。。。

0.开篇废话

    废话开始,故事是这样的,当我上大学的时候,学过信号与系统,当时已经学了高的数学,也知道了傅里叶变换的公式,但是,公式是怎么来的,有什么用,不清楚,学信号与系统的时候,知道傅里叶用在什么地方,但是不清楚为什么可以用在这些地方,书中的记忆是:傅里叶变换或者其家族的变换,主要目的是把信号转换到频域,然后巴拉巴拉巴拉。。。其实事情确实是像书中描述的那个样子,但是,可以完全换一种能让人接受的方式告诉大家,可是写书的人不肯,于是苦了看书的人。
    知乎上有一篇文章叫做“傅里叶分析之掐死教程(完整版)大家可以自行搜索,正片文章没什么数学推导,完全从感性上介绍了傅里叶变换,有很多图,还有动图,可以供大家理解,但感性过后应该从数学的角度理性的思考傅里叶变换家族,对于图像处理,傅里叶是必须要使用和掌握的工具,而图像处理又是出自信号处理,所以我选择看奥本海姆的《信号与系统》,从中重新理解下傅里叶变换家族。
    这一篇,我们从最简单的傅里叶级数开始讲起。大概的知识结构如下图:
技术分享

1.傅里叶级数

    傅里叶级数应该是由很多人提出来的,但大家都只是用到了类似的结构,但是没有系统的证明,其实傅里叶也没证明,他只是把傅里叶级数正式的用到了他的研究中,后来一群人前赴后继的证明出了一个有一个的傅里叶级数的准确性和存在条件,于是傅里叶级数和后续的傅里叶变换才开始推动人类进步。

1.0信号分解

    研究信号的人都有这样一种经历,有个信号摆在你面前,乱七八糟一堆东西,你根本就不知道那是个什么东西,拿一个简单的周期信号来说:
技术分享
    这样一坨信号f(t),一般人看不出来什么信息,周期可以看出来,但是别的基本看不出什么,但如果将这个周期信号分解来看,那么信号是由sin(t),cos(t),sin(2t),cos(2t),sin(3t),cos(3t),sin(4t),cos(4t)组合出来的(称为基),有了这些,我们可以很容易的预测未来某个时刻信号的准确值,这些三角函数的性质,组成了完整信号的性质。
    将大的,复杂的东西分解成小的,简单的东西,便于理解和掌握,这是一类信号问题的研究方法,于是,产生了信号分解这样一个分支。

1.1目标信号

    一个信号可以分解成无数种其他信号的组合,但是哪一种是我们需要的,这需要我们人为的加入一些控制目标性质

  • 性质1:由这些基本信号可以构成相当广泛的一类有用的信号

  • 性质2:线性时不变系统对每一个基本信号的响应应该十分简单,以使系统对任意输入信号的响应有一个方便的表示式

1.2正交性

    其实除了上面两点性质,正交性也是一个重要的性质,对于一个向量,其具有基向量,基向量如果是正交的,那么其相关性为0,也就是说由基向量组成的一个向量,各个基向量是互不相关的,在简单的二维笛卡尔坐标系中,向量(a,b),其中两组基为(1,0)和(0,1)其正交,因为其垂直,或者内积为0都能证明其正交,a,b的值对彼此都没有影响。
    函数正交的含义:如果两个函数ψ1(r)和ψ2(r)满足条件:∫ψ1(r)*ψ2(r)dτ=0,则称这两个函数相互正交。
    官方的解释:“正交性”是从几何中借来的术语。如果两条直线相交成直角,他们就是正交的。用向量术语来说,这两条直线互不依赖。沿着某一条直线移动,该直线投影到另一条直线上的位置不变,该术语还用于表示某种不相依赖性或者解耦性。如果两个或者更多事物种的一个发生变化,不会影响其他事物。这些事物就是正交的。
    将信号分解成一组信号的组合,而且这组信号内任意两个之间都是正交的,那么其中每个基保存的信息互不影响。

1.3复指数信号

    继续1.1中我们要寻找的目标函数,前辈们发现复指数信号具有1.1中所需要的性质,而且发现,对于一个线性时不变系统来说输入一个复指数信号,输出仍然是一个复指数信号,只是幅度上发生变化。(手写体公式,因为公式太多)
    对于连续信号:技术分享
    对于离散信号: 技术分享
    对于一个连续线性时不变系统,系统单位冲击响应是h(t),输入x(t)为连续信号,输出由其卷积来定义(不懂卷积的看上一篇博客)
技术分享
    将e^st移到前面去:
技术分享
    假定上面式子中积分收敛,于是系统对输入的响应就是:
技术分享
    其中H(s)为一个复常数。
技术分享
    对于一个系统,如果输出等于输入乘以常数,那么这个输入叫做该系统的特征函数,这个常数叫做特征值,可以看出,复指数函数是系统的特征函数。
    对于离散时间线性不变系统,单位脉冲响应为h[n],输入序列为:技术分享其中z为复数,由卷积可以确定系统输出:
技术分享
    同样,假定上述求和收敛,输出为:
技术分享
    其中:技术分享为一个复常数。
    与连续的结果一致,复指数是离散时间不变线性系统的特征函数。
    对于一个线性时不变系统来说,可以把一个更一般的输入分解成特征函数的组合。
    令x(n)为三个复指数信号的线性组合:
技术分享
          根据特征函数的性质,系统的每一个分量的响应是:
技术分享
    根据线性系统的叠加性质:
技术分享
    上述结果表明,如果将一个信号分解成其特征函数的组合:
技术分享
    那么其响应可以非常容易的表达:
技术分享
    对于离散序列,将其分解成特征复指数线性组合:
技术分享
    结果与连续情况下完全相同
技术分享

1.4谐波

    对于一个周期信号:技术分享基波的周期就是满足这个式子的最小非零正值T,而w0=2*Pi/T,称为基波频率。基本周期函数--复指数函数信号:技术分享与这个信号的有关的成谐波关系(harmonically related)的复指数信号集就是:
技术分享
   k为整数。这些信号每一个都有一个基波频率为w0的整数倍,T是每一个信号的周期,对于k>=2后k<=-2其基波周期为T的约数,所以用成谐波关系的复指数线性组合来形成原始信号:
技术分享
    当k=0时,为常数,k=1,-1时,基波频率等于w0,称为基波分量,或一次基波分量,k=2,-2时,基波波长为T的一半,频率为2*w0。而且,互为谐波的信号彼此正交。
技术分享

1.5傅里叶级数

    到这里还没晕的同学。。恭喜你。。上面这个式子就是傅里叶级数,也就是它:
技术分享
    对于傅里叶级数,还有另外两种表示,但不如上式常用。
    
    推导过程:
  • 1:因为x(t)是实信号x*(t)=x(t)于是如图1的式子。
  • 2:用-k代替k,式子结果不变,形式如图中2的式子。
  • 3:比较式子1和2发现式子3的结果。
  • 4:将求和重写划定求和范围
  • 5:用ak的共轭代替a-k
  • 6:中括号内互为共轭,所以得到图中式子6

技术分享
    分别是ak表示为极坐标和笛卡尔坐标的形式时:
    极坐标:
技术分享
    笛卡尔坐标:
技术分享

1.5.1系数推导过程

    既然傅里叶级数形式已经确定,剩下的任务就是确定每项的系数即ak的值,我们将用到前面提到的正交的性质,即在一个周期内,互为谐波的信号相乘后积分为0,因为傅里叶级数中的谐波集合都是互相正交的,所以只需让级数求和式子乘以ak的项,然后求周期内积分即可,数学推导如下:
    对于求第n想的系数,首先级数两边同时乘以第n项的信号分量,整理求和和积分的顺序
技术分享
    将上面结果做欧拉变换,得到下面结果,得到了实部和虚部分别的积分,容易看出k=n时积分结果不为0,其他项由于相互正交,积分结果必然为0,所以为k!=n的时候为0;
技术分享
于是我们得到上面an的最终结果,系数{ak}往往称为x(t)的傅里叶级数系数,或者x(t)的频谱系数:
技术分享


1.5.2收敛性

    关于级数收敛性的问题,这里不再详细描述,因为详细的证明收敛性,闭推导过程复杂的更多,这里只给出存在傅里叶级数的条件(狄里赫利条件):
  1. 任何周期内,x(t)必须绝对可积。
  2. 在任意有限区间内,x(t)具有有限个起伏变化;也就是说,在任何单个周期内,x(t)的最大值和最小值个数有限。
  3. 在x(t)的任意有限区间内,只有有限个不连续点,而且在这些不连续点上,函数是有限值。
    下图a,b,c分别对应1,2,3图的反面例子:
技术分享

1.5.3性质

    性质上传张图片吧,奥本海姆的书里面拍的,还算清楚
技术分享

2.总结

    傅里叶级数是傅里叶家族中最简单的成员,到这里我们从数学角度分析了一下傅里叶级数的来历,后面我们介绍连续非周期的傅里叶变换,离散傅里叶变换,和离散时间傅里叶变换

灰度图像--频域滤波 傅里叶变换之傅里叶级数