天天看点

噪声估计之MCRA2

MCRA

    • 1.MCRA-2
      • 1.1 谱平滑:
      • 1.2 搜索策略
      • 1.3 判决门限
    • 2. code & result

1.MCRA-2

​ 上一篇中介绍了 M C R A MCRA MCRA1噪声估计方法,这种方法计算简单效率高,但是也有一些不足,仔细观察MCRA谱最小值跟踪部分,使用 S m i n Smin Smin记录最小值,并通过 S t e m p Stemp Stemp每 L L L帧重置一次,那么问题就来了,假如噪声水平在一直缓慢上升,MCRA的这种跟踪方法将产生最大2L帧的延迟,如果噪声较不平稳的话这种方法效果就不是很好,

​ 对于这个缺陷,Loizou提出了一些改进方法MCRA-22,还是基于上一篇的MCRA处理框架,主要有三个不同的地方,这里简单介绍下,

1.1 谱平滑:

MCRA-2中的带噪谱只在时间维度上做了平滑,没有频率维度上平滑

P ( λ , k ) = η P ( λ − 1 , k ) + ( 1 − η ) ∣ Y ( λ , k ) ∣ 2 P(\lambda,k) = \eta P(\lambda-1,k)+(1-\eta)|Y(\lambda,k)|^2 P(λ,k)=ηP(λ−1,k)+(1−η)∣Y(λ,k)∣2

η \eta η为平滑参数,一般取 0.7 < η < 0.9 0.7<\eta<0.9 0.7<η<0.9

1.2 搜索策略

主要改进就是在最小值搜索的策略上。新的方法不依赖搜索窗长,因此也叫做连续谱最小值跟踪(Continuous Spectral Minimum Tracking ),搜索策略伪代码如下

IF P m i n ( λ − 1 , k ) < P ( λ , k ) Pmin(\lambda-1,k)<P(\lambda,k) Pmin(λ−1,k)<P(λ,k), then

P m i n ( λ , k ) = γ P m i n ( λ − 1 , k ) + 1 − γ 1 − β ( P ( λ , k ) − β P ( λ − 1 , k ) ) Pmin(\lambda,k)=\gamma Pmin(\lambda-1,k)+\frac{1-\gamma}{1-\beta}(P(\lambda,k)-\beta P(\lambda-1,k)) Pmin(λ,k)=γPmin(λ−1,k)+1−β1−γ​(P(λ,k)−βP(λ−1,k))

else

P m i n ( λ , k ) = P ( λ , k ) Pmin(\lambda,k)=P(\lambda,k) Pmin(λ,k)=P(λ,k)

end

1.3 判决门限

MCRA-2中使用了频率相关的门限 δ \delta δ,相比较MCRA中使用的是固定门限,具体设置如下:

δ ( k ) = { 2 1 ≤ k ≤ L F 2 L F < k ≤ M F 5 M F < k ≤ F s / 2 \delta(k)=\left\{\begin{array}{ll}{2} & {1 \leq k \leq L F} \\ {2} & {L F<k \leq M F} \\ {5} & {M F<k \leq F s / 2}\end{array}\right. δ(k)=⎩⎨⎧​225​1≤k≤LFLF<k≤MFMF<k≤Fs/2​

2. code & result

利用MCRA-2中的方法估计噪声,结合谱减法降噪效果如下

噪声估计之MCRA2
噪声估计之MCRA2

对比可以看到噪声有了一定程度的抑制,同时也可以看到3000左右有一条分界线,这是由于门限 δ \delta δ突变造成的,这些参数还需要结合实际噪音微调

References:

  1. Cohen, I., & Berdugo, B. (2002). Noise estimation by minima controlled recursive averaging for robust speech enhancement. IEEE Signal Processing Letters, 9(1), 12–15 ↩︎
  2. Rangachari, S., & Loizou, P. C. (2006). A noise-estimation algorithm for highly non-stationary environments. Speech Communication, 48(2), 220–231. doi:10.1016/j.specom.2005.08.005 ↩︎

继续阅读