`
xitonga
  • 浏览: 586630 次
文章分类
社区版块
存档分类
最新评论

语音信号预加重算法

 
阅读更多

一,为什么需要预加重操作

语音信号低频段能量大,高频段信号能量明显小;而鉴频器输出噪声的功率谱密度随频率的平方而增加(低频噪声小,高频噪声大),造成信号的低频信噪比很大,而高频信噪比明显不足,从而导致高频传输衰弱,使高频传输困难,从而使得整个信息传输的信噪比得到改善。因此,在传输之前把信号的高频部分进行加重,然后接收端再去重,提高信号传输质量。预加重算法只要起到作用,并不是单一的某一算法,如一阶有限激励响应高通滤波器控制


二,filter函数介绍

用Matlab进行计算,加重函数是filter。格式如下:

y=filter(b,a,X)
对X数据序列进行过滤,输出y,过滤的系统设置是通过a和b来给定,算法如图:


公式表示如下:

y(n) = b(1)*x(n) + b(2)*x(n-1) + ... + b(nb+1)*x(n-nb)
                 - a(2)*y(n-1) - ... - a(na+1)*y(n-na)。 

如果把上式中的b(1) = 1, b(2) = -0.95 .那么上式变为

y(n) = x(n) - 0.95 * x(n-1) 。

这个式子,是一般的语音信号处理过程中,对语音数据进行加重的公式,上式中的0.95一般取值在[0.9,1]之间,如

>> filter([1 -0.957],1,[1,2,3,4,5,6,7,8])

ans =

    1.0000    1.0430    1.0860    1.1290    1.1720    1.2150    1.2580    1.3010


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics