版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实用标准文案大全用 matlab GUI 功能模 DTMF 拨号系统双音多频 DTMF ( Dual Tone Multi-Frequency)信号,是用两个特定的单音频率信号的组合来代表数字或功能。在DTMF 电话机中有 16 个按键,其中 10 个数字键 0 9 ,6 个功能键*、#、A、B、C、D。其中 12 个按键是我们比较熟悉的按键,另 外由第 4 列确定的按键作为保留,作为功能键留为今后他用。根据 CCITT 建议,国际上采用 697Hz、770Hz、852Hz、941Hz 低频群及 1209Hz、1336Hz、1477Hz、 1633Hz 高频群。从低频群和高频群任意各抽出一种频
2、率进行组合,共有16 种组合,代表16 种不同的数字键或功能,每个按键唯一地由一组行频和列频组成如表1 所示。(1) . GUI 图形电话拨号面板的制作:利用 GUI 图形用户界面设计工具制作电话拨号面板,把DTMF 信号和电话机的键盘矩阵对应起来。其中选用我们熟悉的 10 个数字键 0 9 , 2 个功能键“*”、“#” 另四个键省略。电话机键盘矩阵的排列方式制作四行三列的按键控件。然后,为了更直观的反映对应的按键号码,可以设置一个编辑框,用于动态的显示拨号号码,模拟实际电话的拨号显示窗口。编辑框可用( Edit Text )添加。另外,为了图形电话拨号面板的简洁美观,可以添加空白区域作为背
3、景,并用静态文本框制作文字信息。背景可用(Frame )添加,静态文本框可用(Static Text )添加。最终利用 GUI 图形用户界面设计工具生成的图形电话拨号面板用于拨号音的合成产生部分,这里将其保存为 tu1.fig 文件。(2). DTMF 信号的产生合成:其主要的功能是使对应的按键,按照表1 的对应关系产生相应的拨号音,完成对应行频及列频的叠加输出。此外,对于图形界面的需要,还要使按键的号码数字显示在拨号显示窗 口中。 鉴于CCITT 对 DTMF 信号规定的指标,这里每个数字信号取1000 个采样点模拟按键信号,并且每两个数字之间用100 个 0 来表示间隔来模拟静音。以便区别
4、连续的两个按键信号。间隔的静音信号也是在按键时产生的。实用标准文案大全(3) 程序段:按键 1:n=1:1000;%每个数字 1000 个采样点d1=si n(0.5346* n)+s in (0.9273* n);% 对应行列频叠加n1=strcat(get(handles.edit1,string), 1 ); % 获取数字号码set(ha ndles.edit1,stri ng,n 1);% 显示号码space=zeros(1,100);%100 个 1 模拟静音信号global NUMpho ne=NUM,d1;NUM=pho ne,space; %储存连续拨号音信号wavplay(d
5、1,8192);% 拨号音按键 2n=1:1000;% 同上d2=si n(0.5346* n)+si n(1.0247* n);% 由( 2*pi/8192 )*行列频率得到其他按键一样n 2=strcat(get(ha ndles.edit1.stri ng), 2);:% 8192 为采样频率set(ha ndles.edit1.stri ng,n 2);%space=zeros(1,100);%global NUMpho ne=NUM,d2;NUM=pho ne,space;%wavplay(d2,8192);%按键 3n=1:1000;%d3=si n(0.5346* n)+si n
6、(1.1328*n);%n 3=strcat(get(ha ndles.edit1.stri ng), 3);:%set(ha ndles.edit1.stri ng,n 3);%space=zeros(1,100);%global NUMpho ne=NUM,d3;NUM=pho ne,space;%wavplay(d3,8192);%按键 4n=1:1000;%d4=si n(0.5906* n)+si n(0.9273*n);%n 4=strcat(get(ha ndles.edit1.stri ng), 4);:%set(ha ndles.edit1.stri ng,n4);%spac
7、e=zeros(1,100); %实用标准文案大全global NUMpho ne=NUM,d4;实用标准文案大全NUM=pho ne,space; % wavplay(d4,8192);%按键 5n=1:1000;%d5=si n(0.5906* n)+si n(1.0247*n);%n 5=strcat(get(ha ndles.edit1.stri ng), 5);:%set(ha ndles.edit1.stri ng,n 5);%space=zeros(1,100);%global NUMpho ne=NUM,d5;NUM=pho ne,space;%wavplay(d5,8192)
8、;%按键 6n=1:1000;%d6=si n(0.5906* n)+si n(1.1328*n);%n 6=strcat(get(ha ndles.edit1.stri ng), 6);:%set(ha ndles.edit1.stri ng,n 6);%space=zeros(1,100);%global NUMpho ne=NUM,d6;NUM=pho ne,space;%wavplay(d6,8192);%按键 7n=1:1000;%d7=si n(0.6535* n)+si n(0.9273*n);%n 7=strcat(get(ha ndles.edit1.stri ng), 7)
9、;:%set(ha ndles.edit1.stri ng,n 7);%space=zeros(1,100);%global NUMpho ne=NUM,d7;NUM=pho ne,space;%wavplay(d7,8192);%按键 8n=1:1000;%d8=si n(0.6535* n)+si n(1.0247*n);%n 8=strcat(get(ha ndles.edit1.stri ng), 8);:%set(ha ndles.edit1.stri ng,n 8);%space=zeros(1,100); %实用标准文案大全global NUMpho ne=NUM,d8;NUM=
10、pho ne,space; %wavplay(d8,8192);%按键 9n=1:1000;%d9=si n(0.6535* n)+si n(1.1328* n);%n9=strcat(get(handles.edit1,string ), 9)set(ha ndles.edit1,stri ng ,n 9);%space=zeros(1,100); %global NUMpho ne=NUM,d9;NUM=pho ne,space; %wavplay(d9,8192);%按键 C (删除一个数字)n=1:1000;n um=get(ha ndles.edit1,stri ng );L=le
11、ngth( num);nx=strrep( num, num, num(1:L-1);%d11=sin (0.7217* n)+si n(0.9273* n);set(ha ndles.edit1,stri ng,n x);set(ha ndles.edit2,stri ng,n x);global NUML=le ngth(NUM);NUM=NUM(1:L-1100); %wavplay(d11,8192);按键 0n=1:1000;%d0=si n(0.7217* n)+si n(1.0247* n);%n0=strcat(get(handles.edit1,string ), 0)set
12、(ha ndles.edit1,stri ng,n0);%space=zeros(1,100);%global NUMpho ne=NUM,d0;NUM=pho ne,space;%wavplay(d0,8192);%按键 D (清除显示屏)n=1:1000;n um=get(ha ndles.editl, stri ng );实用标准文案大全L=le ngth( num);n j=strrep( num,num,n um(1:L-1000);%d11=sin (0.7217* n)+si n(1.1328* n);set(ha ndles.edit1,stri ng,nj);set(ha n
13、dles.edit2,stri ng,nj);global NUM;L=le ngth(NUM);NUM=NUM(1:L-10000); %wavplay(d11,8192);接听(相当于解码):global NUM%解码程序wavplay(NUM,2000);L=le ngth(NUM);% nun 为全局变量n=L/1100;number=;for i=1:nj=(i-1)*1100+1;d=NUM(j:j+999);%取岀每个数字f=fft(d,2048);% 以 n=2048 做 ffi 变换a=abs(f);p=a.*a/10000;%计算功率普num(1)=fi nd(p(1:25
14、0)=max(p(1:250);% 找行频num(2)=300+fi nd(p(300:380)=max(p(300:380);if (num(1) 180) row=1; % 确定行数elseif (n um(1) 200) row=2;elseif (n um(1) 220) row=3;else row=4;endif (num(2) 320) column=1;% 确定列数elseif (n um(2) 340) colum n=2;else column=3;endz=row,colum n;%if z=4,2 tel=0;elseif z=1,1 tel=1;elseif z=1,
15、2 tel=2;elseif z=1,3 tel=3;%找列频实用标准文案大全elseif z=2,1 tel=4;elseif z=2,2 tel=5;elseif z=2,3 tel=6;elseif z=3,1 tel=7;elseif z=3,2 tel=8;elseif z=3,3 tel=9;endt(i)=tel;c=strcat (n umber,i nt2str(tel);n umber=c;i=i+1;endset(ha ndles.edit2,stri ng,n umber);拨号:global NUMwavplay(NUM,8192);L=le ngth(NUM);n=
16、L/1100;number=;for i=1:nj=(i-1)*1100+1;d=NUM(j:j+999);%取岀每个数字f=fft(d,2048);% N=2048 做 ffi 变化a=abs(f); %求模p=a.*a/10000;%技术功率谱num(1)=fi nd(p(1:250)=max(p(1:250);% 找行频率num(2)=300+fi nd(p(300:380)=max(p(300:380);%找列频if (num(1) 180) row=1;%确定行数elseif(n um(1) 200) row=2;elseif(n um(1) 220) row=3;else row=4;endif (num(2) 320) column=1;%elseif(n um(2) 340) colum n=2;else column=3;endz=row,colum n;%if z=4,2 tel=O;实用标准文案大全elseifz=1,1 tel=1;elseifz=1,2 tel=2;elseifz=1,3 tel=3;elseifz=2,1 tel=4;elseifz=2,2 tel=5;elseif
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 善良为话题的议论文作文800字6篇
- 篮球培训班协议书范文模板
- 消防车借用协议书范文范本
- 勾机二手买卖协议书范文范本
- 第一章蛋白质结构基础第三节
- 小学创建文明校园自查报告范文
- 智能化工程质量保障措施
- 2023-2024学年天津市重点中学高三下学期开学收心考试(3月)数学试题
- 2023-2024学年四川成都实验高级中学高考冲刺训练数学试题试卷
- 特教新视界-深化特殊教育赋能实践
- 水洗机安全操作规程
- 路基冲击压实施工方案(DOC)
- 关于新疆土地承包合同范本
- 工伤赔偿后的协议书
- 防火及动火作业监理实施细则
- 高支模巡视检查记录
- 《大学计算机基础(Windows10+Office2016)》试卷213749
- 智慧供应链管理PPT完整全套教学课件
- 机械动力学PPT完整全套教学课件
- 国家级风景名胜区申报材料
- JF-2004电子天平操作指引
评论
0/150
提交评论