林丽君, 吴巧玲
(成都大学 机械工程学院, 四川 成都 610106)
MATLAB具有强大的数学计算和图形绘制功能,在界面开发、数据输入、网络通信及硬件控制方面比较繁琐,但在图像信号处理领域具有卓越的优势.LabVIEW作为标准的数据采集和仪器控制软件,以其强大的数据采集、数据分析和仪器控制功能在现代测控领域中得到了广泛的应用,但在数值分析计算等方面效率低,由于功能简单,不能满足工程应用的要求[1].本研究利用LabVIEW灵活的图形编程和MATLAB数据处理功能[2],在LabVIEW环境中用声卡采集语音信号,采用MATLAB对语音信号进行处理,实现二者优势互补,提高了编程效率和数据处理能力.
本设计采用在LabVIEW虚拟仪器环境中利用Windows自带声卡采集语音信号,使用LabVIEW这种图形化编辑语言(G语言)搭建语音信号采集系统.整体结构方案[3]如图1所示.
图1语音采集系统设计方案
本设计通过LabVIEW软件搭建出采用计算机自带的声卡作为采集设备进行语音信号采集的系统,录制一段文字或其他语音信号,并显示语音信号采集和播放的波形,使用MATLAB软件对采集到的语音信号进行频谱分析、添加噪声和消噪处理.
PC声卡是一种音频范围内的数据采集卡,同时具有A/D和D/A转换功能,成本低,兼容性好,性能稳定.语音音频范围一般在3 400 Hz以内,声卡可测音频范围为20 Hz~20 kHz,满足需求.在采集语音信号前,本研究确保已配置的录音功能不处于静音状态.
本设计使用带麦克风的耳机,通过耳机的麦克风,录入一段话,如“语音信号的分析与处理",并使这段信号经过声卡放大转换为数字信号,然后通过LabVIEW软件搭建采集系统,利用声音相关VI实现语音信号的采集、存储及播放.
LabVIEW中的各类声音VI如图2~图5所示.
图2声音相关VI库
图3声音输入VI库
图4声音输出VI库
图5声音文件VI库
LabVIEW编程过程如下:
1)程序框图编辑.新建声音收集系统文件(*.vi),在事件结构中搭建录音和播放程序.本研究使用采集系统对语音信号进行录音时,将采样频率设置为8 kHz,将采样位数设置为16 bit,将采样方式设置为为双声道,使波形稳定且干扰较小.
2)采集程序编写.首先添加一个while循环结构,并在while结构中创建事件结构程序,编辑事件结构的一个分支处理事件为“录音按钮,值改变".在事件结构程序中创建文件对话框VI,将文件类型设置为“wav".在while循环结构外创建声音输入清零VI,并与读取声音输入VI相连,最后创建关闭声音文件VI,将声音文件关闭.
3)播放程序编写.添加一个事件分支,处理的事件为“播放按钮,值改变",然后在事件结构中创建声音文件信息VI,创建路径为输入控件并在前面板选择播放声音的路径,接着创建声音输出清零VI,并与声音输出等待VI连接,最后创建关闭声音文件VI关闭声音文件.
根据设计需要选择声音相关VI搭建的可视化程序如图6和图7所示,前面板经过整理后如图8所示.
图6录音程序
图7播放程序
图8前面板状态
语音信号为一种包含各种有效信息的非平稳时变信号,因为直接采集获得的语音信号包含较多噪声,若不进行消噪预处理,则会直接影响后续语音处理的准确性[4-5].本研究利用最小均方自适应滤波器[6-7]对LabVIEW采集的语音信号进行消噪处理.
最小均方滤波器是一种梯度搜索算法的简单实现,用瞬时平方误差的梯度代替均方误差的梯度[8-9],其自适应算法可定义为,
(1)
式中,e(m)是自适应滤波器输出与期望信号之间的误差信号,如式(2)所示.
e(m)=x(m)-wT(m)y(m)
(2)
平方误差的顺势梯度还可表示为,
=-2y(m)[x(m)-wT(m)y(m)]
=-2y(m)e(m)
(3)
将式(3)代入式(1)中得到最小均方自适应滤波器的自适应方程为,
w(m+1)=w(m)+μ[y(m)e(m)]
(4)
从式(4)可以看出,该方程简单,易于实现.
本研究的仿真条件为:自适应滤波器阶数为8,输入信号是LabVIEW采集的一段语音“语音信号的分析与处理".选用的3种噪声分别是周期噪声、脉冲噪声和宽带噪声[10-11],具体为:周期噪声采用的是正弦信号含周期性噪声的语音信号,其经最小均方滤波器消噪后的时域图和频域图如图9和图10所示;脉冲噪声选用的是行列数相同的零向量中特定的位置取为1而形成的一个脉冲信号,含脉冲噪声的语音信号经最小均方滤波器消噪后的时域图和频域图如图11和图12所示;宽带噪声选用的是信号为(n*1)的高斯宽带矩阵(0.1*wgn(n,1,1)),含宽带噪声的语音信号经最小均方滤波器消噪后的时域图和频域图如图13和图14所示.
图9 最小均方滤波器去周期噪声时域图
图10最小均方滤波器去周期噪声频域图
图11最小均方滤波器去脉冲噪声时域图
图12最小均方滤波器去脉冲噪声频域图
从图9~图14可以看出,周期噪声对原始信号的干扰最大,基本淹没了原始信号,而宽带噪声干扰最小,最小均方滤波器去除周期噪声效果最好.
本研究利用LabVIEW平台结合MATLAB数据处理功能,基于电脑自带集成声卡,应用LabVIEW操作声卡录制一段语音, 采用最小均方自适应滤波器对语音信号进行了时域分析和频域分析,且语音样本采集操作简单易学,能方便后续的功能扩展.
图13最小均方滤波器去宽带噪声时域图
图14最小均方滤波器去宽带噪声频域图