MATLAB的双音多频拨号系统的仿真
MATLAB的双音多频拨号系统的仿真
设计
目的 1. 巩固所学的数字信号处理理论知识,了解电话中双音多频信号的产生与检测原理;
2. 了解数字信号处理在实际中的使用方法和重要性;
3. 学习资料的收集与整理,学会撰写课程设计报告。
实验
环境 1. 微型电子计算机(PC);
2. 安装Windows 2000以上操作系统,MATLAB等开发工具。
任务
要求 1. 研究双音多频拨号(DTMF)系统,研究电话中双音多频信号的产生与检测原理;任意送入6位和8位电话号码,打印出相应的幅度谱。观察程序运行结果,判断程序谱分析的正确性。
2. 利用课余时间去图书馆或上网查阅课题相关资料,深入理解课题含义及设计要求,注意材料收集与整理;
3. 在第15周末之前完成预设计,并请指导教师审查,通过后方可进行下一步工作;
4. 结束后,及时提交设计报告(含纸质稿、电子稿),要求格式规范、内容完整、结论正确,正文字数不少于3000字(不含代码)。
工作进度计划
序号 起止日期 工 作 内 容毕业论文http://www.751com.cn/ 论文网http://www.lwfree.com/
1 2009.12.14~2009.12.14 在预设计的基础上,进一步查阅资料,完善设计方案。
2 2009.12.14~2009.12.17 设计总体方案,构建、绘制流程框图,编写代码,上机调试。
3 2009.12.17~2009.12.18 测试程序,完善功能,撰写设计报告。
4 2009.12.18 参加答辩,根据教师反馈意见,修改、完善设计报告。
摘 要
所谓双音多频(DTMF),就是用两个频率——行频和列频来表示电话机键盘上的一个数字。DTMF 电话的指令正在迅速的取代脉冲指令。除了在电话呼叫信号中使用外,DTMF 还广泛的使用在交互式控制应用,例如电话银行、电子邮件甚至家电远程控制等,用户可以从电话机发送DTMF 信号来做菜单选择。本文基于MATLAB的双音多频拨号系统的仿真实现。主要涉及到电话拨号音合成的基本原理及识别的主要方法,利用 MATLAB 软件以及 DFT 算法实现对电话通信系统中拨号音的合成与识别。并进一步利用 MATLAB 中的图形用户界面 GUI 制作简单直观的模拟界面。还能够利用矩阵不同的基频合成 0 - 9 不同按键的拨号音,并能够对不同的拨号音加以正确的识别,实现由拨号音解析出电话号码的过程,进一步利用 GUI 做出了简单的图形操作界面。本文具有界面清楚,画面简洁,易于理解,操作简单的优点,从而实现对电话拨号音系统的简单的信号仿真。
关键词 :双音多频(DTMF) MATLAB GUI 信号仿真
目 录
1 引言 5
2 电话中的双音多频(DTMF)信号的产生与检测 6
2.1双音多频信号的产生 6
2.2双音多频信号的检测 6
3 检测DTMF信号的DFT参数选择 7
3.1 频谱分析的分辨率 7
3.2频谱分析的频率范围 7
3.3检测频率的准确性 8
4 关于 Goertzel 9
4.1 Goertzel基本算法 10
4.2 选择合适的采样率 10
4.3 块大小的设置 11
4.4 预计算常数 11
4.5 Goertzel优化算法 12
4.6 Goertzel算法演示程序 12
5 DTMF信号的产生与识别仿真实现 13
6 界面的设计与实现 16
6.1 DTMF 信号的组成 16
6.2 DTMF 信号产生合成的程序模块 16
6.2.1 默认模块 17
6.2.2 按键模块设计 17
6.3.图形电话拨号面板的制作 22
6.4.DTMF 信号的检测识别 23
6.5. DTMF的整体界面设计结果 23
结 论 25
致谢 26
参考文献1275