1、- 1 - DSPDSP课程设计课程设计 实实 验验 报报 告告 DTMFDTMF信号的产生及检测信号的产生及检测 院(系):院(系): 电子信息工程学院通信工程专业电子信息工程学院通信工程专业 - 2 - 目录目录 一、一、 设计任务书设计任务书 . - 3 - 二、二、 设计内容设计内容 . - 3 - 三、三、 设计方案、算法原理说明设计方案、算法原理说明 . - 4 - 1.1. DTMF信号的产生信号的产生 - 4 - 2.2. DTMF信号的检测信号的检测 - 5 - 四、四、 程序设计、调试与结果分析程序设计、调试与结果分析 . - 7 - 1.程序设计部分:程序设计部分: -
2、7 - 2.2.调试与结果分析部分:调试与结果分析部分: . - 28 - 五、五、 设计(安装)与调试的体会设计(安装)与调试的体会 . - 33 - 六、六、 参考文献参考文献 . - 33 - - 3 - 一、一、 设计任务书设计任务书 设计要求及目标设计要求及目标 基本部分: (1)使用C语言编写DTMF信号的发生程序,要求循环产生09、*、#、A、 B、C、D对应的DTMF信号,并且符合CCITT对DTMF信号规定的指标。 (2)使用C语言编写DTMF信号的检测程序,检测到的DTMF编码在屏幕上 显示。 发挥部分: 利用DTMF信号完成数据通讯的功能,并试改进DTMF信号的规定指标,
3、使 每秒内传送的DTMF编码越多越好。 二、二、 设计内容设计内容 双音多频 DTMF(Dual Tone Multi Frequency)是在按键式电话机上得到广 泛应用的音频拨号信令,一个 DTMF 信号由两个频率的音频信号叠加构成。这 两个音频信号的频率分别来自两组预定义的频率组:行频组和列频组。每组分别 包括 4 个频率,分别抽出一个频率进行组合就可以组成 16 种 DTMF 编码,分别 记作 09、*、#、A、B、C、D。如图 2-1 所示。 图 2-1 DTMF 信令的编码 要用 DSP 产生 DTMF 信号,只要产生两个正弦波叠加在一起即可;DTMF 检测时采用改进的 Goert
4、zel 算法,从频域搜索两个正弦波的存在。 - 4 - 三、三、 设计方案、算法原理说明设计方案、算法原理说明 1.1. DTMF信号的产生信号的产生 DTMF 发生器基于两个二阶数字正弦振荡器,一个用于产生行频,一个用于 产生列频。DSP 只要装载相应的系数和初始条件,就可以只用两个振荡器产生所 需的八种音频信号。典型的 DTMF 信号频率范围是 7001700Hz,选取 8000Hz 作为采样频率,即可满足奈奎斯特定理。 正弦波是任何波形构成的基本元素,产生正弦波的方法一般有:查表法和计 算法(泰勒级数展开法或数字正弦振荡器法)。 这里我们使用计算法产生正弦波,有以下两种方案: 方案一:使用数字正弦振荡器计算法产生正弦波 图 3-1 DTMF 数字振荡器对 由图 3-1 所示数字振荡器对的框图, 可以得到 DTMF 数字振荡器对的二阶系统 函数的差分方程为: 其中 , , , 为采样频率, 为输出正弦 波的频率, 为输出正弦波的幅度。该式初值为 , 。 其中,上面一个数字振荡器用于产生行频,下面一个数字振荡器用于产生列 频,将行频信号和列频信号通过加法器进行