毕业设计(论文)双音频(DTMF)信号的产生与检测.doc

上传人:文库蛋蛋多 文档编号:4136779 上传时间:2023-04-07 格式:DOC 页数:33 大小:353KB
返回 下载 相关 举报
毕业设计(论文)双音频(DTMF)信号的产生与检测.doc_第1页
第1页 / 共33页
毕业设计(论文)双音频(DTMF)信号的产生与检测.doc_第2页
第2页 / 共33页
毕业设计(论文)双音频(DTMF)信号的产生与检测.doc_第3页
第3页 / 共33页
毕业设计(论文)双音频(DTMF)信号的产生与检测.doc_第4页
第4页 / 共33页
毕业设计(论文)双音频(DTMF)信号的产生与检测.doc_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《毕业设计(论文)双音频(DTMF)信号的产生与检测.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)双音频(DTMF)信号的产生与检测.doc(33页珍藏版)》请在三一办公上搜索。

1、XXXXXXX大学毕 业 论 文 (设 计)题目:双音频(DTMF)信号的产生与检测学生姓名学 号专 业电子信息工程班 级2008级1班指导教师学 部计算机科学与电气工程答辩日期2012年5月19日黑龙江东方学院本科生毕业论文(设计)任务书姓名学号专业班级电子信息工程08级1班毕业论文(设计)题目:双音频(DTMF)信号的产生与检测毕业论文(设计)的立题依据双音多频DTMF(Dual Tone Multi-Frequency)信令在全世界范围内得到广泛应用。DTMF作为实现电话号码快速可靠传输的一种技术,它具有很强的抗干扰能力和较高的传输速度,因此,可广泛用于电话通信系统中。主要内容及要求1、

2、利用DTMF信号产生的原理合成数字1,其合成公式是 分析其时域波形和频谱;2、生成各个按键信号;3、利用fft分析09十个数字拨号信息的频谱,观察频谱图中的峰值点的幅值以及它们出现的位置。根据谱峰的幅值和位置,识别各DTMF信号所对应对应的数字;4、编写Goertzel算法的程序,识别各DTMF信号所对应对应的数字;进度安排12月12日选题12月13日12月29日接受指导老师的指导12月30 日1 月17日拟定论文大纲1 月18日2 月26日搜集、查阅、整理相关资料2 月27日3 月27日初稿形成3 月28日4 月8 日初稿审定4 月9 日4 月17日第一次修改4 月18日4 月22日第一次审

3、定4 月23日5 月3 日第二次修改5 月4 日5 月9 日定稿5 月10日5 月18日论文评阅小组评审论文(设计)5 月19日毕业论文(设计)答辩学生签字:指导教师签字:年 月 日双音频(DTMF)信号的产生与检测摘要双音多频DTMF(Dual Tone Multi-Frequency)信令在全世界范围内得到广泛应用,DTMF信令的产生与检测集成到含有数字信号处理器(DSP)的系统中,是一项较有价值的工程应用。DTMF作为实现电话号码快速可靠传输的一种技术,它具有很强的抗干扰能力和较高的传输速度,因此,可广泛用于电话通信系统中。但绝大部分是用作电话的音频拨号,另外,它也可以在数据通信系统中广

4、泛地用来实现各种数据流和语音等信息的远程传输,研究其在MATLAB下的仿真实现有助于其具体系统的优化设计。本文给出一种实现方案,主要阐述了DTMF的原理及如何在Matlab上产生DTMF信号,并对用Goertzel算法提取的频谱进行分析,然后,得到用Goertzel算法在白噪声的环境下对输入的DTMF信号提取频谱信息,最后,根据提取的频谱信息对输入信号进行检测解码。关键词:双音多频DTMF;Goertzel算法;Matlab关键词与摘要内容隔行书写,词条用小四号宋体字,词条间用分号(;)隔开,3-5个关键词Dual Tone Multi-frequency (DTMF) Signal Gene

5、ration and DetectionAbstractDTMF (Dual Tone Multi-Frequency) signaling in the widely used worldwide, signaling the DTMF generation and detection integrated with digital signal processor (DSP) system, is a more value engineering. DTMF telephone number as to achieve a fast and reliable transmission te

