The Discrete Fourier Transform (DFT)(1)

博客先回顾前篇的傅里叶变换和采样定理,重点介绍离散傅里叶变换。指出采样定理应用广泛,如ccd成像。现实中多为离散数据,若要进行频域处理需离散傅里叶变换,还说明了离散数据采样及对其进行傅里叶变换的相关内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前篇讲解了傅里叶变换和采样定理,这一节我们来说说离散傅里叶变换,DFT这个东西我前后看了好几遍,不过看一次忘一次,都是因为理解的不到位。不过这一次,我又有了点新理解。
采样定理的应用非常广泛,比如ccd成像就是采样定理的一个很好的应用,我们通过ccd的每个像素对一副图像进行采样。
所以现实生活中我们要处理的数据很多都是通过采样产生的离散数据,如果我们想对离散数据进行频域的处理,那么我们就需要离散傅里叶变换。
离散数据是通过采样产生的,而采样通常采用冲激函数来进行:

f(t)~=f(t)sΔT(t)=n=f(t)δ(tnΔT)(1)f(t)~=f(t)sΔT(t)=∑n=−∞∞f(t)δ(t−nΔT)(1)

上述函数就是我们所采样得到的离散数据。
然后对其进行傅里叶变换:

F(u)~=F{f(t)~}=F{f(t)sΔT(t)}=F(u)S(u)(2)F(u)~=F{f(t)~}=F{f(t)sΔT(t)}=F(u)⋆S(u)(2)

F(u)~=1ΔTn=F(unΔT)(3)F(u)~=1ΔT∑n=−∞∞F(u−nΔT)(3)

以上公式表明我们对f(x)以ΔTΔT的周期进行采样,其傅里叶变化为f(x)的傅里叶变换以1/ΔT1/ΔT为周期进行延展所得到的函数,这与我们采样定理描述的一致。
以上是利用卷积定理得到的结果,接下来我们直接利用傅里叶公式对其进行计算得到:
F~(u)=n=f(t)δ(tnΔT)exp(j2πut)dt=n=f(n)exp(j2πunΔT)(4)F~(u)=∫−∞∞∑n=−∞∞f(t)δ(t−nΔT)exp⁡(−j2πut)dt=∑n=−∞∞f(n)exp(−j2πunΔT)(4)

以上就是对离散数据的傅里叶变换,我们知道其是F(u)延拓产生的函数,而我们真正想要的只是一个周期的函数,因为这才是f(x)真正的频域函数。
这里我们选择的一段周期为u=0u=0u=1ΔTu=1ΔT,然后我们对这段函数进行采样将其切分为M段,于是有

u=mMΔTm=1,2,3,4,5,6...,M1(5)u=mMΔTm=1,2,3,4,5,6...,M−1(5)

将(5)带入(4)即可得到傅里叶离散变换如下:
Fm=n=0M1fnexp(j2πmn/M)(6)Fm=∑n=0M−1fnexp(−j2πmn/M)(6)

这里的n本来是从负无穷变到正无穷的,但是我们的fnfn一般都是从坐标轴原点开始才有值,其余地方都是0(比如一副图像我们定义其左上角坐标为其起始坐标(0,0))所以n从0开始,而我们一般将f(x)分成M份,所以我们的数据最多有M-1份,所以fn+1fn+1及以后都为0。而我们之所以将一个周期分为M分是因为我们的f(x)是被分成了M份。
所以傅里叶离散变换只不过是对离散数据进行傅里叶连续变换后对其中一个周期进行采样的结果而已。
不过这里要注意我们只是规定我们的F(u)要取0,1,2,…,M-1但并不是F(u)只能取这些数值,F(u)取的其他值是其他周期的值,这时我们要注意的一个事情。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值