离散傅里叶变换






离散傅里叶变换Discrete Fourier Transform,缩写为DFT),是傅里叶变换在时域和频域上都呈离散的形式,将信号的时域采样变换为其DTFT的频域采样。


在形式上,变换两端(时域和频域上)的序列是有限长的,而实际上这两组序列都应当被认为是离散周期信号的主值序列。即使对有限长的离散信号作DFT,也应当将其看作其周期延拓的变换。在实际应用中通常采用快速傅里叶变换计算DFT。




目录






  • 1 定义


  • 2 从连续到离散


  • 3 DFT与CFT


  • 4 DFT与DTFT


    • 4.1 栅栏效应


    • 4.2 频谱分辨率




  • 5 从空间的角度分析


  • 6 DFT与圆周卷积


  • 7 性质


    • 7.1 完全性


    • 7.2 正交性


    • 7.3 移位定理


    • 7.4 周期性


    • 7.5 普朗歇尔定理与帕塞瓦尔定理




  • 8 应用


    • 8.1 快速傅里叶变换


    • 8.2 频谱分析


    • 8.3 数据压缩


    • 8.4 解偏微分方程


    • 8.5 长整数与多项式乘法


    • 8.6 OFDM




  • 9 特殊例子


    • 9.1 数论转换




  • 10 参阅


  • 11 参考文献





定义


对于N点序列{x[n]}0≤n<N{displaystyle left{x[n]right}_{0leq n<N}}left{x[n]right}_{0le n <N},它的离散傅里叶变换(DFT)为


x^[k]=∑n=0N−1e−i2πNnkx[n]k=0,1,…,N−1.{displaystyle {hat {x}}[k]=sum _{n=0}^{N-1}e^{-i{frac {2pi }{N}}nk}x[n]qquad k=0,1,ldots ,N-1.}hat{x}[k]=sum_{n=0}^{N-1} e^{-ifrac{2pi}{N}nk}x[n] qquad k = 0,1,ldots,N-1.

其中e{displaystyle e}e是自然对数的底数,i{displaystyle i}i是虚数单位。通常以符号F{displaystyle {mathcal {F}}}mathcal{F}表示这一变换,即


x^=Fx{displaystyle {hat {x}}={mathcal {F}}x}hat{x}=mathcal{F}x

离散傅里叶变换的逆变换(IDFT)为:


x[n]=1N∑k=0N−1ei2πNnkx^[k]n=0,1,…,N−1.{displaystyle xleft[nright]={1 over N}sum _{k=0}^{N-1}e^{i{frac {2pi }{N}}nk}{hat {x}}[k]qquad n=0,1,ldots ,N-1.}xleft[nright]={1 over N}sum_{k=0}^{N-1} e^{ ifrac{2pi}{N}nk}hat{x}[k] qquad n = 0,1,ldots,N-1.

可以记为:


x=F−1x^{displaystyle x={mathcal {F}}^{-1}{hat {x}}}x=mathcal{F}^{-1}hat{x}

实际上,DFT和IDFT变换式中和式前面的归一化系数并不重要。在上面的定义中,DFT和IDFT前的系数分别为11/N。有时会将这两个系数都改成1/N{displaystyle 1/{sqrt {N}}}1/sqrt{N}



从连续到离散


连续时间信号x(t)以及对应的连续傅里叶变换x^){displaystyle {hat {x}}(omega )}hat{x}(omega)都是连续函数。由于数字系统只能处理有限长的离散信号,因此必须将x{displaystyle x}xx^{displaystyle {hat {x}}}hat{x}都离散化,并且建立对应的傅里叶变换。


假设x(t)时限于[0, L],再通过时域采样将x(t){displaystyle x(t)}x(t)离散化,就可以得到有限长离散信号,记为xdiscrete(t){displaystyle x_{discrete}(t)}x_{discrete}(t)。设采样周期为T,则时域采样点数N=L/T


