张琪,周丽娟,王倩,陈庆华
(广西科技大学a.电气与信息工程学院;b.理学院,广西柳州545006)
基于LabVIEW的声音信号采集与分析系统
张琪a,周丽娟*b,王倩a,陈庆华b
(广西科技大学a.电气与信息工程学院;b.理学院,广西柳州545006)
以美国国家仪器(NI)公司开发的LabVIEW虚拟仪器为软件开发平台,设计了一个可以同步实现声音信号采集和分析的多功能模块化软件系统.借助LabVIEW图形化软件相应的声音读取、写入和存储函数实现对声音信号的采集、存储、时域分析和频域分析,并实时显示在工作前面板上.该系统在试验中得到了很好的验证,为将来对声音信号进一步分析与处理提供了理论支持.
LabVIEW;声音信号;信号分析
随着现代信息科学技术发展的日新月异,在电子电路和测控领域中需要处理的问题变得越来越复杂,对信号分析的实时性、普适性、精确性等方面的要求也越来越高.传统仪器因为其功能单一性和高昂的成本,使得在面对信号数据采集和分析时显得越来越力不从心.科研实验中常会出现当新的测控电路设计出来,而实验仪器却难以同步更新的尴尬局面,浪费大量的人力、物力、财力.
虚拟仪器信号分析系统完全可以解决这类问题.基于虚拟仪器开发平台开发的各种“虚拟仪器”,大量使用图形化控件使LabVIEW不但操作简单、成本低廉,而且还保证了与传统仪器基本相同的人机交互性、可操作性和真实感[1-2].与此同时LabVIEW允许图形方式编程和具有丰富的函数库,摒弃了晦涩难懂的编程代码,使得计算机不再是少数人的专利,这些优点让LabVIEW在科研各个领域尤其是测控领域得到广泛应用.文中利用LabVIEW虚拟仪器软件设计了一个可以实现声音信号采集与分析的系统,可以比较全面地对声音信号进行采集和数据分析,为进一步研究声音信号的特性提供可靠的理论依据.
软件系统由声音信号的数据采集和信号回放与分析2个主要功能模块构成,声音信号采集与分析软件的主要结构框图如图1所示.
图1 声音信号采集与分析系统的结构图Fig.1 The schematic of sound signal sampling and analysis system
2.1声音信号的数据采集模块
声音信号数据采集模块的主要功能是完成声音信号采集和存储.声音信号采集是指声波信号经声音传感器(麦克风)和信号放大器(信号放大)转换成模电信号,再通过模/数(A/D)转换将模电信号转换成数电信号的全过程[3].在LabVIEW的前面板中信号采集由用户操作,通过软件相对应的声音写入、声音读取子函数来实现声音信号的采集和声音模板的录入,以WAV格式存储到预先设定好的硬盘内.软件通过布尔开关控制声音信号采集的起止,同时又为所有通道的存储命令设置同步控制功能,实现了多通道信号同步实时存储.人耳能听到的声音频率范围在20Hz~20 000Hz,而一般语音信号频率约为300Hz~3 400Hz[4].本文模拟采集一段语音信号,根据奈奎斯特采样定理,采样频率必须大于模拟信号最高频率的2倍,工程上实际采用3倍甚至3倍以上.语音信号频率最高大约为3 400Hz;因此,在LabVIEW前面板中设置采样参数为:每通道采集数为5 000,采样率为8 000Hz.程序框图如图2所示.
图2 声音采集的程序框图Fig.2 The schematic of sound signal collection
2.2声音信号的回放与分析模块
声音信号携带着各种信息,声音信号处理的目的就是为了提取这些信息,处理方法基本上可以分为时域分析和频域分析2种.时域分析相对比较直观简单,直接对声音信号的时域波形进行相应数学处理,提取的信号时域特征参数主要包括声音信号的短时平均能量,短时平均过零率以及短时自相关分析等.而频域分析是通过傅立叶变换,将声音信号从时间域变化到由正弦函数或者余弦函数组成的频率域上进行分析,提取的特征参数有幅度谱,相位谱,功率谱等.
2.2.1声音信号的短时平均能量分析
由于声音在介质中传播的同时伴随着能量的传播,故可以根据声音信号的能量大小和变化情况来判断有无声音信号和区分声音信号的清音与浊音[5];声音信号是时变信号,各种物理参数随时间变化而变化;因此,贯穿整个时域分析的分析方法是应用短时分析技术近似处理.理论上认为在10ms~30ms内,声音信号频谱特性和它的某些物理参量可以看作近似不变[6].应用短时分析技术,将声音信号的瞬时能量转换为短时平均能量,这就需要一个特殊的切割函数将声音信号分割成若干个小段,用每一小段的短时平均能量代替瞬时能量来描述声音变化的特征.这里所用到的切割函数就是窗函数,其中每一小段称之为一“帧”,这个过程称之为对信号的加窗分析.在对声音信号进行短时平均能量分析时,首先采用一个长度有限的窗函数来截取声音信号形成分析帧[7].定义短时平均能量为:
其中,x(m)是声音信号函数,w(n-m)是窗函数,N为窗长.在对声音信号进行短时平均能量分析时选取合适的窗函数和适当的窗长至关重要.窗函数的主要功能是截取信号形成分析帧,窗函数选择的标准是尽量减少频谱泄露,理想窗函数的频域响应要求主瓣无限狭窄且没有旁瓣(无频谱泄露).但是这种理想窗函数在实际工程中无法实现,工程中会根据不同的应用,采用特定的窗函数来逼近理想的频率响应.
在实际应用中最常用的窗函数是汉明窗、矩形窗几种窗函数.汉明窗的主瓣宽度是矩形窗的一倍,但它的旁瓣衰减很大,有更平滑的低通特性,通常在频率分析时使用汉明窗;矩形窗属于时间变量的零次幂窗,矩形窗使用最多,这种窗的优点是主瓣比较集中,一个窗长为N的矩形窗的时域表达式为:
当采用矩形窗时,短时平均能量可以简化为:
从式(3)可以看出,通过加窗处理后,声音信号的频率响应变得主瓣集中,旁瓣很少,达到预计效果[7].同时采用矩形窗研究声音信号的短时平均能量时发现:当矩形窗长选的过大(N很大),这时声音信号相当于通过了一个带宽很窄的低通滤波器,失去了反映短时平均能量En变化的物理意义;而当窗长选的过小(N很小),声音信号的短时平均能量又会随时间急剧变化,不能得到平滑的短时平均能量波形.经过反复调试,验证声音信号在8 kHz左右的采样频率下,窗长取100ms~200ms范围内比较合适;因此,文中设定N=150ms[8].声音信号短时平均能量分析的程序框图如图3所示,图中设置采样频率为8 kHz,幅值为1,延迟为0,宽为150ms的脉冲信号生成矩形窗.
2.2.2声音信号的频域分析
图3 短时平均能量程序框图Fig.3 The Program schematic of s hort-time energy
图4 频域分析程序框图Fig.4 The Program schematic of frequency domain analysis
信号的频域分析建立在傅里叶变化的基础上,声音信号经过快速傅里叶变化,从时域信号变换到由正弦函数或余弦函数构成的频域信号,幅度谱和相位谱是指对信号进行傅里叶变化后得到的复频谱相应的幅度、相位与频率之间的关系曲线.信号的相位谱和信号的幅度谱都是信号频域分析的重要物理参数,相位谱主要应用在多点激励、载荷建立以及传递路径识别等问题的研究中[9].功率谱反应了信号的瞬时功率随频率的变化关系,常应用于统计信号处理.在声音信号处理中,可以通过功率谱分析对声音信号进行滤波、信号识别、信号分离、系统辨识等.在LabVIEW程序面板自带了专门的信号分析函数,通过这些函数可以直接获取声音信号的幅度谱、相位谱和功率谱,同时可以通过相应的频谱配置,方便地完成诸多频谱测量和测量方式的选择,具体程序框图如图4所示.
检测列车轮轨噪声是预判列车接近的一个重要方法,利用本文所设计的软件可以对该噪声信号进行数据采集和分析,为设计基于轮轨噪声监测的列车接近预警系统做一个前期的数据处理.本文选取一段列车轮轨噪声信号(已将信号放大并转换为WAV格式命名为test)作为测试对象,在软件的前面板设定声音信号的相关采样参数,声音信号相应的波形图实时显示在LaBVIEW工作前面板上,前面板显示如图5所示.
图5 测试声音信号分析前面板Fig.5 The test sound signal analysis reveals in front panel
从图5(b)可知,列车轮轨噪声功率谱的峰值主要集中在0~2 000Hz低频段内,说明列车轮轨噪声主要是低频噪声.进一步利用软件数据分析模块对列车接近轮轨噪声的短时平均能量进行分析,根据图5(c)可以获取每段分析帧短时平均能量的峰值,部分数据结果如表1所示.
表1 部分轮轨噪声短时平均能量Tab.1 Part of the wheel noise short-term energy
对比表1中各时间点的短时平均能量,可以看出列车接近时产生轮轨噪声的短时平均能量在一定范围内随时间变化不大,证明轮轨噪声信号在钢轨中传播能量损失很小;因此,可以通过设定一定的阈值,检测实时采集的轮轨噪声短时平均能量是否达到阈值来判断列车是否接近.
本文介绍了一个新型的基于LabVIEW虚拟仪器的信号采集与分析系统,软件可以通过选项卡来控制各功能模块,操作简单,功能齐全,可以实现多路信号的同步实时采集、存储、信号时域和频域分析.其中,时域分析包括短时平均能量分析,频率分析包括功率谱、幅度谱和相位谱.同时软件应用LabVIEW子面板技术,使主程序界面看起来更加美观、简洁,为声音信号分析提供了更加开放的处理方法.在软件测试方面,利用该软件分析系统对一段列车接近轮轨噪声信号test.wav进行时域和频域分析,显示出LabVIEW在声音信号处理中的优点,通过设置软件前面板的采样参数可以得到信号在特定时间或频率上的特征参数,为下一步实现对轮轨噪声信号识别提供参考数据.在拓展应用方面,LabVIEW自带了600多个分析函数,能够轻松提取有用的信息进行测量数据分析和信号处理.LabVIEW支持用户自定义,用户可以编写高效、快速的处理函数和控件,建立自己的函数库,甚至可以引入Matlab函数自定义模块,大大提高了在科研用途的广阔性,缩短了开发周期,提高了开发效率.
[1]National Instruments.Lab VIEW User Manual[M].Texas:National Instruments,2003.
[2]聂超,石光林,朱林,等.超越离合器综合性能试验台测试系统[J].广西科技大学学报,2014,25(4):63-66.
[3]陈锡辉,张银鸿.LabVIEW 8.20程序设计从入门到精通[M].北京:清华大学出版社,2007.
[4]郭银景.信号与系统[M].北京:机械工业出版社,2009.
[5]王让定,熊益群,徐国娟.数字语音信号处理实验指导书[M].宁波:宁波大学出版社,2008.
[6]隋红林,王华.LabVIEW下普通数据采集卡的驱动与调用[J].微计算机信息,2009,25(2-1):100-102.
[7]张振,李香飞,甘淑敏,等.基于LabVIEW的声音信号采集分析系统开发[J].北方工业大学学报.2012,24(3):42-45.
[8]张宏献,徐武彬,陈其兵.基于LabVIEW的滑动轴承转子系统实验设计[J].广西工学院学报,2011,22(2):28-32.
[9]胡朝晖,张增芳,蔡启仲.计算机在测控领域的应用——虚拟仪器系统[J].广西工学院学报,1998,9(2):42-45.
(学科编辑:黎娅)
Acquisition and analysis system of sound signal based on LabVIEW
ZHANG Qia,ZHOU Li-juan*b,WANG Qiana,CHEN Qing-huab
(a.School Electrical and Information Engineering; b.College of Science,Guangxi University of Science and Technology,Liuzhou 545006,China)
By using the LabVIEW graphical programming software,a sound signal acquisition and analysis system was reported.Based on the corresponding functions in LabVIEW,sound signals can not only be read,written,and stored,but also analyzed both in time-domain and frequency-domain.A friendly man-machine interface was also designed for the real-time data.The system has been experimentally confirmed working well and may behelpful for future railway industry.
LabVIEW;sound signal;signal analysis
TP23
A
2095-7335(2016)03-0055-05
10.16375/j.cnki.cn45-1395/t.2016.03.010
2016-02-29
广西自然科学基金项目(2015GXNSFAA139012)资助.
周丽娟,博士,教授,硕士研究生导师,研究方向:理论物理,E-mail:351304836@qq.com.