mazonex离散傅立叶变换视频笔记
需要先了解傅里叶变换推导(FT、IFT)
本文仅作为笔记,推导思想和图片来自视频

周期为2π2\pi2π的函数的复数形式展开(傅里叶级数)

在上一篇文章中part4中提到周期T=2LT=2LT=2L函数的复数形式展开为:
f(t)=∑n=−∞∞Cneinωt(1.1)\begin{aligned} f(t) &=\sum_{n=-\infty}^{\infty} C_{n} e^{i n \omega t} \end{aligned}\tag{1.1} f(t)​=n=−∞∑∞​Cn​einωt​(1.1)

其中,
Cn=1T∫0Tf(t)e−inωtdtω=πL=2πT\begin{aligned} &C_{n} =\frac{1}{T} \int_{0}^{T} f(t) e^{-i n \omega t} d t\\ &\omega=\frac{\pi}{L}=\frac{2 \pi}{T}\\ \end{aligned} ​Cn​=T1​∫0T​f(t)e−inωtdtω=Lπ​=T2π​​
周期为2π2\pi2π时ω=1\omega=1ω=1,并且令k=nk=nk=n:
f(t)=∑k=−∞∞ckeikt(1.2)\begin{aligned} f(t) &=\sum_{k=-\infty}^{\infty} c_{k} e^{i k t} \end{aligned}\tag{1.2} f(t)​=k=−∞∑∞​ck​eikt​(1.2)

其中,
ck=1T∫0Tf(t)e−iktdt\begin{aligned} &c_{k} =\frac{1}{T} \int_{0}^{T} f(t) e^{-i k t} d t\\ \end{aligned} ​ck​=T1​∫0T​f(t)e−iktdt​

从连续函数到离散函数

假定 f(n)f(n)f(n) 是 f(x)f(x)f(x) 在一个周期内的等距离采样,采样N个点:
[f0,f1,⋯,fN−1]\left[f_{0}, f_{1}, \cdots, f_{N-1}\right] [f0​,f1​,⋯,fN−1​]

注意上面最后一个采样点不包括2π2\pi2π,因为2π2\pi2π属于下一个周期。

假如取t=2πNt=\frac{2 \pi}{N}t=N2π​带入式(1.2)(1.2)(1.2)中:
f1=f(2πN)=∑k=−∞∞ckek2πiN=⋯+c−2e−22πiN+c−1e−12πiN+c0e02πiN+c1e12πiN+c2e22πiN+⋯+cN−1e(N−1)2πiN+cNeN2πiN+cN+1e(N+1)2πiN+⋯(1.3)\begin{aligned} f_{1}&=f\left(\frac{2 \pi}{N}\right)=\sum_{k=-\infty}^{\infty} c_{k} e^{k \frac{2 \pi i}{N}}\\ &=\cdots+c_{-2} e^{-2 \frac{2 \pi i}{N}}+c_{-1} e^{-1 \frac{2 \pi i}{N}}+c_{0} e^{0 \frac{2 \pi i}{N}}+c_{1} e^{1 \frac{2 \pi i}{N}}+c_{2} e^{2 \frac{2 \pi i}{N}}+\cdots\\ &\quad+c_{N-1} e^{(N-1) \frac{2 \pi i}{N}}+c_{N} e^{N \frac{2 \pi i}{N}}+c_{N+1} e^{(N+1) \frac{2 \pi i}{N}}+\cdots \end{aligned}\tag{1.3} f1​​=f(N2π​)=k=−∞∑∞​ck​ekN2πi​=⋯+c−2​e−2N2πi​+c−1​e−1N2πi​+c0​e0N2πi​+c1​e1N2πi​+c2​e2N2πi​+⋯+cN−1​e(N−1)N2πi​+cN​eNN2πi​+cN+1​e(N+1)N2πi​+⋯​(1.3)


什么是 ek2πiNe^{k \frac{2 \pi i}{N}}ekN2πi​?
令 w=e2πiNw=e^{\frac{2 \pi i}{N}}w=eN2πi​,则 wk=ek2πiNwN=w0=1w^{k}=e^{k \frac{2 \pi i}{N}} \quad w^{N}=w^{0}=1wk=ekN2πi​wN=w0=1

观察上图发现:
k=0,N,−N,2N,−2N...k=0,N,-N,2N,-2N...k=0,N,−N,2N,−2N...时,ek2πiN=e02πiN=w0=1e^{k \frac{2 \pi i}{N}} = e^{0 \frac{2 \pi i}{N}}=w^0=1ekN2πi​=e0N2πi​=w0=1
k=1,N+1,−N+1,2N+1,−2N+1...k=1,N+1,-N+1,2N+1,-2N+1...k=1,N+1,−N+1,2N+1,−2N+1...时,ek2πiN=e12πiN=w1e^{k \frac{2 \pi i}{N}} = e^{1 \frac{2 \pi i}{N}}=w^1ekN2πi​=e1N2πi​=w1

k=N−1,2N−1,−1,3N−1,−N−1...k=N-1,2N-1,-1,3N-1,-N-1...k=N−1,2N−1,−1,3N−1,−N−1...时,ek2πiN=e(N−1)2πiN=wN−1e^{k \frac{2 \pi i}{N}} = e^{(N-1) \frac{2 \pi i}{N}}=w^{N-1}ekN2πi​=e(N−1)N2πi​=wN−1

