取样和取样函数的傅里叶变换
取样
在用计算机处理之前,需要将连续函数处理成为离散值序列,考虑一个连续函数f(t),模拟取样的一种方法是用一个ΔT单位间隔的冲激串作为取样函数去乘以f(t):
~f(t)=f(t)sΔT(t)=∞∑n=−∞f(t)δ(t−nΔT)
其中~f(t)表示取样后的函数,每个取样值由加权后的冲激强度给出,可以通过积分得到,也就是序列中任意取样值fk由下式给出:
fk=∫∞−∞f(t)δ(t−kΔT)dt=f(kΔT),k=⋯,−2,−1,0,1,2,⋯

取样函数的傅里叶函数
令F(μ)表示f(t)的傅里叶变换,取样之后的相应函数~f(t)是f(t)与一个冲激串的乘积,而空间域中两个函数乘积的傅里叶变换是两个函数傅里叶变换的卷积:
~F(μ)=J{~f(t)}=J{f(t)sΔT(t)}=F(μ)★S(μ)
冲激串的傅里叶变换:
S(μ)=1ΔT∞∑n=−∞δ(t−nΔT)
可以得到:
~F(μ)=F(μ)★S(μ)=∫∞−∞F(τ)S(μ−τ)dτ=1ΔT∫∞−∞F(τ)∞∑n=−∞δ(μ−τ−nΔT)dτ=1ΔT∞∑n=−∞∫∞−∞F(τ)δ(μ−τ−nΔT)dτ=1ΔT∞∑n=−∞F(μ−nΔT)
得到取样后的函数~f(t)的傅里叶变换~F(μ)是F(μ)的一个拷贝的无限、周期序列,拷贝的间隔为1ΔT,可以看到取样之后的函数是离散的,但是取样之后的函数的傅里叶变换是连续的
下图是原函数的傅里叶变换简图:

过采样:

临界采样:

