欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    电话按键音的识别Word格式.docx

    • 资源ID:7777585       资源大小:132.08KB        全文页数:16页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    电话按键音的识别Word格式.docx

    1、D双音多频的拨号键盘是44的矩阵,每一行代表一个低频,每一列代表一个高频。用户每按一个键就发送一个高频和低频的正弦信号组合。2.电话按键音识别MATLAB中audioread函数可以实现多种音频信号的读取,调用形式为y,fs=audioread(filename)其中y为所读取的音频数据;而fs为采样频率;调用的filename为指定载入的音频文件名称。用fft频谱分析公式 (1) (2)由公式(1)和(2)可得: (3)四实验内容本实验要实现电话拨号音(DTMF)信号的检测的识别,可以通过直接计算傅里叶变换时的输入信号组成的频率。这里采用FFT算法对信号进行解码分析。首先对接收到的数字信号作

    2、FFT分析。计算出其频幅谱,继而得到功率谱,组成输入信号的频率必定对应功率谱的峰值。对于连续的双音多频(DTMF)信号。需要把有效的数字拨号信号从静音间隔中分割提取出来,然后再用FFT算法对信号进行解码分析,得出电话拨号码。五、实验过程与分析1.读取音频文件利用MATLAB中audioread读取x,fs=audioread(电话按键音.m4a);2.声道提取电话按键音是双声道,本实验提取声道1进行分析:x=x(:,1);3.端点提取该按键音为一段连续的11位数字拨号音,分析时需要对它们分别进行处理,而这11位数字间的时间间隔一般情况是没有规律的,无法直接用for循环控制截取,而要是手动一段一

    3、段地进行截取,换一个音频信号就得再次重新截取,因此考虑到可能存在噪音的情况,基于短时能量和短时平均过零率来进行端点检测,实现端点的提取,对于不同的音频信号,只需要修改部分可变参数便可以适用。4.分析根据音频实际情况设置对应参数:framelen= floor(fs*40/1000);%floor向下取整,帧长frameinc= floor(fs*10/1000);%帧移% 进行分帧,每帧长framelength,voice_min_len =15;% 最短语音长度150ms%语音段的最短长度,若语音段长度小于此值(如果语音段中的静音帧数未超过此值,),则认为其为一段噪音unvoice_min_

    4、len = 5;%结束段最小持续50msn3=0.05;%过零率下限参数0.05检测结果见图1结果: 将11个检测到的号码音频左右端点提取出来 对信号进行fft变换后,得到的频谱是呈现对称的,在此截取前部分进行观察,得到频谱图如图2所示。程序运行最终结果为: 图1 端点检测结果图 图2 电话按键音fft频谱图5.可靠性检验自己录制一段拨号音,检验程序的可靠性,这里为了(.mp3格式)参数设置同上图3 端点检测结果图 图4 电话按键音的fft频谱图程序运行结果:图5 端点检测结果图 图6 电话按键音的fft频谱图(2)1234567890(.ogg格式)该音频录制时,有的按键音持续时间较短,需要

    5、对检测初始参数进行修改修改参数:voice_min_len =6;% 最短语音长度60msn3=0.02;%过零率下限参数0.02The telephone number is: 1234567890经验证,该程序可行。六、小结1.原本想着,进行端点检测时考虑了噪声的影响进行滤波或许就不必要了,但是将滤波器加进程序后发现,对于不同的音频信号,程序有更好的适应性,端点检测结果的精确度居然也有所提高,不用再反复修改设置参数,然后就将滤波器加入程中了。2.实验过程中,首先是手动截取11段数字音频验证号码可检测出来后,在进行端点检测的构思,最后考虑滤波。3.通过本次实验,发现自己在MATLAB函数的应

    6、用与程序设计中仍有很大的进步空间。4.有效的端点检测技术不仅能在语音识别系统中减少数据的采集量,节约处理时间,还能排除无声段或噪声段的干扰。对于端点检测的程序,其原理经查阅资料明白一些,但不多,查阅到语音端点检测参考程序之后,对其进行了步骤增加、减少等操作,使其适合本实验,考虑到一些参数对于不同的音频需要做不同的改变,便将其提取到主程序中,方便修改。5.在引用的端点检测代码原理不很了解情况下,结合本实验对其进行部分修改比较困难。6.对于待检测信号的第一个数字滤波效果不好,未达到理想的效果。7.先设计滤波器对信号进行滤波,滤去部分噪声,再设计考虑噪声的端点检测函数,相当于信号进行了双重滤波处理,

    7、是结果能够更加准确。七、实验程序(1)主程序:%待检测数据%x,fs=audioread(11_11_1.ogg%检验号码1234567890,1);%提取声道1x=lv_bo_1(x,fs);sound(x,fs);%播放滤波后的音频% 调整各参数% 最短语音长度60ms ,150ms%过零率下限参数0.02,0.05% endfan_wei=vad(framelen,frameinc,x,fs,voice_min_len,unvoice_min_len,n3);%引用时注意修改函数vad中的最短语音长度number= ;figurefor i=1:length(fan_wei) y=x(f

    8、an_wei(i,1):fan_wei(i,2); n=0:length(y)-1;%建立一个信号等长的序列; %=频域图像= N=length(y);%取信号矩阵的长度 FFT=fft(y,N);%N点傅里叶变换 mag=abs(FFT)/(N/2);%还原真实幅值 f=n*fs/N;%频率序列 % f=f(1:fix(N/2);mag=mag(1:% subplot(3,4,i)%图2:频谱图 %取l/2作图 plot(f,mag);axis(600 1700 min(mag) max(mag); title(fft频谱图%标题: xlabel(频率/Hz%标注横坐标 ylabel(幅度%

    9、标注纵坐标 grid on;%打开网格线 %数字判断 a1=(697+770)/2;a2=(770+852)/2;a3=(852+941)/2; a4=(1209+1336)/2;a5=(1336+1477)/2;a6=(1477+1633)/2; if(f(mag=max(mag(f=1000)1100)a5) tel=2;a6) tel=3; else tel=A end elseif(f(mag=max(mag(fa2) tel=4; tel=5; tel=6;Ba3) tel=7; tel=8; tel=9;C* tel=0;#D number=number,num2str(tel);

    10、enddisp(,number)(2)滤波器function f1 = lv_bo_1( x,fs )% 双线性变换法设计Butterworth滤波器t=0:1/fs:(size(x)-1)/fs;Au=0.03;d=(Au*cos(2*pi*10000*t)x2=x+d;%数字滤波器指标fp=3Hz,fr=4Hz,Rp=1db,As=20db,fs=10Hzwp=0.25*pi;%通带边界频率(归一化):wp=fp*2*pi/fsws=0.3*pi;%阻带边界频率(归一化):ws=fr*2*pi/fsRp=1;%通带波纹Rs=15;%将模拟指标转换成数字指标Fs=fs;Ts=1/Fs;%时域

    11、最小间隔,即时域分辨率wp1=2/Ts*tan(wp/2);%模拟低通原型滤波器通带频率 ws1=2/Ts*tan(ws/2); %模拟低通原型滤波器阻带频率N,Wn=buttord(wp1,ws1,Rp,Rs,s%选择滤波器的最小阶数Z,P,K=buttap(N); %创建butterworth模拟滤波器Bap,Aap=zp2tf(Z,P,K);b,a=lp2lp(Bap,Aap,Wn);%双线性变换得到分子和分母的系数向量bz,azbz,az=bilinear(b,a,Fs);%用双线性变换法实现模拟滤波器到数字滤波器的转换f1=filter(bz,az,x2);%进行滤波处理(3)端点检

    12、测function fan_wei=vad(a1,a2,x,fs,n1,n2,n3)%归一化x=double(x);x=x/max(abs(x);framelen= a1;frameinc= a2;y=enframe(x,hanning(framelen),frameinc);%分帧%计算短时间能量amp=sum(abs(y),2);%amp = sum(abs(enframe(filter(1 -0.9375, 1, x), framelen, frameinc).2, 2);%计算过零率tmp1=enframe(x(1:length(x)-1),framelen,frameinc);tmp

    13、2=enframe(x(2:length(x),framelen,frameinc);signs=(tmp1.*tmp2)n3;zcr=sum(signs.*diffs,2);zcr=zcr;zcr(end);zcr_yu=0.2*mean(zcr);yuzhi=0.2*mean(amp);N=length(amp);for n=1:N if amp(n)yuzhi|(zcr(n)=yuzhi2&zcr(i)=zcr_yu1)&bstart_state) %find start bstart_state=1; if(st_candicate) st_candicate=i; segment =

    14、segment + 1; elseif(amp(i)=yuzhi2|zcr(i)bstart_state)% if(unvoice=unvoice_min_len) % st = st; st_candicate; en_candicate = en_candicate + unvoice_min_len - 1; en = en; en_candicate; bend_state = 1; unvoice = 0; segment = 0; st_candicate = 0; else segment = segment + 1; elseif(amp(i)yuzhi2&zcr(i)=voi

    15、ce_min_len % unvoice = unvoice + 1; if bend_state % en_candicate = i; else % bstart_state = 0; bend_state = 0;bstart_state) % if st_candicate st_candicate = i; else% end if(unvoice=unvoice_min_len )% (en_candicate + unvoice_min_len -1);if( segment = voice_min_len) % N;figure(1);subplot(3,1,1),plot(x

    16、); %原始语音波形axis(1,length(x),-1,1);ylabel(speechxlabel(样本点for k=1:length(st) line(st(k)*frameinc,st(k)*frameinc,-1,1,linestyle,:colorblueLineWidth,2); line(en(k)*frameinc,en(k)*frameinc,-1,1,redsubplot(3,1,2),plot(amp);%原始语音能量axis(1,length(amp),0,max(amp),ylabel(energy,xlabel(帧数line(1,N,yuzhi1,yuzhi1,

    17、yellow%由语音能量line(1,N,yuzhi2,yuzhi2,%由噪声平均能量和语音能量比较而得length(st)line(st(k),st(k),min(amp),max(amp),line(en(k),en(k),min(amp),max(amp),subplot(3,1,3),plot(zcr);%原始语音过零率axis(1,length(zcr),0,max(zcr),ylabel(zcrline(1,N,zcr_yu1,zcr_yu1,line(1,N,zcr_yu2,zcr_yu2,%语音加噪音line(st(k),st(k),min(zcr),max(zcr),line(en(k),en(k),min(zcr),max(zcr),fan_wei=st,en*frameinc;


    注意事项

    本文(电话按键音的识别Word格式.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开