xdiscrete(t)=x(t)∑n=0N−(t−nT)=∑n=0N−1x(nT)δ(t−nT){displaystyle x_{discrete}(t)=x(t)sum _{n=0}^{N-1}delta (t-nT)=sum _{n=0}^{N-1}x(nT)delta (t-nT)}x_{discrete}(t) = x(t)sum_{n=0}^{N-1}delta(t-nT)=sum_{n=0}^{N-1}x(nT)delta(t-nT)

它的傅里叶变换为


x^discrete(ω)=∑n=0N−1x(nT)Fδ(t−nT)=∑n=0N−1x(nT)e−inωT{displaystyle {hat {x}}_{discrete}(omega )=sum _{n=0}^{N-1}x(nT){mathcal {F}}delta (t-nT)=sum _{n=0}^{N-1}x(nT)e^{-inomega T}}hat{x}_{discrete}(omega) = sum_{n=0}^{N-1}x(nT)mathcal{F}delta(t-nT) =  sum_{n=0}^{N-1}x(nT)e^{-i nomega T}

这就是x(t)在时域采样后的连续傅里叶变换,也就是离散时间傅里叶变换,它在频域依然是连续的。


下面将频域信号转化为有限长离散信号。与对时域信号的处理类似,假设频域信号是带限的,再经过离散化,即可得到有限长离散信号。依据采样定理,时域采样若要能完全重建原信号,频域信号x^){displaystyle {hat {x}}(omega )}hat{x}(omega)应当带限于(0,1/(2*T))。由于时域信号时限于[0, L],由采样定理以及时频对偶的关系,频域的采样间隔应为1/L。故,频域采样点数为:


1/T1/L=N{displaystyle {frac {1/T}{1/L}}=N}frac{1/T}{1/L}=N

即频域采样的点数和时域采样同为N,频域采样点为k=2πk/NT}0≤k<N{displaystyle {omega _{k}={2pi }k/NT}_{0leq k<N}}{omega_k={2pi}k/NT}_{0 le k < N}
在DTFT频域上采样:


x^[k]=x^discrete(ωk)=1T∑n=0N−1x[nT]e−i2πNnk{displaystyle {hat {x}}[k]={hat {x}}_{discrete}(omega _{k})={frac {1}{T}}sum _{n=0}^{N-1}x[nT]e^{-i{frac {2pi }{N}}nk}}hat{x}[k] = hat{x}_{discrete}(omega_k) = frac1{T} sum_{n=0}^{N-1}x[nT]e^{-ifrac{2pi}{N} nk}

T=1,将其归一化,就得到前面定义的离散傅里叶变换。因此,DFT就是先将信号在时域离散化,求其连续傅里叶变换后,再在频域离散化的结果。



DFT与CFT



下面考察离散傅里叶变换与连续傅里叶变换(CFT,Continuous Fourier Transform)的关系。连续傅里叶变换


Fx(t)=x^)=1L∫0Lx(t)e−tdt{displaystyle {mathcal {F}}x(t)={hat {x}}(omega )={frac {1}{L}}int _{0}^{L}x(t)e^{-iomega t}dt}mathcal{F}x(t)=hat{x}(omega)=frac1{L} int_0^L x(t)e^{-iomega t} dt

的采样为:


x^k)=1L∫0Lx(t)e−ktdt{displaystyle {hat {x}}(omega _{k})={frac {1}{L}}int _{0}^{L}x(t)e^{-iomega _{k}t}dt}hat{x}(omega_k)=frac1{L} int_0^L x(t)e^{-iomega_k t} dt

将这个积分以黎曼和的形式近似,有:


x^k)≈1L∑n=0N−1x[n]e−knTT=1Nx^[k]{displaystyle {hat {x}}(omega _{k})approx {frac {1}{L}}sum _{n=0}^{N-1}x[n]e^{-iomega _{k}nT}T={frac {1}{N}}{hat {x}}[k]}hat{x}(omega_k) approx frac1{L} sum_{n=0}^{N-1} x[n] e^{-iomega_k nT} T=frac1{N}hat{x}[k]

这一结论指出离散傅里叶变换确实是连续傅里叶变换在某种意义上的近似。不过必须注意以下两点:



  • 时域采样必须满足采样定理

  • 离散傅里叶变换的处理对象是时限的