所以式(1.3)(1.3)(1.3)为:
f1=f(2πN)=∑k=−∞∞ckek2πiN=(c0+cN+c−N+c2N+c−2N+⋯)w0+(c1+cN+1+c2N+1+c−N+1+c−2N+1⋯)w1+(c2+cN+2+c2N+2+c−N+2+c−2N+2⋯)w2⋯+(cN−1+c2N−1+c3N−1+c−1+c−N−1⋯)wN−1(1.3)\begin{aligned} f_{1}&=f\left(\frac{2 \pi}{N}\right)=\sum_{k=-\infty}^{\infty} c_{k} e^{k \frac{2 \pi i}{N}}\\ &=\left(c_{0}+c_{N}+c_{-N}+c_{2 N}+c_{-2 N}+\cdots\right) w^{0} \\ &\quad+\left(c_{1}+c_{N+1}+c_{2 N+1}+c_{-N+1}+c_{-2 N+1} \cdots\right) w^{1} \\ &\quad+\left(c_{2}+c_{N+2}+c_{2 N+2}+c_{-N+2}+c_{-2 N+2} \cdots\right) w^{2} \\ &\quad\quad \cdots \\ &\quad+\left(c_{N-1}+c_{2 N-1}+c_{3 N-1}+c_{-1}+c_{-N-1} \cdots\right) w^{N-1} \end{aligned}\tag{1.3} f1​​=f(N2π​)=k=−∞∑∞​ck​ekN2πi​=(c0​+cN​+c−N​+c2N​+c−2N​+⋯)w0+(c1​+cN+1​+c2N+1​+c−N+1​+c−2N+1​⋯)w1+(c2​+cN+2​+c2N+2​+c−N+2​+c−2N+2​⋯)w2⋯+(cN−1​+c2N−1​+c3N−1​+c−1​+c−N−1​⋯)wN−1​(1.3)

结论: f(2πN)f\left(\frac{2 \pi}{N}\right)f(N2π​) 的函数值, 只需要 NNN 个基就能得到,不需要无穷多个基, 只要得
到这 NNN 个基的 NNN 个系数就可以。

假如取t=22πNt=2\frac{2 \pi}{N}t=2N2π​带入式(1.2)(1.2)(1.2)中:

可得:

f2=f(22πN)=(c0+cN+c−N+c2N+c−2N+⋯)w0+(c1+cN+1+c2N+1+c−N+1+c−2N+1⋯)w2+(c2+cN+2+c2N+2+c−N+2+c−2N+2⋯)w4⋯+(cN−1+c2N−1+c3N−1+c−1+c−N−1⋯)w2(N−1)(1.4)\begin{aligned} f_{2}=&f\left(2 \frac{2 \pi}{N}\right)=\left(c_{0}+c_{N}+c_{-N}+c_{2 N}+c_{-2 N}+\cdots\right) w^{0} \\ &+\left(c_{1}+c_{N+1}+c_{2 N+1}+c_{-N+1}+c_{-2 N+1} \cdots\right) w^{2} \\ &+\left(c_{2}+c_{N+2}+c_{2 N+2}+c_{-N+2}+c_{-2 N+2} \cdots\right) w^{4} \\ & \cdots \\ &+\left(c_{N-1}+c_{2 N-1}+c_{3 N-1}+c_{-1}+c_{-N-1} \cdots\right) w^{2(N-1)} \end{aligned}\tag{1.4} f2​=​f(2N2π​)=(c0​+cN​+c−N​+c2N​+c−2N​+⋯)w0+(c1​+cN+1​+c2N+1​+c−N+1​+c−2N+1​⋯)w2+(c2​+cN+2​+c2N+2​+c−N+2​+c−2N+2​⋯)w4⋯+(cN−1​+c2N−1​+c3N−1​+c−1​+c−N−1​⋯)w2(N−1)​(1.4)
同理可以求得x=02πN,x=22πN,32πN...(N−1)2πNx=0\frac{2 \pi}{N},x=2\frac{2 \pi}{N},3\frac{2 \pi}{N}...(N-1)\frac{2 \pi}{N}x=0N2π​,x=2N2π​,3N2π​...(N−1)N2π​时f(x)f(x)f(x)的展开形式。

小结:
wkw^{k}wk 对任何整数 kkk,都对应 w0,w1,⋯,wN−1w^{0}, w^{1}, \cdots, w^{N-1}w0,w1,⋯,wN−1 中的一个

所以上图中离散采样的8个点,都可以只用w0,w1,⋯,wN−1w^{0}, w^{1}, \cdots, w^{N-1}w0,w1,⋯,wN−1 这8个基来表示。
而f0,f1,⋯,fN−1f_{0}, f_{1}, \cdots, f_{N-1}f0​,f1​,⋯,fN−1​和w0,w1,⋯,wN−1w^{0}, w^{1}, \cdots, w^{N-1}w0,w1,⋯,wN−1是已知,把括号中当做未知数,那么8个方程可以解得8个未知数。

