离散傅立叶变换推导(DF、IDFT)
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=−∞∑∞Cneinω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∫0Tf(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=−∞∑∞ckeikt(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∫0Tf(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=−∞∑∞ckekN2πi=⋯+c−2e−2N2πi+c−1e−1N2πi+c0e0N2πi+c1e1N2πi+c2e2N2πi+⋯+cN−1e(N−1)N2πi+cNeNN2πi+cN+1e(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πiwN=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=−∞∑∞ckekN2π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+c1eix+c2ei2x+⋯+cN−1ei(N−1)xf(0N2π)=c0+c1+c2+⋯+cN−1f(1N2π)=c0+c1w+c2w2+⋯+cN−1wN−1f(2N2π)=c0+c1w2+c2w4+⋯+cN−1w2(N−1)f(3N2π)=c0+c1w3+c2w6+⋯+cN−1w3(N−1)⋯f((N−1)N2π)=c0+c1wN−1+c2w2(N−1)+⋯+cN−1w(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} ⎣⎢⎢⎢⎢⎢⎢⎢⎡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)
f=FNcf=F_N c f=FNc
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}^{*} FNFN∗=N⎣⎡1000⋱0001⎦⎤FN−1=N1FN∗
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⋮11wˉwˉ2w3⋮wˉN−11wˉ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⎦⎥⎥⎥⎥⎥⎥⎥⎤⎣⎢⎢⎢⎢⎢⎢⎢⎡f0f1f2f3⋮fN−1⎦⎥⎥⎥⎥⎥⎥⎥⎤=⎣⎢⎢⎢⎢⎢⎢⎢⎡c0c1c2c3⋮cN−1⎦⎥⎥⎥⎥⎥⎥⎥⎤(1.7)
FN−1f=cF_N^{-1}f=c FN−1f=c
其中,FNF_NFN就是傅里叶矩阵,FN−1f=cF_N^{-1}f=cFN−1f=c就是离散傅里叶变换(DFT),FNc=fF_Nc=fFNc=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−1x[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]⎦⎥⎥⎥⎥⎥⎥⎥⎤=⎣⎢⎢⎢⎢⎢⎢⎢⎡f0f1f2f3⋮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⎣⎢⎢⎢⎢⎢⎢⎢⎡c0c1c2c3⋮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] ⎣⎢⎢⎡11111ww2w31w2w4w61w3w6w9⎦⎥⎥⎤−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+c1eix+c2ei2x+⋯+cN−1ei(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+23i
[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] ⎣⎡1111ww21w2w4⎦⎤−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π)=3if(262π)=1f(362π)=0f(462π)=1f(462π)=−3i
于是:
w=e2πi6=12+32iw=e^{\frac{2 \pi i}{6}}=\frac{1}{2}+\frac{\sqrt{3}}{2} i w=e62πi=21+23i
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⎣⎢⎢⎢⎢⎢⎢⎡43i101−3i⎦⎥⎥⎥⎥⎥⎥⎤=⎣⎢⎢⎢⎢⎢⎢⎡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θ=−21i(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)=21e−i2x+21e−ix+1+21eix+21ei2x
后面的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=−∞∑∞ckeikx
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π)⎦⎥⎥⎤=⎣⎢⎢⎡11111ww2w31w2w4w61w3w6w9⎦⎥⎥⎤⎣⎢⎢⎡(⋯+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)=21e−ix+1+eix+ei2x+21ei3x(4):f(x)=1+31eix+31ei5x+31ei9x+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=31c2=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⎦⎥⎥⎤=⎣⎢⎢⎡c0c1c2c3⎦⎥⎥⎤
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)相关推荐
- 理解离散傅立叶变换(三.复数)
理解离散傅立叶变换(三) ------复数形式离散傅立叶变换 复数形式的离散傅立叶变换非常巧妙地运用了复数的方法,使得傅立叶变换变换更加自然和简洁,它并不是只是简单地运用替换的方法来运用复数,而是完全 ...
- 傅立叶变换系列(四)离散傅立叶变换
说明: 傅里叶级数.傅里叶变换.离散傅里叶变换.短时傅里叶变换...这些理解和应用都非常难,网上的文章有两个极端:"Esay" Or "Boring"!如果 ...
- 离散傅立叶变换与逆变换
一.怎样为一副图像增加一个通道 Mat A=(Mat_<double>(3,3)<<1,2,3,4,5,6,7,8,9);Mat B=Mat::zeros(A.size(),A ...
- 理解离散傅立叶变换(一)——傅立叶变换的由来
理解离散傅立叶变换(一) --傅立叶变换的由来 关于傅立叶变换,无论是书本还是在网上可以很容易找到关于傅立叶变换的描述,但是大都是些故弄玄虚的文章,太过抽象,尽是一些让人看了就望而生畏的公式的罗列,让 ...
- 理解离散傅立叶变换(四. 复数形式离散傅立叶变换)
原文链接 https://blog.csdn.net/dznlong/article/details/2280867 理解离散傅立叶变换(四) ------复数形式离散傅立叶变换 复数形式的离散傅立叶 ...
- OpenCV 【十七】离散傅立叶变换
目录 1 key 2 原理 3 实例 3代码 4运行结果 5应用举例 1 key 什么是傅立叶变换及其应用? 如何使用OpenCV提供的傅立叶变换? 相关函数的使用,如: copyMakeBorder ...
- 理解离散傅立叶变换(一)
理解离散傅立叶变换(一) ------傅立叶变换的由来 关于傅立叶变换,无论是书本还是在网上可以很容易找到关于傅立叶变换的描述,但是大都是些故弄玄虚的 文章,太过抽象,尽是一些让人看了就望而生畏的公式 ...
- UA OPTI512R 傅立叶光学导论17 离散傅立叶变换简介
UA OPTI512R 傅立叶光学导论17 离散傅立叶变换简介 DFT及其矩阵形式 DFT的性质 上一讲提到对连续波形f(x)f(x)f(x)做周期性采样时可以用采样函数来表示采样结果: fS(x)= ...
- OpenCV之core 模块. 核心功能(2)基本绘图 随机数发生器绘制文字 离散傅立叶变换 输入输出XML和YAML文件 与 OpenCV 1 同时使用
基本绘图 目的 本节你将学到: 如何用 Point 在图像中定义 2D 点 如何以及为何使用 Scalar 用OpenCV的函数 line 绘 直线 用OpenCV的函数 ellipse 绘 椭圆 用 ...
最新文章
- R语言使用ggpubr包绘制出版社、编辑、审稿人要求的可视化图形实战
- python序列化模块json和pickle
- 图像二值形态学——腐蚀和膨胀的C语言实现
- Jquery 概念性内容编辑器
- 一次.net托管内存泄露分析
- Oracl数据库中大数据的备份-1
- 编写高质量代码改善C#程序的157个建议——建议130:以复数命名枚举类型,以单数命名枚举元素...
- flask websocket json_Win10环境下使用Flask配合Celery异步推送实时/定时消息/2020年最新攻略...
- [Scottgu]ASP.NET vNext系列——数据选择
- Java 程序员必会的「垃圾回收」算法
- 什么是UV PV DAU MAU
- 《MultiPoseNet: Fast Multi-Person Pose Estimation using Pose Residual Network》论文阅读
- Ubuntu下开机自启动脚本 init supervisor systemd
- 软件测试选哪个技术方向分支_硬件测试转软件测试,应该选哪个方向
- Chrome的插件安装与使用
- MLY -- 5.your development and test sets
- mysql查询每行重复_MySQL查询返回重复的行
- 如何动态使用烘焙出来的ReflectionProbe-0.exr信息
- 让人爱不释手的工具,每款都是高质量工具分享
- SpringSecurity-密码存储方式