为此,通常对连续信号的时域采样再做一次加窗处理(Windowing),这样就得到带限的有限长离散信号。



DFT与DTFT



离散时间傅里叶变换(DTFT)是在时域上对连续傅里叶变换的采样。DFT则是在频域上对DTFT的均匀采样。离散信号x[n]{displaystyle x[n]}x[n](n=0,...,N-1)的DTFT为:


x^(eiω)=∑n=0N−1x[n]e−inω{displaystyle {hat {x}}(e^{iomega })=sum _{n=0}^{N-1}x[n]e^{-inomega }}hat{x}(e^{iomega}) = sum_{n=0}^{N-1}x[n] e^{-inomega}

x^(eiω){displaystyle {hat {x}}(e^{iomega })}hat{x}(e^{iomega})在离散的频点k=k2πN}0≤k<N{displaystyle {omega _{k}=k{frac {2pi }{N}}}_{0leq k<N}}{omega_k=kfrac{2pi}{N}}_{0 le k <N}上采样


x^[k]=x^(eiωk)=∑n=0N−1x[n]e−i2πNknk=0,…,N−1{displaystyle {hat {x}}[k]={hat {x}}(e^{iomega _{k}})=sum _{n=0}^{N-1}x[n]e^{-i{frac {2pi }{N}}kn}qquad k=0,ldots ,N-1}hat{x}[k]=hat{x}(e^{iomega_k})=sum_{n=0}^{N-1} x[n]e^{-ifrac{2pi}{N}kn} qquad k=0,ldots,N-1

即为x的DFT。由于DTFT在频域是周期的,所以在DTFT频域上的均匀采样也应是周期的。x^[k]{displaystyle {hat {x}}[k]}hat{x}[k]实际上是这个周期序列的主值序列。



栅栏效应


N点序列的DFT只能在有限的N个频点上观察频谱,这相当于从栅栏的缝隙中观察景色,对于了解信号在整个频域上的特性是不够的。为了观察到其他频率的信息,需要对原信号x[n]做一些处理,以便在不同的频点上采样。


将原来在DTFT频域上的采样点数增加到M点,这样采样点位置变为k′=eik2πM}0≤k<M{displaystyle {omega '_{k}=e^{ik{frac {2pi }{M}}}}_{0leq k<M}}{ omega'_k = e^{ikfrac{2pi}{M}}}_{0 le k < M}。则对应的DFT成为


x^′[k]=x^(eikωk′)=∑n=0N−1x[n]e−i2πMkn{displaystyle {hat {x}}'[k]={hat {x}}(e^{ikomega '_{k}})=sum _{n=0}^{N-1}x[n]e^{-i{frac {2pi }{M}}kn}}hat{x}'[k]=hat{x}(e^{ikomega'_k}) = sum_{n=0}^{N-1} x[n]e^{-ifrac{2pi}{M}kn}

若在序列x[n]之后补上M-N个零,设为x'[n],则上式变为


