下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大连理工大学实验报告学院(系):电子信息与电气工程学部专业:电子信息工程(英语强化)班级:电英1001班姓名: 刘志旋 学号: 201081510 组: 实验时间: 实验室: 实验台: 指导教师签字: 成绩: 实验二电话拨号音的合成与识别五、实验数据记录和处理在函数num1_OpeningFcn中定义全局变量handles.NUM实验程序如下:1.数字键1的代码wl1=2*pi*697/8192;wh1=2*pi*1209/8192;n=[1:410];d1=sin(wl1*n)+sin(wh1*n);space=zeros(1,410);phone=[handles.NUM,d1];%数字1的行频%数字1的列频%每个数字用410个采样点表示%对应行频列频叠加%410个0模拟静音信号%显示号码%刷新%按键音handles.NUM=[phone,space];%将得到的820点存入全局变量%显示号码%刷新%按键音set(handles.numshow,'string',n1);guidata(hObject,handles);wavplay(d1,8192);其他的数字键同1,只需要修改其中的行列频和显示数字2.删除键(*键:的代码wl1=2*pi*941/8192; %*键的行频wh1=2*pi*1209/8192; %*键的列频n=[1:410];d1=sin(wl1*n)+sin(wh1*n);num=get(handles.numshow,'string');%得到屏幕上的内容l=length(num); 得到%长度n11=strrep(num,num,num(1:l-1)); %删除最后的一个字符set(handles.numshow,'string',n11);%显示现在的结果
L=length(handles.NUM);handles.NUM=handles.NUM(1:L-820); %删除820点,该为要删除点的采样值guidata(hObject,handles);wavplay(d1,8192);3.全部清除键(#键)的代码wl1=2*pi*941/8192;wh1=2*pi*1477/8192;n=[1:410];d1=sin(wl1*n)+sin(wh1*n);handles.NUM=[];set(handles.numshow,'string',[]);guidata(hObject,handles);wavplay(d1,8192);每个%数字用410个采样点表示%对应行频列频叠加将全局变量每个%数字用410个采样点表示%对应行频列频叠加将全局变量handles.NUM清空%将显示清空4.识别键(receive键)的代码L=length(handles.NUM);n=L/820;number=zeros(1,n);fori=1:nj=(i-1)*820+1;d=handles.NUM(j:(j+410-1));%截取出每个数字f=fft(d,8192);%以N=2048作FFT变换a=abs(f);p=a.*a/8l92;%计算功率谱num(l)=find(p(l:l000)==max(p(l:l000)));%找行频%找列频num(2)=l000+find(p(l000:l700)==max(p(l000:l700)));if(num(l)<730)row=l;%确定行数elseif(num(1)<810)row=2;elseif(num(1)<900)row=3;elserow=4;endif(num(2)<1260)column=1;%确定列数elseif(num(2)<1400)column=2;elsecolumn=3;phone=0;elseifz==[1,1]phone=1;elseifz==[1,2]phone=2;elseifz==[1,3]phone=3;elseifz==[2,1]phone=4;elseifz==[2,2]phone=5;elseifz==[2,3]phone=6;elseifz==[3,1]phone=7;elseifz==[3,2]phone=8;elseifz==[3,3]phone=9;end%将整型数转化成字符number=strcat(number,int2str(phone))end%显示号码set(handles.shownuml,'string',number);end
5.数字拨号音的频谱图产生代码a=handles.NUM(1:420);a=fft(a,8192);a=abs(a);figure(1)stem(a)title('第一个输入数字拨号音的频谱图')xlabel('频率Hz'),ylabel('幅度')figure(2)a=a(1:1700);stem(a)title('第一个输入数字拨号音的频谱图')xlabel('频率Hz'),ylabel('幅度')六、实验结果与分析上面的六张图从左到右,从上到下分别是:运行程序后的界面、输入1008611后的界面、按1次*上面的六张图从左到右,从上到下分别是:运行程序后的界面、输入1008611后的界面、按1次*键(删除键)后的界面、按1次Receive(识别键)后的界面、按1次#键(清除键)后的界面、再按1次Receive(识别键)后的界面。分析:输入按键,屏幕上显示相应的数字,并且能够听到按键音。按下删除键后,屏幕上最后一1.GUI下的实验结果图位数字删除,识别之后发现,被删除的信息未被显示,即删除正确。按下清除键后,屏幕信息全被清除,识别之后发现,被清除的信息未被显示,即清除正确。即,实验完成了电话拨号音的合成和识别。数字拨号音的频谱图(取第一个输入数字音作频谱图,本图是数字1的频谱)左边是以8192点做的频谱图,右图是以1700点做的频谱图。分析:看左图可以发现最大值出现在4个频点上,而按照程序应该只应在2个点处出现峰值,原因在于程序中画频谱图时用的是FFT快速算法,这是基于圆周卷积来算的,当横坐标的频点取足够多时,就可以看到它会周期延拓,并且sin(wt)在负频域内有值,这样这频点取值为8192点时就正好可以看到它的延拓周期。若取1700点,则得到右图,可以看到解得的两个频点与数字1拨号音音频接近,与实验预想一致。综上所诉,本次实验实现了电话拨号音的合成和识别,别从频谱上分析了其正确性,即实验完成。七、讨论、建议、质疑实验体会:本次实验我学会了GUI图形用户界面的基本设计,掌握了电话拨号音的合成和识别的原理以及现在的方法。实验中同样遇到很多问题:错误的理解了全局变量,在每个数字键代码用handles.NUM=[d1,space],以为这样就将每次读入的820点加入handles.NUM。后来在单步调试的时候发现handles.NUM的值是当前的820点,就意识到handles.NUM=[d1,space]是一个赋值,更改后调试正确。删除键的屏幕显示删除用的是handles.numshow-1,以为这样可以实现,却报错了。查看老师讲义,发现可以用一个strrep函数,查看其用法知道strrep(num1,num2,num3)是将num3代替numl中的num2。使用这个函数就解决了这个问题。后来由删除的思想,觉得用n11=num(1:l-1)也可以实现,运行发现也可以,这样就可以不用strrep函数。识别时,屏幕中始终没有显示,单步调试时程序停在了set显示一行,觉得是显示屏用错了,然而静动态的都没有
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025技术开发转让合同认定范围及规则
- 2025建筑建材购销合同
- 2025年公司停车场车辆停放服务及免责条款协议3篇
- 2025年度变压器出口业务代理与市场开拓合同3篇
- 二零二五年度现代农业土地承包权流转及项目实施合同3篇
- 二零二五年度农机租赁与农业生态旅游合作框架协议2篇
- 二零二五年度全新店面转让定金及市场推广协议3篇
- 二零二五年度停车场设施设备检测与维修合同3篇
- 二零二五年度环保产业合作协议样本3篇
- 二零二五年度农业耕地租赁与农业资源保护合同3篇
- 安全管理体系及保证措施
- 大学生自主创业证明模板
- 少儿美术画画 童画暑假班 7岁-8岁 重彩 《北京烤鸭》
- 每日防火巡查情况记录表【范本模板】
- 所有质粒载体汇总
- 主蒸汽及再热热段管件技术协议-终版
- 《简·爱》-2022年中考一轮复习之必读名著对比阅读训练
- 交通灯课程设计交通灯控制器
- 肿瘤科常见急重症
- 03SG715-1蒸压轻质加气混凝土板(NACL)构造详图
- 尽职调查工作底稿1_公司业务调查
评论
0/150
提交评论