网站大量收购独家精品文档,联系QQ:2885784924

DTMF信号的产生及检测推荐.doc

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

电工电子教学基地 DSP课程设计 实 验 报 告 实验名称:DTMFDTMF信号的产生及检测 一、实验设计内容 基本部分: 1.使用C语言编写DTMF信号的发生程序,可以通过键盘的输入产生0~9对应的DTMF信号,并且符合CCITT对DTMF信号规定的指标。 2.使用C语言编写DTMF信号的检测程序,检测到的DTMF编码在屏幕上显示。 发挥部分: 利用DTMF信号完成数据通讯的功能,并试改进DTMF信号的规定指标,使每秒内传送的DTMF编码越多越好。 二、实验目的 了解、掌握DTMF的性质作用。 掌握DTMF的产生和检测的思想和方法。 了解Goertzel算法优化运算过程。 熟练运用C语言进行编程实现DTMF的产生与检测。 熟练使用CCS5402的操作方法和调试检验方式。 三、实验器材 DSP5402开发板两块,CCS软件环境 四、实验原理 双音多频DTMF(Dual Tone Multi-Frequency)信令,逐渐在全世界范围内使用在按键式电话机上,因其提供更高的拨号速率,迅速取代了传统转盘式电话机使用的拨号脉冲信令。近年来DTMF也应用在交互式控制中,诸如语言菜单、语言邮件、电话银行和ATM终端等。将DTMF信令的产生与检测集成到任一含有数字信号处理器(DSP)的系统中,是一项较有价值的工程应用。 DTMF编解码器在编码时将击键或数字信息转换成双音信号并发送,解码时在收到的DTMF信号中检测击键或数字信息的存在性。电话机键盘上每一个键通过由图1所示的行频与列频唯一确定。DTMF的编解码方案无需过多的计算量,可以很容易的在DSP系统里与其他任务并发执行。DTMF 信号由两个频率的音频信号叠加构成。这两个音频信号的频率分别来自两组预定义的频率组:行频组和列频组。每组分别包括4 个频率,分别抽出一个频率进行组合就可以组成16 种DTMF 编码,分别记作0~9、*、#、A、B、C、D。 1、 DTMF信号的产生=sin(t*2*pi*f1/fs)+sin(t*2*pi*f1/fs),其中t为采样序数,由0开始递增;f1,f2为生成DTMF信号的两个正弦波的频率;fs为采样频率;buffer[t]为序数t时的得出的采样值。将这些数据转换为Q15格式然后通过codec发送出去。 2、 DTMF信号的检测   在输入信号中检测DTMF信号,并将其转换为实际的数字,这一解码过程本质是连续的过程,需要在输入的数据信号流中连续地搜索DTMF信号频谱的存在。整个检测过程分两步:首先采用Goertzel算法在输入信号中提取频谱信息;接着作检测结果的有效性检查。2.1 Goertzel算法   DTMF解码即是在输入信号中搜索出有效的行频和列频。计算数字信号的频谱可以采用DFT及其快速算法FFT,而在实现DTMF解码时,采用Goertzel算法要比FFT更快。通过FFT可以计算得到信号所有谱线,了解信号整个频域信息,而对于DTMF信号只用关心其8个行频/列频及其二次谐波信息即可(二次谐波的信息用于将DTMF信号与声音信号区别开)。此时Goertzel算法能更加快速的在输入信号中提取频谱信息。G 1st Harmonics (N = 205) fs = 8 ksps 2nd Harmonics (N=201) fs = 8 ksps k frequency (k/N)fs/Hz coefficient cos(2pi k/N) k frequency (k/N)fs/Hz coefficient cos(2pi k/N) 18 702 0.85162 35 1393 0.45886 20 780 0.81793 39 1552 0.34445 22 858 0.78115 43 1711 0.22470 24 936 0.74142 47 1871 0.10141 31 1210 0.58157 61 2428 -0.32974 34 1326 0.50442 67 2667 -0.50000 38 1483 0.39505 74 2945 -0.67606 42 1639 0.27972 82 3264 -0.83740 在实际的DTMF检测中,只需DFT的幅度(本算法为平方幅度)信息就足够了,因此在Goertzel滤波器中,当N点(相当于DFT数据块的长度)样值输入滤波器后,滤波器输出伪DFT值vk(n),由vk(n)即可确定频谱的平方幅度。 Goertzel算法的特点 Goertzel算法的IIR滤波器结构涉及两个复共轭极点,但对于实际的DTMF音频检测,只要有幅度信息就够了(实际上使用幅度平方),从而简化为只需要一个实系数参与计算。 Goertzel算法要比FFT快得多,因为只需

文档评论(0)

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

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

1亿VIP精品文档

相关文档