1声音识别模型的建立与评价【摘要】声音识别是研发智能防盗门的重要环节,对正常和非正常开门(指盗窃开门等声音)的声音进行准确地识别变得尤为重要。本文对采集到的正常和非正常声音进行识别模型建立和评价。其主要方法是:利用80次声音数据,结合MATLAB工具及分析计算,建立正常、非正常声音与数据y的均值、方差、短时平均能量均值、短时平均幅度均值、短时平均过零率均值和短时自相关函数均值之间的关系的BP神经网络模型。然后分析模型,确定目标函数t,1表示正常,0表示非正常,即对声音进行识别;又进行误差分析,达到误差要求时将80个数据代入函数,即为对声音模型进行验证与评价。针对问题一,首先从80次声音数据入手,利用MATLAB的load函数载入到计算机内存,内存中变量有Fs和y等变量,其中Fs为采用频率,y为采用数据。再用sound函数,播放出声音信号,从听觉角度比较正常、非正常声音在响度和音调两方的差异。最后利用plot函数绘制出具体的声音波形图,从视觉角度比较声音的频率与振幅的不同效果。针对问题二,采用合适的时域分析处理声音信号,找出和提取了最重要的特征向量是短时能量和平均幅度、短时平均过零率、短时自相关函数,并比较了它们在表达声音时的不同优越性和特点,用途。针对问题三,用MATLAB计算出80个正常、非正常声音数据,y的均值、方差、短时平均能量均值、短时平均幅度均值、短时平均过零率均值和短时自相关函数均值,利用这些均值作为BP神经网络的输入数据p且对p进行转置。确定目标函数t,1表示正常,0表示非正常。进行多次训练达到误差要求,求解和分析模型结果,并对80组样本数据进行检验。最后对BP神经网络模型进行评价、改进及推广。针对问题四,利用主成分分析(PCA)特征变换对参数进行优化,先在正常和非正常中分别随机选取声音组号,再将以上问题得到的对应特征参数均值进行PCA变换,获得新的特征参数f正和f非能够更具区分性,并用参数优化技术包括语音包络检测、Delta特征的引入,获得更好的声音识别率。针对问题五,对于原始信号中有叠加一定幅度的白噪声,前期处理时为了达到优良的消噪效果,采用新兴方法小波去噪原理,先用所给函数得到如11.mat的加白噪声的声音,运用MATLAB中的小波工具箱对含噪信号进行小波分解、阈值量化、小波重组,获得的去噪结果与原始信号效果比较,验证小波去噪的可靠性。关键词:BP神经网络时域分析特征向量主成分分析小波去噪原理21问题重述A题:声音识别模型的建立与评价随着家居智能化逐渐普及,智能冰箱、智能清洁机器人、智能电视等已步入平常老百姓家庭,但智能化的防盗门还处于研发阶段,未进入市场。随着人们对家居安全意识的不断增强,对防盗、防抢和防砸的门禁系统的智能性提出更高的要求。基于此,对正常和非正常开门(指盗窃开门等声音)的声音进行识别是智能防盗门的关键问题和技术,其具有广泛的应用前景和实用价值。为了进行声音识别模型的建立,我们采集到了正常和非正常开门的声音,附件中有正常开门声音(如正1.mat),非正常开门声音(如非1.mat),各40次开门,共80次开门声音数据。该数据可利用matlab的load函数载入到计算机内存,内存中变量有Fs和y等变量,其中Fs为采用频率,y为采用数据。利用这些数据要求完成以下工作:1.利用matlab中的sound函数,播放出声音信号,试听并比较正常和非正常开门声音的差别,利用plot函数绘制出具体的声音波形图,总结差别在哪些方面?2.利用合适的时域或(和)频域特征表达个声音信号,建立特征向量,写出提取特征向量的具体方法和程序代码。3.建立声音识别模型(二分类模型),利用模型区分正常和非正常声音,评价模型的好坏。4.试利用特征选择或变换,对特征向量进行优化,并利用参数优化技术优化模型的参数,使识别模型的准确率提高。5.若原始声音信号中有环境噪声(如白噪声),设y中叠加了一定幅值的白噪声(利用y1=y+(-0.15+0.3*rand(size(y)))*max(y)叠加噪声),如何对声音进行前期处理?2模型假设1、假设80组样本的采用数据真实、有效、可靠;2、假设每个样本的采用数据之间相互独立;3、假设样本音频的录音环境为同一环境且外界环境对数据无影响;4、假设我们在网上查阅的资料以及结论真实可靠。33符号说明jx表示输入层第j个节点的输入,j=1,…,Mijw表示隐含层第i个节点到输入层第j个节点之间的权值表示隐含层第i个节点的阈值)(x表示隐含层的激励函数kjw表示输出层第k个节点到隐含层第i个节点之间的权值,i=1,…,qka表示输出层第k个节点的阈值,k=1,…,L(x)表示输出层的激励函数表示输出层第k个节点的输出En短时平均能量Mn短时平均幅度Zn短时平均过零率Rn短时自相关函数4问题的分析本文主要对正常和非正常开门的声音的识别进行研究,首先用matlab提取了数据y的均值、方差,然后得出短时平均能量、短时平均幅度、短时平均过零率、短时自相关函数等特征向量。通过BP神经网络建立声音识别模型,得出结论并对样本进行验证。针对问题一,由于正常声音与非正常声音存在差别,所以其波形图也存在差别,我们通过观察图中不同声音的频率与振幅并比较,从而得出它们在响度和音调两方面存在差异。针对问题二,采用时域分析处理声音信号,提取最基本的参数有短时能量和平均幅度、短时平均过零率、短时自相关函数,并阐述了它们的用途及特点。针对问题三,主要以80组样本数据y的均值、方差、短时平均能量均值、短时平均幅度均值、短时平均过零率均值和短时自相关函数均值作为BP神经网络的输入数据p。确定目标函数t,1表示正常,0表示非正常。进行多次训练达到误差要求,并对80组样本数据进行检验。最后对BP神经网络模型进行评价。4针对问题四,为使模型识别率提高,使用主成分分析(PCA)特征变换对参数进行优化,并用参数优化技术包括语音包络检测、Delta特征的引入,有利于参数分类和系统识别率提高。针对问题五,对于原始信号中叠加一定幅度的白噪声,前期处理时为了达到优良的消噪效果,采用新兴方法小波去噪原理,运用MATLAB中的小波工具箱对含噪信号进行阈值处理,即可得到可靠地去噪信号。5模型的建立与求解5.1问题一5.1.1正常和非正常声音的差别正常声音与非正常开锁声音的差别主要体现在非正常开锁声音的响度大且音调高,而正常开锁声音则恰恰相反,其响度低且音调高。这些差别在声音波形图上表现为正常声音的频率低(约为10000~20000Hz),则其音调低,振幅小(约为0.5589左右)则其响度低,而非正常开锁声音的波形图其频率高约为(20000~30000Hz),振幅大(约为0.6676),如图为一组图形的对比(更多图形对比见附录一)。图1.正常声音32的波形图图2.非常声音32的波形图对这些差别的解释:一般来说正常用钥匙开门声音比较小,声音比较缓和,表现在频率与振幅都比较小。而非正常开门的声音则是相反,因为非正常开门的情况下,其开门速度快,而发出的声音就比正常开门所发出的声音大一些,声音5也较刺耳一些,这表现在振幅和频率都较大,这也是为何图中的非正常声音波形图与正常声音波形图存在差别。5.2问题二为了表达这个声音型号,对声音识别分析,采用时域分析的方法,直接对开门声音的时域波形进行分析,提取特征向量主要有短时能量和平均幅度、短时平均过零率、短时自相关函数。5.2.1时域分析在MATLAB的信号处理工具箱中函数FFT和IFFT进行快速变换,FFT其调用格式为y=fft(x),其中x是序列,y是序列的FFT,x可为一向量或矩阵,若x为向量,y是x的FFT且和x相同长度;若x为矩阵,则y是对矩阵的每一列向量进行FFT。利用上述函数画出(如正3.mat)声音的时域波形如图1:再画出(如非32.mat)声音的时域波形如图2:5.2.2提取特征向量①短时平均能量和幅度声音信号的能量随时间是变化的,正常声音和非正常声音差别显著,所以对短时能量和短时平均幅度进行分析,描述它的这种特征变化情况。短时平均能量为nEm)]()([mnwmx2=)]()([1mnwmxNnm2,式中N为窗长。它为一帧样点值的加权平方和,w(n)为矩形窗。具体方法是:首先计算原始信号各个采样值的平方,然后用一个移动窗h(n-m)选取出一个一个短时平方序列,并将各短段的平方值求和得到短时能量序列。我们给出了声音在不同窗长N时的短时能量函数曲线,帧之间无交叠。以(正32.mat)为例如图3:6图3.正32.mat短时能量函数曲线其相应程序代码见附录二。对比给出“非32.mat”的短时能量曲线如图4:图4.非32.mat的短时能量曲线但是短时能量函数的平方处理对信号电平值过于敏感,容易在定点实现时产生溢出。为此,用短时平均幅度来衡量声音幅度变化:7mnNnmmnwnxmnwnxnM1)()|(|)()|(|其方法就是将w(n)对|x(n)|的线性滤波运算,用绝对值代替平方和,给出了不同矩形窗长N时的短时平均幅度函数曲线,帧之间无交叠。如图5、6、7、8:图5.正32.mat短时平均幅度(N=128)图6.非32.mat短时平均幅度(N=128)图7.正32.mat短时平均幅度(N=256)图8.非32.mat短时平均幅度(N=256)其相应程序代码见附录三。通过上述对短时能量和短时平均幅度函数曲线的对比,两者分析的结论是一样的,但由于平均幅度函数没有平方运算,故其动态范围要比短时能量小。②短时平均过零率当离散时间信号相邻两个样点的正负异号时,称为“过零”,短时平均过零率为:mmnwmxmxnZ)(|)]1(sgn[)](sgn[|8式中,sgn[]为符号函数,即有0)(,10)(,1)](sgn[nxnxnxw(n)为窗函数,计算时常采用矩形窗,窗长为N。具体方法是:当相邻两个样点符号相同时,|sgn[x(m)]-sgn[x(m-1)]|=0,没有产生过零;而当相邻两个样点符号相反时,|sgn[x(m)]-sgn[x(m-1)]|=2,为过零次数的两倍。因此,在统计一帧(N点)的短时平均过零率时,求和后必须要除以2N。因此我们给出了一段声音(正32.mat和非32.mat)的短时平均过零次数的变化曲线,如图9:图9.正32.mat短时平均过零次数的变化曲线图10.非32.mat短时平均过零次数的变化曲线9其相应程序代码见附录四。大量试验统计,得到每10ms作为一个平均段的直方图的分布形状与高斯分布非常吻合。非正常声音全部都在0.2以下,正常声音大部分在0.2以下有突破,接近0.4的。③短时自相关函数自相关函数用于衡量信号自身时间波形的相似性。正常开门声和非正常开门声在波形上存在较大差异,正常的时间波形呈现出一定的周期性,波形之间的相似性较好;非正常的时间波形杂乱无章,样点间的相似性较差。这样就可以用短时自相关函数来测定声音的相似特性。短时自相关函数的定义为具体方法是:首先用一个起点为n的窗函数w(n-m)选取一段声音x(m)w(n-m),然后用mkmxmxkR)()()(计算该短声音的自相关值,这样得到就是。以下图10、11分别给出了非正常声音与正常声音的短时自相关函数变化,窗长为40ms。图10.非32.mat短时自相关函数(N=320)图11.正32.mat短时自相关函数(N=320)其相应程序代码见附录五。观察自相关函数,发现非正常声音峰值出现在1左右,有一定的周期性,而正常声音没有一定周期性。不同的窗长对短时自相关函数有一定影响。5.3问题三105.3.1模型原理BP算法采用广义的学习规则,是一种有导师的学习算法。它是一种无反馈的前向网络,由输入层、输出层、隐层构成,如下图所示。它分两个阶段:正向传播阶段和反向传播阶段。正向传播阶段,将学习样本的输入信息输入前馈网络的输入层,输入层单元接受到输入信号,计算权重合,然后根据神经元的激活函数将信息传到隐含层(1层或2层),同样根据隐含层的输出计