数字电话中利用Goertzel算法实现双音多频(DTMF)检测的探究和软件实现.doc

数字电话中利用Goertzel算法实现双音多频(DTMF)检测的探究和软件实现.doc

  1. 1、本文档共47页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数字电话中利用Goertzel算法实现双音多频(DTMF)检测的探究和软件实现

目 录 第一章 概述 1 1.1 引言 1 1.2 本文作者所做的工作 1 第二章 产生双音多频检测信号 3 2.1 DTMF信号概述 3 2.2 DTMF信号编码 3 2.3 MATLAB实现流程图 5 2.4 示例演示 6 第三章 使用Goertzel算法对DTMF信号进行检测 7 3.1 Goertzel算法概述 7 3.2 公式推导 7 3.3 Goertzel修正算法 9 3.4 MATLAB实现流程图(法1) 10 3.5 示例演示(频率相应) 11 3.6 MATLAB实现流程图(法2) 12 3.7 示例演示(中间信号生成) 13 第四章 Goertzel算法中对N值的选择 19 4.1 时间分辨率 19 4.2 频率分辨率 19 4.3 频率偏移度 19 4.4 舍入误差 20 4.5 满足整周期 20 4.6 小结 22 第五章 判决门限的选取 23 5.1 数值分析 23 5.2 MATLAB实现流程图 24 5.3示例演示(容噪性) 25 第六章 传统的FFT算法 26 6.1 示例演示 26 6.2 判决门限的选取 28 第七章 Goertzel算法与FFT比较 30 7.1 直接计算DFT运算量的考虑 30 7.2 DIT-FFT的运算量 32 7.3 Goertzel算法的运算量 33 7.4 示例演示(时间比较) 33 第八章 DTMF算法的前景(DSP硬件实现) 35 8.1 IP电话系统中语音芯片的DSP实现 35 8.2 采用ADSP22100系列的双音多频信号接收器 35 8.3 基于MSP430的嵌入式DTMF拨号解码器 36 8.4 小结 36 结束语 37 致 谢 38 参考文献 39 附 录 41 MATLAB源程序: 41 第一章 概述 1.1 引言 IIR滤波器一个好的应用是全数字双音调多频率(DTMF)按钮式接收器(Jacksonetal,1968;Mock,1985)。在现代电话系统里,要求建立通信的信息,并且为了便于维护和指示,这些信息通常由一个多频码提供。典型的如电话机产生两个音调,一个是低频音调,另一个是高频音调。 音调产生器可以利用七个正弦信号发生器实现。当按下一个按钮时,拨号数字的编码用来从ROM中选择合适的频率系数,产生一对音调(一个是高频音调,一个是低频音调)。音调相加产生按钮式信号。 在接收端,信息以8kHz的速率被数字化,接着被前端带通滤波器分隔成一个低频和高频通带。为了检测一个音调是否出现,我们进行电平检测。它是通过把带通滤波和全波形整流结合在一起后接一个低通滤波器来实现的。为了检测是低频中的哪一个音调出现,由四个BPF中的两组将低频带分离成四个频带;高频带也是如此。最后得到的7个电平将传输到判决逻辑单元来确定接收到的编码。 众所周知,FFT(Fast Fourier Transform)是DFT的快速算法,然而在DTMF信号检测中却不如DFT,因为FFT必须计算所有的频率点(如256点FFT必须计算所有256个频率点),而DFT方法可只计算所需的几个频率点(例如,可仅计算256个频率点中的第20个、25个和30个频率点)。如果只需几个频率点,则用DFT优于FFT。DTMF信号检测只需计算7个频率点,故本文采用改进的Goertzel算法。 1.2 本文作者所做的工作 本论文主要是基于标准IIR滤波器的改进理论算法的研究,根据实际需要由两个正弦信号发生器产生信号,之后直接幅度叠加当作信号源。考虑到实际情况,所以在信号生成后加入噪声(信噪比可调)。 本系统主要实现的技术指标如下: 信号幅度:1 采样率:8000Hz 信号最短持续时间:30ms 信噪比:高于24dB 信号频率分布:500 ~ 1500Hz 为了完成这一课题,作者在学习数字信号处理理论的基础下,熟悉了IIR滤波器的设计,然后对FFT算法的改进Goertzel算法进行了研究,得到了满足处理要求的算法流程,并对这种算法用MATLAB进行了仿真。 本文论述结构如下: 第一章 概述了数字信号处理理论的基本概念和基本理论,简单阐述了本课题的技术指标。 第二章 论述了DTMF信号编码的基本概念和产生方法。 第三章 重点介绍了利用Goertzel算法对双音多频信号进行检测,以及Goertzel的改进算法。 第四章 着重讨论了Goertzel算法中对参数N值的选择。 第五章 分析了Goertzel算法中对判决门限的选取,并在最后测试了系统的容噪性。 第六章 简要介绍了传统的FFT算法,为下一章的时间与复杂度比较做理论准备。 第七章 Goertzel算法与FFT比较,从理论上分析运算量,并从实际时间上得到了验证。 第八章 对DTMF算法的前景的展望,主要是应用在各公司的DSP芯片上硬件实现。 第

您可能关注的文档

文档评论(0)

yurixiang1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档