欢迎来到天天文库
浏览记录
ID:6683263
大小:128.00 KB
页数:14页
时间:2018-01-22
《3929.dtmf信号的产生及检测》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、电工电子教学基地DSP课程设计实验报告实验名称:DTMF信号的产生及检测DTMF信号的产生及检测一、实验设计内容基本部分:1.使用C语言编写DTMF信号的发生程序,可以通过键盘的输入产生0~9对应的DTMF信号,并且符合CCITT对DTMF信号规定的指标。2.使用C语言编写DTMF信号的检测程序,检测到的DTMF编码在屏幕上显示。发挥部分:利用DTMF信号完成数据通讯的功能,并试改进DTMF信号的规定指标,使每秒内传送的DTMF编码越多越好。二、实验目的1、了解、掌握DTMF的性质作用。2、掌握DTMF的产生和检测的思想和方法。3、了解Goertz
2、el算法优化运算过程。4、熟练运用C语言进行编程实现DTMF的产生与检测。5、熟练使用CCS5402的操作方法和调试检验方式。三、实验器材DSP5402开发板两块,CCS软件环境四、实验原理双音多频DTMF(DualToneMulti-Frequency)信令,逐渐在全世界范围内使用在按键式电话机上,因其提供更高的拨号速率,迅速取代了传统转盘式电话机使用的拨号脉冲信令。近年来DTMF也应用在交互式控制中,诸如语言菜单、语言邮件、电话银行和ATM终端等。将DTMF信令的产生与检测集成到任一含有数字信号处理器(DSP)的系统中,是一项较有价值的工程应用
3、。DTMF编解码器在编码时将击键或数字信息转换成双音信号并发送,解码时在收到的DTMF信号中检测击键或数字信息的存在性。电话机键盘上每一个键通过由图1所示的行频与列频唯一确定。DTMF的编解码方案无需过多的计算量,可以很容易的在DSP系统里与其他任务并发执行。一个DTMF信号由两个频率的音频信号叠加构成。这两个音频信号的频率分别来自两组预定义的频率组:行频组和列频组。每组分别包括4个频率,分别抽出一个频率进行组合就可以组成16种DTMF编码,分别记作0~9、*、#、A、B、C、D。1、DTMF信号的产生DTMF编码器基于两个二阶数字正弦波振荡器,一
4、个用于产生行频,一个用于产生列频。向DSP装入相应的系数和初始条件,就可以只用两个振荡器产生所需的八个音频信号。典型的DTMF信号频率范围是700~1700Hz,选取8000Hz作为采样频率,即可满足Nyquist条件。正弦波是任何波形构成的基本单元,产生正弦波的方法一般有:采样回放法、查表法、泰勒级数展开法、数字正弦振荡器法。我们直接采用sin函数产生离散的正弦值,生成DTMF的公式为:buffer[t]=sin(t*2*pi*f1/fs)+sin(t*2*pi*f1/fs),其中t为采样序数,由0开始递增;f1,f2为生成DTMF信号的两个正弦
5、波的频率;fs为采样频率;buffer[t]为序数t时的得出的采样值。将这些数据转换为Q15格式然后通过codec发送出去。2、DTMF信号的检测 在输入信号中检测DTMF信号,并将其转换为实际的数字,这一解码过程本质是连续的过程,需要在输入的数据信号流中连续地搜索DTMF信号频谱的存在。整个检测过程分两步:首先采用Goertzel算法在输入信号中提取频谱信息;接着作检测结果的有效性检查。2.1Goertzel算法 DTMF解码即是在输入信号中搜索出有效的行频和列频。计算数字信号的频谱可以采用DFT及其快速算法FFT,而在实现DTMF解码时,采用
6、Goertzel算法要比FFT更快。通过FFT可以计算得到信号所有谱线,了解信号整个频域信息,而对于DTMF信号只用关心其8个行频/列频及其二次谐波信息即可(二次谐波的信息用于将DTMF信号与声音信号区别开)。此时Goertzel算法能更加快速的在输入信号中提取频谱信息。G直接计算DFT,需要很多复系数,即使只计算一点的DFT也需要N个复系数.采用数字信号处理中的Goertzel算法,则可明显地提高速度。利用二阶复共轭极点可以得到只有一个实系数的差分方程:1stHarmonics(N=205)fs=8ksps2ndHarmonics(N=201)f
7、s=8kspskfrequency(k/N)fs/Hzcoefficientcos(2pik/N)kfrequency(k/N)fs/Hzcoefficientcos(2pik/N)187020.851623513930.45886207800.817933915520.34445228580.781154317110.22470249360.741424718710.101413112100.58157612428-0.329743413260.50442672667-0.500003814830.39505742945-0.6760642163
8、90.27972823264-0.83740在实际的DTMF检测中,只需DFT的幅度(本算法为平方幅度)信息就足够了,因此
此文档下载收益归作者所有