收藏 分享(赏)

基于matlab鸟声识别.doc

上传人:dcs1276 文档编号:5810185 上传时间:2019-03-18 格式:DOC 页数:8 大小:383.50KB
下载 相关 举报
基于matlab鸟声识别.doc_第1页
第1页 / 共8页
基于matlab鸟声识别.doc_第2页
第2页 / 共8页
基于matlab鸟声识别.doc_第3页
第3页 / 共8页
基于matlab鸟声识别.doc_第4页
第4页 / 共8页
基于matlab鸟声识别.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

1、 题 目: 基于 matlab 机场驱鸟装置姓 名: 姚访学 院: 工学院 专 业: 自动化 班 级: 自动化 111 学 号: 32211126 指 导教师: 刘璎瑛 2014 年 6 月 18 日第 0 页基于MATLAB 的机场驱鸟装置指导老师 刘璎瑛【摘要】以往在电气自动化专业学生进行毕业设计过程中,常常需要进行大量的数学运算。在当今计算机时代,通常的做法是借助高级语言 Basic、Fortran或 C 语言等编制计算程序,输入计算机做近似计算。但是这需要熟练的掌握所运用的语法规则与编制程序的相关规定,而且编制程序不容易,费时费力。目前,比较流行的控制系统仿真软件是 MATLAB。MA

2、TLAB 的使用极其容易,不要求使用者具备高深的数学与程序语言的知识,不需要使用者深刻了解算法与编程技巧,且提供了丰富的矩阵处理功能,因此控制理论领域的研究人员很快注意到了这样的特点。尤其 MATLAB 应用在电厂自动化专业的毕业设计的计算机仿真上,更体现出它巨大的优越性和简易性。本设计用电脑录音机采集了一段语音,对其进行了时域分析,频谱分析,分析语音信号的特性。然后进行相应处理,对比之后判断是否有鸟声。【关键词】 频域; 时域; 滤波器;识别1Matlab 工具的介绍MATLAB 是 matrixfs=50000;m1, fs = wavread(E:e1.wav);m2, fs = wav

3、read(E:e2.wav);m3, fs = wavread(E:e3.wav);ce, fs = wavread(D:ssssssbbbbinxm2AA.wav);mm1 = mfcc(m1, fs); % 计算 MFCCs 提取特征特征,返回值是Mel倒谱系数,是一个log的dct得到的code1= Vqlbg(mm1, k); mm2 = mfcc(m2, fs); % 计算 MFCCs 提取特征特征,返回值是Mel倒谱系数,是一个log的dct得到的code2= Vqlbg(mm2, k); mm3 = mfcc(m3, fs); % 计算 MFCCs 提取特征特征,返回值是Mel倒

4、谱系数,是一个log的dct得到的code3= Vqlbg(mm3, k); cce = mfcc(ce, fs); % 得到测试人语音的mel倒谱系数 d1 = Disteu(cce, code1); %计算得到模板和要判断的声音之 间的“距离”dist1 = sum(min(d1,2) / size(d1,1); %变换得到一个距离的量 d2 = Disteu(cce, code2); %计算得到模板和要判断的声音之间的“距离”dist2 = sum(min(d2,2) / size(d2,1); %变换得到一个距离的量 d3 = Disteu(cce, code3); %计算得到模板和要

5、判断的声音之间的“距离”dist3 = sum(min(d3,2) / size(d3,1); %变换得到一个距离的量 %测试阈值数量msgc1 = sprintf(与模板语音信号的差值为:%10f, dist1);msgc2 = sprintf(与模板语音信号的差值为:%10f, dist2);msgc3 = sprintf(与模板语音信号的差值为:%10f, dist3); disp(msgc1);disp(msgc2);disp(msgc3);distmin=0;distmax=5;if dist1distmin msgbox(msgc1);bj, fs = wavread(E:baoj

6、ing.wav);sound(bj,fs);第 4 页elsemsgc2 = sprintf(没有鸟叫);msgbox(msgc2);end2.特征提取函数 mfcc.mfunction r = mfcc(s, fs)m = 100;n = 256;l = length(s);nbFrame = floor(l - n) / m) + 1; %沿-方向取整 for i = 1:nfor j = 1:nbFrameM(i, j) = s(j - 1) * m) + i); %对矩阵M赋值endendh = hamming(n); %加 hamming 窗,以增加音框左端和右端的连续性M2 = d

