dtmf信号的产生与检测

dtmf信号的产生与检测

ID:12045254

大小:770.00 KB

页数:23页

时间:2018-07-15

dtmf信号的产生与检测_第1页
dtmf信号的产生与检测_第2页
dtmf信号的产生与检测_第3页
dtmf信号的产生与检测_第4页
dtmf信号的产生与检测_第5页
资源描述:

《dtmf信号的产生与检测》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、DSP课程设计实验报告DTMF信号的产生及检测22目录一、设计任务书……………………………………………………………2二、设计内容………………………………………………………………3三、设计方案、算法原理说明……………………………………………3四、程序设计、调试与结果分析…………………………………………5五、设计(安装)与调试的体会…………………………………………13六、参考文献………………………………………………………………2122一、设计任务书简介双音多频(DTMF)技术,是用两个特定的单音频组合信号来代表数字信号以实现其功能,已

2、被广泛用于电话的音频拨号,实现电话号码快速可靠的传输。此外,DTMF拨号和解码也广泛应用在通信系统其他方面,如语言邮件、电话银行和ATM终端等。同时,随着数字信号处理芯片(DSP)硬件结构和性能的不断完善,DSP嵌入式系统已在工业控制、影像视频、宽带、无线通信、图像采集等方面得到了广泛而有效地应用,已成为电子产品更新换代的决定因素。因此,开发基于DSP的DTMF实验系统有其重大的现实意义,而DTMF的编解码方案无需过多的计算量,可以很容易在DSP系统中与其他任务并发执行。双音多频DTMF(DualToneMultiFrequenc

3、y)是在按键式电话机上得到广泛应用的音频拨号信令,一个DTMF信号由两个频率的音频信号叠加构成。这两个音频信号的频率分别来自两组预定义的频率组:行频组和列频组。每组分别包括4个频率,分别抽出一个频率进行组合就可以组成16种DTMF编码,分别记作0~9、*、#、A、B、C、D。如下图1所示。图1DTMF信令的编码要用DSP产生DTMF信号,只要产生两个正弦波叠加在一起即可;DTMF检测时采用改进的Goertzel算法,从频域搜索两个正弦波的存在。l设计要求及目标Ø基本部分:(1)使用C语言编写DTMF信号的发生程序,要求循环产生0~

4、9、*、#、A、B、C、D对应的DTMF信号,并且符合CCITT对DTMF信号规定的指标。(2)使用C语言编写DTMF信号的检测程序,检测到的DTMF编码在屏幕上显示。Ø发挥部分:利用DTMF信号完成数据通讯的功能,并试改进DTMF信号的规定指22标,使每秒内传送的DTMF编码越多越好。要求完成的任务(1)编写C语言程序,并在CCS集成开发环境下调试通过。(2)实现设计所要求的各项功能。(3)按要求撰写设计报告。二、设计内容使用C语言编写DTMF信号的发生程序,通过发送端实现0-9、*、#、A、B、C、D对应的DTMF信号的产生,

5、并且符合CCITT对DTMF信号规定的指标,再由接收端接收到发送端所发送的相应信号,实现双机通信。三、设计方案、算法原理说明DTMF信号的产生DTMF发生器基于两个二阶数字正弦振荡器,一个用于产生行频,一个用于产生列频。DSP只要装载相应的系数和初始条件,就可以只用两个振荡器产生所需的八种音频信号。典型的DTMF信号频率范围是700~1700Hz,选取8000Hz作为采样频率,即可满足奈奎斯特定理。在100ms内采样800个点,我们设置800个点的缓存,其中用400个存产生的DTMF信号值,即音频信号必须持续50ms,另外400个

6、存0值,即静音信号。方案一:数字正弦振荡产生DTMF信号DTMF信号的数学表达式可写为:S(t)=Asin()+Asin()(1)式中,A为低频信号振幅;为低频信号频率,选自低频组(697Hz,770Hz,852Hz,941Hz)中的任意一个频率;A为高频信号振幅;为高频信号频率,选自高频组(1209Hz,1366Hz,1477Hz,1633Hz)中的任意一个频率,对该DTMF时域信号用8kHz进行采样便可以得到DTMF的数字序列。方案二:DTMF数字振荡器对的二阶系统函数的差分方程为:,其中,,,为采样频率,为输出正弦波的频率,

7、为输出正弦波的幅度。该式初值为,。得到振荡器系统的差分方程为:22。DTMF信号的接收在输入信号中检测DTMF信号,需要在输入的数据信号流中连续地搜索DTMF信号频谱的存在。整个检测过程分两步:首先采用Goertzel算法在输入信号中提取频谱信息;接着作检测结果的有效性检查。DTMF解码时在输入信号中搜索出有效的行频和列频。计算数字信号的频谱可以采用DFT及其快速算法FFT,而在实现DTMF解码时,采用Goertzel算法要比FFT更快。通过FFT可以计算得到信号所有谱线,了解信号整个频域信息,而对于DTMF信号只需关心其8个行频

8、/列频及其二次谐波信息即可,二次谐波的信息用于将DTMF信号与声音信号区别开。此时Goertzel算法能更加快速的在输入信号中提取频谱信息。Goertzel算法原理框图Goertzel算法实质是以一个二阶IIR带通滤波器为基础,利用该算法可以有效地

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。