一.课程设计的目的用数学模型的方法对信息传输的过程进行仿真,是分析、设计及改进通信系统性能的重要手段。本次课程设计的任务是综合运用通信原理、数字信号处理等课程所学知识,实现一个双音多频(DTMF)信号传输过程的软件仿真。本次课程设计的性质是通信原理、数字信号处理等课的综合实践环节。它的意义在于,通过本次课程设计可以从理论上加深对有关通信、数字信号处理原理的综合理解,了解DTMF信号原理和用数字信号处理的方法实现DTMF信号的产生、传输与检测的过程。还可以从实践能力上掌握一门新的计算机编程工具——MATLAB语言。二.设计基本内容及步骤工作内容1、设计计算正弦波数字振荡器、数字匹配滤波器的参数;2、用MATLAB语言设计一个利用DTMF信号传输学号代码的仿真系统。观察下列信号的波形:学号代码的非归零基带信号、DTMF信号、信道加入噪声、接收信号、匹配滤波器输出、译码判决结果;3、利用仿真的系统进行抗干扰性能等方面的试验分析,试验分析的具体内容详见思考题。三.设计原理及方法所谓双音多频(DTMF),就是用两个频率——行频和列频来表示电话机键盘上的一个数字。基于MATLAB的双音多频拨号系统的仿真实现。主要涉及到电话拨号音合成的基本原理及识别的主要方法,利用MATLAB软件以及DFT算法实现对电话通信系统中拨号音的合成与识别。并进一步利用MATLAB中的图形用户界面GUI制作简单直观的模拟界面。还能够利用矩阵不同的基频合成0-9不同按键的拨号音,并能够对不同的拨号音加以正确的识别,实现由拨号音解析出电话号码的过程,进一步利用GUI做出了简单的图形操作界面。本文具有界面清楚,画面简洁,易于理解,操作简单的优点,从而实现对电话拨号音系统的简单的信号仿真。双音多频(DTMF)信号就是用两个不同频率的音频信号的组合来传输信息的一种通信信号形式,可以用数学式表示为)2cos2(cos)(tftfAtsLH(1)式中fH和fL分别是高频组和低频组的两个信号频率。对这两个频率的要求是:1、位于人而能够听到的音频频率范围内;2、频率间隔近似为乐音音阶的频率间隔(按十二平均律,相邻各个音的频率呈等比关系,其比值约为1.059463,例如C3130.8Hz,C4=261.7Hz,D4293.7)。这种信号在电话线路上传输,而且声音悦耳。在电话系统中,高低频组的频率已经标准化,如图1所示。双音多频信号软件产生与检测近年来DTMF也应用在交互式控制中,诸如语言菜单、语言邮件、电话银行和ATM终端等。将DTMF信令的产生与检测集成到任一含有数字信号处理器(DSP)的系统中,是一项较有价值的工程应用。为了产生DTMF信号,DSP用软件产生两个正弦波叠加在一起后发送,软件具体实现方式为用软件模拟DSP的方式产生两个数字正弦波振荡器并把输出合成起来,建立所希望的双音频。软件检测DTMF信号方法为计算接收到的DTMF信号在8个既定频率的能量,进而确定是否有DTMF信号到达以及收到的是哪一对信号,此外通过计算接收信号的总能量来防止误判。采用Geortzel算法可进一步提高计算效率,Goertzel算法实质是一个两极点的IIR滤波器,对应每一个频点有一个匹配滤波器,在抽样时刻检测。这种方法理论上属于最佳接收方法,而且算法有利于用DSP实现。在本次课程设计中要求使用这种方法。DTMF解码即是在输入信号中搜索出有效的行频和列频。数字正弦波振荡器原理数字正弦波振荡器的功能是利用数字信号处理的方法产生正弦波信号)cos(t的抽样图1DTMF拨号频率标准序列)cos(nT。基本原理是:设数字正弦波振荡器要产生的波形为)()(21)()cos()(nTueenTunTnynTjnTj(1)则其Z变换为0)(21)()(nnnTjnTjnnzeeznyzY1cos2)cos(212TzzTzzezzezznTjnTj上式的分子与分母同时乘以2z211cos21cos1zTzTzy(n)可以看作是一个单位冲击函数激励了一个线性系统的冲击响应。这个线性系统的传递函数就是Y(z)。由Y(z)可以写出该线性系统的差分方程:)1()cos()()2()1()cos(2)(00nxnxnynyny式中ssffT/20为数字角频率。令输入x(n)为单位冲击函数,即0001)()(nnnnx则可以得到下面的递推方程当n0时,y(n)=0当n=0时,y(0)=0当n=1时,)cos()1()cos()0()cos(2)1(000xyy当n=2时,)0()1()cos(2)2(0yyy当n2时,)2()1()cos(2)(0nynyny(2)实现时,首先将每个频率常数存在一个表中,用来初始化给定键的振荡器;再按照(2)进行迭代计算,就得到正弦序列的输出;将两个这样的输出叠加即可得到双音频的输出。每个数字输出的样本数取决于数字速率与采样速率。双音频中的每一个音调之后都是同样长度的无音周期,从而可以检测到按键的释放。数字匹配滤波器原理(Geortzel算法)计算接收到的DTMF信号在8个既定频率的能量,进而确定是否有DTMF信号到达以及收到的是哪一对信号,此外通过计算接收信号的总能量来防止误判。为满足检测8个DTMF频点(偏差1.5%),需计算256点FFT,因只对8个频点感兴趣,故可以直接计算8个频点附近的DFT10/2)()(NnNknjenxkX,87654321,,,,,,,kkkkkkkkk计算数字信号的频谱可以采用DFT及其快速算法FFT,而在实现DTMF解码时,采用Goertzel算法要比FFT更快。通过FFT可以计算得到信号所有谱线,了解信号整个频域信息,而对于DTMF信号只用关心其8个行频/列频及其二次谐波信息即可(二次谐波的信息用于将DTMF信号与声音信号区别开)。此时Goertzel算法能更加快速地在输入信号中提取频谱信息。Goertzel算法实质是一个两极点的IIR滤波器,其算法原理框图如图5。图5Geortzel算法信号流图对应每一个频点有一个匹配滤波器,第k个频率匹配滤波器的传递函数为)()(cos211)(21211zHzHzzzWzHkkkkNK其中211cos211)(zzzHkk,121)(zWzHkNk,NkfNfkffskk222,kkNkjkNjeWsincos2对应的前、后向差分方程为:)()2()1()cos(2)(nxnvnvnvkkkk)1()()(nvWnvnykkNkk后一个方程无需全部计算,只需要在n=N时刻,即最后的输出时刻计算。)1()()()(NvWNvNykXkkNkk如果考虑同步相位误差,也可以在n=N时刻附近计算一段时间内的输出。前向差分方程也可以改写为便于计算的递归形式:)2()1()cos(2)()(nvnvnxnvkkkk并令初始值为0,0)(nnvk。在n=N时刻既可以得到所需要的X(k)。由于在DTMF检测中,输入的信号是实数序列,并不需要检测出8个行频/列频的相位,只需要计算出其幅度平方即可。因此计算|X(k)|2如下:)1()1()(2cos2)()(222NvNvNvffNvkXkkkskk这里)1(),(NvNvkk分别表示状态变量在N和N-1时刻的值。在输入信号中检测DTMF信号,并将其转换为实际的数字,这一解码过程本质是连续的过程,需要在输入的数据信号流中连续地搜索DTMF信号频谱的存在。整个检测过程分两步:首先采用Goertzel算法在输入信号中提取频谱信息;接着作检测结果的有效性检查。仿真系统框图软件流程图(1)输入键号(2)生成DTMF信号(时域、频域显示)(3)产生高斯噪声(时域、频域显示)(4)信道传输(高斯白噪声信道,可选作带限滤波器信道)(5)接收端随机延迟(30个点以内)(6)匹配滤波接收(7)DTMF信号到达检测键控输入DTMF信号的产生DTMF信号检测电话信道判断输出高斯噪声(8)DTMF信号识别(时域、频域显示)(9)DTMF键号识别四.实验仿真结果及相关波形五.实验结果分析结论经过几天的努力我的基于MATLAB的双音多频拨号系统的仿真课程设计终于完成了,虽然刚开始不知道如何入手,觉得困难比较多,感觉有点累,不过最后还是做完了,有种如释重负的感觉。这个课程设计经过多次的修改和整理,但由于自己的水平有限,还有很多不足的地方,只因自己的知识有限,只能做到这一步。在没有做课程设计以前,觉得课程设计只是对知识的单纯总结,但是通过这次课程设计发现自己的看法有点太片面,课程设计不仅是对前面所学知识的一种检验,也是对自己能力的一种提高,通过这次课程设计使自己明白了原来的那点知识是非常欠缺的,要学习的东西还很多,通过这次课程设计,明白学习是一个长期积累的过程,在以后的工作和生活中都应该不断的学习,努力提高自己的知识和综合素质。在这次课程设计中,同学之间互相帮助,有什么不懂的大家在一起商量,发现我们所学的知识实在是有限,不过我们能够充分利用网络的优势去查阅资料。在整个设计过程中懂得了许多东西,也培养了独立思考和设计的能力,树立了对知识应用的信心,相信会对今后的学习工作和生活有非常大的帮助,并且提高了自己的动手实践操作能力,使自己充分体会到了在设计过程中的成功喜悦。虽然这个设计做的不怎么好,但是在设计过程中所学到的东西是这次课程设计的最大收获和财富,使我终身受益。致谢在这次课程设计的过程中,我得到了许多人的帮助。在课程设计论文即将完成之际,我想向曾经给我帮助和支持的人们表示衷心的感谢。首先我要感谢我的指导教师在课程设计上给予我的指导、提供给我的支持,帮助和所提出的宝贵意见,这是我能顺利完成这次课程设计的主要原因,更重要的是老师帮我解决了许多技术上的难题,让我能把系统做得更加完善。在此期间,我不仅学到了许多新的知识,而且也开阔了视野,提高了自己的设计能力,是他们的信任给了我很多锻炼的机会。其次,我要感谢帮助过我的同学,他们也为我解决了不少我不太明白的设计的难题,他们给了我无私的帮助和鼓励,给予的大量帮助和有益讨论让我从他们身上学到很多东西,他们是我学习、工作和生活上的伙伴,也是面对困难和挑战时的战友。同时也感谢学院为我提供良好的做设计的环境和实践机会,在从大一到大三这段期间,我们已经经历了很多的课程设计,无一不是学校给我们的机会,让我们的的确确从看书的理论达到了实践的高度。。最后再一次感谢所有在设计中曾经帮助过我的良师益友和同学,本论文是在指导教师的悉心指导之下完成的.本论文从选题到完成,几易其稿,每一步都是在指导教师的指导下完成的,倾注了指导教师大量的心血,在此我向我的指导教师常波表示深切的谢意与祝福!回想整个课程设计的设计过程,虽有不易,却让我除却浮躁,经历了思考和启示,也更加深切地体会了课程设计的精髓和意义,因此倍感珍惜。