取样定理
对于以原点为中心的有限区间[−μmax,μmax]之外的频率值,其傅里叶变换为0的函数f(t)称为带限函数,如上第一幅图,如果可以从~F(μ)中分离出F(μ)的一个拷贝,那么我们就可以从取样后的版本利用反变换复原出f(t),条件如下:
12ΔT>μmax
也就是以超过最高频率的两倍的取样率来获得样本,连续的带限函数就可以完全从它的样本集来恢复,也就是不会产生信息损失,完全等于最高频率的两倍的取样率称为奈奎斯特取样率
- 恢复原函数的过程:
一个低通滤波器H(μ):
H(μ)={ΔT−μmax≤μ≤μmax0otherwise
这个和取样之后的函数的傅里叶变换~F(μ)相乘,取样率需要大于奈奎斯特取样率:
F(μ)=H(μ)~F(μ)
得到F(μ)之后就可以通过傅里叶反变换复原f(t):
f(t)=∫∞−∞F(μ)ej2πμtdμ
混淆
一个带限函数用低于其最高频率的两倍取样率取样将会出现周期重叠,此时不管使用什么滤波器,都不可能分理出变换的一个周期,这种效果就是频率混淆,简称为混淆;
除了一些特殊情况以外,在取样过的函数中,混淆总是存在的,在我们限制函数的持续时间时,总会引入无限的频率分量,例如,假设我们想要把带限函数f(t)的持续时间限制在区间[0,T]内,可以让f(t)乘如下函数达到:
h(t)={10≤t≤T0otherwise
我们知道两个函数乘积的傅里叶变换等于两个函数的傅里叶变换的卷积,f(t)的变换是带限的,但是h(t)的傅里叶变换在频率域上是无限延伸的,所以卷积之后得到一个频率分量无限扩展的结果
由取样后的数据重建(复原)函数
f(t)=J−1{F(μ)}=J−1{H(μ)~F(μ)}=h(t)★~f(t)
又有:
~f(t)=f(t)sΔT(t)=∞∑n=−∞f(t)δ(t−nΔT)
盒装滤波器H(μ)的傅里叶反变换是一个sinc函数:
f(t)=∞∑n=−∞f(nΔT)sinc[(t−nΔT)/ΔT]
对于t=kΔT,f(t)等于第k个样本f(kΔT),样本点之间的f(t)是由sinc函数的和形成的内插
单变量的离散傅里叶变换DFT
由取样后的函数的连续变换得到DFT
由上面的基础知识可以得到取样后的离散函数的傅里叶变换:
~F(μ)=∫∞−∞~f(t)e−j2πμtdt=∫∞−∞∞∑n=−∞f(t)δ(t−nΔT)e−j2πμtdt=∞∑n=−∞∫∞−∞f(t)δ(t−nΔT)e−j2πμtdt=∞∑n=−∞fne−j2πμnΔT
从之前的推导中有:
~F(μ)=F(μ)★S(μ)=∫∞−∞F(τ)S(μ−τ)dτ=1ΔT∫∞−∞F(τ)∞∑n=−∞δ(μ−τ−nΔT)dτ=1ΔT∞∑n=−∞∫∞−∞F(τ)δ(μ−τ−nΔT)dτ=1ΔT∞∑n=−∞F(μ−nΔT)
也就是~F(μ)是一个周期为1ΔT的函数,我们需要表征~F(μ)的一个周期,假设在周期μ=0到μ=1ΔT之间等间距的得到~F(μ)的M个样本,也就是在如下频率处取样:
μ=mMΔT,m=0,1,2,⋯,M−1
将μ带到上面的式子:
Fm=M−1∑n=0fne−j2πmn/M,m=0,1,2,⋯,M−1
上式就是离散傅里叶变换,给定一个由f(t)的M个样本组成的集合{fn},上式可以得到一个与输入样本集合离散傅里叶变换相对应的M个复数离散值的样本集合{Fm},相反的,我们可以用傅里叶反变换IDFT复原样本集:
fn=1MM−1∑m=0Fmej2πmn/M,n−0,1,2,⋯,M−1
上面的两个式子构成离散傅里叶变换对,离散傅里叶变换对适用于任何均匀取样的有限离散样本集,一般使用x,y表示坐标变量,u,v表示频率变量,离散傅里叶变换对变为:
F(u)=M−1∑x=0f(x)e−j2πux/Mf(x)=1MM−1∑u=0F(u)ej2πux/M
可以证明傅里叶正变换和反变换都是无限周期的,其周期为M:
F(u)=F(u+kM)f(x)=f(x+kM)
卷积的离散表示为:
f(x)★h(x)=M−1∑m=0f(m)h(x−m),x=0,1,2,⋯,M−1
取样和频率间隔间的关系
如果f(x)由函数f(t)以ΔT为单位间隔取样后的M个样本组成,则包含集合{f(x)},x=0,1,2,⋯,M−1的记录的持续时间为:
T=MΔT
离散频率域中的相应间隔为:
Δu=1MΔT=1T
M个分量跨越的频率范围为:
Ω=MΔu=1ΔT
两个变量的函数的扩展
二维冲激及其取样特性
两个连续变量t,z的冲激δ(t,z)被定义为:
δ(t,z)={∞t=z=00otherwise
且:
∫∞−∞∫∞−∞δ(t,z)dtdz=1
在积分情况下显示取样特性:
∫∞−∞∫∞−∞f(t,z)δ(t,z)dtdz=f(0,0)
更一般的在t0,z0处:
∫∞−∞∫∞−∞f(t,z)δ(t−t0,z−z0)dtdz=f(t0,z0)
对于离散变量x,y,二维离散冲激定义为:
δ(x,y)={1x=y=00otherwise
其取样特性为:
∞∑x=−∞∞∑y=−∞f(x,y)δ(x,y)=f(0,0)
对于一个在(x0,y0)处的冲击:
∞∑x=−∞∞∑y=−∞f(x,y)δ(x−x0,y−y0)=f(x0,y0)
离散冲激的取样特性就是在冲激所在位置产生离散函数f(x,y)的值
二维连续傅里叶变换对
F(μ,v)=∫∞−∞∫∞−∞f(t,z)e−j2π(μt+vz)dtdzf(t,z)=∫∞−∞∫∞−∞F(μ,v)ej2π(μt+vz)dμdv
- 和一维连续离散对类似的例子:

F(μ,v)=∫∞−∞∫∞−∞f(t,z)e−j2π(μt+vz)dtdz=∫T2−T2∫Z2−Z2Ae−j2π(μt+vz)dtdz=ATZ[sin(πμT)πμT][sin(πvZ)πvZ]
和一维类似的,傅里叶变换中值为0的位置和T,Z成反比
二维取样和二维取样定理
二维冲激串:
sΔTΔZ(t,z)=∞∑m=−∞∞∑n=−∞δ(t−mΔT,z−nΔZ)
用上述冲激串和二维连续函数相乘可以得到取样之后的函数,如果由区间[−μmax,μmax]和区间[−vmax,vmax]建立的矩形之外的傅里叶变换为0,那么f(t,z)称为带限函数:
F(μ,v)=0,|μ|≥μmax,|v|≥vmax
二维取样定理表面,如果取样间隔满足:
ΔT<12μmax,ΔZ<12vmax
或者取样率满足:
1ΔT>2μmax,1ΔZ>2vmax
那么连续带限函数f(t,z)可以从一组样本无误的恢复
图像中的混淆
- 主要存在两种混淆现象:空间混淆和时间混淆,空间混淆是由于欠取样造成的;
- 抗混淆滤波是需要在图像被取样之前要做的,不存在事后用抗混淆滤波器来减少由于违反取样定理导致的混淆的影响;
- 缩小图像可以看成欠采样,通过行列删除实现,为减小混淆,在缩小图像之前可以先稍微模糊一下图像,例如使用均值滤波器来平滑图像;
- 莫尔(波纹)效应:在数字图像处理中,当扫描介质印刷物如报纸和杂志时,或者在具有周期分量的图像中,如果他的间隔与取样的间隔可比的时候,会出现,例如将两面纱窗叠放在一起产生的现象,也就是会产生一幅在原始模式中均不出现的差拍模式;
二维离散傅里叶变换及其反变换
下式是二维傅里叶变换DFT
F(μ,v)=M−1∑x=0N−1∑y=0f(x,y)e−j2π(μx/M+vy/N)
其中f(x,y)是大小为M×N的数字图像,当给出F(μ,v)的呀得到傅里叶反变换IDFT:
f(x,y)=1MNM−1∑μ=0N−1∑v=0F(μ,v)ej2π(μx/M+vy/N)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异