此外假设傅里叶变换展开系数只包含c0,c1,⋯,cN−1c_{0}, c_{1}, \cdots, c_{N-1}c0​,c1​,⋯,cN−1​,那么就有结合式(1.2)(1.2)(1.2):
f(x)=c0+c1eix+c2ei2x+⋯+cN−1ei(N−1)xf(02πN)=c0+c1+c2+⋯+cN−1f(12πN)=c0+c1w+c2w2+⋯+cN−1wN−1f(22πN)=c0+c1w2+c2w4+⋯+cN−1w2(N−1)f(32πN)=c0+c1w3+c2w6+⋯+cN−1w3(N−1)⋯f((N−1)2πN)=c0+c1wN−1+c2w2(N−1)+⋯+cN−1w(N−1)2(1.5)\begin{aligned} &f(x)=c_{0}+c_{1} e^{i x}+c_{2} e^{i 2 x}+\cdots+c_{N-1} e^{i(N-1) x} \\ &f\left(0 \frac{2 \pi}{N}\right)=c_{0}+c_{1}+c_{2}+\cdots+c_{N-1} \\ &f\left(1 \frac{2 \pi}{N}\right)=c_{0}+c_{1} w+c_{2} w^{2}+\cdots+c_{N-1} w^{N-1} \\ &f\left(2 \frac{2 \pi}{N}\right)=c_{0}+c_{1} w^{2}+c_{2} w^{4}+\cdots+c_{N-1} w^{2(N-1)} \\ &f\left(3 \frac{2 \pi}{N}\right)=c_{0}+c_{1} w^{3}+c_{2} w^{6}+\cdots+c_{N-1} w^{3(N-1)} \\ &\cdots \\ &f\left((N-1) \frac{2 \pi}{N}\right)=c_{0}+c_{1} w^{N-1}+c_{2} w^{2(N-1)}+\cdots+c_{N-1} w^{(N-1)^{2}} \end{aligned}\tag{1.5} ​f(x)=c0​+c1​eix+c2​ei2x+⋯+cN−1​ei(N−1)xf(0N2π​)=c0​+c1​+c2​+⋯+cN−1​f(1N2π​)=c0​+c1​w+c2​w2+⋯+cN−1​wN−1f(2N2π​)=c0​+c1​w2+c2​w4+⋯+cN−1​w2(N−1)f(3N2π​)=c0​+c1​w3+c2​w6+⋯+cN−1​w3(N−1)⋯f((N−1)N2π​)=c0​+c1​wN−1+c2​w2(N−1)+⋯+cN−1​w(N−1)2​(1.5)

注意此时 w=eixw=e^{ix}w=eix,与xxx取值有关。

于是有下面矩阵关系:
[f0f1f2f3⋮fN−1]=[1111⋯11ww2w3⋯wN−11w2w4w6⋯w2(N−1)1w3w6w9⋯w3(N−1)⋮⋮⋮⋮⋮⋮1wN−1w2(N−1)w3(N−1)⋯w(N−1)2][c0c1c2c3⋮cN−1](1.6)\left[\begin{array}{c} f_{0} \\ f_{1} \\ f_{2} \\ f_{3} \\ \vdots \\ f_{N-1} \end{array}\right]=\left[\begin{array}{cccccc} 1 & 1 & 1 & 1 & \cdots & 1 \\ 1 & w & w^{2} & w^{3} & \cdots & w^{N-1} \\ 1 & w^{2} & w^{4} & w^{6} & \cdots & w^{2(N-1)} \\ 1 & w^{3} & w^{6} & w^{9} & \cdots & w^{3(N-1)} \\ \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\ 1 & w^{N-1} & w^{2(N-1)} & w^{3(N-1)} & \cdots & w^{(N-1)^{2}} \end{array}\right]\left[\begin{array}{c} c_{0} \\ c_{1} \\ c_{2} \\ c_{3} \\ \vdots \\ c_{N-1} \end{array}\right]\tag{1.6} ⎣⎢⎢⎢⎢⎢⎢⎢⎡​f0​f1​f2​f3​⋮fN−1​​⎦⎥⎥⎥⎥⎥⎥⎥⎤​=⎣⎢⎢⎢⎢⎢⎢⎢⎡​1111⋮1​1ww2w3⋮wN−1​1w2w4w6⋮w2(N−1)​1w3w6w9⋮w3(N−1)​⋯⋯⋯⋯⋮⋯​1wN−1w2(N−1)w3(N−1)⋮w(N−1)2​⎦⎥⎥⎥⎥⎥⎥⎥⎤​⎣⎢⎢⎢⎢⎢⎢⎢⎡​c0​c1​c2​c3​⋮cN−1​​⎦⎥⎥⎥⎥⎥⎥⎥⎤​(1.6)

f=FNcf=F_N c f=FN​c


FNFN∗=N[1000⋱0001]FN−1=1NFN∗F_{N} F_{N}^{*}=N\left[\begin{array}{ccc} 1 & 0 & 0 \\ 0 & \ddots & 0 \\ 0 & 0 & 1 \end{array}\right] \quad \quad \quad \quad \quad \quad F_{N}^{-1}=\frac{1}{N} F_{N}^{*} FN​FN∗​=N⎣⎡​100​0⋱0​001​⎦⎤​FN−1​=N1​FN∗​


1N[1111⋯11wˉwˉ2wˉ3⋯wˉN−11wˉ2wˉ4wˉ6⋯wˉ2(N−1)1w3w6w9⋯w3(N−1)⋮⋮⋮⋮⋮⋮1wˉN−1wˉ2(N−1)wˉ3(N−1)⋯wˉ(N−1)2][f0f1f2f3⋮fN−1]=[c0c1c2c3⋮cN−1](1.7)\frac{1}{N}\left[\begin{array}{cccccc} 1 & 1 & 1 & 1 & \cdots & 1 \\ 1 & \bar{w} & \bar{w}^{2} & \bar{w}^{3} & \cdots & \bar{w}^{N-1} \\ 1 & \bar{w}^{2} & \bar{w}^{4} & \bar{w}^{6} & \cdots & \bar{w}^{2(N-1)} \\ 1 & w^{3} & w^{6} & w^{9} & \cdots & w^{3(N-1)} \\ \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\ 1 & \bar{w}^{N-1} & \bar{w}^{2(N-1)} & \bar{w}^{3(N-1)} & \cdots & \bar{w}^{(N-1)^{2}} \end{array}\right]\left[\begin{array}{c} f_{0} \\ f_{1} \\ f_{2} \\ f_{3} \\ \vdots \\ f_{N-1} \end{array}\right]=\left[\begin{array}{c} c_{0} \\ c_{1} \\ c_{2} \\ c_{3} \\ \vdots \\ c_{N-1} \end{array}\right]\tag{1.7} N1​⎣⎢⎢⎢⎢⎢⎢⎢⎡​1111⋮1​1wˉwˉ2w3⋮wˉN−1​1wˉ2wˉ4w6⋮wˉ2(N−1)​1wˉ3wˉ6w9⋮wˉ3(N−1)​⋯⋯⋯⋯⋮⋯​1wˉN−1wˉ2(N−1)w3(N−1)⋮wˉ(N−1)2​⎦⎥⎥⎥⎥⎥⎥⎥⎤​⎣⎢⎢⎢⎢⎢⎢⎢⎡​f0​f1​f2​f3​⋮fN−1​​⎦⎥⎥⎥⎥⎥⎥⎥⎤​=⎣⎢⎢⎢⎢⎢⎢⎢⎡​c0​c1​c2​c3​⋮cN−1​​⎦⎥⎥⎥⎥⎥⎥⎥⎤​(1.7)