6、chnology, it has a strong anti-interference ability and high transmission speed, it can be widely used for telephone communication system. But the vast majority of telephone tone dialing is used. In addition, it can also be in the data communication system widely used to achieve a variety of data st

7、reams and remote transmission of voice and other information. Under study in the MATLAB Simulation helps optimize the design of their specific systems.This paper presents a realization of the program, mainly on the principle of DTMF and how to generate DTMF signals in Matlab, and extracted with Goer

8、tzel algorithm to analyze the spectrum, and then, get with the Goertzel algorithm in the context of white noise on the input of the DTMF spectrum information signal extraction, and finally, according to information extracted from the input signal spectrum to detect decoding. Keywords: Dual tone mult

9、i-frequency;Goertzel algorithm;Matlab小提示:当需要从网站或者文档复制到本文档时,先将文字复制到文本文档,然后再从文本文档复制到本文档的相应位置,这样就能够保证格式是正确的!此行不会被打印千万不要删除行尾的分节符,此行不会被打印。(在word菜单-工具-选项-视图标签中,格式标记部分请全部打对号,这样就可以看到隐藏的分节符和空格等信息了)目录摘要IAbstractII第1章 绪论11.1 引言11.2 课题意义1第2章 基本原理32.1 自动电话的制式32.2 DTMF技术52.3 Goertzel算法52.4 Matlab简介72.5 本章小结8第3章 D

10、TMF信号产生与检测93.1 DTMF信号的产生93.2 DTMF信号的检测103.2.1 DTMF信号检测方法103.2.2 DTMF信号有效性的检测123.3 本章小结13第4章 Matlab仿真144.1 设计程序(见附录)144.2 Matlab仿真144.3 本章小结17结论18参考文献19附录20致谢29双音频(DTMF)信号的产生与检测第1章 绪论1.1 引言电话中的双音多频信号(DTMF)有两种用途:一是用于双音多频信号的拨号,去控制交换机接通被叫的用户话机;二是利用双音多频信号遥控电话机各种动作,如播放留言、语音信箱等,并可以通过附加一些电路来是实现遥控家电设备的开启关闭等智

11、能功能。前者解决双音多频信号的发送和编码,后者是双音多频信号的接收和解码。这些东西都离不开DTMF信号的正确检测。目前,大多数的DTMF信号的检测均采用专用的发送、接收芯片,这种解码的原理都依赖于计算输入信号的过零率。但这种方法有很大的局限性,无法检测多路DTMF信号,当混有语音和噪声时,专用芯片检测往往出现误差,如果音频信号频率改变应用于别的系统时,专用的芯片就发挥不了作用。所以,用硬件实现DTMF信号的检测并不是一种很好的选择1。信息化已经成为社会发展的大趋势,信息化是以数字化为背景的,而DSP技术则是数字化最重要的基本技术之一。在过去的短短的二十来年里,DSP处理器的性能得到很大改善,软

12、件和开发工具也得到相应的发展,价格却大幅度地下降,从而得到越来越广泛的应用。通信领域(移动通信的交换设备、基站和手机,网络的路由和交换设备,智能天线,软件无线电,IP电话等),雷达和声纳系统,巡航导弹、灵巧炸弹及各种武器系统,自动测试系统,医疗诊断设备(CT、核磁共振、B超等),计算机及其外设,消费类电子设备(VCD、DVD、HDTV、机顶盒、MP3、家庭影院系统、数字照相机和摄象机等),机器人及各种自动控制系统,等等,应用范围不胜枚举2。1.2 课题意义DTMF(Dual Tone Multi Frequency)中文译为双音多频信号,最初由美国AT&T贝尔公司实验室研制,用于音频电话网络中

13、的拨号信号。一方面这种信号有非在常高的拨号速度,另一方面它便于自动检测识别及电话业务的扩展,所以很快代替了原有的脉冲计数方式的拨号形式在这里不得不提一下电话交换机的发展历史。自1876年美国贝尔发明电话以来,电话交换技术发展主要经历了三个阶段:人工交换、机电交换、电子交换。早在1878年就出现了人工供电制交换机,它借助话务员进行话务接续。15年后步进制的交换机问世,这种交换机属于“直接控制”方式,用户通过话机拨号脉冲直接控制步进接续器做升降和旋转动作。从而自动完成用户间的接续。这种交换机虽然实现了自动接续,但存在着速度慢、效率低、杂音大与机械磨损严重等特点。直到1938年发明了纵横制交换机由直

