Page 107 - 201806
P. 107

第 37 卷 第 6 期               武正平等: 改进的正交匹配追踪的语音增强算法                                           937


             3.3 OMP算法的语音增强性能改进与去噪                             单句   [13] 。用 IEEE 句子库中的前 200组句子合成的
             3.3.1 OMP算法的语音增强性能改进                              一个长度 8 分 44 秒的干净语音来训练干净语音的
                 传统 OMP 算法只是最大可能重构原信号,对                        字典。所用的含噪语音为 IEEE 句子库中的后 100
             于含噪语音并不能进行有效去噪。语音信号的能量                            组干净语音句子 (没有进行训练的句子) 与原始噪
             集中在低频段,而噪声能量则主要集中在高频段。                            声及 babble 噪声、car 噪声、street 噪声和 train 噪声
             为了增强 OMP 算法的去噪能力,设置能量阈值 φ,                        四种混合形成的噪声以−5 dB、0 dB、5 dB和10 dB
             通过对估计出的每帧信号的能量与阈值 φ 比较,选                          的信噪比加噪形成。干净语音和噪声的采样频率都
             择出纯净语音的帧,尽可能地重构出含噪语音中的                            是8 kHz,每帧信号取16 ms,帧移是50%。
             干净语音的稀疏系数          [12] 。假设含噪语音的能量等
                                                                     表 1   两种算法 PESQ 与 STOI 评估值
             于纯净语音的能量加上噪声能量,则第 n 帧含噪语
                                                                  Table 1 The PESQ and STOI evaluation
             音的能量为
                                                                  values of two algorithms
                         E(n) = E s (n) + E z (n),     (12)
                                                                  噪声      评价                   SNR/dB
             其中,E s (n)为第n帧纯净语音能量,E z (n)为第n帧                     类型      算法     增强算法      −5   0   5    10
             噪声能量。E s (n) 可由已知的含噪语音求得,E z (n)                                   传统 K-SVD 1.39 1.60 1.88  2.24
                                                                          PESQ
             可用最小值约束的递归平均(Minima controlled re-                                  本文方法     1.72 1.95 2.21  2.40
                                                                高斯白噪声
             cursive averaging, MCRA) 算法求得。设总的帧数                                传统 K-SVD 0.48 0.59 0.66 0.70
                                                                          STOI
             为L,则能量阈值φ为                                                          本文方法     0.47 0.60 0.65 0.71
                                                                                传统 K-SVD 1.84 2.09 2.34  2.60
                      L (
                              (
                                     ))
                    1  ∑        E z (n)                                   PESQ
               φ =        1 −           , 0 < φ < 1.   (13)                      本文方法     1.99 2.13 2.36  2.59
                   L            E(n)                             babble
                     n=1                                                        传统 K-SVD 0.38 0.53 0.62 0.69
                                                                          STOI
                 按照第2.2 节介绍的 OMP 算法流程,在步骤二                                       本文方法     0.36 0.52 0.61 0.68
             迭代的第 (3) 步与第 (4) 步中估算含噪语音的能量,                                      传统 K-SVD 1.61 1.81 2.12  2.39
                                                                          PESQ
             并归一化为 η,判断若 η > φ 为真继续向下执行,否                                        本文方法     1.96 2.08 2.24  2.42
                                                                   car
             则跳转到第 (1) 步,最终得到含噪语音的稀疏系数                                          传统 K-SVD 0.43 0.55 0.65 0.69
                                                                          STOI
             矩阵。                                                                 本文方法     0.42 0.54 0.64 0.69
                                                                                传统 K-SVD 1.53 1.75 1.97  2.25
             3.3.2 改进OMP算法的稀疏去噪                                           PESQ
                                                                                 本文方法     1.79 1.94 2.19  2.38
                                                    ˆ
                 用第 3.2 节训练得到的干净语音字典 D 和第                         street        传统 K-SVD 0.47 0.54 0.63 0.69
             3.3.1节改进的 OMP算法得到的稀疏系数矩阵 x合                                  STOI   本文方法     0.46 0.52 0.64 0.70
             成增强后的语音信号y c ,                                                     传统 K-SVD 1.29 1.80 2.05  2.25
                                                                          PESQ
                               y c = Dx,               (14)       train          本文方法     1.87 2.13 2.21  2.44
                                     b
                                                                                传统 K-SVD 0.35 0.50 0.62 0.69
             这里的语音信号 y c 是一个二维的矩阵,是帧形式                                    STOI   本文方法     0.36 0.51 0.63 0.70
             的信号。应用反分帧函数将帧信号恢复为一维信号                                             传统 K-SVD 1.52 1.83 2.07  2.28
                                                                          PESQ
             ˆ y c ,最终得到增强后的语音信号。                                                本文方法     1.86 2.07 2.20  2.41
                                                                 混合噪声
                                                                                传统 K-SVD 0.39 0.51 0.63 0.68
             4 实验结果与分析                                                    STOI   本文方法     0.38 0.50 0.64 0.69

                 本实验所用的仿真软件为 MATLAB2014。实
             验 所 采 用 的 原 始 噪 声 为 babble 噪 声、car 噪 声、           4.1  语音增强算法对比
             street 噪声、train 噪声和高斯白噪声,均来自 Noi-                     为了验证本文提出的 OMP 算法在语音增强性
             sex92标准噪声库。所用的干净语音均来自IEEE句                        能上的改进,与传统 K-SVD 语音增强算法进行了
             子库,每组句子长度约为 2∼3 s,都为完整的英文简                        对比。评估算法性能所采用的指标有语音质量客
   102   103   104   105   106   107   108   109   110   111   112