FN−1f=cF_N^{-1}f=c FN−1​f=c
其中,FNF_NFN​就是傅里叶矩阵,FN−1f=cF_N^{-1}f=cFN−1​f=c就是离散傅里叶变换(DFT),FNc=fF_Nc=fFN​c=f就是离散傅里叶逆变换(IDFT)。

书上的DFT公式:
X[k]=∑n=0N−1x[n]e−k2πniN\quad X[k]=\sum_{n=0}^{N-1} x[n] e^{-k \frac{2 \pi n i}{N}}X[k]=n=0∑N−1​x[n]e−kN2πni​

和矩阵形式对比有以下对应关系:
[x[0]x[1]x[2]x[3]⋮x[N−1]]=[f0f1f2f3⋮fN−1]\left[\begin{array}{c} x[0] \\ x[1] \\ x[2] \\ x[3] \\ \vdots \\ x[N-1] \end{array}\right]=\left[\begin{array}{c} f_{0} \\ f_{1} \\ f_{2} \\ f_{3} \\ \vdots \\ f_{N-1} \end{array}\right] ⎣⎢⎢⎢⎢⎢⎢⎢⎡​x[0]x[1]x[2]x[3]⋮x[N−1]​⎦⎥⎥⎥⎥⎥⎥⎥⎤​=⎣⎢⎢⎢⎢⎢⎢⎢⎡​f0​f1​f2​f3​⋮fN−1​​⎦⎥⎥⎥⎥⎥⎥⎥⎤​

[X[0]X[1]X[2]X[3]⋮X[N−1]]=N[c0c1c2c3⋮cN−1]\left[\begin{array}{c} X[0] \\ X[1] \\ X[2] \\ X[3] \\ \vdots \\ X[N-1] \end{array}\right]=N\left[\begin{array}{c} c_{0} \\ c_{1} \\ c_{2} \\ c_{3} \\ \vdots \\ c_{N-1} \end{array}\right] ⎣⎢⎢⎢⎢⎢⎢⎢⎡​X[0]X[1]X[2]X[3]⋮X[N−1]​⎦⎥⎥⎥⎥⎥⎥⎥⎤​=N⎣⎢⎢⎢⎢⎢⎢⎢⎡​c0​c1​c2​c3​⋮cN−1​​⎦⎥⎥⎥⎥⎥⎥⎥⎤​

注意在式(1.7)(1.7)(1.7)中,wˉ=e−k2πiN\bar{w}=e^{-k \frac{2 \pi i}{N}}wˉ=e−kN2πi​

例1(复数函数)

对下列函数进行DFT:
f(x)=1+eix+ei2x+ei3x(1.8)f(x)=1+e^{i x}+e^{i 2 x}+e^{i 3 x}\tag{1.8} f(x)=1+eix+ei2x+ei3x(1.8)
N=4时:
f(0)=4f(12π4)=f(22π4)=f(32π4)=0f(0)=4 \quad f\left(1 \frac{2 \pi}{4}\right)=f\left(2 \frac{2 \pi}{4}\right)=f\left(3 \frac{2 \pi}{4}\right)=0 f(0)=4f(142π​)=f(242π​)=f(342π​)=0
于是:
w=e2πi4=iw=e^{\frac{2 \pi i}{4}}=i w=e42πi​=i

[11111ww2w31w2w4w61w3w6w9]−1[4000]=[1111]\left[\begin{array}{cccc} 1 & 1 & 1 & 1 \\ 1 & w & w^{2} & w^{3} \\ 1 & w^{2} & w^{4} & w^{6} \\ 1 & w^{3} & w^{6} & w^{9} \end{array}\right]^{-1}\left[\begin{array}{l} 4 \\ 0 \\ 0 \\ 0 \end{array}\right]=\left[\begin{array}{l} 1 \\ 1 \\ 1 \\ 1 \end{array}\right] ⎣⎢⎢⎡​1111​1ww2w3​1w2w4w6​1w3w6w9​⎦⎥⎥⎤​−1⎣⎢⎢⎡​4000​⎦⎥⎥⎤​=⎣⎢⎢⎡​1111​⎦⎥⎥⎤​

