资源描述:
《基于matlab鸟声识别》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、题目:基于matlab机场驱鸟装置姓名:姚访学院:工学院专业:自动化班级:自动化111学号:32211126指导教师:刘璎瑛2014年6月18日基于MATLAB的机场驱鸟装置指导老师刘璎瑛【摘要】以往在电气自动化专业学生进行毕业设计过程中,常常需要进行大量的数学运算。在当今计算机时代,通常的做法是借助高级语言Basic、Fortran或C语言等编制计算程序,输入计算机做近似计算。但是这需要熟练的掌握所运用的语法规则与编制程序的相关规定,而且编制程序不容易,费时费力。目前,比较流行的控制系统仿真软件是MATLAB。MATLAB的使用极其容易,不要求使用者具备高深的数学与程序语言的
2、知识,不需要使用者深刻了解算法与编程技巧,且提供了丰富的矩阵处理功能,因此控制理论领域的研究人员很快注意到了这样的特点。尤其MATLAB应用在电厂自动化专业的毕业设计的计算机仿真上,更体现出它巨大的优越性和简易性。本设计用电脑录音机采集了一段语音,对其进行了时域分析,频谱分析,分析语音信号的特性。然后进行相应处理,对比之后判断是否有鸟声。【关键词】频域;时域;滤波器;识别一.Matlab工具的介绍MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境
3、。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。二.课题的研究意义我们知道小鸟对飞机的影响很大,对飞机造成的损失和危害不可小视。本次项目内容就是基于matlab设计一个机场驱鸟系统,对机场的声音环境进行实时监测,一旦发现有鸟的叫声则启动报警器,以驱除鸟和提醒工作人员做好相关安全保障工作,确保航班的安全。三.课题的
4、实现方法通过应用matlab,布局GUI界面,关联对应的m文件。首先我们要选取一个典型的鸟叫声音,通过画出它的时域图和频谱图,由相关的m文件提取它的一些参数特性作为模板。然后我们设置一个带通滤波器,将采集到的声音通过滤波器,与模板进行比较,如果与模板的误差在一定范围之内,则表示有鸟叫的声音,此时进行报警。四.相关GUI界面图览1.有鸟声时识别:第6页图①采集声音滤波前与模板比较图②采集声音滤波后与模板比较1.无鸟声时识别:第6页图③采集声音滤波前与模板比较图④采集声音滤波前与模板比较通过这四张图比较知道,只有周围有鸟声,并且把采集到的鸟声滤波之后,与模板比较才能识别出来。五.本
5、人负责相关部分任务:语音识别(注:鉴于语音识别这块较为繁杂,故与喻金标同学一起完成)第6页1.识别主函数Shibiezhu.mfunctionfinalmsg=test()k=128;fs=50000;[m1,fs]=wavread('E:e1.wav');[m2,fs]=wavread('E:e2.wav');[m3,fs]=wavread('E:e3.wav');[ce,fs]=wavread('D:ssssssbbbbinxm2AA.wav');mm1=mfcc(m1,fs);%计算MFCC's提取特征特征,返回值是Mel倒谱系数,是一个log的dct得到
6、的code1=Vqlbg(mm1,k);mm2=mfcc(m2,fs);%计算MFCC's提取特征特征,返回值是Mel倒谱系数,是一个log的dct得到的code2=Vqlbg(mm2,k);mm3=mfcc(m3,fs);%计算MFCC's提取特征特征,返回值是Mel倒谱系数,是一个log的dct得到的code3=Vqlbg(mm3,k);cce=mfcc(ce,fs);%得到测试人语音的mel倒谱系数d1=Disteu(cce,code1);%计算得到模板和要判断的声音之间的“距离”dist1=sum(min(d1,[],2))/size(d1,1);%变换得到一个距离的量
7、d2=Disteu(cce,code2);%计算得到模板和要判断的声音之间的“距离”dist2=sum(min(d2,[],2))/size(d2,1);%变换得到一个距离的量d3=Disteu(cce,code3);%计算得到模板和要判断的声音之间的“距离”dist3=sum(min(d3,[],2))/size(d3,1);%变换得到一个距离的量%测试阈值数量msgc1=sprintf('与模板语音信号的差值为:%10f',dist1);msgc2=sprintf('与模板语音信号的差值