基于matlab鸟声识别

上传人:洪易 文档编号:42003509 上传时间:2018-05-31 格式:DOC 页数:8 大小:383.50KB
返回 下载 相关 举报
基于matlab鸟声识别_第1页
第1页 / 共8页
基于matlab鸟声识别_第2页
第2页 / 共8页
基于matlab鸟声识别_第3页
第3页 / 共8页
基于matlab鸟声识别_第4页
第4页 / 共8页
基于matlab鸟声识别_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《基于matlab鸟声识别》由会员分享,可在线阅读,更多相关《基于matlab鸟声识别(8页珍藏版)》请在金锄头文库上搜索。

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

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

3、ad(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); % 计算 MFCCs 提取特征特征,返回值是 Mel倒谱系数,是一个log的dct得到的code1= Vqlbg(mm1, k); mm2 = mfcc(m2, fs); % 计算 MFCCs 提取特征特征,返回值 是Mel倒谱系数,是一个log的dct得到的code2= Vqlbg(mm2, k); mm3 = mfcc(m3, fs);

4、 % 计算 MFCCs 提取特征特征,返回值 是Mel倒谱系数,是一个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 = Di

5、steu(cce, code3); %计算得到模板和要判断的声音之间的“距离”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(

6、msgc1);bj, fs = wavread(E:baojing.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:n for j = 1:nbFrame M(i, j) = s(j - 1) * m) + i); %对矩阵M赋值 end end h = hamming

7、(n); %加 hamming 窗,以增加音框左端和右端的连续性 M2 = diag(h) * M; for i = 1:nbFrame frame(:,i) = fft(M2(:, i); %对信号进行快速傅里叶变换FFT end t = 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.m functio

8、n d = disteu(x, y)M, N = size(x); %音频x赋值给【M,N】 M2, P = size(y); %音频y赋值给【M2,P】 if (M = M2)error(不匹配!) %两个音频时间长度不相等 end d = zeros(N, P); if (N P)%在两个音频时间长度相等的前提下copies = zeros(1,P);for n = 1:Nd(n,:) = sum(x(:, n+copies) - y) .2, 1);end elsecopies = zeros(1,N);for p = 1:P第 5 页d(:,p) = sum(x - y(:, p+co

9、pies) .2, 1);end%成对欧氏距离的两个矩阵的列之间的距离 end d = d.0.5;4.特征提取辅助函数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

10、), r(:, j);for q = 1:length(x)t = t + x(q);endendif (dpr - t)/t) e)break;elsedpr = t;endend end 6.Mel滤波器组函数melfb.m function 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 term bl = n * (f0 * (exp(0 1 p p+1 * lr) - 1); b1 =

11、 floor(bl(1) + 1; b2 = ceil(bl(2); b3 = floor(bl(3); b4 = min(fn2, 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 编程

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

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 经济/贸易/财会 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号