14、接控制过渡到间接控制方式,随后又出现了电子交换机及程控交换机等。用户的拨号脉冲不再直接控制接线器动作,而先由记发器接收、存储,然后通过标志器驱动接线器,以完成用户间接续3。DTMF双音多频拨号和解码在通信系统及其它方面有着广泛的应用。DTMF信号是便于标志器记取的是标识信号,所以可以不采用不稳定的脉冲计数方式,逐步发展、到数字号码标识,所以快速,稳定灵活的DTMF音频拨号方式取代了脉冲拨号方式。电子交换机程控交换机。话网中常用的信令,无论是家用电话、移动电话还是程控交换机,多采用DTMF信号发送接收号码4。语音芯片的应用前景也十分广阔,目前语音芯片已应用于微型固体录音机、通讯、电话、车船、飞机

15、黑匣子、有声电子信函、语音信箱、高级玩具等。此外,还可以利用语音芯片开发出“会说话”的电压表、电流表等语音型智能仪器仪表以及“会说话的电子称”、“出租车自动语音报价器”、“多路语音报警系统”等新颖电子电器产品。该项设计可促进我们学习开发电子、通信产品的技术,培养和锻炼我们电子电路设计调试、文献资料检索、电路图绘制等多方面的能力和素质,同时也帮助我们熟练掌握常用双音多频信号编解码器和语音芯片的工作原理和使用方法,具有很强的实践指导意义和实用价值5。第2章 基本原理2.1 自动电话的制式要弄清双音频的来龙去脉,必须从电话的制式谈起。最早的电话机是带有一个“手摇把”的,后来慢慢的开始出现了“磁石电话

16、”、“供电电话”、一直发展到现在人们广泛使用的“自动电话”。由于“磁石电话”、“供电电话”早已淘汰,因此我们重点要谈的是自动电话的制式。 从自动电话的制式来分,可分为“脉冲制式”及“双音频制式”两种。所谓“脉冲制式”,就是拨号的时候电话机发出的是一串一串的“无电流脉冲”。比如拨号码“1”时,发出去的是一个“无电流脉冲”,也就是一个“断电脉冲”,拨号码“2”时,发出去的是两个连续的“无电流脉冲”,拨号码“0”时,发出去的是十个连续的“无电流脉冲”。如图2-1所示是脉冲电话机拨武汉区号721时线路上出现的脉冲图谱6。第一串脉冲7个脉冲开始拨号拨“0”第一个无电流脉冲线路电流待机状态拨“2”拨“1”

17、图2-1 脉冲电话机拨号的脉冲图谱从图2-1中可以看出,待机状态下线路上是没有电流的,摘机后线路上才有电流,拨号时,拨的号码是几,线路上就出现几个连续的、没有电流的脉冲间隙,比如拨2的时候,就好像电话线被快速的断开了两次一样,因此老式的电话机还能用拍打叉簧的办法拨号。老式带有“拨号盘”的电话机就是脉冲电话。脉冲电话容易出现拨错号的现象,当线路接触不良,刮风时线路接头时通断时,就会出现错号。另外脉冲信号经过长途线路传送以后,由于线路电感和电容的影响,脉冲波形会发生严重畸变,本来上升沿和下降沿都是很陡的波形,传到对方以后很可能完全变样引起误判,因此这种电话也逐渐被淘汰7。所谓“双音频制式”,就是拨

18、电话的时候,拨每一个号码,发出去的都是由两个不同频率的音频信号组合起来的双音频信号。如拨“0”的时候,发出去的两个音频信号分别是941HZ和1336HZ,拨“9”的时候发出去的两个音频信号分别是952HZ和1477HZ等等。我们用电话进行拨号时都能从听筒中听到一种按键的声音,这种声音其实就是由两个不同的频率组合成的复合音。每个号码都是由两个音频信号组合起来的,因此叫“双音频”。图2-2列出了每个号码与双音频频率的对应关系8。我们可以将脉冲拨号与双音多频拨号的性能进行一个比较:(1)脉冲信号在线路传输中容易产生波形畸变,可能产生错号。(2)脉冲信号的幅度较容易产生线间干扰。(3)脉冲拨号速度慢。

