欢迎来到天天文库
浏览记录
ID:9387487
大小:667.50 KB
页数:33页
时间:2018-04-29
《dsp课程设计---dtmf信号的产生及检测》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、DSP课程设计实验报告DTMF信号的产生及检测院(系):电子信息工程学院通信工程专业设计人员:宋佳阳学号:-33-目录一、设计任务书-3-二、设计内容-3-三、设计方案、算法原理说明-4-1.DTMF信号的产生-4-2.DTMF信号的检测-5-四、程序设计、调试与结果分析-7-1.程序设计部分:-7-2.调试与结果分析部分:-28-五、设计(安装)与调试的体会-33-六、参考文献-33-一、设计任务书-33-设计要求及目标基本部分:(1)使用C语言编写DTMF信号的发生程序,要求循环产生0~9、*、#、A、B、C、D对应的DTMF信号,并且符
2、合CCITT对DTMF信号规定的指标。(2)使用C语言编写DTMF信号的检测程序,检测到的DTMF编码在屏幕上显示。发挥部分:利用DTMF信号完成数据通讯的功能,并试改进DTMF信号的规定指标,使每秒内传送的DTMF编码越多越好。一、设计内容双音多频DTMF(DualToneMultiFrequency)是在按键式电话机上得到广泛应用的音频拨号信令,一个DTMF信号由两个频率的音频信号叠加构成。这两个音频信号的频率分别来自两组预定义的频率组:行频组和列频组。每组分别包括4个频率,分别抽出一个频率进行组合就可以组成16种DTMF编码,分别记作0
3、~9、*、#、A、B、C、D。如图2-1所示。图2-1DTMF信令的编码要用DSP产生DTMF信号,只要产生两个正弦波叠加在一起即可;DTMF检测时采用改进的Goertzel算法,从频域搜索两个正弦波的存在。二、设计方案、算法原理说明-33-1.DTMF信号的产生DTMF发生器基于两个二阶数字正弦振荡器,一个用于产生行频,一个用于产生列频。DSP只要装载相应的系数和初始条件,就可以只用两个振荡器产生所需的八种音频信号。典型的DTMF信号频率范围是700~1700Hz,选取8000Hz作为采样频率,即可满足奈奎斯特定理。正弦波是任何波形构成的基
4、本元素,产生正弦波的方法一般有:查表法和计算法(泰勒级数展开法或数字正弦振荡器法)。这里我们使用计算法产生正弦波,有以下两种方案:方案一:使用数字正弦振荡器计算法产生正弦波图3-1DTMF数字振荡器对由图3-1所示数字振荡器对的框图,可以得到DTMF数字振荡器对的二阶系统函数的差分方程为:其中,,,为采样频率,为输出正弦波的频率,为输出正弦波的幅度。该式初值为,。其中,上面一个数字振荡器用于产生行频,下面一个数字振荡器用于产生列频,将行频信号和列频信号通过加法器进行叠加即可产生DTMF信号。方案二:使用sin函数产生正弦波直接利用sin函数生
5、成离散的正弦值,其生成DTMF信号的方程为:y[t]=sin(t*2*pi*f1/fs)+sin(t*2*pi*f2/fs)-33-其中t为采样序数,由0开始递增;f1,f2为生成DTMF信号的两个正弦波的频率;fs为采样频率,由前面的分析可知,采样频率应该设定为8000Hz。将行频信号的采样值与列频信号的采样值进行叠加,即可得到序数为t时的采样值,即为y[t]。将两种方案进行比较后,我们认为,使用正弦振荡器计算法这种方法计算时所需的计算量小,但是由于使用了迭代的方法产生样点值,所以当前时刻的输出序列需要反馈到输入端。在程序中实现,就需要不断
6、对y(n-1)和y(n-2)的值进行更新。同时,当前时刻的输出序列也会影响下一时刻和下两个时刻的输出。因此,如果用这种方法来产生长时间连续的正弦信号和余弦信号,则累积误差较大。直接使用sin函数产生正弦波的方法,其计算时所需的计算量与方案一相当,并且也能达到误差要求。同时,由于使用方案二的方法产生正弦波,其当前时刻的输出序列只与当前时刻行频和列频的输入有关,所以不会产生累积误差,适合用来产生长时间连续的DTMF信号。综上所述,我们使用方案二来产生DTMF信号。根据CCITT的规定,数字之间必须有适当长度的静音,因此编码器有两个任务,一是产生双
7、音频信号的任务,二是静音任务。由于采样频率为8000Hz,所以DSP有足够的计算时间,可以使用查询模式通过D/A转换器输出DTMF信号。CCITT规定每秒传送/接收10个数字,即每个数字持续100ms。由于1秒采样8000个点,则每个数字采样800个点。由于代表数字的音频信号必须持续至少45ms,但不超过55ms。100ms内其他时间为静音,以便区别连续的两个按键信号。所以,需要设置800个点的缓存,其中400个点用于产生DTMF信号中的音频信号,另外400个点用于产生DTMF信号中的静音信号。根据这样的设计,音频信号的持续时间为50ms,在
8、45ms和55ms之间,满足CCITT的规定。静音信号的持续时间为50ms。1.DTMF信号的检测DTMF检测是对进入解码端的信号进行检测,并把双音频信号转换成对应
此文档下载收益归作者所有