关于DFT

DFT的笔记

连续函数傅立叶变换和傅立叶级数

傅立叶级数

在满足一定条件的情况下,周期为 T T T的函数可以表示为三角函数张成的空间里的向量,表示为

f ( t ) = ∑ n = − ∞ ∞ c n e i 2 π n T t f(t)=\sum_{n=-\infin}^{\infin}c_ne^{i\frac{2\pi n}{T}t} f(t)=n=cneiT2πnt

其中,基函数是正交的,那么,系数可以用 f ( t ) f(t) f(t) e − i 2 π n T t e^{-i\frac{2\pi n}{T}t} eiT2πnt的内积得到,内积是定义在一个周期上的积分除以周期。

系数为 c n = 1 T ∫ − T / 2 T / 2 f ( t ) e − i 2 π n T t d t c_n=\frac{1}{T} \int_{-T/2}^{T/2}f(t)e^{-i\frac{2\pi n}{T}t}dt cn=T1T/2T/2f(t)eiT2πntdt

c n c_n cn的值相当于频率为 2 π n T \frac{2\pi n}{T} T2πn的三角函数的强度。

傅立叶变换

傅立叶级数适用于周期函数,而对于非周期函数来说,是无法适用的,不过如果将周期视为无穷大,可由傅立叶级数推导出傅立叶变换,推导过程比较复杂,这里给出形式。

F ( μ ) = ∫ − ∞ ∞ f ( t ) e − i 2 π μ t d t F(\mu)=\int_{-\infin}^{\infin}f(t)e^{-i2\pi\mu t}dt F(μ)=f(t)ei2πμtdt

f ( t ) = ∫ − ∞ ∞ F ( μ ) e i 2 π μ t d μ f(t)=\int_{-\infin}^{\infin}F(\mu)e^{i2\pi\mu t}d\mu f(t)=F(μ)ei2πμtdμ

前者就是函数的频谱,相当于傅立叶级数中的 c n c_n cn,只不过是连续的。

带限函数采样的傅立叶变换

考虑一个带限连续函数经采样后的傅立叶变换。

设原函数 f ( t ) f(t) f(t),傅立叶变换为 F ( μ ) F(\mu) F(μ),采样周期为 Δ T \Delta T ΔT,冲击串为 s Δ T ( t ) s_{\Delta T}(t) sΔT(t),傅立叶变换为 S Δ T ( μ ) S_{\Delta T}(\mu) SΔT(μ)

采样后的函数为:

f ( t ) ∑ k δ ( t − k Δ T ) = f ( t ) s Δ T ( t ) f(t)\sum_k \delta(t-k\Delta T)=f(t)s_{\Delta T}(t) f(t)kδ(tkΔT)=f(t)sΔT(t)

其傅立叶变换为:

F ( μ ) ⊗ S Δ T ( μ ) = ∫ − ∞ ∞ F ( m ) S ( μ − m ) d m = 1 Δ T ∫ − ∞ ∞ F ( m ) ∑ k δ ( μ − m − k / Δ T ) d m = 1 Δ T ∑ k ∫ − ∞ ∞ F ( m ) δ ( μ − m − k / Δ T ) d m = 1 Δ T ∑ k F ( μ − k / Δ T ) \begin{aligned}F(\mu)\otimes S_{\Delta T}(\mu)&=\int_{-\infin}^{\infin}F(m)S(\mu-m)dm\\ &=\frac{1}{\Delta T}\int_{-\infin}^{\infin}F(m)\sum_k \delta(\mu-m-k/\Delta T)dm\\ &=\frac{1}{\Delta T}\sum_k\int_{-\infin}^{\infin}F(m)\delta(\mu-m-k/\Delta T)dm \\ &=\frac{1}{\Delta T}\sum_kF(\mu-k/\Delta T)\end{aligned} F(μ)SΔT(μ)=F(m)S(μm)dm=ΔT1F(m)kδ(μmk/ΔT)dm=ΔT1kF(m)δ(μmk/ΔT)dm=ΔT1kF(μk/ΔT)

这说明,采样后的函数傅立叶变换是其傅立叶变换以 1 / Δ T 1/\Delta T 1/ΔT为周期的延拓。

当然,具体形式也可以求得:

∫ − ∞ ∞ ∑ k f ( t ) δ ( t − k Δ T ) e − i 2 π μ t d t = ∑ k ∫ − ∞ ∞ f ( t ) δ ( t − k Δ T ) e − i 2 π μ t d t = ∑ k f ( k Δ T ) e − i 2 π μ k Δ T \begin{aligned}\int_{-\infin}^{\infin}\sum_k f(t)\delta(t-k\Delta T)e^{-i2\pi\mu t}dt&=\sum_k \int_{-\infin}^{\infin} f(t)\delta(t-k\Delta T)e^{-i2\pi\mu t}dt\\&=\sum_kf(k\Delta T)e^{-i2\pi\mu k\Delta T}\end{aligned} kf(t)δ(tkΔT)ei2πμtdt=kf(t)δ(tkΔT)ei2πμtdt=kf(kΔT)ei2πμkΔT

虽然 f ( k Δ T ) f(k\Delta T) f(kΔT)是离散的,但关于频率 μ \mu μ,这是一个连续函数,也是周期的。

离散傅立叶变换

表征采样后傅立叶变换在一个周期的值就可以得到完整的信息,在实际中这一个周期的值也是连续的,想表征这个周期的值,同样要对这个频域的周期进行采样。

取0到 1 / Δ T 1/\Delta T 1/ΔT这个周期,等间距采样M个样本,那么我们的采样值可以表示为 m M Δ T \dfrac{m}{M\Delta T} MΔTm

那么,采样得到的值为

∑ k f ( k Δ T ) e − i 2 π ( m M Δ T k Δ T ) = ∑ k f ( k Δ T ) e − i 2 π m k / M \sum_k f(k\Delta T)e^{-i2\pi (\frac{m}{M\Delta T}k\Delta T)}=\sum_k f(k\Delta T)e^{-i2\pi mk/M} kf(kΔT)ei2π(MΔTmkΔT)=kf(kΔT)ei2πmk/M

这就是离散傅立叶变换,通常, f f f的样本数是有限的也为M个,这样离散傅立叶变换表示为:

F m = ∑ k = 0 M − 1 f k e − i 2 π m k / M F_m=\sum_{k=0}^{M-1}f_ke^{-i2\pi mk/M} Fm=k=0M1fkei2πmk/M

离散傅立叶反变换为:

f k = 1 M ∑ m = 0 M − 1 F m e i 2 π m k / M f_k=\frac{1}{M}\sum_{m=0}^{M-1}F_me^{i2\pi mk/M} fk=M1m=0M1Fmei2πmk/M

这两个式子不明确依赖 Δ T \Delta T ΔT,适用于所有均匀采样。

由此可知,DFT输入为一个M个数据的序列,输出也为一个M个数据的序列,既然变换过程不依赖于采样频率,那怎么表示输入输出的单位呢?实际上,输入的点的横坐标就是 k Δ T k\Delta T kΔT,输出点的横坐标就是 m / Δ T m/\Delta T m/ΔT,只需要记得我们的采样频率,就可以给输入输出做出标定。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值