19、例如:拨打电话号码590850,它所用的时间为: (5+9+10+8+5+10)100+8005=8700ms=8.7s123A47*0#DCB5689号码与频率对应关系6977708529411209133614771633图2-2 号码与频率对应关系如果电话号码越长,所用的时间越长,占用交换机的时间也长,这就使程控交换机接续速度快的优点得不到发挥,从而影响了交换机的接通率。双音多频电话机是两个单音频来代表一个数字,因此,采用音频信号传送的速度快,它发送的每位号码所用的时间都是相同的,它的发号速度主要取决于打电话者的拨号速度。现在还以拨打电话号码590850为例,在双音多频方式下,单频持续时

20、间为120ms,位间隔为108ms,则拨打上述电话号码所需的时间为1206+1085=1260ms=1.26s。可见,脉冲拨号所用的时间是双音多频拨号的8.7s/1.26s=6.4倍9。2.2 DTMF技术由以上分析可知,采用双音多频信号,可以提高电路的抗干扰能力,减少交换机的接续差错,从而提高交换机的接通率。同时我们也可以知道DTMF技术就是用两个特定的单音频组合信号来代表数字信号以实现其功能的一种编码技术。两个单音频的频率不同,代表的数字或实现的功能也不同。这种电话机中通常有16个按键,其中有10个数字键09和6个功能键*、#、A、B、C、D。由于按照组合原理,一般应有8种不同的单音频信号

21、。因此可采用的频率也有8种,故称之为多频,又因它采用从8种频率中任意抽出2种进行组合来进行编码,所以又称之为“8中取2”的编码技术10。根据CCITT的建议,国际上采用的多种频率为687Hz、770Hz、852Hz、941Hz、1209Hz、1336Hz、1477Hz和1633Hz等8种。用这8种频率可形成16种不同的组合,从而代表16种不同的数字或功能键,具体组合如表2-1所示。表2-1 键值频率组合表1209133614771633697123A770456B852786C941*0#DDTMF信号由电话键盘使用相同幅度的两个不同的高频和低频来产生。拨号的时候,需要将每一个号码都转换成一对

22、双音频信号,这种转换叫做编码;解(译)码,就是将接收到的双音频信号重新还原成数据信号11。2.3 Goertzel算法Goertzel算法执行离散傅立叶变换(Discrete Fourier Transform),这个算法较为精简,而且每个频率只需要一个实数系数就可以决定值的振幅;但是,正确计算数值振幅和相位时需要复数系数,故需要较复杂的程序,借助只计算音调频率的振幅而忽略相位的计算,我们可以简化DTMF信号的译码工作。此外,Goertzel算法只要获得任何采样就可以立刻处理,不必获得全部采样之后才处理,可明显地提高速度。Goertzel算法是DTMF信号检测的核心,它利用二极点的IIR滤波器

23、计算离散傅立叶变换值,快速有效的提取输入信号的频谱信息。Goertzel算法利用了相位因子WNk的周期性,允许我们将DFT的计算表示为线性滤波运算,因WN-kN=1,我们可以利用该因子乘上DFT,于是,可得 (2-1) 注意:式(2-1)为卷积形式,的确,如果我们定义序列yk(n)为 (2-2) 很清楚,yk(n)是长度为N的有限时宽输入序列x(n)与滤波器的卷积,并且滤波器的冲激响应为: (2-3) 当n=N时,该滤波器的输出为DFT在频率Wk=2k/N处的值,亦即 (2-4) 如同将(2-3)与式(2-4)相比较就可验证一样,冲激响应为hk(n)的滤波器,他的系数函数可表示为 (2-5)

24、该滤波器在单位圆上的频率Wk=2k/N处有一个极点。因此,通过将输入的数据组输入到N个单极点并行滤波器(谐振器)组就可计算整个N点DFT,其中,每一滤波器在响应的DFT频率上有一个极点。我们可以利用对应于式(2-5)给定的滤波器的差分方程来递推计算yk(n),而不是按式(2-1)通过卷积来实现DFT的计算,因此我们有 (2-6)初始条件:yk(-1)=0所期望的输出是X(k)=yk(N),其中k=0,1,,N-1,为了完成这一计算,我们可以一次计算并储存相位因子WN-k12。通过将具有复共轭极点的谐波器结合成对,就可以避开式(2-6)所固有的复数乘法和加法,这就产生了具有两个极点的的滤波器,其

