2016年 李 静:基 于 MATLAB的语音 信号采集 和处理 系统 的设 计 ·31.
首先去掉噪声 中幅度为零的那些幅度值 ,这么
做是 因为一般来说在信号录音时 ,信号的前一段时
间内会有一段连续的幅值为零的信号 ,为 了避免这
些数据影 响估计 的精度 ,需要将这些数据剔除 ,因
为在语音处理 中对于噪声 的幅度 的分布一般都是
假设零均值 的,所以将噪声幅值 中的零值数据剔除
掉 ,避免了零数据干扰 ,同时还不影响估计精度 。
对剔除掉零值 数据的噪声 幅度信号求取 均值
A,以及标准差 B,则认 为噪声 的幅度在卜A一3*B,
A+3 B1区 间 内 ,根 据计 算 这样 估 计 的 准确 率 在
99.7%,而 A+3*B将作 为下一步 自适应检测 门限的
基准门 限。
1.1.2采用 自适应检测门限
本 文采 用的 自适应 门限法 ,其实类似于一种
幅度跟随器 ,即当当前的数据点 的幅值高于前一个
数据点的幅值时 ,则当前 的门限值等 于当前 的幅度
值 ,当下一个数据点 的幅值如果 比当前 的门限值还
高 ,则下一时刻的门限值等于下一时刻数据点的幅
值 ,若下 一时刻 的数 据点 的幅值小 于 当前 的门限
值 ,则下一时刻的门限值保持上一时刻 的门限值不
变 ,如果经历了一段时间始终没有幅值高于门限值
的情况 ,这将门限值减小一定 比例 ,继续考察一段
时间 ,如果 门限值还是始终高于幅度值 ,则继 续降
低 门限值 ,直到幅度值高于 门限值 的时候 ,门限值
保持跟随幅度值 。在上述描述 中忽略 了一点 ,如果
门限值一直高于对应 时刻 的数据 的幅度值怎么办 ,
是不是 门限值要 一直无 底线的降下去 。回答是否
定 的,在这个过程 中我们给 自适应门限规定 了个基
准就是上一小节估计 出的噪声幅度 门限 ,以噪声幅
度 门限为基准 ,自适应 门限永远不能低于噪声幅度
门限。上述过程可以采 用公式描 述 为 :
(1)设置基准检测 门限Th_base,它等于估计得
到 的噪声 的幅度值 。自适应门限Th_adap始终要满
足(2)式 :
Th
_
adap Th
—
base (2)
(2)若当前数据 的幅值大于 Th—adap时 ,在下一
个 采样数据到来 前 ,适应 门限 Th adap按 (3)式修
正 ,即,增加 Th—step(这个 Th—step的具体数值可以
自己来设定):
Th
_
adap=Th
_
adap+Th_
step (3)
若 当前 数据 的幅度 小于 Th—adap时,Th—adap
保持不变 ,当系统在一个预设时间长度 Time
_
n o
—
up.
date内没 有检 测 到 幅值 高 于 Th_adap的数 据 ,
Th
_ adap要减少Th step,
Th
_
adap=Th
_
adap—Th
_
step (4)
上述描述步骤可产生 自适应门限序列。
1.1-3静音 区检测
将产生 的 自适 应 门限序列与噪声幅度 门限作
比较 ,令 自适应 门限序列中大于噪声 门限的那些值
为 1,其他值为零,则可以得到一个 自适应门限的
二值序列 ,可以认为语音信号中与二值 自适应门限
序列为零的对应位置属于静音 区,图 3、图4为语音
信号 自适应 门限示意 图。
…
带噪语音 数据
05} 自适应门限 1
l’
獬 r
tlme(s)
图 3 语音信号 自适应门限示意图
tim efs)
图4 语音信号 自适应门限细节示意图
1.1.4静音区去噪
加噪后的语音信号
t…
加 噪声 的语音信号 的频域 图
。 ’
… … z,
”
图 5 带噪声语音信号的时域以及频域图