• 卷积,DFT,FFT,图像FFT,FIR 和 IIR 的物理意义


    卷积:
     冲击信号会对线性系统产生冲击响应。
     冲击信号可分解为平移度和幅度。其对线性系统的冲击响应可以分解为点点间的经平移和缩放的各个冲击响应的累加,通过卷积的表达式表示。
     所谓的冲击响应,就是线性系统对任何输入信号的响应,描述这种输入输出关系的算数方法就是卷积。

     以上是从输入信号的角度看卷积,每个输入信号上的点都产生一个缩放和平移之后的冲击信号,然后对这些冲击信号进行累加,即卷积。
     也可以从输出信号的角度去看,即每一个输出信号上的点都是由一系列输入信号和冲击信号相互作用产生的。

     一个N点的信号和一个M点的信号相卷积,其输出有N+M-1个点。
     相关是利用卷积来运算的,它能在一个信号中找到目标信号的位置(根据相关值来判断)。


    FFT:
     FFT是分为复数DFT变换和实数DFT变换(改进算法)。
      复数DFT:拿一维信号来说N点的时域信号产生N个点的频域信号,都含有实部和虚部。
      实数DFT:拿一维信号来说N点的时域信号产生N/2+1个点的频域信号,都含有实部和虚部。

     FFT只所以快是因为:
      第一步,它将1个N点的信号先分解成N个1点的信号;
      第二步,计算这N个1点信号的频谱,这很好计算,因为复数就是它自己,但现在这N个信号是频谱信号了;
      第三步,再将这N个频谱信号按一定的规律加起来就得到了所需要的频谱。第三步是最复杂的,是按第一步分解的反过程,那些很复杂的蝶形运算就是用于这个反过程的,它们改变信号的位置,
       再通过相加将2个N/2点的信号变成1个N点的信号。


    实数DFT(离散傅里叶变换):
     一个离散信号在时域离散但在频域可能周期。
     DFT处理的信号的时域是离散的但又周期,频域是周期性的但又离散。
     实数DFT信号的时域有N点(其实是周期延拓,一个周期N点),可以由N/2+1个正弦信号和N/2+1个余弦信号表示,每个正余弦信号也是N点(也是周期延拓,一个周期N点)。
     上面就是DFT的物理意义,
      N点的实数经DFT之后变成 N/2+1个复数表示的点,复数的实部是正弦信号的幅度,虚部是余弦信号的幅度。复数只是一种数学上的表示方法。
       直角坐标表示法: 将正余弦幅度画出来来表示频谱。每个正余弦信号的幅度可以通过相关的方法求出。
       极坐标表示法:   将上述 N/2+1个复数表示成模(幅度)和相位,并画出来来表示频谱。

     频谱的横坐标:
       用点数来表示的,范围是 0到N/2(N/2+1个数);
       分数表示法,范围是0到0.5;
       自然频率表示法,范围是0到π。

     对DFT信号时域离散,频域周期的物理解释:
      因为离散信号是不连续的采样点,这些采样点可能是一个频率的连续信号上的某些点,可能是比这个频率高的连续信号上的某些点,也可能是比这个频率低的信号上的某些点,这个就呈现出了周期性。

     DFT性质
      如果时域信号是左右对称的,则其DFT变换的相位是线性的,称作线性相位。特别的,如果时域信号关于原点左右对称,则其频域相位为0,称作0相位。
      DFT时域取的点越多(采样频率不变),其频谱分辨率越高。这是因为N增加,则N/2+1越大,而频谱的最高频率不超过1/2的采样频率,所以频谱上的间隔减小,即分辨率提高。
      DFT的时域是周期性的,N个点为周期;频域上通常是看0到N/2-1个点,但它是关于原点对称的,实部和幅度偶对称,虚部和相位寄对称,它的周期也是N个点。
      时域上的平移会造成相位的斜率发生改变。

     时域卷积等于频域相乘。
      一个N点的信号和一个M点的信号(N>M)卷积得到N+M-1个点。
      从频域上看N点信号的频谱N/2+1个点,M点信号的频谱做N点DFT之后也是N/2+1个点,两者相乘在IDFT之后得到输出信号时N个点,这样就比普通卷积少了M-1个点,不要忘记DFT是周期性信号,
      少了M-1点可能会造成前后输出信号的叠加,但也可能不会只要N比有效的信号范围来的大就行了,这种用DFT求的卷积叫圆周卷积。

    图像FFT:
     图像的DFT变化也是把图像看成是周期延拓的信号,就像砖瓦一样一块块铺起来,其DFT变换之后的信号也是周期信号,也想砖瓦一样一块块铺起来。假设图像为N*N点阵,其DFT变换也是N*N点阵,
     取行编号为0、列编号为0的点为中心,这就是说图像的DFT变换的编号有正有负。

     在1维信号中,DFT变换把信号分解成多个正弦信号,表示信号包含有多个频率。对图像来说,其像素的灰度变化也是一种频率的反映,一般来说边沿的时候灰度的变化较为明显,或者说灰度变化频率较快;
     而一幅图像的灰度如果比较平均,则表示灰度无明显变换,其变化频率较慢。
     或者说图像频谱的低频部分决定了大体上的灰度变化(比较模糊),而图像频谱的高频部分决定了细节变化(边沿)。
     将图像DFT之后,变化频率较慢的成分就越靠近中心,而频率变化较快的成分就越远离中心。

     图像的频谱也具有对称性,实部和幅度以中心镜像对称;虚部和相位以中心反镜像对称。

     图像频谱的相位决定了图像的样子,如果将另一幅图像的幅度和本幅图像的相位结合,还是能看出本幅的图像,只不过灰度变化不正常。这是因为相位决定了幅度变化的方向。
     拿1维信号来说,如果有一个上升沿,那么在这个上升沿发生的时候,很多正弦信号的相位都是一样的,这样就能堆起一个上升沿,应用在图像里面,也是同样的道理。所以相位是决定信号的样子的。

     如果图像中有一根很细的长条横卧,则其频谱的垂直方向上有更多的分量,而频谱的水平方向上的分量较少。这是因为频谱上的点具有方向性,图像上水平的直线需要更多垂直的分量来组成,
     而图像垂直方向上相对不变,所以也不需要很多水平的分量。

     图像的卷积一般用的PSF较小,比方3*3点阵的算子,常用的算子有平滑滤波和边沿增强算子。图像的卷积和1维信号一样也可以从输入信号看和输出信号看。如果卷积比较复杂,可以用FFT卷积来做。


    FIR:有限脉冲响应
     通过卷积来求输出,随着脉冲点数的增多,其频谱特性可以做的很好,并且可以做到使线性相位的,但是速度慢,借助FFT卷积可以提高速度。
     常用的有平滑滤波器、sinc窗函数。平滑滤波器主要用于时域平滑,可以用递归来实现;sinc窗函数主要用于频域滤波。

     无反馈,频域上相位线性,在时域上体现为信号固定延时了一个时间t, 波形没有失真,只是时间上滞后了,语音处理,图象处理以及数据传输要求频域线性相位,任意幅度。在语音编码的采样之前会用一个FIR
     做低通滤波,
     由于无反馈,要实现相同的指标,比iir所需的阶数要高很多。
     物理量“相位延迟”Tp(f)=-φ(f)/(2pif); “群延迟”Tg(f)=-dφ/dw.  当Tg(f)为常数时,认为这系统是无畸变的。FIR线性相位正满足了这个要求。

    IIR:无限脉冲响应,
     通过递归方程来求输出,不同的递归系数决定了滤波器的特性,滤波特性没有FIR好,但速度快,参数级数少。由于是根据递归系数来确定,而不像FIR那样是根据频域来确定,
     所以设计时很难确定频域形状,很难确保是线性相位。
     常用的有 单极点滤波器、切比雪夫滤波器。前者用于时域平滑,后者用于频域滤波,切比雪夫的滚降较快,但是有ripple。
     IIR极点一般的理解是:极点越多滤波器的性能越好。
     通过IIR的递归方程进行Z变换,可以求出其频域特性。

     当M>0时,M就是IIR滤波器的阶数,表示系统中反馈环的个数。由于反馈的存在,IIR滤波器的脉冲响应为无限长,因此得名。若M=0,则系统的脉冲响应的长度为N+1,故而被称作FIR滤波器。
     可以直接利用模拟滤波器设计IIR滤波器,因为模拟滤波器本身就是无限长冲激响应的。
     通常IIR滤波器设计的过程如下:
      首先根据滤波器参数要求设计对应的模拟滤波器(如巴特沃斯滤波器、切比雪夫滤波器等等),
      然后通过映射(如脉冲响应不变法、双线性映射等等)将模拟滤波器变换为数字滤波器,从而决定IIR滤波器的参数。
      IIR滤波器的重大缺点在于,由于存在反馈其稳定性不能得到保证,而FIR滤波器由于不存在系统极点,FIR 滤波器是绝对稳定的系统。

     IIR无限长脉冲响应滤波器,结构中有反馈,所以理论上脉冲响应永远不为零。实现相同的指标比fir滤波器需要的阶数较少。非线性相位,用于对相位不太敏感的场合,如语音。
     设计时先设计模拟滤波器原型,再由一定的原则转换为数字滤波器。可参看程乾生编著 “信号数字处理的数学原理” 石油工业出版社
      1.IIR数字滤波器的系统函数可以写成封闭函数的形式。 
      2.IIR数字滤波器采用递归型结构,即结构上带有反馈环路。IIR滤波器运算结构通常由延时、乘以系数和相加等基本运算组成,可以组合成直接型、正准型、级联型、并联型四种结构形式,
         都具有反馈回路。由于运算中的舍入处理,使误差不断累积,有时会产生微弱的寄生振荡。 
      3.IIR数字滤波器在设计上可以借助成熟的模拟滤波器的成果,如巴特沃斯、契比雪夫和椭圆滤波器等,有现成的设计数据或图表可查,其设计工作量比较小,对计算工具的要求不高。
         在设计一个IIR数字滤波器时,我们根据指标先写出模拟滤波器的公式,然后通过一定的变换,将模拟滤波器的公式转换成数字滤波器的公式。 
      4.IIR数字滤波器的相位特性不好控制,对相位要求较高时,需加相位校准网络。

     在MATLAB下设计IIR滤波器可:
      使用Butterworth函数设计出巴特沃斯滤波器,
      使用Cheby1函数设计出契比雪夫I型滤波器,
      使用Cheby2设计出契比雪夫II型滤波器,
      使用ellipord函数设计出椭圆滤波器。 
       与FIR滤波器的设计不同,IIR滤波器设计时的阶数不是由设计者指定,而是根据设计者输入的各个滤波器参数(截止频率、通带滤纹、阻带衰减等),
       由软件设计出满足这些参数的最低滤波器阶数。在MATLAB下设计不同类型IIR滤波器均有与之对应的函数用于阶数的选择。

     iir幅频特性精度很高,不是线性相位的,可以应用于对相位信息不敏感的音频信号上; 
     fir幅频特性精度较之于iir低,但是线性相位,就是不同频率分量的信号经过fir滤波器后他们的时间差不变。这是很好的性质。 
     另外有限的单位响应也有利于对数字信号的处理,便于编程,用于计算的时延也小,这对实时的信号处理很重要。

     在多带滤波的时候,如果采用IIR将会导致各频带输出不同步的问题,在诸如特征提取这样的应用中将会很麻烦
     IIR比FIR具有更好的模型匹配与信号处理能力。但是,如果极点不能控制在单位圆内,将会使系统不稳定。
     IIR滤波器最重要的优点在于与相同系数个数的FIR滤波器相比有更好的性能,要达到相同性能,IIR滤波器所需系数个数一般比FIR滤波器少得多。
     而FIR很容易保证稳定和线性相位,这在有特殊要求的信号处理中是非常重要的,比如实现完全线性相位重构滤波器。

    转载于http://blog.csdn.net/tomlingyu/article/details/6858549

  • 相关阅读:
    mongodb studio 3t 破解无限使用脚本
    香港低价linux虚拟主机,
    c#4.0 Task.Factory.StartNew 用法
    系统进不去怎么办?教你利用bootice工具引导修复系统
    用一个URL加一个JAVA壳做成一个安卓应用
    ANDROID开机动画分析
    你的Android不好用,都是因为这几点原因
    横竖屏切换时不销毁当前activity 和 锁定屏幕
    APP流氓大法之apk 静默安装
    设备管理器勾选后不能再取消了
  • 原文地址:https://www.cnblogs.com/jian1573/p/2282674.html
Copyright © 2020-2023  润新知