25、系统函数为 (2-7) 该系统的直接型实现如图2-3所示:+x(n)-1图2-3 用于计算DFT的两极点谐振器的直接型实现该系统可以用差分方程描述为 (2-8) (2-9) 初始条件为。对n=0,1,N,式(2-8)中的递推关系可迭代进行。但式(2-9)中的程序仅当n=N时计算一次,每迭代需要一次实数乘法和两次加法。因此,对实输入序列x(n),该算法通过N+1次实数乘法不仅得到X(k),而且由于对称性也得到X(N-k)的值。当值M相对较小时,比如,Goertzel算法特别有吸引力,在其他情况下,FFT算法更为有效13。2.4 Matlab简介MATLAB是由美国mathworks公司发布的主要

26、面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平14。 MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于

27、工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域12。MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C+,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用15。2.5 本章小结音频分析利

28、用时域分析、频域分析、失真分析等方法为手段,通过测量各类音频参数来评价音频系统的性能。音频分析是一种综合性的分析,涉及到众多的测试仪器,对于普通用户而言,需要根据其感兴趣的参数合理的选择测试仪器,很难建立完整的音频测试分析系统。注意:除第一章绪论外,其他每一章都应该有一个本章小结第3章 DTMF信号产生与检测3.1 DTMF信号的产生 123A47*0#DCB5689号码与频率对应关系6977708529411209133614771633图3-1 号码与频率关系根据CCITT建议,国际上采用697Hz、770Hz、852z、941Hz、1209Hz、1336Hz、1477Hz、1633Hz

29、8个频率,并将其分成两个群,即低频群和高频群。从低频群和高频群中任意抽出一个频率进行叠加组合,具有16种组合形式,让其代表数字和功率,如下图电话机键盘的频率矩阵所列16。当按下某个键时,所得到的按键信号是由相应两个频率的正弦信号相加而成。设为DTMF信号,产生方式为: (3-1) 式中=/和=2/分别表示高频和低频频率,A、B分别为低群和高频群样值的量化基线。电话信号的典型抽样频率为=8kHZ。CCITT对DTMF信号规定的指标是,传送/接收率为每秒10个数字,即每个数字100ms。代表数字的音频信号必须持续至少45ms,但不超过55ms。100ms内其他时间为静音(无信号),以便区别连续的两

30、个按键信号17。生成行频正弦序列开始生成列频正弦序列行频正弦序列与列频正弦学序列叠加D/A变换信号发送滤波图3-2 DTMF信号产生流程图3.2 DTMF信号的检测3.2.1 DTMF信号检测方法DTMF解码即是在输入信号中搜索出有效的行频和列频。计算数字信号的频谱可以采用DFT及其快速算法FFT,而在实现DTMF解码时,采用Goertzel算法要比FFT更快。通过FFT可以计算得到信号所有谱线,了解信号整个频域信息,而对于DTMF信号只用关心其8个行频/列频及其二次谐波信息即可(二次谐波的信息用于将DTMF信号与声音信号区别开)。此时Goertzel算法能更加快速的在输入信号中提取频谱信息1

31、8。相对于DTMF编码过程,DTMF的解码过程复杂得多。DTMF的解码主要完成对有效行列频率的检测以及对按键的判决。和以往模拟电路通过过零检测来检测有效频率相比,采用DSP可以从频域直接分析有效频率的存在。在检测DTMF信号时,不但要检测出DTMF的基波信息,而且还要考虑其二次谐波的信息。贝尔试验室所特意选定的这8个频率,只在基波有较高的能量;而在相同的基波上有较高能量的话音信号在其二次谐波上也叠加有较高的能量。因此检测二次谐波的作用就是区别DTMF起后发送,解码时DSP则采用改进的Goertzel算法,从频域搜索两个正弦波的存在。因此检测二次谐波的作用就是区别DTMF信号和话音信号19。DT