因此:c0=1,c1=1,c2=1,c3=1c_0=1,c_1=1,c_2=1,c_3=1c0​=1,c1​=1,c2​=1,c3​=1
即:
f(x)=1+eix+ei2x+ei3xf(x)=1+e^{i x}+e^{i 2 x}+e^{i 3 x} f(x)=1+eix+ei2x+ei3x
注意:式(1.5)(1.5)(1.5)中f(x)f(x)f(x)在每个采样点展开形式不一样(w0,w1,⋯,wN−1w^{0}, w^{1}, \cdots, w^{N-1}w0,w1,⋯,wN−1),但是系数是一样的。也就可以确定函数的展开式f(x)=c0+c1eix+c2ei2x+⋯+cN−1ei(N−1)xf(x)=c_{0}+c_{1} e^{i x}+c_{2} e^{i 2 x}+\cdots+c_{N-1} e^{i(N-1) x}f(x)=c0​+c1​eix+c2​ei2x+⋯+cN−1​ei(N−1)x系数。


N=3时:
f(0)=4f(2π3)=1f(22π3)=1f(0)=4 \quad f\left(\frac{2 \pi}{3}\right)=1 \quad f\left(2 \frac{2 \pi}{3}\right)=1 f(0)=4f(32π​)=1f(232π​)=1
于是:
w=e2πi3=−12+32iw=e^{\frac{2 \pi i}{3}}=-\frac{1}{2}+\frac{\sqrt{3}}{2} i w=e32πi​=−21​+23​​i

[1111ww21w2w4]−1[411]=[211]\left[\begin{array}{ccc} 1 & 1 & 1 \\ 1 & w & w^{2} \\ 1 & w^{2} & w^{4} \end{array}\right]^{-1}\left[\begin{array}{l} 4 \\ 1 \\ 1 \end{array}\right]=\left[\begin{array}{l} 2 \\ 1 \\ 1 \end{array}\right] ⎣⎡​111​1ww2​1w2w4​⎦⎤​−1⎣⎡​411​⎦⎤​=⎣⎡​211​⎦⎤​
因此:c0=2,c1=1,c2=1c_0=2,c_1=1,c_2=1c0​=2,c1​=1,c2​=1
即:
f(x)=2+eix+ei2xf(x)=2+e^{i x}+e^{i 2 x} f(x)=2+eix+ei2x
而实际上c0+c3=2,c1=1,c2=1c_0+c_3=2,c_1=1,c_2=1c0​+c3​=2,c1​=1,c2​=1。假设傅里叶变换展开系数只包含c0,c1,⋯,cN−1c_{0}, c_{1}, \cdots, c_{N-1}c0​,c1​,⋯,cN−1​就只能解得合并的结果。


N=6时:
f(0)=4f(12π6)=3if(22π6)=1f(32π6)=0f(42π6)=1f(42π6)=−3i\begin{aligned} &f(0)=4 \quad f\left(1 \frac{2 \pi}{6}\right)=\sqrt{3} i \quad f\left(2 \frac{2 \pi}{6}\right)=1 \\ &f\left(3 \frac{2 \pi}{6}\right)=0 \quad f\left(4 \frac{2 \pi}{6}\right)=1 \quad f\left(4 \frac{2 \pi}{6}\right)=-\sqrt{3} i \end{aligned} ​f(0)=4f(162π​)=3​if(262π​)=1f(362π​)=0f(462π​)=1f(462π​)=−3​i​

于是:
w=e2πi6=12+32iw=e^{\frac{2 \pi i}{6}}=\frac{1}{2}+\frac{\sqrt{3}}{2} i w=e62πi​=21​+23​​i

W6−1[43i101−3i]=[111100]W_{6}^{-1}\left[\begin{array}{c} 4 \\ \sqrt{3} i \\ 1 \\ 0 \\ 1 \\ -\sqrt{3} i \end{array}\right]=\left[\begin{array}{l} 1 \\ 1 \\ 1 \\ 1 \\ 0 \\ 0 \end{array}\right] W6−1​⎣⎢⎢⎢⎢⎢⎢⎡​43​i101−3​i​⎦⎥⎥⎥⎥⎥⎥⎤​=⎣⎢⎢⎢⎢⎢⎢⎡​111100​⎦⎥⎥⎥⎥⎥⎥⎤​

因此,c0=1,c1=1,c2=1,c3=1,c4=0,c5=0c_0=1,c_1=1,c_2=1,c_3=1,c_4=0,c_5=0c0​=1,c1​=1,c2​=1,c3​=1,c4​=0,c5​=0
即:
f(x)=1+eix+ei2x+ei3x+0ei4x+0ei5xf(x)=1+e^{i x}+e^{i 2 x}+e^{i 3 x}+0e^{i 4 x}+0e^{i 5 x} f(x)=1+eix+ei2x+ei3x+0ei4x+0ei5x

例2(实值函数)

对下列函数进行DFT:
f(x)=1+cos⁡(x)+cos⁡(2x)(1.9)f(x)=1+\cos (x)+\cos (2 x)\tag{1.9} f(x)=1+cos(x)+cos(2x)(1.9)

欧拉公式可知:
cos⁡θ=12(eiθ+e−iθ)sin⁡θ=−12i(eiθ−e−iθ)\begin{aligned} &\cos \theta=\frac{1}{2}\left(e^{i \theta}+e^{-i \theta}\right) \\ &\sin \theta=-\frac{1}{2} i\left(e^{i \theta}-e^{-i \theta}\right) \end{aligned} ​cosθ=21​(eiθ+e−iθ)sinθ=−21​i(eiθ−e−iθ)​
所以式(1.9)(1.9)(1.9)可转为:
f(x)=12e−i2x+12e−ix+1+12eix+12ei2xf(x)=\frac{1}{2} e^{-i 2 x}+\frac{1}{2} e^{-i x}+1+\frac{1}{2} e^{i x}+\frac{1}{2} e^{i 2 x} f(x)=21​e−i2x+21​e−ix+1+21​eix+21​ei2x
后面的DFT和例1一样。

