再回首看之前写的两篇文章,总感觉还欠差一点什么,这里在加一点。
虽然对傅里叶变换有了一定的理解,但是每次看到离散傅里叶变换的公式还是有点懵的感觉,这里将详细的退一下离散傅里叶变换公式的由来及其意义。
何为离散傅里叶变换?就是先将连续傅里叶变换通过冲击函数进行取样获得离散的数据,然后对这些离散的数据进行傅里叶变换,这就是傅里叶离散变换,公式如下:
F~(u)=∫−∞∞f~(t)e−j2πutdt=∫−∞∞∑n=−∞∞f(t)δ(t−nΔT)e−j2πutdt=∑n=−∞∞∫−∞∞f(t)δ(t−nΔT)e−j2πutdt=∑n=−∞∞fne−j2πunΔT\widetilde{F}(u)=\int^{\infty}_{-\infty}\widetilde{f}(t)e^{-j2\pi ut}dt\\
=\int^{\infty}_{-\infty}\sum^{\infty}_{n=-\infty}f(t)\delta(t-n\Delta T)e^{-j2\pi ut}dt\\
=\sum^{\infty}_{n=-\infty}\int^{\infty}_{-\infty}f(t)\delta(t-n\Delta T)e^{-j2\pi ut}dt\\
=\sum^{\infty}_{n=-\infty}f_ne^{-j2\pi un\Delta T}F(u)=∫−∞∞f(t)e−j2πutdt=∫−∞∞n=−∞∑∞f(t)δ(t−nΔT)e−j2πutdt=n=−∞∑∞∫−∞∞f(t)δ(t−nΔT)e−j2πutdt=n=−∞∑∞fne−j2πunΔT
上式的最后一个公式无非是应用了冲击响应的性质将t替换成了nΔTn\Delta TnΔT而已,没什么了不起的,很好理解。接下来才是重点。
我们知道离散傅里叶变换得到的结果也是离散函数,而上面得到的是连续函数,所以上面不是我们真正想要的解。
上面的连续函数是f(x)的傅里叶变换函数F(u)以ΔT\Delta TΔT为周期平移得到的,而我们需要的只是其中一个周期即[0,ΔT\Delta TΔT]内的部分,因为这部分就是F(u),为了得离散的数据,我们将[0,ΔT\Delta TΔT]的数据平均分成M份(因为原始数据为M个离散点),而这m份就是我们最后的结果,他们的坐标为:
u=mMΔTu=\frac{m}{M\Delta T}u=MΔTm
带入之前的式子就得到了离散傅里叶变换的公式了:
Fm=∑n=0M−1e−j2πmn/M,m=0,1,2,3,4...,M−1F_m=\sum_{n=0}^{M-1}e^{-j2\pi mn/M},m=0,1,2,3,4...,M-1Fm=n=0∑M−1e−j2πmn/M,m=0,1,2,3,4...,M−1