关于傅里叶级数(一般、指数、广义)、傅里叶变换、离散时间傅里叶变换、傅里叶变换的一个补充说明
傅里叶级数
傅里叶级数定义式为:
这个定义是我们在大学里学的。你们还记得这个级数什么时候收敛吗?比如说,一个充分条件是f(x)连续的周期函数,且傅里叶系数满足:
则傅里叶级数一致收敛(Uniform convergent)。
一般来说啊,在现实生活中,我们一般要求:1、周期性。2、周期内绝对可积( ∈ L 1 ( − π , π ) \in L^1(-\pi,\pi) ∈L1(−π,π))。
另外一个傅里叶级数的定义为:
这是一个exponent形式的定义。可以证明,两种定义是相同的,In some sense。
Generalized Fourier series 是:
这里我们可以将 ω k \omega_k ωk看做是一组基(a set of bases),它们组成了一个Orthogonal system,而将系数 c k c_k ck视为 f f f在每一个基分量(component)上的投影除以(divided by its)基的模(length)。
我们有Bessel不等式:
以及在级数收敛的时候的Parseval等式:
在一些特殊的情况下,这也可以叫做勾股定理(Py’thagorean theorem)。
连续傅里叶变换
我们谈完了傅里叶级数,这些基本的概念在有限元当中也是很重要的。下面来说说连续傅里叶变换,它的定义是:
这里的 x x x一般也可以写为 t t t。这里要求 f f f要是绝对可积的,在负无穷到正无穷上。
离散时间傅里叶变换(DTFT)
离散时间傅里叶变换(DTFT,Discrete-time Fourier Transform):
f ^ 2 π ( ω ) = ∑ n = − ∞ ∞ f [ n ]   e − i ω n . \hat f_{2\pi}(\omega) = \sum_{n=-\infty}^{\infty} f[n] \,e^{-i \omega n}. f^2π(ω)=n=−∞∑∞f[n]e−iωn.
我的问题是,这和傅里叶展开的区别是什么?对的,它俩是一个意思。只不过傅里叶展开知道的是函数 f f f,我们做傅里叶逆变换求其系数,而傅里叶变换我们知道的是傅里叶逆变换之后的值,做线性组合来求函数 f f f。
DTFT来自于所谓的采样定理,如下所述:
这里在时域上的函数能够被自身在一些离散点上的值去乘一些三角函数(trigonometric)做加和得到,等式两边做一个傅里叶变换,就得到了离散时间傅里叶变换。毕竟,这里的辛格函数(sinc)做一个傅里叶变换就得到了指数函数。也就是说:
f ( t ) = ∑ n = − ∞ + ∞ f ( n T ) h T ( t − n T ) f(t) = \sum_{n=-\infty}^{+\infty}f(nT)h_T(t-nT) f(t)=n=−∞∑+∞f(nT)hT(t−nT)
做一个傅里叶变换:
f ^ ( ω ) = ∑ − ∞ + ∞ f ( n T ) F h T ( t − n T ) = ∑ − ∞ + ∞ f ( n T ) e − i n ω T \hat{f}(\omega) = \sum_{-\infty}^{+\infty}f(nT)\mathcal{F}h_T(t-nT) = \sum_{-\infty}^{+\infty}f(nT)e^{-i n\omega T} f^(ω)=−∞∑+∞f(nT)FhT(t−nT)=−∞∑+∞f(nT)e−inωT
因为我们总可以通过一个 flex and transition使得一个周期函数变成一个 2 π 2\pi 2π为周期的函数,故而我们不妨假设 f f f是一个以 2 π 2\pi 2π为周期的周期函数。根据香农采样定理,我最好令 T = 1 T=1 T=1,此时,我们有:
f ^ 2 π ( ω ) = ∑ n = − ∞ ∞ f [ n ]   e − i ω n . \hat f_{2\pi}(\omega) = \sum_{n=-\infty}^{\infty} f[n] \,e^{-i \omega n}. f^2π(ω)=n=−∞∑∞f[n]e−iωn.
这就是 2 π 2\pi 2π为周期的离散时间傅里叶变换。
离散傅里叶变换(DFT)
假设 the function f is nonzero only in a finite interval of time, or f goes on forever, then the sampled points are supposed to be at least “typical” of what f looks like at all other times. 也就是说,我们假设 f f f的非零值都集中在某个区间上,做一个截断(truncation)。那么有:
f ^ 2 π ( ω ) = ∑ n = 0 N − 1 f [ n ]   e − i ω n . \hat f_{2\pi}(\omega) = \sum_{n=0}^{N-1} f[n] \,e^{-i \omega n}. f^2π(ω)=n=0∑N−1f[n]e−iωn.
它的傅里叶变换为:
f ^ ( ω ) = ∑ n = 0 N − 1 f ( n T ) F h T ( t − n T ) = ∑ n = 0 N − 1 f ( n T ) e − i n ω T \hat{f}(\omega) = \sum_{n=0}^{N-1}f(nT)\mathcal{F}h_T(t-nT) = \sum_{n=0}^{N-1}f(nT)e^{-i n\omega T} f^(ω)=n=0∑N−1f(nT)FhT(t−nT)=n=0∑N−1f(nT)e−inωT
再对频域上的 f ^ \hat f f^做离散,我们能得到离散傅里叶变换的定义为:
f ^ [ k ] = ∑ n = 0 N − 1 e − i 2 π N n k f [ n ] k = 0 , 1 , … , N − 1. \hat{f}[k]=\sum_{n=0}^{N-1} e^{-i\frac{2\pi}{N}nk}f[n] \qquad k = 0,1,\ldots,N-1. f^[k]=n=0∑N−1e−iN2πnkf[n]k=0,1,…,N−1.
和离散时间傅里叶变换不同的是,它在频域上的取值也是离散的,且在时域上的采点数是有限的。因此,DFT就是先将信号在时域离散化,求其连续傅里叶变换后,再在频域离散化的结果。
总结(适用条件,相关关系)
到目前为止,我相信我已经讲清楚了傅里叶级数、连续傅里叶变换、离散时间傅里叶变换、以及离散傅里叶变换之间的关系。如图所示。
对一个函数做傅里叶级数展开,要求它是周期函数,或者说它在某个区间(一个周期)里面是平方可积的,以至于我们可以做一个展开。傅里叶展开的系数,取自时域上离散的点。因为Parseval等式,两个平方积分是相等的,故而 f f f在时域上也是平方可积的,因此在 ∣ t ∣ |t| ∣t∣趋于无穷的时候,必有 f f f的值趋于零。所以,我们可以选取 f f f在时域上典型(具有非零代表性)的一部分,并且在频域上也进行离散,就得到了离散傅里叶变换。
所以呢,对一个函数做傅里叶展开,我们总要求它是周期的,或者说在支集上的函数是绝对可积的,以便我们能将其延拓为周期函数,毕竟,从表达式上可以看到,傅里叶变换是具有周期性的。而对一个函数做傅里叶变换,我们总要求它是平方可积的,或者是一个定义域(domain of definition)是有界的两端为0(接近0)的连续函数。