例3

例1和例2都是已知函数,对其采样,进行DFT。
例3未知函数,在给出采样点情况下求DFT。
现在,不假设傅里叶变换展开系数只包含c0,c1,⋯,cN−1c_{0}, c_{1}, \cdots, c_{N-1}c0​,c1​,⋯,cN−1​

已知周期(T=2πT=2\piT=2π函数的4个采样点值:
[4000]\left[\begin{array}{l} 4 \\ 0 \\ 0 \\ 0 \end{array}\right] ⎣⎢⎢⎡​4000​⎦⎥⎥⎤​

则:
w=e2πi4=iw=e^{\frac{2 \pi i}{4}}=i w=e42πi​=i

f(x):{f(02π4)=4f(12π4)=0f(22π4)=0f(32π4)=0\begin{array}{r} f(x):\left\{\begin{aligned} f\left(0 \frac{2 \pi}{4}\right)=4 \\ f\left(1 \frac{2 \pi}{4}\right)=0 \\ f\left(2 \frac{2 \pi}{4}\right)=0 \\ f\left(3 \frac{2 \pi}{4}\right)=0 \end{aligned}\right. \end{array} f(x):⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧​f(042π​)=4f(142π​)=0f(242π​)=0f(342π​)=0​​

类似式(1.3)(1.3)(1.3)和(1.4)(1.4)(1.4)的求法:

f(x)=∑k=−∞∞ckeikxf(x)=\sum_{k=-\infty}^{\infty} c_{k} e^{i k x}f(x)=k=−∞∑∞​ck​eikx

f(02π4)=(⋯+c−4+c0+c4+⋯)w0+(⋯+c−3+c1+c5+⋯)w0+(⋯+c−2+c2+c6+⋯)w0+(⋯+c−1+c3+c7+⋯)w0\begin{aligned} f\left(0 \frac{2 \pi}{4}\right) &=\left(\cdots+c_{-4}+c_{0}+c_{4}+\cdots\right) w^{0} \\ &+\left(\cdots+c_{-3}+c_{1}+c_{5}+\cdots\right) w^{0} \\ &+\left(\cdots+c_{-2}+c_{2}+c_{6}+\cdots\right) w^{0} \\ &+\left(\cdots+c_{-1}+c_{3}+c_{7}+\cdots\right) w^{0} \end{aligned} f(042π​)​=(⋯+c−4​+c0​+c4​+⋯)w0+(⋯+c−3​+c1​+c5​+⋯)w0+(⋯+c−2​+c2​+c6​+⋯)w0+(⋯+c−1​+c3​+c7​+⋯)w0​

f(12π4)=(⋯+c−4+c0+c4+⋯)w0+(⋯+c−3+c1+c5+⋯)w1+(⋯+c−2+c2+c6+⋯)w2+(⋯+c−1+c3+c7+⋯)w3\begin{aligned} f\left(1 \frac{2 \pi}{4}\right)=&\left(\cdots+c_{-4}+c_{0}+c_{4}+\cdots\right) w^{0} \\ +&\left(\cdots+c_{-3}+c_{1}+c_{5}+\cdots\right) w^{1} \\ &+\left(\cdots+c_{-2}+c_{2}+c_{6}+\cdots\right) w^{2} \\ &+\left(\cdots+c_{-1}+c_{3}+c_{7}+\cdots\right) w^{3} \end{aligned} f(142π​)=+​(⋯+c−4​+c0​+c4​+⋯)w0(⋯+c−3​+c1​+c5​+⋯)w1+(⋯+c−2​+c2​+c6​+⋯)w2+(⋯+c−1​+c3​+c7​+⋯)w3​

f(22π4)=(⋯+c−4+c0+c4+⋯)w0+(⋯+c−3+c1+c5+⋯)w2+(⋯+c−2+c2+c6+⋯)w4+(⋯+c−1+c3+c7+⋯)w6\begin{aligned} f\left(2 \frac{2 \pi}{4}\right) &=\left(\cdots+c_{-4}+c_{0}+c_{4}+\cdots\right) w^{0} \\ &+\left(\cdots+c_{-3}+c_{1}+c_{5}+\cdots\right) w^{2} \\ &+\left(\cdots+c_{-2}+c_{2}+c_{6}+\cdots\right) w^{4} \\ &+\left(\cdots+c_{-1}+c_{3}+c_{7}+\cdots\right) w^{6} \end{aligned} f(242π​)​=(⋯+c−4​+c0​+c4​+⋯)w0+(⋯+c−3​+c1​+c5​+⋯)w2+(⋯+c−2​+c2​+c6​+⋯)w4+(⋯+c−1​+c3​+c7​+⋯)w6​

f(32π4)=(⋯+c−4+c0+c4+⋯)w0+(⋯+c−3+c1+c5+⋯)w3+(⋯+c−2+c2+c6+⋯)w6+(⋯+c−1+c3+c7+⋯)w9\begin{aligned} f\left(3 \frac{2 \pi}{4}\right)=&\left(\cdots+c_{-4}+c_{0}+c_{4}+\cdots\right) w^{0} \\ &+\left(\cdots+c_{-3}+c_{1}+c_{5}+\cdots\right) w^{3} \\ &+\left(\cdots+c_{-2}+c_{2}+c_{6}+\cdots\right) w^{6} \\ &+\left(\cdots+c_{-1}+c_{3}+c_{7}+\cdots\right) w^{9} \end{aligned} f(342π​)=​(⋯+c−4​+c0​+c4​+⋯)w0+(⋯+c−3​+c1​+c5​+⋯)w3+(⋯+c−2​+c2​+c6​+⋯)w6+(⋯+c−1​+c3​+c7​+⋯)w9​

类似式(1.6)(1.6)(1.6),但是不假设傅里叶变换展开系数只包含c0,c1,⋯,cN−1c_{0}, c_{1}, \cdots, c_{N-1}c0​,c1​,⋯,cN−1​,于是有:
[f(02π4)f(12π4)f(22π4)f(32π4)]=[11111ww2w31w2w4w61w3w6w9][(⋯+c−4+c0+c4+⋯)(⋯+c−3+c1+c5+⋯)(⋯+c−2+c2+c6+⋯)(⋯+c−1+c3+c7+⋯)]\left[\begin{array}{c} f\left(0 \frac{2 \pi}{4}\right) \\ f\left(1 \frac{2 \pi}{4}\right) \\ f\left(2 \frac{2 \pi}{4}\right) \\ f\left(3 \frac{2 \pi}{4}\right) \end{array}\right]=\left[\begin{array}{cccc} 1 & 1 & 1 & 1 \\ 1 & w & w^{2} & w^{3} \\ 1 & w^{2} & w^{4} & w^{6} \\ 1 & w^{3} & w^{6} & w^{9} \end{array}\right]\left[\begin{array}{l} \left(\cdots+c_{-4}+c_{0}+c_{4}+\cdots\right) \\ \left(\cdots+c_{-3}+c_{1}+c_{5}+\cdots\right) \\ \left(\cdots+c_{-2}+c_{2}+c_{6}+\cdots\right) \\ \left(\cdots+c_{-1}+c_{3}+c_{7}+\cdots\right) \end{array}\right] ⎣⎢⎢⎡​f(042π​)f(142π​)f(242π​)f(342π​)​⎦⎥⎥⎤​=⎣⎢⎢⎡​1111​1ww2w3​1w2w4w6​1w3w6w9​⎦⎥⎥⎤​⎣⎢⎢⎡​(⋯+c−4​+c0​+c4​+⋯)(⋯+c−3​+c1​+c5​+⋯)(⋯+c−2​+c2​+c6​+⋯)(⋯+c−1​+c3​+c7​+⋯)​⎦⎥⎥⎤​

可以发现ccc是按模4取得。
求解上式可得:
c=[1111]=[(⋯+c−4+c0+c4+⋯)(⋯+c−3+c1+c5+⋯)(⋯+c−2+c2+c6+⋯)(⋯+c−1+c3+c7+⋯)]c=\left[\begin{array}{l} 1 \\ 1 \\ 1 \\ 1 \end{array}\right]=\left[\begin{array}{l} \left(\cdots+c_{-4}+c_{0}+c_{4}+\cdots\right) \\ \left(\cdots+c_{-3}+c_{1}+c_{5}+\cdots\right) \\ \left(\cdots+c_{-2}+c_{2}+c_{6}+\cdots\right) \\ \left(\cdots+c_{-1}+c_{3}+c_{7}+\cdots\right) \end{array}\right] c=⎣⎢⎢⎡​1111​⎦⎥⎥⎤​=⎣⎢⎢⎡​(⋯+c−4​+c0​+c4​+⋯)(⋯+c−3​+c1​+c5​+⋯)(⋯+c−2​+c2​+c6​+⋯)(⋯+c−1​+c3​+c7​+⋯)​⎦⎥⎥⎤​
于是下面求得的函数都满足ccc
(1):f(x)=1+eix+ei2x+ei3x(2):f(x)=1+eix+ei2x+e−ix(3):f(x)=12e−ix+1+eix+ei2x+12ei3x(4):f(x)=1+13eix+13ei5x+13ei9x+ei2x+ei3x\begin{aligned} &(1):f(x)=1+e^{i x}+e^{i 2 x}+e^{i 3 x} \\ &(2):f(x)=1+e^{i x}+e^{i 2 x}+e^{-i x} \\ &(3):f(x)=\frac{1}{2} e^{-i x}+1+e^{i x}+e^{i 2 x}+\frac{1}{2} e^{i 3 x} \\ &(4):f(x)=1+\frac{1}{3} e^{i x}+\frac{1}{3} e^{i 5 x}+\frac{1}{3} e^{i 9 x}+e^{i 2 x}+e^{i 3 x} \end{aligned} ​(1):f(x)=1+eix+ei2x+ei3x(2):f(x)=1+eix+ei2x+e−ix(3):f(x)=21​e−ix+1+eix+ei2x+21​ei3x(4):f(x)=1+31​eix+31​ei5x+31​ei9x+ei2x+ei3x​

比如(4):
c0=1c1=13,c5=13,c9=13c2=1c3=1\begin{aligned} &c_0=1\\ &c_1=\frac{1}{3},c_5=\frac{1}{3},c_9=\frac{1}{3}\\ &c_2=1\\ &c_3=1 \end{aligned} ​c0​=1c1​=31​,c5​=31​,c9​=31​c2​=1c3​=1​


既然存在无限多函数组合,所以我们假设傅里叶变换展开系数只包含c0,c1,⋯,cN−1c_{0}, c_{1}, \cdots, c_{N-1}c0​,c1​,⋯,cN−1​,于是有:
c=[1111]=[c0c1c2c3]c=\left[\begin{array}{l} 1 \\ 1 \\ 1 \\ 1 \end{array}\right]=\left[\begin{array}{l} c_0 \\ c_1 \\ c_2 \\ c_3 \end{array}\right] c=⎣⎢⎢⎡​1111​⎦⎥⎥⎤​=⎣⎢⎢⎡​c0​c1​c2​c3​​⎦⎥⎥⎤​

f(x)=1+eix+ei2x+ei3xf(x)=1+e^{i x}+e^{i 2 x}+e^{i 3 x} f(x)=1+eix+ei2x+ei3x

所以当原函数存在高频,就比如(4)存在ei5x,ei9xe^{i 5 x}, e^{i 9 x}ei5x,ei9x这种函数就无法得出,因为我在上面假设情况下总是做低频处理。所以DFT的缺点就是丢失了高频信号,但是当采样点足够多,比如原函数最高频率对应就为ei9xe^{i 9 x}ei9x,而采样点数目刚好为9个,就可以完整恢复原函数。

离散傅立叶变换推导(DF、IDFT)相关推荐

  1. 理解离散傅立叶变换(三.复数)

    理解离散傅立叶变换(三) ------复数形式离散傅立叶变换 复数形式的离散傅立叶变换非常巧妙地运用了复数的方法,使得傅立叶变换变换更加自然和简洁,它并不是只是简单地运用替换的方法来运用复数,而是完全 ...

  2. 傅立叶变换系列(四)离散傅立叶变换

    说明: 傅里叶级数.傅里叶变换.离散傅里叶变换.短时傅里叶变换...这些理解和应用都非常难,网上的文章有两个极端:"Esay"  Or  "Boring"!如果 ...

  3. 离散傅立叶变换与逆变换

    一.怎样为一副图像增加一个通道 Mat A=(Mat_<double>(3,3)<<1,2,3,4,5,6,7,8,9);Mat B=Mat::zeros(A.size(),A ...

  4. 理解离散傅立叶变换(一)——傅立叶变换的由来

    理解离散傅立叶变换(一) --傅立叶变换的由来 关于傅立叶变换,无论是书本还是在网上可以很容易找到关于傅立叶变换的描述,但是大都是些故弄玄虚的文章,太过抽象,尽是一些让人看了就望而生畏的公式的罗列,让 ...

  5. 理解离散傅立叶变换(四. 复数形式离散傅立叶变换)

    原文链接 https://blog.csdn.net/dznlong/article/details/2280867 理解离散傅立叶变换(四) ------复数形式离散傅立叶变换 复数形式的离散傅立叶 ...

  6. OpenCV 【十七】离散傅立叶变换

    目录 1 key 2 原理 3 实例 3代码 4运行结果 5应用举例 1 key 什么是傅立叶变换及其应用? 如何使用OpenCV提供的傅立叶变换? 相关函数的使用,如: copyMakeBorder ...

  7. 理解离散傅立叶变换(一)

    理解离散傅立叶变换(一) ------傅立叶变换的由来 关于傅立叶变换,无论是书本还是在网上可以很容易找到关于傅立叶变换的描述,但是大都是些故弄玄虚的 文章,太过抽象,尽是一些让人看了就望而生畏的公式 ...

  8. UA OPTI512R 傅立叶光学导论17 离散傅立叶变换简介

    UA OPTI512R 傅立叶光学导论17 离散傅立叶变换简介 DFT及其矩阵形式 DFT的性质 上一讲提到对连续波形f(x)f(x)f(x)做周期性采样时可以用采样函数来表示采样结果: fS(x)= ...

  9. OpenCV之core 模块. 核心功能(2)基本绘图 随机数发生器绘制文字 离散傅立叶变换 输入输出XML和YAML文件 与 OpenCV 1 同时使用

    基本绘图 目的 本节你将学到: 如何用 Point 在图像中定义 2D 点 如何以及为何使用 Scalar 用OpenCV的函数 line 绘 直线 用OpenCV的函数 ellipse 绘 椭圆 用 ...

最新文章

  1. R语言使用ggpubr包绘制出版社、编辑、审稿人要求的可视化图形实战
  2. python序列化模块json和pickle
  3. 图像二值形态学——腐蚀和膨胀的C语言实现
  4. Jquery 概念性内容编辑器
  5. 一次.net托管内存泄露分析
  6. Oracl数据库中大数据的备份-1
  7. 编写高质量代码改善C#程序的157个建议——建议130:以复数命名枚举类型,以单数命名枚举元素...
  8. flask websocket json_Win10环境下使用Flask配合Celery异步推送实时/定时消息/2020年最新攻略...
  9. [Scottgu]ASP.NET vNext系列——数据选择
  10. Java 程序员必会的「垃圾回收」算法
  11. 什么是UV PV DAU MAU
  12. 《MultiPoseNet: Fast Multi-Person Pose Estimation using Pose Residual Network》论文阅读
  13. Ubuntu下开机自启动脚本 init supervisor systemd
  14. 软件测试选哪个技术方向分支_硬件测试转软件测试,应该选哪个方向
  15. Chrome的插件安装与使用
  16. MLY -- 5.your development and test sets
  17. mysql查询每行重复_MySQL查询返回重复的行
  18. 如何动态使用烘焙出来的ReflectionProbe-0.exr信息
  19. 让人爱不释手的工具,每款都是高质量工具分享
  20. SpringSecurity-密码存储方式

热门文章

  1. 组策略学习-统一部署桌面壁纸
  2. (附源码)ssm保险办理系统 毕业设计 012232
  3. 【Get深一度】相控阵雷达信号环境模型建立-相控阵雷达原理
  4. nextjs 错误日志收集
  5. 在 HTML 中 清除浮动四种的方法
  6. 什么是 MySQL 监控
  7. Matlab画柱状图(二维)
  8. 计算机预测准确度高低公式,通达信短线达人准确度相当高指标公式
  9. 四个视角,讲透额温枪应用设计中的运放问题
  10. 淘宝双十一喵果总动员一共多少级?喵果总动员什么时候兑换红包