7、iag(h) * M;for i = 1:nbFrameframe(:,i) = fft(M2(:, i); %对信号进行快速傅里叶 变换FFT endt = n / 2;tmax = l / fs;m = Melfb(20, n, fs); %将上述线性频谱通过Mel 频率滤波器组得到Mel 频谱,下面在将其转化成对数频谱n2 = 1 + floor(n / 2);z = m * abs(frame(1:n2, :).2;r = dct(log(z);3.计算距离函数Disteu.mfunction d = disteu(x, y)M, N = size(x); %音频x赋值给【M ,N】M

8、2, P = size(y); %音 频y赋值给【M2,P】if (M = M2)error(不匹配! ) %两个音频时间长度不相等endd = zeros(N, P);if (N P)%在两个音频时间长度相等的前提下copies = zeros(1,P);for n = 1:Nd(n,:) = sum(x(:, n+copies) - y) .2, 1);endelsecopies = zeros(1,N);for p = 1:P第 5 页d(:,p) = sum(x - y(:, p+copies) .2, 1);end%成对 欧氏距离的两个矩阵的列之间的距离endd = d.0.5;4.

9、特征提取辅助函数vqlbg.mfunction r = vqlbg(d,k)e = .01;r = mean(d, 2);dpr = 10000;for i = 1:log2(k)r = r*(1+e), r*(1-e);while (1= 1)z = Disteu(d, r);m,ind = min(z, , 2);t = 0;for j = 1:2ir(:, j) = mean(d(:, find(ind = j), 2);x = Disteu(d(:, find(ind = j), r(:, j);for q = 1:length(x)t = t + x(q);endendif (dpr

10、 - t)/t) e)break;elsedpr = t;endendend6.Mel滤 波器组 函数melfb.mfunction m = melfb(p, n, fs)f0 = 700 / fs;fn2 = floor(n/2);lr = log(1 + 0.5/f0) / (p+1);% convert to fft bin numbers with 0 for DC termbl = n * (f0 * (exp(0 1 p p+1 * lr) - 1);b1 = floor(bl(1) + 1;b2 = ceil(bl(2);b3 = floor(bl(3);b4 = min(fn2

11、, ceil(bl(4) - 1;pf = log(1 + (b1:b4)/n/f0) / lr;fp = floor(pf);pm = pf - fp;第 6 页r = fp(b2:b4) 1+fp(1:b3);c = b2:b4 1:b3 + 1;v = 2 * 1-pm(b2:b4) pm(1:b3);m = sparse(r, c, v, p, 1+fn2);6感受1.通过实验,是我对 MATLAB 有了一个基础的了解,在学习 MATLAB 编程中需要很多的参考书,要尽量多的熟悉 matlab 自带的函数及其作用,因为matlab 的自带函数特别多,基本上能够满足一般的数据和矩阵的计算

12、,所以基本上不用你自己编函数。这一点对程序非常有帮助,可以使程序简单,运行效率高,可以节省很多时间。本次课设中用了很多 MATLAB 自带的函数,使程序变得很简单而有效。2.在编程的过程中学习,程序需要什么知识再去补充,编程是一点一点积累的,所以需要做一些随手笔记什么的。课题需要什么函数,需要什么模块就应该去着重看那个知识点,就应该一步一步学,如果太急于把所有东西都学到,也是不好的,更是实现不了的。3.总之,通过这次学习,我了解了一下这个软件总体的功能,以及通过自己编写一些代码也学到了一些用法和知识。我相信统统不时的积累,我会慢慢的学会使用 MATLAB。4.这次我们四个人一起做这个驱鸟装置,感觉还有不足之处,还存在一些问题有待纠正。在此再次感谢刘刘璎瑛老师的指导!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 学术论文 > 大学论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报