x^′[k]=∑n=0M−1x′[n]e−i2πMkn=Fx′{displaystyle {hat {x}}'[k]=sum _{n=0}^{M-1}x'[n]e^{-i{frac {2pi }{M}}kn}={mathcal {F}}x'}hat{x}'[k] = sum_{n=0}^{M-1} x'[n]e^{-ifrac{2pi}{M}kn} = mathcal{F}x'

因此将x[n]补零再做DFT就可以得到x[n]的DTFT在其他频率上的值,相当于移动了栅栏,因而能够从其他位置进行观察。



频谱分辨率


N点DFT的频谱分辨率是/N{displaystyle 2pi /N}2pi/N。栅栏效应一节指出可以通过补零观察到更多的频点,但是这并不意味着补零能够提高真正的频谱分辨率。这是因为x[n]实际上是x(t)采样的主值序列,而将x[n]补零得到的x'[n]周期延拓之后与原来的序列并不相同,也不是x(t)的采样。因此x^′{displaystyle {hat {x}}'}hat{x}'x^{displaystyle {hat {x}}}hat{x}是不同离散信号的频谱。对于补零至M点的x'的DFT,只能说它的分辨率/M{displaystyle 2pi /M}2pi/M仅具有计算上的意义,x^′{displaystyle {hat {x}}'}hat{x}'并不是真正的、物理意义上的频谱。频谱分辨率的提高只能在满足采样定理的条件下增加时域采样长度来实现。



从空间的角度分析


周期为N的离散信号构成一个N维欧几里得空间CN{displaystyle mathbb {C} ^{N}}mathbb{C}^N。在这一空间上两个信号xy的内积定义为


x,y⟩=∑n=0N−1x[n]y∗[n]{displaystyle langle x,yrangle =sum _{n=0}^{N-1}x[n]y^{*}left[nright]}langle x,y rangle = sum_{n=0}^{N-1}x[n]y^*left[nright]

下面给出CN{displaystyle mathbb {C} ^{N}}mathbb{C}^N上的一组正交基:


{ek[n]=ei2πNkn}0≤k<N{displaystyle {e_{k}[n]=e^{i{frac {2pi }{N}}kn}}_{0leq k<N}}{ e_k[n] = e^{ifrac{2pi}{N}kn}}_{0 le k < N }

将信号x在这组正交基上分解,得


x=∑k=0N−1⟨x,ek⟩ek‖2ek{displaystyle x=sum _{k=0}^{N-1}{frac {langle x,e_{k}rangle }{Vert e_{k}Vert ^{2}}}e_{k}}x = sum_{k=0}^{N-1}frac{langle x,e_k rangle}{Vert e_k Vert ^2} e_k



x^[k]=⟨x,ek⟩=∑n=0N−1x[n]e−i2πNkn{displaystyle {hat {x}}[k]=langle x,e_{k}rangle =sum _{n=0}^{N-1}x[n]e^{-i{frac {2pi }{N}}kn}}hat{x}[k] = langle x, e_k rangle = sum_{n=0}^{N-1}x[n] e^{-ifrac{2pi}{N}kn}

此即为离散傅里叶变换。又


ek‖2=N{displaystyle |e_{k}|^{2}=N}| e_k | ^2=N

则有


x[n]=1N∑k=0N−1x^[k]ei2πNkn{displaystyle x[n]={frac {1}{N}}sum _{k=0}^{N-1}{hat {x}}[k]e^{i{frac {2pi }{N}}kn}}x[n] = frac1{N} sum_{k=0}^{N-1} hat{x}[k]e^{ifrac{2pi}{N}kn}

此即为离散傅里叶变换的逆变换。


由此可知,在正交分解的角度上说,离散周期信号x{displaystyle x}x的离散傅里叶变换x^{displaystyle {hat {x}}}hat{x}实质上是x{displaystyle x}x在正交基{ek}{displaystyle {e_{k}}}{e_k}上的分量。而从线性变换的角度上说,{ek}{displaystyle {e_{k}}}{e_k}是圆周卷积的特征向量,x^{displaystyle {hat {x}}}hat{x}则是对应的特征值。



DFT与圆周卷积


根据卷积定理,离散信号x与y的圆周卷积对偶于频域上x与y离散傅里叶变换的乘积。下面揭示DFT与圆周卷积的内在关系。


对长为N的离散信号x~{displaystyle {tilde {x}}}tilde{x}y~{displaystyle {tilde {y}}}tilde{y},如果要计算它们的卷积,就必须定义x~[n]{displaystyle {tilde {x}}[n]}tilde{x}[n]y~[n]{displaystyle {tilde {y}}[n]}tilde{y}[n]0≤n<N之外的值。如果将x~{displaystyle {tilde {x}}}tilde{x}y~{displaystyle {tilde {y}}}tilde{y}作周期为N的延拓,则有


x[n]=x~[nmodN]y[n]=y~[nmodN]{displaystyle x[n]={tilde {x}}[nmod N]qquad y[n]={tilde {y}}[nmod N]}x[n] = tilde{x}[n mod N] qquad y[n] = tilde{y}[n mod N]

如此,周期为N的圆周卷积:


(x⊗y)[n]=∑m=0N−1x[m]y[n−m]=∑m=0N−1x[n−m]y[m]{displaystyle (xotimes y)[n]=sum _{m=0}^{N-1}x[m]y[n-m]=sum _{m=0}^{N-1}x[n-m]y[m]}(x otimes y) [n] = sum_{m=0}^{N-1} x[m] y[n-m] = sum_{m=0}^{N-1} x[n-m] y[m]

卷积的结果仍然是以N为周期的离散信号。


前面指出,ek{displaystyle e_{k}}e_{k}是DFT的特征向量,实际上它也是圆周卷积的特征向量。定义x与y的圆周卷积算子:


Lx[n]=(x⊗y)[n]{displaystyle {L}x[n]=(xotimes y)[n]}{L}x [n] = (x otimes y) [n]

ek{displaystyle e_{k}}e_{k}与y的圆周卷积为


Lek[n]=ek[n]⋅m=0N−1y[m]ek[−m]{displaystyle {L}e_{k}[n]=e_{k}[n]cdot sum _{m=0}^{N-1}y[m]e_{k}[-m]}{L} e_k [n] = e_k[n] cdot sum_{m=0}^{N-1} y[m] e_k[-m]

显然,y的DFT


y^[k]=∑m=0N−1y[m]ek[−m]{displaystyle {hat {y}}[k]=sum _{m=0}^{N-1}y[m]e_{k}[-m]}hat{y}[k] = sum_{m=0}^{N-1} y[m] e_k[-m]

就是圆周卷积的特征值。



性质



完全性


离散傅里叶变换是可逆的线性变换


F:CN→CN{displaystyle {mathcal {F}}:mathbf {C} ^{N}to mathbf {C} ^{N}}mathcal{F}:mathbf{C}^N to mathbf{C}^N

其中C表示复数集。即,任意N-维复向量都存在DFT和IDFT,而且其DFT和IDFT也是N-维复向量。



正交性


向量组exp(2πi kn/N)是N-维复数空间上的一组正交基:


n=0N−1(e2πiNkn)(e−iNk′n)=N δkk′{displaystyle sum _{n=0}^{N-1}left(e^{{frac {2pi i}{N}}kn}right)left(e^{-{frac {2pi i}{N}}k'n}right)=N~delta _{kk'}}sum_{n=0}^{N-1}<br />
left(e^{ frac{2pi i}{N} kn}right)<br />
left(e^{-frac{2pi i}{N} k'n}right)<br />
=N~delta_{kk'}<br />

其中δkn是Kronecker delta。



移位定理


时域信号序列xn{displaystyle x_{n}}x_n的相位移动exp⁡(2πinm/N){displaystyle exp(2pi inm/N)}exp(2pi i n m/N)(其中m{displaystyle m}m为整数)在频域反映为“循环移位”,即:频域信号序列Xk{displaystyle X_{k}}X_k变为X((k−m))N{displaystyle X_{((k-m))_{N}}}X_{((k-m))_N},其中下标是指将k-mN 取余。类似的,由对偶性,时域信号序列的循环移位对应于频域信号序列的相移:



F({xn})k=Xk{displaystyle {mathcal {F}}({x_{n}})_{k}=X_{k}}mathcal{F}({x_n})_k=X_k

F({xne2πiNnm})k=Xk−m{displaystyle {mathcal {F}}({x_{n}e^{{frac {2pi i}{N}}nm}})_{k}=X_{k-m}}mathcal{F}({ x_n e^{frac{2pi i}{N}n m} })_k=X_{k-m}

且有F({xn−m})k=Xke−iNkm{displaystyle {mathcal {F}}({x_{n-m}})_{k}=X_{k}e^{-{frac {2pi i}{N}}km}}mathcal{F}({x_{n-m}})_k=X_k e^{-frac{2pi i}{N}k m}



周期性


上文中DFT与DTFT一节已经证明,离散序列的傅里叶变换是周期的。有限长序列xn{displaystyle x_{n}}x_n的离散傅里叶变换Xk{displaystyle X_{k}}X_k可以被看作是它的周期延拓序列x~n=xn mod N{displaystyle {tilde {x}}_{n}=x_{n mod N}}tilde{x}_n = x_{n  mod  N}的离散时间傅里叶变换X~k{displaystyle {tilde {X}}_{k}}tilde{X}_k。由时频对偶性可知Xk{displaystyle X_{k}}X_k也可以被看作它的周期延拓的主值。


上一节的移位定理隐含着DFT的周期性,因为DFT的幅度|Xk|{displaystyle |X_{k}|}|X_k|不受输入信号的循环移位的影响,因为时移在频域对偶于相移,循环移位仅仅使DFT的相位产生平移。周期性的边界条件在DFT的许多应用中有重要作用。解差分方程时,就假设边界条件是满足周期性的,这是一个很有用的性质(参见应用)。



普朗歇尔定理与帕塞瓦尔定理


如果XkYk分别是xnyn的离散傅立叶变换,那么就有普朗歇尔定理:


n=0N−1xnyn∗=1N∑k=0N−1XkYk∗{displaystyle sum _{n=0}^{N-1}x_{n}y_{n}^{*}={frac {1}{N}}sum _{k=0}^{N-1}X_{k}Y_{k}^{*}}sum_{n=0}^{N-1} x_n y^*_n = frac{1}{N} sum_{k=0}^{N-1} X_k Y^*_k

其中星号表示复共扼。帕塞瓦尔定理是普朗歇尔定理的一个特例:


n=0N−1|xn|2=1N∑k=0N−1|Xk|2.{displaystyle sum _{n=0}^{N-1}|x_{n}|^{2}={frac {1}{N}}sum _{k=0}^{N-1}|X_{k}|^{2}.}sum_{n=0}^{N-1} |x_n|^2 = frac{1}{N} sum_{k=0}^{N-1} |X_k|^2.


应用


DFT在诸多多领域中有着重要应用,下面仅是颉取的几个例子。需要指出的是,所有DFT的实际应用都依赖于计算离散傅里叶变换及其逆变换的快速算法,即快速傅里叶变换。



快速傅里叶变换



快速傅里叶变换(即FFT)是计算离散傅里叶变换及其逆变换的快速算法。按照DFT的定义计算一个长为n的序列的DFT需要的计算复杂度达到了O(n2){displaystyle {mathcal {O}}(n^{2})}{mathcal {O}}(n^{2}),而同样长度FFT的计算复杂度仅为O(nlog⁡n){displaystyle {mathcal {O}}(nlog n)}{mathcal {O}}(nlog n)。由于DFT的逆变换可以由DFT表示,所以DFT逆变换的计算同样可以由FFT完成。FFT算法的提出,使DFT得到了广泛的实际应用。



频谱分析


前面指出,DFT是连续傅里叶变换的近似。因此可以对连续信号x(t)均匀采样并截断以得到有限长的离散序列{xn}{displaystyle {x_{n}},}{x_n},,对这一序列作离散傅里叶变换,可以分析连续信号x(t)频谱的性质。前面还提到DFT应用于频谱分析需要注意的两个问题:即采样可能导致信号混叠和截断信号引起的频谱泄漏。可以通过选择适当的采样频率(见奈奎斯特频率)消减混叠。选择适当的序列长度并加窗可以抑制频谱泄漏。



数据压缩



由于人类感官的分辨能力存在极限,因此很多有损压缩算法利用这一点将语音、音频、图像、视频等信号的高频部分除去。高频信号对应于信号的细节,滤除高频信号可以在人类感官可以接受的范围内获得很高的压缩比。这一去除高频分量的处理就是通过离散傅里叶变换完成的。将时域或空域的信号转换到频域,仅储存或传输较低频率上的系数,在解压缩端采用逆变换即可重建信号。



解偏微分方程



离散傅里叶变换及其多维形式在偏微分方程的求解中也有应用。此时DFT被看作傅里叶级数的近似。傅里叶级数将函数在复指数einx上展开,这正是微分算子的特征方程:d/dx einx = in einx。因此,通过傅里叶级数的形式,线性常微分方程被转换为代数方程,而后者是很容易求解的。此时得到的结果是偏微分方程解的级数表示,只要通过DFT逆变换即可得到其一般表示。这种方法被称作谱方法或级数解法。



长整数与多项式乘法


目前长整数或多项式乘法最快速的算法是基于离散傅里叶变换的。由于整数(或多项式)乘法是逐位(或逐项)乘累加的形式,因此整数(或多项式)乘积的数字(或系数)可以用乘数数字(或乘式系数)的卷积表示。利用卷积定理,只要将数字(或系数)序列通过离散傅里叶变换变到频域,就可以将逐个乘累加的卷积变为对位的乘法,从而减少计算量,再以一次逆变换便可以得到乘法结果。需要注意整数乘法还有进位的问题。下面以多项式乘法为例说明这一应用:


假设需要计算多项式乘法c(x) = a(xbx),这一乘积结果的各项系数的表达式实际上是线性卷积的形式。由于离散傅里叶变换对应于圆周卷积,因此需要将这两个乘式的系数按照次数升序排列,序列后“补零”,使它们的长度d大于两式最高项次数的和:d > deg(a(x)) + deg(b(x))。然后作圆周卷积:


c=a⊗b{displaystyle mathbf {c} =mathbf {a} otimes mathbf {b} }mathbf{c} = mathbf{a} otimes mathbf{b}

其中c就是c(x)系数的向量。由于圆周卷积的DFT是乘积,有:


Fc=Fa⋅Fb{displaystyle {mathcal {F}}mathbf {c} ={mathcal {F}}mathbf {a} cdot {mathcal {F}}mathbf {b} }mathcal{F}mathbf{c} = mathcal{F}mathbf{a} cdot mathcal{F}mathbf{b}



c=F−1(Fa⋅Fb){displaystyle mathbf {c} ={mathcal {F}}^{-1}({mathcal {F}}mathbf {a} cdot {mathcal {F}}mathbf {b} )}mathbf{c} = mathcal{F}^{-1}(mathcal{F}mathbf{a} cdot mathcal{F}mathbf{b})

利用快速傅里叶变换,这一算法的运算复杂度为O(Nlog⁡N){displaystyle {mathcal {O}}(Nlog N)}mathcal{O}(N log N)



OFDM



OFDM(正交频分复用)在宽带无线通信中有重要的应用。这种技术将带宽分为N个等间隔的子载波,可以证明这些子载波相互正交。尤其重要的是,OFDM调制可以由IDFT实现,而解调可以由DFT实现。OFDM还利用DFT的移位性质,在每个帧头部加上循环前缀(Cyclic Prefix),使得只要信道延时小于循环前缀的长度,就能消除信道延时对传输的影响。



特殊例子



数论转换



數論轉換是離散傅利葉轉換(DFT)的一個特例 F=Z/p{displaystyle F=Z/p}{displaystyle F=Z/p},此運算是根據模運算 而取得的,p{displaystyle p}p需要是質數 ,如此可以建構出有限域,並且存在 n{displaystyle n}n 個可以整除 (p−1){displaystyle (p-1)}{displaystyle (p-1)} 的實數根。如此可以得到p=k⋅n+1{displaystyle p=kcdot n+1}{displaystyle p=kcdot n+1}k{displaystyle k}k 為正整數。令 ω{displaystyle omega }omega 為第 (p−1){displaystyle (p-1)}{displaystyle (p-1)} 個單位根,則第 n{displaystyle n}n 個單位根 α{displaystyle alpha }alpha 可以表示成 αk{displaystyle alpha =omega ^{k}}{displaystyle alpha =omega ^{k}} 。另外,再令N{displaystyle N}Nα{displaystyle alpha }alpha 次方 p{displaystyle p}p 模運算之循環個數。


則數論矩陣為


[F−]=[αcr−][f−]{displaystyle {begin{bmatrix}{underset {-}{F}}end{bmatrix}}={begin{bmatrix}{underset {-}{alpha ^{cr}}}end{bmatrix}}{begin{bmatrix}{underset {-}{f}}end{bmatrix}}}{displaystyle {begin{bmatrix}{underset {-}{F}}end{bmatrix}}={begin{bmatrix}{underset {-}{alpha ^{cr}}}end{bmatrix}}{begin{bmatrix}{underset {-}{f}}end{bmatrix}}}


c{displaystyle c}cr{displaystyle r}{displaystyle r} 各為 Column 與 Row 的指數(index), 令 C{displaystyle C}{displaystyle C}R{displaystyle R}R 各代表Column 與 Row 的總數,則C=R=N{displaystyle C=R=N}{displaystyle C=R=N}c∝{0,1,...,C−1},r∝{0,1,...,R−1}{displaystyle cpropto {begin{Bmatrix}0,1,...,C-1end{Bmatrix}},rpropto {begin{Bmatrix}0,1,...,R-1end{Bmatrix}}}{displaystyle cpropto {begin{Bmatrix}0,1,...,C-1end{Bmatrix}},rpropto {begin{Bmatrix}0,1,...,R-1end{Bmatrix}}}.


舉個例子來說,當 p=5,α=2{displaystyle p=5,alpha =2}{displaystyle p=5,alpha =2}


α1=2(mod5){displaystyle alpha ^{1}=2qquad (modquad 5)}{displaystyle alpha ^{1}=2qquad (modquad 5)}


α2=4(mod5){displaystyle alpha ^{2}=4qquad (modquad 5)}{displaystyle alpha ^{2}=4qquad (modquad 5)}


α3=3(mod5){displaystyle alpha ^{3}=3qquad (modquad 5)}{displaystyle alpha ^{3}=3qquad (modquad 5)}


α4=1(mod5){displaystyle alpha ^{4}=1qquad (modquad 5)}{displaystyle alpha ^{4}=1qquad (modquad 5)}


因為 α4{displaystyle alpha ^{4}}{displaystyle alpha ^{4}}5{displaystyle 5}{displaystyle 5} 的模運算為 1{displaystyle 1}1 ,因此可以判定此情況為 4{displaystyle 4}{displaystyle 4} 個次方一循環,所以 N=4{displaystyle N=4}{displaystyle N=4}N{displaystyle N}N可以整除 (p−1){displaystyle (p-1)}{displaystyle (p-1)}。則數論矩陣可以表示成


[F(0)F(1)F(2)F(3)]=[1111124314141342][f(0)f(1)f(2)f(3)]{displaystyle {begin{bmatrix}F(0)\F(1)\F(2)\F(3)end{bmatrix}}={begin{bmatrix}1&1&1&1\1&2&4&3\1&4&1&4\1&3&4&2end{bmatrix}}{begin{bmatrix}f(0)\f(1)\f(2)\f(3)end{bmatrix}}}{displaystyle {begin{bmatrix}F(0)\F(1)\F(2)\F(3)end{bmatrix}}={begin{bmatrix}1&1&1&1\1&2&4&3\1&4&1&4\1&3&4&2end{bmatrix}}{begin{bmatrix}f(0)\f(1)\f(2)\f(3)end{bmatrix}}}


在一些特殊的情況下,令 F=Z/m{displaystyle F=Z/m}{displaystyle F=Z/m} ,而 m{displaystyle m}m 不是值數也是有意義的。像是 Fermat Number Transform 中(m=2k+1){displaystyle (m=2^{k}+1)}{displaystyle (m=2^{k}+1)},以及 Mersenne Number Transform 中 (m=2k−1){displaystyle (m=2^{k}-1)}{displaystyle (m=2^{k}-1)}.



参阅



  • 傅里叶级数

  • 傅里叶变换

  • 快速傅里叶变换

  • 数字信号处理

  • Chirp-Z轉換



参考文献



  1. Oppenheim, Alan V.; Schafer, R. W.; and Buck, J. R., (1999). Discrete-time signal processing, Upper Saddle River, N.J. : Prentice Hall. ISBN 0137549202

  2. Mallat, S., A Wavelet Tour of Signal Processing, Second Edition, Academic Press, ISBN 0-12-466606-x

  3. Gill, J., Fourier Transform and Its Applications([1])





Comments

Popular posts from this blog

Monte Carlo

Information security

章鱼与海女图