32、MF信号的解码是基于Goertzel算法。我们不需要计算全部频域信息,只需要计算需要的频域的信息,而FFT需要计算全部的频域信息。理论上证明当计算的点数小于log2N时,Goertzel算法比FFT更有效20。在输入信号中检测DTMF信号,并将其转换为实际的数字,这一解码过程本质是连续的过程,需要在输入的数据信号流中连续地搜索DTMF信号频谱的存在。整个检测过程分两步:(1)采用Goertzel算法在输入信号中提取频谱信息,计算出八个基频和八个二次谐波幅度的平方值。(2)根据这些频率幅度平方值与所确定的各个门限值相比较,确定输入信号中是否是有DTMF信号并映射出双音多频信号的数字信息作检测结果

33、的有效性检查21。采集信号读入采样点数N,基频对应点K调用Goertzel计算信号DFT模,画幅度谱输出相应行号与列号输出行列号对应号码幅度谱峰是否大于检测门限结束开始YN图3-3 DTMF信号识别流程图3.2.2 DTMF信号有效性的检测得到了DTMF信号的基波以及二次谐波的频谱平方信息后,需要通过一系列检测才能确定信号的有效性:(1) DTMF信号的强度是否足够大,行列频率分量平方幅度和是否高于规定的门限值。(2) 如果DTMF信号存在,比较行列频率的最大频率分量差值,因为电话线具有低通特性,列频比行频衰减得要厉害。因此,要设置一门限值。(3) 分别在行列频率组比较频谱分量,最强的谱线至少

34、要比其他音频信号高一个门限值。(4) 二次谐波分量是否小于某个值。(5) 判断DTMF信号是否包含稳定的数字信息,只有数字信息被连续检测到两次,才认为是数字信息是稳定的。最后要检测数字信息之后是否有停顿状态,只有这样将当前的数字作为有效22。3.3 本章小结在输入信号中检测DTMF信号,并将其转换为实际的数字,这一解码过程本质是连续的过程,需要在输入的数据信号流中连续地搜索DTMF信号频谱的存在。整个检测过程分两步:首先采用Goertzel算法在输入信号中提取频谱信息;接着作检测结果的有效性检查。注意:除第一章绪论外,其他每一章都应该有一个本章小结第4章 Matlab仿真4.1 设计程序(见附

35、录)4.2 Matlab仿真DTMF信号的产生比较简单,可直接利用两行频、列频的正弦函数的叠加实现, DTMF信号(电话拨号“5”为例)波形如图4-1所示:图4-1 电话号码“5”的时域波形图电话号码“5”的幅度谱如下图所示:图4-2 电话号码“5”的幅度谱我采用的DTMF信号检测的原理是分析信号的频谱特性来分辨不同信息。整个检测过程分两步:首先采用Goertzel算法在输入信号中提取频谱信息;接着分析频谱信息,提取输入的DTMF信号,计算数字信号的频谱可以采用DFT及其快速算法FFT,而在实现DTMF解码时,由于计算量的限制必须采用更高效的算法。由于DTMF信号只用关心其8个行频/列频的频谱

36、信息,这为设计更优的算法提供了思路。经过前面的介绍Goertzel算法达到了我们的设计要求,本毕业设计采用Goertzel算法对双音多频信号进行检测,如图4-3所示,电话号码“5”的Goertzel算法检测频谱图。图4-3 电话号码“5”的检测频谱图说明:图4-1,4-2,4-3是在信噪比SNR=10,采样点数N=205的情况下得到的。当采样点N=205时,误码率Pe与信噪比SNR的关系图如下图所示:图4-4 Pe-SNR关系图由图4-4可知,当采样点数一定时,信噪比越大误码率越低。当SNR=10时误码率Pe与采样点数N的关系如下图所示:图4-5 Pe-N关系图由图4-5可知,当信噪比一定时,

37、采样点数越大误码率越低。Pe-SNR-N关系的3D图如图4-6所示:图4-6 Pe-SNR-N关系图整个仿真过程的gui界面如图4-7所示:图4-7 仿真gui界面4.3 本章小结采用DTMF信号检测的原理是分析信号的频谱特性来分辨不同信息。整个检测过程分两步:首先采用Goertzel算法在输入信号中提取频谱信息;接着分析频谱信息,提取输入的DTMF信号,计算数字信号的频谱可以采用DFT及其快速算法FFT,而在实现DTMF解码时,由于计算量的限制必须采用更高效的算法。注意:除第一章绪论外,其他每一章都应该有一个本章小结结论双音多频DTMF信号不仅用于多数国家的电话网络中,还广泛应用于传输十进制

