单独视角:DFT公式的推导
由博文一维连续傅里叶变换和逆变换公式的一种推导,设 f ( t ) f\left( t \right) f(t)是一个连续的时间信号,其一维连续Fourier变换可取为
F ( u ) = ∫ − ∞ ∞ f ( t ) e − j 2 π u t d t F\left( u \right)=\int_{-\infty }^{\infty }{f\left( t \right){
{e}^{-j2\pi ut}}dt} F(u)=∫−∞∞f(t)e−j2πutdt
步骤一
从某一时刻(记为 0 0 0时刻)开始,每经过时间间隔 Δ T \Delta T ΔT就对连续函数 f ( t ) f\left( t \right) f(t)采样一次,共采样 N N N次。对连续函数 f ( t ) f\left( t \right) f(t)等间隔采样就得到一个离散序列
f ( Δ T ) , f ( 2 Δ T ) , ⋯ , f ( N Δ T ) f\left( \Delta T \right),f\left( 2\Delta T \right),\cdots ,f\left( N\Delta T \right) f(ΔT),f(2ΔT),⋯,f(NΔT)
记为
f ⌢ ( 0 ) , f ⌢ ( 1 ) , ⋯ , f ⌢ ( N − 1 ) \overset\frown{f}\left( 0 \right),\text{ }\overset\frown{f}\left( 1 \right),\text{ }\cdots ,\text{ }\overset\frown{f}\left( N-1 \right) f⌢(0), f⌢(1), ⋯, f⌢(N−1)
而对于其他没采样到的点,即 ∀ t ∉ { Δ T , 2 Δ T , ⋯ N Δ T } \forall t\notin \left\{ \Delta T,\text{ }2\Delta T,\cdots N\Delta T \right\} ∀t∈/{
ΔT, 2ΔT,⋯NΔT},视该点处采样的函数值
f ( t ) = 0 f\left( t \right)=0 f(t)=0
步骤二
将一维连续Fourier变换公式进行拆解
F ( u ) = ∫ − ∞ ∞ f ( t ) e − j 2 π u t d t = ∫ − ∞ 0 + ∫ 0 N Δ T + ∫ N Δ T ∞ f ( t ) e − j 2 π u t d t = ∫ − ∞ 0 + ∫ N Δ T ∞ f ( t ) e − j 2 π u t d t + ∫ 0 N Δ T f ( t ) e − j 2 π u t d t = 0 + ∫ 0 N Δ T f ( t ) e − j 2 π u t d t = ∫ 0 N Δ T f ( t ) e − j 2 π u t d t = F 1 ( u ) \begin{aligned} & F\left( u \right)=\int_{-\infty }^{\infty }{f\left( t \right){
{e}^{-j2\pi ut}}dt} \\ & =\int_{-\infty }^{0}{+\int_{0}^{N\Delta T}{+\int_{N\Delta T}^{\infty }{f\left( t \right){
{e}^{-j2\pi ut}}dt}}} \\ & =\int_{-\infty }^{0}{+\int_{N\Delta T}^{\infty }{f\left( t \right){
{e}^{-j2\pi ut}}dt}}+\int_{0}^{N\Delta T}{f\left( t \right){
{e}^{-j2\pi ut}}dt} \\ & =0+\int_{0}^{N\Delta T}{f\left( t \right){
{e}^{-j2\pi ut}}dt} \\ & =\int_{0}^{N\Delta T}{f\left( t \right){
{e}^{-j2\pi ut}}dt} \\ & ={
{F}_{1}}\left( u \right) \\ \end{aligned} F(u)=∫−∞∞f(t)e−j2πutdt=∫−∞0+∫0NΔT+∫NΔT∞f(t)e−j2πutdt=∫−∞0+∫NΔT∞f(t)e−j2πutdt+∫0NΔTf(t)e−j2πutdt=0+∫0NΔTf(t)e−j2πutdt=∫0NΔTf(t)e−j2πutdt=F1(u)
步骤三
将 F 1 ( u ) {
{F}_{1}}\left( u \right) F1(u)转换为黎曼和形式 F 2 ( u ) {
{F}_{2}}\left( u \right) F2(u),具体地说,把区间 [ 0 , N Δ T ] \left[ 0,N\Delta T \right] [0,NΔT]等间隔分成 N N N份,第 i i i个区间 k i = [ ( i − 1 ) Δ T , i Δ T ] {
{k}_{i}}=\left[ \left( i-1 \right)\Delta T,i\Delta T \right] ki=[(i−1)ΔT,iΔT], i = 1 , 2 , ⋯ , N i=1,2,\cdots ,N i=1,2,⋯,N,每个区间长度为 Δ T \Delta T ΔT。在每个区间 k i {
{k}_{i}} ki上取右端点的函数值 f ( i Δ T ) e − j 2 π u ⋅ ( i Δ T ) f\left( i\Delta T \right){
{e}^{-j2\pi u\centerdot \left( i\Delta T \right)}} f(iΔT)e−j2πu⋅(iΔT)。
F 2 ( u ) = ∑ i = 1 N [ f ( i Δ T ) e − j 2 π u ⋅ ( i Δ T ) ] ⋅ Δ T = ∑ n = 0 N − 1 [ f ( ( n + 1 ) Δ T ) e − j 2 π u ⋅ ( n + 1 ) Δ T ] ⋅ Δ T = ∑ n = 0 N − 1 [ f ⌢ ( n ) e − j 2 π u ⋅ ( n + 1 ) Δ T ] ⋅ Δ T \begin{aligned} & {
{F}_{2}}\left( u \right)=\sum\limits_{i=1}^{N}{\left[ f\left( i\Delta T \right){
{e}^{-j2\pi u\centerdot \left( i\Delta T \right)}} \right]\centerdot \Delta T} \\ & =\sum\limits_{n=0}^{N-1}{\left[ f\left( \left( n+1 \right)\Delta T \right){
{e}^{-j2\pi u\centerdot \left( n+1 \right)\Delta T}} \right]\centerdot \Delta T} \\ & =\sum\limits_{n=0}^{N-1}{\left[ \overset\frown{f}\left( n \right){
{e}^{-j2\pi u\centerdot \left( n+1 \right)\Delta T}} \right]\centerdot \Delta T} \\ \end{aligned} F2(u)=i=1∑N[f(iΔT)e−j2πu⋅(iΔT)]⋅ΔT=n=0∑N−1[f((n+1)ΔT)e−j2πu⋅(n+1)ΔT]⋅ΔT=n=0∑N−1[