语音信号预处理(一)
预加重
对输入的数字声音信号进行预加重,其目的是为了对声音的高频部分进行加重,去除口唇辐射的影响,增加声音的高频分辨率。一般通过一阶FIR高通数字滤波器来实现预加重,其公式为:
H(z)=1-az^(-1) 0.9≤a≤1.0 (2-1)
其中a为预加重系数,这里a值取0.98。这样,预加重网络的输出(S(n)) ̅和输入声音信号S(n)的关系可用一个差分方程表示[8]:
(S(n)) ̅=S(n)-aS(n-1) (2-2)
图2-2中分别给出了预加重前和预加重后的一段浊音信号,可以看出,预加重后的频谱在高频部分的幅度得到了提升。

``
[x,sr]=audioread('0.wav'); %sr为采样频率,单声道
ee=x(1500:1755);
r=fft(ee,1024);
r1=abs(r);
pinlv=(0:1:255)*8000/512;
yuanlai=20*log10(r1);
signal(1:256)=yuanlai(1:256);
[h1,f1]=freqz([1,-0.98],[1],256,4000);
pha=angle(h1);
H1=abs(h1);</

本文介绍了使用MATLAB对语音信号进行预加重处理,通过一阶FIR高通滤波器提升高频部分的幅度,减少口唇辐射影响。展示了预加重前后的语音信号及频谱对比,代码实现包括预加重函数的运用。
最低0.47元/天 解锁文章
422

被折叠的 条评论
为什么被折叠?



