离散傅里叶变换公式推导

离散傅里叶变换公式推导

先抛变换公式:
Fm=∑n=0N−1fne−2πimn/N↔fn=1N∑m=0N−1Fme2πimn/N F_m=\sum_{n=0}^{N-1}f_ne^{-2\pi imn/N}\leftrightarrow f_n=\frac{1}{N}\sum_{m=0}^{N-1}F_me^{2\pi imn/N} Fm=n=0N1fne2πimn/Nfn=N1m=0N1Fme2πimn/N
式中的N是数据点个数
讲道理一开始完全看不懂公式这么来的,一顿百度后我学到了很多,但就是没学到怎么推公式。好吧只能自己推。
先来看一下DFT的物理意义:DFT示意图
(图我网上随便下的)
离散傅里叶变换是把周期性离散信号变换到频域上,大家知道,周期信号变到频域上是离散的。离散就是在个别点{xn}\{x_n\}{xn}有值。我是学物理的,物理里面离散的可以这么表示:
f(x)=∑n=0N−1fnδ(x−xn) f(x)=\sum_{n=0}^{N-1}f_n\delta(x-x_n) f(x)=n=0N1fnδ(xxn)
δ(x)\delta(x)δ(x)是个在x=0x=0x=0处无穷大,其余位置为0且全空间积分为1的函数∫−∞∞δ(x)dx=1\int_{-\infty}^{\infty}\delta(x)dx=1δ(x)dx=1

周期性信号变到频域上,那不就是傅里叶级数吗。自然有公式
Fm=∫−TT∑n=0N−1fnδ(x−xn)e−ixkmdx=∑n=0N−1∫fnδ(x−xn)e−ixkmdx=∑n=0N−1fne−ixnkm\begin{aligned} F_m &= \int_{-T}^{T}\sum_{n=0}^{N-1}f_n\delta(x-x_n)e^{-ixk_m}dx \\&=\sum_{n=0}^{N-1}\int f_n\delta(x-x_n)e^{-ixk_m}dx \\&=\sum_{n=0}^{N-1}f_ne^{-ix_nk_m} \end{aligned} Fm=TTn=0N1fnδ(xxn)eixkmdx=n=0N1fnδ(xxn)eixkmdx=n=0N1fneixnkm
接下来我们假设dx,dkdx,dkdx,dk分别是{xn}\{x_n\}{xn},{kn}\{k_n\}{kn}的间距,那么:
xn=ndx,km=mdk x_n=ndx,\qquad k_m = mdk xn=ndx,km=mdk
代入上式:
Fm=∑n=0N−1fne−ixnkm=∑n=0N−1fne−imndxdk\begin{aligned} F_m &=\sum_{n=0}^{N-1}f_ne^{-ix_nk_m} \\&=\sum_{n=0}^{N-1}f_ne^{-imndxdk} \end{aligned} Fm=n=0N1fneixnkm=n=0N1fneimndxdk
是不是和最上面的式子很接近了?还差最后一步,确定dxdkdxdkdxdk的值。
下面我懒得写了,只说一下做法吧

  1. 先写出FmF_mFmfnf_nfn的逆变换,
    fn=c∑n=0N−1Fmeimndxdk f_n = c\sum_{n=0}^{N-1}F_me^{imndxdk} fn=cn=0N1Fmeimndxdk
    ccc是个系数,之后应该能计算出是1/N1/N1/N
  2. 把上面的FmF_mFm表达式带进去,就能得到用fn′f_{n'}fn求和表达的fnf_nfn,这要求dxdkdxdkdxdk满足一定关系,其实就是满足dxdk=2πNdxdk = \frac{2\pi}{N}dxdk=N2π
  3. 最后把公式里的dxdkdxdkdxdk替换就完事了

这个公式推导倒是不难,主要问题是理解不要出现偏差。所谓离散傅里叶变换是把周期离散信号变换到周期离散频谱,这是真的离散信号。一开始我以为是连续信号在某些给定点采样得到的值呢(没有学过信号相关的内容,在计算物理中遇到了这个离散傅里叶变换)。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值