38、数据的其他通信系统如电子邮件及银行等,本文就DTMF信号检测中的算法原理及主要参数选择进行了理论分析,并给出了基于MATLAB的DTMF信号处理系统仿真实例。基于Goertzel算法,可以在PC机中通过MATLAB语言实现DTMF的编解码。试验结果表明基于MATLAB的DTMF编解码具有速度快、精度高、稳定性好以及便于灵活应用等特点而利用MATLAB语言,可以较好地、快速地进行算法的仿真,对系统的快速开发起到了推动作用。通过此次设计,我们对DTMF的基础知识有了个比较深刻的了解,掌握了DTMF的信号产生及信号检验的原理及方法,并熟悉了用Matlab语言对DTMF的编程的方法,我们定会总结设计方

39、法,掌握理论知识,汲取经验教训,为进一步掌握DSP的设计,Matlab的使用打下基础。参考文献1 周良权,方向乔.数字电子技术基础.北京:高等教育出版社,2002.12.2 吕国泰,吴项.电子技术.北京:高等教育出版社,2001.5.3 陈明义.电子技术课程设计使用教程.中南大学出版社,2002.6.(1).4 程控交换实验指导书.钟山学院内部资料.5 刘爱霞.语音编程.远程控制试验板.中国.深圳.51测试网.6 奥法尼德斯.信号处理导论.清华大学出版社,1999.1.7 信号与系统分析及MATLAB实现.电子工业出版社,梁红等.8 陈怀琛.MATLAB及其在理工课程中的应用指南M.西安电子科

40、技大学出社,2000.9 奥本海姆.SIGNALS&SYSTEMS信号与系统.清华大学出版社,1999.1.10 董爱民.DTMF技术及检测算法研究.计算机与网络.2007.23.11 长春理工大学学报.第三卷,第一期.12 丁玉美,高西全.数字信号处理(第二版).西安电子科技大学出版社,2001.1.13 戴悟僧.数字信号处理导论M.上海科学技求出版社,2000.8.14 陈怀琛.MATLAB及其在理工课程中的应用指南M.西安电子科技大学出版社,2000.15 葛建新.DTMF(双音多频)技术浅析.河北省电子信息产品监督检验院.16 DTMF信号的产生与解码算法研究.信息技术2008年第11

41、期.17 金鑫春,汪一鸣.Goertzel算法下DTMF信号检测及参数优化.18 Stan M R,Burleson W P.Bus-invert coding for low-power I/O.IEEE Transactions on VLSI Systems.vol.3no.l.1995.49-58.19 Weste N,Eshraghian K.Principles of CMOS VLSI De 2sign.A Systems Perspective.Reading,MA:AddisonWesley Publishing Company,1988.20 Mehta H,Owens R

42、 M,Irwin MJ.Some Issues in GrayCode Addressing.GLS-VLSI-96,pp.178-180,Amea,IA,March 1996.21 魏克新,王云亮,陈志敏.MATLAB语言与自动控制系统M.北京:机械工业出版社,1998.22 刘志俭.Matlab应用程序接口用户指南M.北京:科学出版社,2000.附录function varargout = DTMF(varargin)% DTMF M-file for DTMF.fig% DTMF, by itself, creates a new DTMF or raises the existing%

43、 singleton*.% H = DTMF returns the handle to a new DTMF or the handle to% the existing singleton*.% DTMF(CALLBACK,hObject,eventData,handles,.) calls the local% function named CALLBACK in DTMF.M with the given input arguments.% DTMF(Property,Value,.) creates a new DTMF or raises the% existing singlet

44、on*. Starting from the left, property value pairs are% applied to the GUI before DTMF_OpeningFcn gets called. An% unrecognized property name or invalid value makes property application% stop. All inputs are passed to DTMF_OpeningFcn via varargin.% *See GUI Options on GUIDEs Tools menu. Choose GUI allows only one%

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号