-0-闽江学院课程设计报告书设计题目:系别:年级专业:指导教师:摘要所谓双音多频(DTMF),就是用两个频率——行频和列频来表示电话机键盘上的一个数字。DTMF电话的指令正在迅速的取代脉冲指令。除了在电话呼叫信号中使用外,DTMF还广泛的使用在交互式控制应用,例如电话银行、电子邮件甚至家电远程控制等,用户可以从电话机发送DTMF信号来做菜单选择。本文基于MATLAB的双音多频拨号-1-系统的仿真实现。主要涉及到电话拨号音合成的基本原理及识别的主要方法,利用MATLAB软件以及DFT算法实现对电话通信系统中拨号音的合成与识别。并进一步利用MATLAB中的图形用户界面GUI制作简单直观的模拟界面。还能够利用矩阵不同的基频合成0-9不同按键的拨号音,并能够对不同的拨号音加以正确的识别,实现由拨号音解析出电话号码的过程,进一步利用GUI做出了简单的图形操作界面。本文具有界面清楚,画面简洁,易于理解,操作简单的优点,从而实现对电话拨号音系统的简单的信号仿真。关键词:双音多频(DTMF)MATLABGUI信号仿真课程设计学生日志时间设计内容2012.12.21—2013.1.3五个组员一起查阅资料,商量确定方案2013.1.7—2013.1.8设计总体方案——负责编程与设计程序,负责整合资料,负责记录日常工作及解决课程设计过程中出现的一些意外情况。-2-2013.1.9—2013.1.10和负责将各个子模块程序整合起来,和负责制作程序的gui界面,负责总程序的调试2012.1.11五人一起制作课程设计报告,并答辩完成课程设计目录1引言………………………………………………………………………………32双音多频系统MATLAB的设计与实现…………………………………………43双音多频(DTMF)信号的产生与检测原理………………………………………63.1双音多频信号……………………………………………………………63.2双音多频信号的产生原理…………………………………………………73.3双音多频信号的检测原理…………………………………………………9-3-4双音多频(DTMF)信号的产生与检测……………………………………………94.1双音多频信号的产生…………………………………………………………94.2双音多频信号的检测…………………………………………………………95检测(DTMF)信号的DFT参数选择……………………………………………125.15.2频谱分析的频率范围………………………………………………………126详细的设计步骤…………………………………………………………………126.2.1默认模块…………………………………………………………………176.2.2按键模块设计……………………………………………………………176.3图形电话拨号面板的制作………………………………………………226.4DTMF信号的检测识别…………………………………………………236.5DTMF的整体界面设计结果……………………………………………237结论……………………………………………………………………………………258参考文献………………………………………………………………………………261引言双音多频(DualToneMultiFrequency,DTMF)信号是音频电话中的拨号信号,由美国AT&T贝尔公司实验室研制,并用于电话网络中。这种信号制式具有很高的拨号速度,且容易自动监测识别,很快就代替了原有的用脉冲计数方式的拨号制式。这种双音多频信号制式不仅用在电话网络中,还可以用于传输十进制数据的其它通信系统中,用于电子邮件和银行系统中。这些系统中用户可以用电话发送DTMF信号选择语音菜单进行操作。DTMF信号系统是一个典型的小型信号处理系统,它要用数字方法产生模拟信号并-4-进行传输,其中还用到了D/A变换器;在接收端用A/D变换器将其转换成数字信号,并进行数字信号处理与识别。为了系统的检测速度并降低成本,还开发一种特殊的DFT算法,称为戈泽尔(Goertzel)算法,这种算法既可以用硬件(专用芯片)实现,也可以用软件实现。下面首先介绍双音多频信号的产生方法和检测方法,包括戈泽尔算法,最后进行模拟实验。下面先介绍电话中的DTMF信号的组成。在电话中,数字0~9的中每一个都用两个不同的单音频传输,所用的8个频率分成高频带和低频带两组,低频带有四个频率:679Hz,770Hz,852Hz和941Hz;高频带也有四个频率:1209Hz,1336Hz,1477Hz和1633Hz.。每一个数字均由高、低频带中各一个频率构成,例如1用697Hz和1209Hz两个频率,信号用表示,其中,这样8个频率形成16种不同的双频信号。具体号码以及符号对应的频率如表1所示。表中最后一列在电话中暂时未用。表1双频拨号的频率分配1209Hz1336Hz1477Hz633Hz697Hz123A770Hz456B852Hz789C942Hz*0#DDTMF信号在电话中有两种作用,一个是用拨号信号去控制交换机接通被叫的用户电话机,另一个作用是控制电话机的各种动作,如播放留言、语音信箱等。2双音多频系统的MATLAB设计与实现MATLAB工具简介MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工-5-程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。[13]MATLAB产品族可以用来进行以下各种工作:●数值分析●数值和符号计算●工程与科学绘图●控制系统的设计与仿真●数字图像处理技术●数字信号处理技术●通讯系统设计与仿真●财务与金融工程MATLAB的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。附加的工具箱(单独提供的专用MATLAB函数集)扩展了MATLAB环境,以解决这些应用领域内特定类型的问题。它有如下的特点:1.功能强的数值运算――在MATLAB环境中,有超过500种数学、统计、科学及工程方面的函数可使用,函数的标示自然,使得问题和解答像数学式子一般简单明了,让使用者可全力发挥在解题方面,而非浪费在电脑操作上。2.先进的资料视觉化功能――MATLAB的物件导向图形架构让使用者可执行视觉数据分,并制作高品质的图形,完成科学性或工程性图文并茂的文章。3.高阶但简单的程式环境――作为一种直译式的程式语言,MATLAB容许使用者在短时间内写完程式,所花的时间约为用FORTRAN或C的几分之一,而且不需要编译(compile)及联结(link)即能执行,同时包含了更多及更容易使用的内建功能。4.开放及可延伸的架构――MATLAB容许使用者接触它大多数的数学原始码,检视运算法,更改现存函数,甚至加入自己的函数使MATLAB成为使用者所须要的环境。5.丰富的程式工具箱――MATLAB的程式工具箱融合了套装前软体的优点,与一个灵活的开放但容易操作之环境,这些工具箱提供了使用者在特别应用领域所需之许多函数。现有工具箱有:符号运算(利用MapleV的计算核心执行)、影像处理、统计分析、讯号处理、神经网路、模拟分析、控制系统、即时控制、系统确认、强建控制、弧线分析、最佳化、模糊逻辑、mu分析及合成、化学计量分析。因为有了这些工具箱,大量繁杂的数学运算和分析可通过调用MATLAB函数直接求解,大大提高了编程效率,其程序编译和执行速度远远超过了BASIC、FORTRAN和C等语言。在欧美的大学和研究机构中,MATLAB是一种非常流行的计算机语言,许多重要的学术刊物上发表的论文均是用MATLAB来分析计算和绘制各种图形。它还是一种有力的教学工具,它在大学的线性代数、自动控制理论、数理统计、数字信号处理、动态系统仿真等课程的教学中,已成为标准的教学工具。-6-3双音多频(DTMF)信号的产生与检测原理3.1双音多频信号DTMF,由高频群和低频群组成,高低频群各包含4个频率。一个高频信号和一个低频信号叠加组成一个组合信号,代表一个数字。DTMF信令有16个编码。利用DTMF信令可选择呼叫相应的对讲机同时,双音多频信号是电话系统中电话机与交换机之间的一种用户信令,通常用于发送被叫号码。在使用双音多频信号之前,电话系统中使用一连串的断续脉冲来传送被叫号码,称为脉冲拨号。脉冲拨号需要电信局中的操作员手工完成长途接续。双音多频的拨号键盘是4×4的矩阵,每一行代表一个低频,每一列代表一个高频。每按一个键就发送一个高频和低频的正弦信号组合,比如'1'相当于697和1209赫兹(Hz)。交换机可以解码这些频率组合并确定所对应的按键。DTMF编解码器在编码时将击键或数字信息转换成双音信号并发送,解码时在收到的DTMF信号中检测击键或数字信息的存在性。表2-1数字或功能键组合表DTMF是用两个特定的单音频组合信号来代表数字信号以实现其功能的一种编码技术。两个单音频的频率不同,代表的数字或实现的功能也不同。这种电话机中通常有16个按键,其中有10个数字键0~9和6个功能键*、#、A、B、C、D。由于按照组合原理,一般应有8种不同的单音频信号。因此可采用的频率也有8种,故称之为多频,又因它采用从8种频率中任意抽出2种进行组合来进行编码,所以又称之为“8中取2”的编码技术。根据CCITT的建议,国际上采用的8个频率为:687Hz、770Hz、852Hz、941Hz、1209Hz、1336Hz、1477Hz和1633Hz。用这8个频率可形成16种不同的组合,从而代表16个不同的数字或功能键,具体组合见表2-1。3.2.1双音多频信号的产生原理行频列频1209Hz1336Hz1477Hz1633Hz697Hz123A770Hz456B852Hz789C941Hz*0#D-7-DTMF信号包含两组音频信号,解码器的任务是通过数学变换把它从时域转化到频域,然后得出对应的数字信息。在接收端,将收到的模拟音频信号进行A/D变换,恢复为数字信号,然后检测其中的音频频谱来确定所发送的数字。检测算法可以是快速傅立叶变换(FFT)算法的DFT,或是用一组滤波器来提取所需频率。以下章节对两种方法进行分析并对GOERTZEL算法进行详细的推导。由上面可以知道一个DTMF信号是由两个不通频率Lf和Hf的正弦波组成,它可以用下式表示)2sin()2sin()(HHHLLLFAtFAtx(2-1)我们可以考虑通过离散傅立叶变换进行信号的频谱分析来检测离散的双音多频码。这是因为只有时域及频域都是离散的情况下,才能适合于在计算机上运算;也就是周期的离散时间信号与离散频率间的变换对。周期性离散时间信号x(n)的离散傅立叶变换-周期性离散频率函数X(k)两相邻谱线分量之间的角频率增量与周期pt之间的关系可表示为Ftp2/2,ptF/1代表信号的基频。取样频率sf与取样周期T的关系是1sfT取样角频率T/2T为时域取样间隔为,在一个周期内取样点数为N。在自变量为t及f的情况下,在一个时域中对函数进行取样,两取样点间增量的倒数,必是另一个域中函数的周期。现序列的周期为NT,所以对频谱取样的间距是NT/1。以数字频率表示时,则频谱间距是1-N,0,1,k/20Nk令NjNW2并称之为NW因子。离散傅立叶变换(DFT)可写成如下形式:N?k0)()]([)(10NnknNWnxnxDFTkX(2-2)离散傅立叶变换(DFT)在有关频率检测数字信号处理系统的设计和实现方面起着非常重要的作用。DFT的表达式可以直接写成:-8-1-N,0,1,k)()(102NnNknjnxkX(2-3)一般来说,x(n)和n