阅读理解:Yariv.E的MMSE方法
致敬Yariv.Ephraim,重温MMSE
Yariv.Ephraim翻译成中文应该叫亚力夫.伊弗雷姆,毕业于海法的以色列工业大学,博士论文的核心就是MMSE,即谱减法、维纳滤波的基础上,为频域降噪算法奠定了另一个发展领域,翻越他的研发历程,跨越40年,接近半个世纪了,有网友总结他开创了statiscial model based, HMM training based, subspace based三个语音增强的技术方向,真是令人尊敬,我们先学习一下最经典古老的基于statiscial model based的MMSE。贴一张他的照片,致敬一下。
都是MMSE,Yariv的和Wiener的有何不同
MMSE-Minimum Mean-square Error
最小均方差就是寻找一组参数,令观测数据和估计数据的方差平均值最小。这个方法哪里都可以用,也被广泛使用,基于此谱减法和维纳滤波法都是基于MMSE的方式构建的误差函数,最后就得了一个解法。Speech enhancement using a minimum mean-square error short-time spectral amplitude estimator论文提到了谱减法是从ML(最大似然)的角度提出的最优变量估计器,维纳是直接对信号谱线进行的MMSE估计,从论文命题的这个角度,维纳方法可以叫做minimum mean-square error short-time signal spectral estimator。这怎么理解呢?重抄一下维纳的推导公式
在任意频率
ω
k
\omega_k
ωk,我们可以计算出误差估计
E
(
ω
k
)
=
S
(
ω
k
)
−
S
^
(
ω
k
)
=
S
(
ω
k
)
−
H
(
ω
k
)
Y
(
ω
k
)
E(\omega_k)=S(\omega_k)-\hat{S}(\omega_k)=S(\omega_k)-H(\omega_k)Y(\omega_k)
E(ωk)=S(ωk)−S^(ωk)=S(ωk)−H(ωk)Y(ωk)
由此定义频域均方误差的代价函数
J
2
=
E
[
∣
E
(
ω
k
)
∣
2
]
=
E
{
[
S
(
ω
k
)
−
H
(
ω
k
)
Y
(
ω
k
)
]
∗
[
S
(
ω
k
)
−
H
(
ω
k
)
Y
(
ω
k
)
]
}
=
E
[
∣
S
(
ω
k
)
∣
2
]
−
H
(
ω
k
)
E
[
S
∗
(
ω
k
)
Y
(
ω
k
)
]
−
H
∗
(
ω
k
)
E
[
S
(
ω
k
)
Y
∗
(
ω
k
)
]
+
∣
H
(
ω
k
)
∣
2
E
[
∣
Y
(
ω
k
)
∣
2
]
=
E
[
∣
S
(
ω
k
)
∣
2
]
−
H
(
ω
k
)
P
y
s
(
ω
k
)
−
H
∗
(
ω
k
)
P
s
y
(
ω
k
)
+
∣
H
(
ω
k
)
∣
2
P
y
y
(
ω
k
)
\begin{aligned} J_2&=E[|E(\omega_k)|^2]\\ &=E\lbrace[S(\omega_k)-H(\omega_k)Y(\omega_k)]^*[S(\omega_k)-H(\omega_k)Y(\omega_k)]\rbrace\\ &=E[|S(\omega_k)|^2]-H(\omega_k)E[S^*(\omega_k)Y(\omega_k)]-H^*(\omega_k)E[S(\omega_k)Y^*(\omega_k)]+|H(\omega_k)|^2E[|Y(\omega_k)|^2]\\ &=E[|S(\omega_k)|^2]-H(\omega_k)P_{ys}(\omega_k)-H^*(\omega_k)P_{sy}(\omega_k)+|H(\omega_k)|^2P_{yy}(\omega_k) \end{aligned}
J2=E[∣E(ωk)∣2]=E{[S(ωk)−H(ωk)Y(ωk)]∗[S(ωk)−H(ωk)Y(ωk)]}=E[∣S(ωk)∣2]−H(ωk)E[S∗(ωk)Y(ωk)]−H∗(ωk)E[S(ωk)Y∗(ωk)]+∣H(ωk)∣2E[∣Y(ωk)∣2]=E[∣S(ωk)∣2]−H(ωk)Pys(ωk)−H∗(ωk)Psy(ωk)+∣H(ωk)∣2Pyy(ωk)
公式里明确的看出来这个计算是复数域的计算,也可以理解为包含幅度和相位信息的一种MMSE。而维纳方法虽然假设了高斯模型和加性噪声的前提,但是从所谓的统计模型(幅度好观测,相位不好观测?)出发来说,构建一个STSA(Short Time Spectral Amplitude)的幅度(Amplitude)估计器似乎是统计最优的。
MMSE-STSA Estimator
Speech enhancement using a minimum mean-square error short-time spectral amplitude estimator论文推导的就是MMSE-STSA Estimator。该推导也是基于加性噪声的假设,假设
y
(
t
)
=
x
(
t
)
+
d
(
t
)
,
0
⩽
t
⩽
T
y(t)=x(t)+d(t), 0\leqslant t\leqslant T
y(t)=x(t)+d(t),0⩽t⩽TT是观测周期,语音信号经过的傅里叶变换后第k个频谱单元表示为
X
k
≜
A
k
e
x
p
(
j
α
k
)
Y
k
≜
R
k
e
x
p
(
j
θ
k
)
X_k\triangleq A_kexp(j\alpha_k)\\Y_k\triangleq R_kexp(j\theta_k)
Xk≜Akexp(jαk)Yk≜Rkexp(jθk)而通过观测信号
y
(
t
)
y(t)
y(t),可以直接求得
Y
k
=
1
T
∫
0
T
y
(
t
)
e
−
j
2
π
T
k
t
d
t
,
k
=
0
,
±
1
,
±
2
,
.
.
.
Y_k=\frac{1}{T}\int_{0}^{T}y(t) e^{-j\frac{2\pi}{T}kt} {\rm d}t, \ \ k=0,\pm1,\pm2,...
Yk=T1∫0Ty(t)e−jT2πktdt, k=0,±1,±2,...
这个范式的目标是估计
A
k
A_k
Ak,而通过一系列的假设和证明,我们其实只能从
Y
k
Y_k
Yk去推导这个结果
A
k
^
\hat{A_k}
Ak^。其实这个推导我一直试图弄懂,但还是不懂,只能抄写如下:
A
k
^
=
E
{
A
k
∣
y
(
t
)
,
0
⩽
t
⩽
T
}
=
E
{
A
k
∣
Y
0
,
Y
1
,
.
.
.
}
=
E
{
A
k
∣
Y
k
}
=
∫
0
∞
∫
0
2
π
a
k
p
(
Y
k
∣
a
k
,
α
k
)
p
(
a
k
,
α
k
)
d
α
k
d
a
k
∫
0
∞
∫
0
2
π
p
(
Y
k
∣
a
k
,
α
k
)
p
(
a
k
,
α
k
)
d
α
k
d
a
k
\begin{aligned} \hat{A_k}&=E\{A_k|y(t),\ 0\leqslant t\leqslant T \}\\ &=E\{A_k|Y_0, Y_1, ... \}\\ &=E\{A_k|Y_k\}\\ &=\frac{\int_{0}^{\infty}\int_{0}^{2\pi}a_kp(Y_k|a_k,\alpha_k)p(a_k,\alpha_k){\rm d}\alpha_k{\rm d}a_k}{\int_{0}^{\infty}\int_{0}^{2\pi}p(Y_k|a_k,\alpha_k)p(a_k,\alpha_k){\rm d}\alpha_k{\rm d}a_k} \end{aligned}
Ak^=E{Ak∣y(t), 0⩽t⩽T}=E{Ak∣Y0,Y1,...}=E{Ak∣Yk}=∫0∞∫02πp(Yk∣ak,αk)p(ak,αk)dαkdak∫0∞∫02πakp(Yk∣ak,αk)p(ak,αk)dαkdak
这个条件概率公式烧脑,上个世纪的牛人真是数学基础好。还有一些推导没理解就不抄了,直接写结果
A
k
^
=
Γ
(
1
,
5
)
v
k
γ
k
M
(
−
0.5
:
1
:
−
v
k
)
R
k
=
Γ
(
1
,
5
)
v
k
γ
k
e
x
p
(
−
v
k
2
)
[
(
1
+
v
k
)
I
0
(
v
k
2
)
+
v
k
I
1
(
v
k
2
)
]
R
k
\begin{aligned} \hat{A_k}&=\Gamma(1,5)\frac{\sqrt{v_k}}{\gamma_k}M(-0.5:1:-v_k)R_k\\ &=\Gamma(1,5)\frac{\sqrt{v_k}}{\gamma_k}exp(-\frac{v_k}{2})\bigg [ (1+v_k)I_0 (\frac{v_k}{2})+v_kI_1(\frac{v_k}{2})\bigg ]R_k \end{aligned}
Ak^=Γ(1,5)γkvkM(−0.5:1:−vk)Rk=Γ(1,5)γkvkexp(−2vk)[(1+vk)I0(2vk)+vkI1(2vk)]Rk伽马函数、超几何函数和贝塞尔函数不深究了,这里只记住
v
k
≜
ξ
k
1
+
ξ
k
γ
k
v_k\triangleq\frac{\xi_k}{1+\xi_k}\gamma_k
vk≜1+ξkξkγk
MMSE-LSA Estimator
Speech Enhancement Using a Minimum Mean-Square Error Log-Spectral Amplitude Estimator 论文推导的是MMSE-LSA Estimator,鉴于上一个推导的理解有限,这个推导直接上公式吧
A
k
^
=
ξ
k
1
+
ξ
k
e
x
p
{
1
2
∫
v
k
∞
e
−
t
t
d
t
}
R
k
\begin{aligned} \hat{A_k}&=\frac{\sqrt{\xi_k}}{1+\xi_k}exp \Big \{ \frac{1}{2}\int_{v_k}^{\infty}\frac{e^{-t}}{t} {\rm d}t\Big \}R_k \end{aligned}
Ak^=1+ξkξkexp{21∫vk∞te−tdt}Rk
参考文献
Speech enhancement using a minimum mean-square error short-time spectral amplitude estimator
Speech Enhancement Using a Minimum Mean-Square Error Log-Spectral Amplitude Estimator
频域噪声模型估计的话音增强方法
语音增强国外牛人
Yariv Ephraim