(一)、傅里叶变换推导
(二)、由FT到DFT(当前)
(三)、STM32编程实现DFT和验证
(四)、由DFT到FFT
(五)、STM32编程实现FFT和验证
- DTFT推导
→
\rightarrow
→时间离散:
t
→
n
Δ
t
t \rightarrow n\Delta t
t→nΔt, 采样频率为
f
s
f_s
fs
采样序列 δ s ( t ) = ∑ n = − ∞ ∞ δ ( t − n T s ) , T s = 1 f s 对 f ( t ) 采样得 f s ( t ) = f ( t ) δ s ( t ) = ∑ n = − ∞ ∞ f ( t ) δ ( t − n T s ) f s ( t ) 做傅里叶变换 F [ f s ( t ) ] = ∫ − ∞ ∞ ∑ n = − ∞ ∞ f ( t ) δ ( t − n T s ) e − i ω t d t ∵ ∫ − ∞ ∞ x ( t ) δ ( t − t 0 ) d t = x ( t 0 ) ∴ D T F T [ f s ( t ) ] = F [ f s ( t ) ] = ∑ n = − ∞ ∞ f ( n T s ) e − i ω n T s 采样序列\,\,\,\, \delta_s(t) = \sum_{n = -\infty}^\infty \delta(t-nT_s),\,\,T_s = {1 \over f_s} \\ 对f(t)采样得\,\,\,\, f_s(t) = f(t)\delta_s(t)=\sum_{n = -\infty}^\infty f(t)\delta(t-nT_s) \\ f_s(t)做傅里叶变换\,\,\,\, \mathcal{F}[f_s(t)] = \int_{-\infty}^{\infty} \sum_{n = -\infty}^\infty f(t)\delta(t-nT_s)e^{-i\omega t}dt \\ \because \int_{-\infty}^{\infty} x(t)\delta(t-t_0)dt = x(t_0) \\ \therefore DTFT[f_s(t)]= \mathcal{F}[f_s(t)] = \sum_{n = -\infty}^\infty f(nT_s)e^{-i\omega nT_s} 采样序列δs(t)=n=−∞∑∞δ(t−nTs),Ts=fs1对f(t)采样得fs(t)=f(t)δs(t)=n=−∞∑∞f(t)δ(t−nTs)fs(t)做傅里叶变换F[fs(t)]=∫−∞∞n=−∞∑∞f(t)δ(t−nTs)e−iωtdt∵∫−∞∞x(t)δ(t−t0)dt=x(t0)∴DTFT[fs(t)]=F[fs(t)]=n=−∞∑∞f(nTs)e−iωnTs - DFT推导
→
\rightarrow
→周期延拓:
- 截取 f ( t ) 的 N 个采样点 , 采样频率为 f s 截取f(t)的N个采样点,\,采样频率为f_s 截取f(t)的N个采样点,采样频率为fs
- 周期延拓 → N 个采样点的周期为 T = N T s ( T s = 1 f s ) 周期延拓\rightarrow N个采样点的周期为T=NT_s(T_s={1 \over f_s}) 周期延拓→N个采样点的周期为T=NTs(Ts=fs1)
- 采样信号表示为 x ( t ) = ∑ n = 0 N − 1 f ( t ) δ ( t − n T s ) 采样信号表示为\,\,\,\, x(t)=\sum_{n = 0}^{N-1}f(t) \delta(t-nT_s) 采样信号表示为x(t)=∑n=0N−1f(t)δ(t−nTs)
-
因为周期延拓,
x
(
t
)
为周期信号,代入周期函数的傅里叶级数
因为周期延拓,x(t)为周期信号,代入周期函数的傅里叶级数
因为周期延拓,x(t)为周期信号,代入周期函数的傅里叶级数
c k = 1 T ∫ 0 T f ( t ) e − i k ω t d t , ( ω = 2 π T ) , 得 X [ k ω ] = 1 T ∫ 0 T ∑ n = 0 N − 1 f ( t ) δ ( t − n T s ) e − i k ω t d t ∵ ∫ − ∞ ∞ x ( t ) δ ( t − t 0 ) d t = x ( t 0 ) ∴ X [ k ω ] = 1 T ∑ n = 0 N − 1 f ( n T s ) e − i k ω n T s 又 ∵ T = N T s , ω = 2 π T = 2 π N T s ∴ X [ k ω ] = 1 N T s ∑ n = 0 N − 1 f ( n T s ) e − i 2 π N k n 令 x [ n ] = f ( n T s ) , X [ k ω ] T s = X [ k ] , 得 D F T [ x ( n ) ] = X [ k ] = ∑ n = 0 N − 1 x [ n ] e − i 2 π N k n ( 0 ≤ k , n ≤ N − 1 , 且 k , n ∈ Z ) I D F T [ X ( k ) ] = 1 N X [ k ] e i 2 π N k n ( 0 ≤ k , n ≤ N − 1 , 且 k , n ∈ Z ) c_k = {1\over T} \int_0^T f(t)e^{-ik\omega t}dt,\,\,(\omega={2\pi\over T}),\,\,得 \\ X[k\omega] = {1\over T} \int_0^T \sum_{n = 0}^{N-1}f(t) \delta(t-nT_s)e^{-ik\omega t}dt \\ \because \int_{-\infty}^{\infty} x(t)\delta(t-t_0)dt = x(t_0) \\ \therefore X[k\omega] = {1\over T} \sum_{n = 0}^{N-1}f(nT_s)e^{-ik\omega nT_s} \\ 又\because T=NT_s,\omega={2\pi \over T}={2\pi \over NT_s} \\ \therefore X[k\omega] = {1 \over NT_s}\sum_{n = 0}^{N-1}f(nT_s)e^{-i{2\pi \over N} kn} \\ 令x[n] = f(nT_s),\,X[k\omega]T_s = X[k],\,得\\ DFT[x(n)] = X[k] = \sum_{n = 0}^{N-1}x[n]e^{-i{2\pi \over N} kn}\,\,\,\,(0\leq k,n \leq N-1,\,且k,n\in Z) \\ IDFT[X(k)] = {1 \over N}X[k]e^{i{2\pi \over N} kn}\,\,\,\,(0\leq k,n \leq N-1,\,且k,n\in Z) \\ ck=T1∫0Tf(t)e−ikωtdt,(ω=T2π),得X[kω]=T1∫0Tn=0∑N−1f(t)δ(t−nTs)e−ikωtdt∵∫−∞∞x(t)δ(t−t0)dt=x(t0)∴X[kω]=T1n=0∑N−1f(nTs)e−ikωnTs又∵T=NTs,ω=T2π=NTs2π∴X[kω]=NTs1n=0∑N−1f(nTs)e−iN2πkn令x[n]=f(nTs),X[kω]Ts=X[k],得DFT[x(n)]=X[k]=n=0∑N−1x[n]e−iN2πkn(0≤k,n≤N−1,且k,n∈Z)IDFT[X(k)]=N1X[k]eiN2πkn(0≤k,n≤N−1,且k,n∈Z) -
当
N
确定后
,
e
−
i
2
π
N
为定值,令
W
N
=
e
−
i
2
π
N
,
则
D
F
T
为
当N确定后,\,e^{-i{2\pi \over N}}为定值,令W_N = e^{-i{2\pi \over N}},\,则DFT为
当N确定后,e−iN2π为定值,令WN=e−iN2π,则DFT为
X [ k ] = ∑ n = 0 N − 1 x [ n ] W N k n X[k] = \sum_{n = 0}^{N-1}x[n]W_N^{\,\,\,\,kn} X[k]=n=0∑N−1x[n]WNkn