基于Matlab的语音信号预处理技术研究

时间:2022-04-16 02:02:34

基于Matlab的语音信号预处理技术研究

摘 要 语音信号的预处理技术是语音信号进行计算机处理的必经环节。本文主要对语音信号预处理步骤、其中的关键技术进行阐述,并用Matlab进行仿真实验。本文的研究对于语音信号处理的研究人员具有一定借鉴意义。

【关键词】语音信号采集 语音信号分帧 语音信号预加重 语音信号加窗

声纹识别是生物特征识别技术的重要研究内容,在刑事侦查、法庭科学的司法鉴定中应用广泛。语音信号预处理技术是声纹识别技术的基础,是利用计算机处理语音信号的必经环节,预处理输出信号清晰与否直接影响着生物识别的结果。本文主要研究语音信号的预处理技术,并利用Matlab实现。主要内容如下:

1 语音信号处理技术的一般步骤

语音信号预处理的一般步骤如图1所示。

语音信号预处理的一般步骤可以分为信号采集、分帧、预加重、加窗等步骤。

2 语音信号采集

利用Windows的录音功能、CoolEdit软件、Matlab环境中的函数等可以实现语音信号的录制(采集)过程。

使用Matlab编写代码如下:

clear all;

close all;

a=wavread('hnjcxy(man).wav');

subplot(3,1,1),

plot(a);title('完整语音信号波形');

grid

for i=1:1500

b(i)=a(i+33500);

end

subplot(3,1,2),

plot(b);title('开始语音信号波形');

grid

for i=1:1500

c(i)=a(i+106000);

end

subplot(3,1,3),

plot(c);title('结束语音信号波形');

grid

图2所示为“河南警察学院”的信号波形图。图I为完整语音波形、图II、图III为语音起始及结束部分波形图。

3 语音信号分帧

语音信号属“非平稳信号”,其“均值”、“自相关”等函数随时间变化较大。但短时间内语音信号呈现平稳的频谱特性。所以,实际处理语音信号,往往将采用“分帧”的方法来实现。即:利用窗函数将语音信号分成较短的时间段(分帧),每个时间段称为一帧(一般长20ms)。往往以帧为单位处理语音信号。

4 预加重

为降低低频噪声干扰,需要对高频信号进行加重处理。将分帧后的语音信号通过高频滤波器,可实现语音信号的预加重。本文选择一阶高通滤波器“1-0.9375z-1”实现语音信号x的预加重操作。

5 加窗处理

对语音信号直接截短分帧会导致严重的“Gibbs效应”,通常采用对语音信号加窗函数的方式来处理这一问题。常见窗函数有:矩形窗、Hamming窗、Hanning窗等。窗函数公式如下述:

矩形窗:

汉明窗:

汉宁窗:

加窗matlab代码如下述(鉴于加矩形窗、汉明窗、汉宁窗代码基本相同,此处仅列出加汉宁窗函数信号代码)。

clear all;

close all;

a=wavread('hnjcxy(man).wav');

M=length(a);

subplot(3,1,1),

plot(a);title('original signal');

grid

N=256;

k=0;

MM=floor(M/N);

h=hanning(N);

subplot(3,1,2),

plot(h);title('汉宁窗');

grid

for n=1:MM

for m=1:N

k=m+n*N;

b(k)=a(k)*h(m);

end

end

subplot(3,1,3)

plot(b);title('加汉宁窗信号');

grid

加窗后信号如图3所示。

6 结论

本文主要对语音信号预处理步骤、其中的关键技术进行阐述,并用Matlab进行仿真实验。由于时间及水平有限,文章仍存在一些不足,拟在今后的工作中进行改进。

参考文献

[1]杨洪臣.视频检验技术规范[M].中国人民公安大学出版社,2012.

[2]王炳锡,屈丹等.实用语音识别基础[M].国防工业出版社,2005.

[3]韩纪庆,张磊,郑铁然.语音信号处理[M].清华大学出版社,2004.

[4]胡航.语音信号处理[M].清华大学出版社,2004.

[5]蔡妍.语音信号端点检测方法的研究[D].江南大学,2008.

[6]朱淑琴.语音识别系统关键技术研究[D].西安电子科技大学,2004.

作者单位

1.河南警察学院信息安全系 河南省郑州市 450002

2.湖北警官学院 湖北省武汉市 430000

上一篇:基于移动智能终端接入的政府网站服务智能创新 下一篇:浅析中波广播发射天线的原理