数字信号处理理解笔记

几种傅里叶变换之间的关系

数字信号处理的学习过程中,几种傅里叶变换之间的关系非常令人难以理解。
但是仔细想来还是不难。

本文主要是作为一个个人的总结,可能有些地方写的很简略,请忽视。。

首先是傅里叶级数,一般来说,傅里叶级数用于分析周期信号,可以将信号表示成正弦的求和级数,也可以使用欧拉公式进而表示成指数函数的求和级数,X(ejω)=x[n]ejωnX(e^{j\omega})=\sum x[n]e^{-j\omega n};如果是非周期的,那么就需要在数学意义上进行延拓使其满足一定的条件(迪利克雷)才可以计算傅里叶级数,但是似乎信号处理中探讨的不多。但是可能最多用的地方,就是考虑一个周期信号,可以通过傅里叶级数将其分解为有限个指数函数(正余弦函数)的相加的结果。

其次是傅里叶变换,这就又分为离散和连续的两种,之间的换算关系如下图。
数字信号处理理解笔记

  • 连续时间傅里叶变换(CTFT)Xa(jΩ)=xa(t)ejΩtdtX_a(j\Omega)=\int x_a(t) e^{-j\Omega t}dt。值得注意的是,这里分析的是连续信号,所以频率采用Ω\Omega表示,表示角频率,单位 弧度/秒,如果是后面要说的离散信号,则用ω\omega表示。当然,要想求得信号的CTFT,仍然要满足迪利克雷条件。CTFT其实可以被认为是最接近原本傅里叶为了解决热力学问题而提出的那个运算定义的,其他的各种傅里叶变换都是不同程度的变体。换句话说,CTFT就是老老实实的对函数进行积分然后得到计算结果。如果说这玩意它有什么用,只能说它其实没啥用,就只是一种运算的定义,就和 卷积 是一个道理。当然也就是这种运算方式,让我们得到了连续信号在频域中的一种描述,我们就可以通过这个运算的结果来对信号进行相关的分析。
  • 离散时间傅里叶变换(DTFT)X(ejω)=x[n]ejωnX(e^{j\omega})=\sum x[n]e^{-j\omega n}。值得注意的是,这里分析的是离散信号,所以频率采用数字角频率ω\omega表示。这个数字角频率和模拟角频率是有一个对应关系的:ω=ΩTs\omega=\Omega T_s(Ts是采样周期),可以发现,在这个过程中,数字角频率失去了量纲,意味着这是个没有量纲的物理量,它和实际频率之间的关系是通过采样率来传递的。对于给定的数字角频率ω\omega值,采样率越大,其对应到真实世界中的信号频率就越大,这一点要怎么理解?我觉得可以从数字离散信号的时域形式下手,因为其时域形式将nn作为自变量,本身就已经模糊了时间的概念,对应到频域上,那么就失去了其本来的频率单位。
    由于该变换面向的是离散信号,离散信号意味着这是对原本连续的信号的采样、量化之后得到的结果,而采样的过程,其实就是一个信息压缩的过程。在信息论中学过,熵是描述一个消息信息量的一个指标,对于离散消息,那么其熵一定是个有限值,对于连续消息,其熵是一个无穷的值,所以从连续到离散的过程中,信息量会减少(其实说减少也不对,因为从无穷怎么也减少不到一个有限值,这可能是其中一些地方发生了本质上的变化导致的)。这也可以解释对于一个非周期连续信号,无法用有限的离散点对其采样然后原样恢复(当然对于这个问题最常规的解释还是因为采样频率不够而导致混叠)。而对于计算机来说,永远只能处理那么一段的信号,就算原本是一个周期正弦波,但是计算机处理的只有那一段,所以就相当于是一个非周期信号,在处理的过程中就会损失信息量。这也是为什么用于分析连续周期信号的傅里叶级数没有在信号处理领域得到广泛应用的原因(吧),因为数学可以很方便通过理论得到无穷的计算,在计算机中就没有无穷的概念。
  • 最后是离散傅里叶变换(DFT):从以上分析也可以发现,尽管数字采样已经对原本信息量进行了压缩,已经进行了妥协,但是仍然有一个问题就是其频域还是连续函数,而连续函数在计算机的处理过程中也是无法实现的,这就导致了DFT的出现。DFT的最简单的理解:它是在DTFT的频谱上进行了采样得到的样点。采样遵循一定的规则,一定要在一个频域的周期内采够N个点才不会导致恢复的时候发生混叠。得到了离散点之后计算机就可以快乐的进行工作了。当然,既然又是采样,所以信息量又一次的减少,如果将DFT得到的信号进行IDFT恢复,得到的离散序列一定和原本的不一样,可能进行了周期延拓,也可能因为混叠而完全失真,这都和采样率(其实就是DFT的点数)相关。
  • 其余的类似FFT,没有特别需要在这里区分的必要,因为这完全是为了解决DFT计算量过大而提出的优化算法,目的、思路和DFT无异,只是实现方式很巧妙,这里不细说。