本节为opencv数字图像处理(4):频率域滤波的第二小节,取样和取样函数的傅里叶变换,主要包括:取样、取样函数傅立叶变换、取样定理以及根据取样数据重建原函数的数学推导。
2. 取样和取样函数的傅立叶变换
2.1 取样
计算机处理之前,连续函数必须转换为离散值序列,这需要用到取样和量化。
考虑一个函数
f
(
t
)
f(t)
f(t)如下图a所示,希望以独立变量
t
t
t的均匀间隔
Δ
T
\Delta T
ΔT取样,假定函数对于
t
t
t从
−
∞
-\infty
−∞到
∞
\infty
∞扩展。通过上一小节,模拟取样的一种方法就是用一个如下图b所示的
Δ
T
\Delta T
ΔT单位间隔的冲激串作为取样函数去乘以
f
(
t
)
f(t)
f(t),即:
f
~
(
t
)
=
f
(
t
)
s
Δ
T
(
t
)
=
Σ
n
=
−
∞
∞
f
(
t
)
δ
(
t
−
n
Δ
T
)
\tilde f(t)=f(t)s_{\Delta T}(t)=\Sigma_{n=-\infty}^{\infty}f(t)\delta(t-n\Delta T)
f~(t)=f(t)sΔT(t)=Σn=−∞∞f(t)δ(t−nΔT)
其中,
f
~
(
t
)
\tilde f(t)
f~(t)表示取样后的函数,如下图c,这一和式的每一个分量都是由在该冲激位置处
f
(
t
)
f(t)
f(t)的值加权后的冲激。每个取样值由加权后的冲激强度给出,可以通过积分得到它。也就是序列中的任意取样值
f
k
f_k
fk由下式给出:
f
k
=
∫
−
∞
∞
f
(
t
)
δ
(
t
−
k
Δ
T
)
d
t
=
f
(
k
Δ
T
)
f_k=\int_{-\infty}^{\infty}f(t)\delta(t-k\Delta T)dt=f(k\Delta T)
fk=∫−∞∞f(t)δ(t−kΔT)dt=f(kΔT)
取样结果如下图d所示,它由原始函数的等间隔取样组成。
2.2 取样函数的傅立叶变换
令
F
(
μ
)
F(\mu)
F(μ)代表连续函数
f
(
t
)
f(t)
f(t)的傅立叶变换。根据2.1中的内容,取样后的函数
f
~
(
t
)
\tilde f(t)
f~(t)是
f
(
t
)
f(t)
f(t)与一个冲激串的乘积。根据卷积定理我们知道,空间域两个函数乘积的傅里叶变换是两个函数的傅立叶变换在频率域的卷积,也就是说取样后的函数
f
~
(
t
)
\tilde f(t)
f~(t)的傅立叶变换
F
~
(
μ
)
\tilde F (\mu)
F~(μ)是:
F
~
(
μ
)
=
ζ
{
f
~
(
t
)
}
=
ζ
{
f
(
t
)
s
Δ
T
(
t
)
}
=
F
(
μ
)
★
S
(
μ
)
\tilde F(\mu)=\zeta\{\tilde f(t)\}=\zeta\{f(t)s_{\Delta T}(t)\}=F(\mu)★S(\mu)
F~(μ)=ζ{f~(t)}=ζ{f(t)sΔT(t)}=F(μ)★S(μ)
根据上一小节,有:
S
(
μ
)
=
1
Δ
T
Σ
n
=
−
∞
∞
δ
(
μ
−
n
Δ
T
)
S(\mu)=\frac{1}{\Delta T}\Sigma_{n=-\infty}^{\infty}\delta(\mu-\frac{n}{\Delta T})
S(μ)=ΔT1Σn=−∞∞δ(μ−ΔTn)
这正是冲激串
s
Δ
T
(
t
)
s_{\Delta T}(t)
sΔT(t)的傅里叶变换,于是有:
最后一步也是根据上一小节冲激串的特性得到的。
最后得到的结果表明,取样后的函数
f
~
(
t
)
\tilde f(t)
f~(t)的傅立叶变换
F
~
(
μ
)
\tilde F(\mu)
F~(μ)是
F
(
μ
)
F(\mu)
F(μ)的一个拷贝的无限周期序列,也是原始连续函数的傅里叶变换。拷贝间的间隔由
1
/
Δ
T
1/\Delta T
1/ΔT的值决定。
上述过程可由下图来说明,其中:下图1表示函数
f
(
t
)
f(t)
f(t)的傅立叶变换
F
(
μ
)
F(\mu)
F(μ);下图2表示取样后的函数的变换
F
~
(
μ
)
\tilde F(\mu)
F~(μ),其中生成取样后的函数的取样率
1
/
Δ
T
1/\Delta T
1/ΔT,图2中的取样率足够高,这样周期之间存在有效的间隔,并保持
F
(
μ
)
F(\mu)
F(μ)的完整性(过取样);下图3取样率刚好足以保持
F
(
μ
)
F(\mu)
F(μ)(临界取样);但在下图4,取样率低于保持不同
F
(
μ
)
F(\mu)
F(μ)拷贝的最小取样率要求,这样就不能保持原始变换(欠取样)。
2.3 取样定理
这一部分的重点在于考虑形式上的取样过程,并确立一个条件,在该条件下,一个连续函数完全可由其取样集合来恢复。
对于以原点为中心的有限区间(带宽)
[
−
μ
m
a
x
,
μ
m
a
x
]
[-\mu_{max},\mu_{max}]
[−μmax,μmax]之外的频率值,其傅立叶变换为零的函数
f
(
t
)
f(t)
f(t)称为带限函数,如下左图所示。对该函数做临界取样得到如下右图所示的结果。
如果能从
F
~
(
μ
)
\tilde F(\mu)
F~(μ)中包含的这个函数的拷贝的周期序列中分离出
F
(
μ
)
F(\mu)
F(μ)的一个拷贝,那么我们就可以从取样后的版本复原
f
(
t
)
f(t)
f(t),其中
F
~
(
μ
)
\tilde F(\mu)
F~(μ)是取样后的函数
f
~
(
t
)
\tilde f(t)
f~(t)的傅里叶变换,是一个周期为
1
/
Δ
T
1/\Delta T
1/ΔT的连续周期函数。
如果拷贝间的间距足够,那么从
F
~
(
μ
)
\tilde F(\mu)
F~(μ)中提取一个单周期使其等同于
F
(
μ
)
F(\mu)
F(μ)中是可能的,根据上右图若满足
1
/
2
Δ
T
>
μ
m
a
x
1/2\Delta T>\mu_{max}
1/2ΔT>μmax即:
1
Δ
T
>
2
μ
m
a
x
\frac{1}{\Delta T}>2\mu_{max}
ΔT1>2μmax
则可保证有足够大的间距。上面的公式指出,如果以超过函数最高频率的两倍的取样率来获得样本,连续的带限函数可以完全从它的样本集来恢复,这就是取样定理,完全等于最高频率的两倍的取样率,称为奈奎斯特取样率。
如下图所示,是一个以率高于奈奎斯特取样率取样后的函数的傅里叶变换,其中下图b中的函数由下式定义:
乘以下图a中的周期序列时,该函数就隔离了以原点为中心的周期,然后如下图c所示,通过
H
(
μ
)
H(\mu)
H(μ)和
F
~
(
μ
)
\tilde F(\mu)
F~(μ)相乘得到了
F
(
μ
)
F(\mu)
F(μ):
F
(
μ
)
=
H
(
μ
)
F
~
(
μ
)
F(\mu)=H(\mu)\tilde F(\mu)
F(μ)=H(μ)F~(μ)
这样得到了
F
(
μ
)
F(\mu)
F(μ),就可以利用傅里叶反变换来复原
f
(
t
)
f(t)
f(t):
f
(
t
)
=
∫
−
∞
∞
F
(
μ
)
e
j
2
π
μ
t
d
μ
f(t)=\int_{-\infty}^{\infty}F(\mu)e^{j2\pi \mu t}d\mu
f(t)=∫−∞∞F(μ)ej2πμtdμ
上述变换过程从理论上证明了以函数包含的最高频率的两倍的速率取样得到的函数的样本,来恢复一个带限函数是可能的。
函数
H
(
μ
)
H(\mu)
H(μ)称为低通滤波器,因为它通过频率范围低端的频率,但是会滤除较高的频率。它也被称为理想低通滤波器,因为它在幅度上无限快速地过渡。因为滤波器是从函数的取样恢复原始原始函数的手段,用于此目的的滤波器称为重建滤波器。
2.4 混淆
如果一个带限函数用低于其最高频率的两倍取样率取样也就是欠取样,以低于奈奎斯特取样率取样的最终效果是周期重叠,不论使用什么滤波器,都不能分离出变换的一个单周期。如下图所示,同样用理想低通滤波器,反变换会产生
t
t
t的一个破坏了的函数,由函数欠取样导致的这种效果就是周知的频率混淆,简称为混淆。混淆是一个过程,在此过程中,一个连续函数的高频分量在取样后的函数中用低频遮盖了。
取样过的函数中,混淆总是存在的,实践中,可以通过平滑输入函数减少高频分量的方法(如图像采用散焦方法)来降低混淆的影响,称为抗混淆,它必须在函数被取样之前完成。
2.5 由取样后的数据重建函数
由一组样本集合来重建函数实际上可以减少样本间的内插,2.3中概括了一个带限函数使用频率域方法由其样本完美复原的过程。使用卷积定理,我们可以在空间域得到等价的结果。又因为
F
(
μ
)
=
H
(
μ
)
F
~
(
μ
)
F(\mu)=H(\mu)\tilde F(\mu)
F(μ)=H(μ)F~(μ),可知:
f
(
t
)
=
ζ
−
1
{
F
(
μ
)
}
=
ζ
−
1
{
H
(
μ
)
F
~
(
μ
)
}
=
h
(
t
)
★
f
~
(
t
)
f(t)=\zeta^{-1}\{F(\mu)\}=\zeta^{-1}\{H(\mu)\tilde F(\mu)\}=h(t)★\tilde f(t)
f(t)=ζ−1{F(μ)}=ζ−1{H(μ)F~(μ)}=h(t)★f~(t)
其中最后一步的变换根据卷积定理,将下式给出的
f
~
(
t
)
\tilde f(t)
f~(t)代入上式:
f
~
(
t
)
=
f
(
t
)
s
Δ
T
(
t
)
=
Σ
n
=
−
∞
∞
f
(
t
)
δ
(
t
−
n
Δ
T
)
\tilde f(t)=f(t)s_{\Delta T}(t)=\Sigma_{n=-\infty}^{\infty}f(t)\delta(t-n\Delta T)
f~(t)=f(t)sΔT(t)=Σn=−∞∞f(t)δ(t−nΔT)
然后使用:
f
(
t
)
★
h
(
t
)
=
∫
−
∞
∞
f
(
τ
)
h
(
t
−
τ
)
d
τ
f(t)★h(t)=\int_{-\infty}^{\infty}f(\tau)h(t-\tau)d\tau
f(t)★h(t)=∫−∞∞f(τ)h(t−τ)dτ
可导出
f
(
t
)
f(t)
f(t)的如下空间域表达式:
f
(
t
)
=
Σ
−
∞
∞
f
(
n
Δ
T
)
s
i
n
c
[
(
t
−
n
Δ
T
)
/
Δ
T
]
f(t)=\Sigma_{-\infty}^{\infty}f(n\Delta T)sinc[(t-n\Delta T)/\Delta T]
f(t)=Σ−∞∞f(nΔT)sinc[(t−nΔT)/ΔT]
上式表明,完美重建的函数是用取样值加权的sinc函数的无限和,并且有个重要的特性,即重建的函数恒等于在多个 Δ T \Delta T ΔT的整数增量处的样本值,也就是说,对于任何的 t = k Δ T t=k\Delta T t=kΔT, f ( t ) f(t) f(t)等于第 k k k个样本 f ( k Δ T ) f(k\Delta T) f(kΔT)。
欢迎扫描二维码关注微信公众号 深度学习与数学 [每天获取免费的大数据、AI等相关的学习资源、经典和最新的深度学习相关的论文研读,算法和其他互联网技能的学习,概率论、线性代数等高等数学知识的回顾]