图3 滤波处理方框图
图3为滤波处理方框图。滤波处理是本次语音信号处理中最主要的一部分。处理时,添加了噪声的语音信号会分别经过低通,高通,带通和带阻滤波器来进行滤波[12]。本次论文将采用四种滤波器来进行滤波处理。主要过程是将采集到的语音信号分别通过以上几种滤波器,然后分别试听每一种滤波器的滤波效果,选择一种能够将人声得到尽可能的保留并能够滤除掉环境中的噪声的滤波器,为以后的运用打下理论基础。
模拟滤波器的设计分为四种,但是基本的滤波器就是巴特沃斯型和切比雪夫型,通过这两种基本的滤波器,可以变换出其他不同的滤波器。下面首先介绍巴特沃斯型滤波器。
巴特沃斯低通模拟滤波器的幅度平方函数 用下式表示:
(2)
式中, 称为滤波器的阶数。在 附近,随着 的加大,幅度迅速下降。 越大,通带越平坦,过渡带越窄,幅度下降越快,总的频率特性与理想低通滤波器的误差越小。
(1) 巴特沃斯滤波器采用对3dB截止频率 归一化,归一化后的系统函数为
(3)
将 去归一化。将 代入 ,得到实际的滤波器系统函数
(4)
(2) 切比雪夫滤波器的幅度平方函数
(5)
接下来求滤波器阶数 和参数 ,求归一化系统函数 ,将 去归一化,得到实际的 ,即
(6)
计算工作在实际中是很繁琐的,所以利用MATLAB软件来进行滤波器的设计。通过指令[N,Wn]=cheb1ord(wp,ws,Rp,Rs);计算阶数 和 。
设计切比雪夫滤波器时需要参考和查阅的参数表。切比雪夫滤波器参数(3dB波纹,N=1至5)如表1所示。
表1 切比雪夫滤波器参数(3dB波纹,N=1至5)
1 1.9953 1.0000
2 3.1013 0.5339 5.8095
3 3.3487 0.7117 3.3487 1.0000
4 3.4817 0.7483 4.3471 0.5920 5.8095
5 3.4817 0.7618 4.5681 0.7618 3.4817 1.0000
4. 语音信号处理的综合仿真
4.1 语音信号的采集
该系统是以一段简短的的语音信号做为分析样本,通过计算机自带的录音机采集了一段在人说话的语音信号,并且保存到到计算机中,保存格式为“*.wav” [1]。
4.2 语音信号的处理
4.2.1 语音信号的提取
在MATLAB中使用wavread函数将电脑中保存的wav格式的音频文件提取到MATLAB环境中。通过图2中工作区得出信号的采样频率为22500Hz,并且声音是单声道的。利用sound函数可以清晰的听到这一段话中的人声信号。函数abs(x)用于计算复向量x的幅值[13]。然后对这个原始信号进行一些简单的数据提取和分析,因为这个原始信号是在整个论文中最重要也是最基本的一个参考标准。有了原始信号的波形图和频谱图,就可以很方便的比较出滤波效果较好的滤波器。与原始信号最相似的就是需要的结果。使用y=fft(x)指令,就可以得到原始信号的频谱信息,这个信息将保存在y当中。最后通过指令subplot和plot就可以得到原始信号波形图和频谱图如图4所示。 基于MATLAB语音信号处理(语音信号处理的综合仿真)(4):http://www.751com.cn/tongxin/lunwen_331.html